Which packages are affected?
Environment
Node v24.14.1
MacOS
What did you do?
Package @eslint/core has @types/json-schema as a direct dependency:
|
"dependencies": { |
|
"@types/json-schema": "^7.0.15" |
|
}, |
I don't think this is intentional because usually types are not direct dependencies.
What did you expect to happen?
@types/json-schema should be a devDependency.
What actually happened?
I've spotted this while trying to build my own plugin for eslint.
I'm importing a few types from @eslint/core (like ConfigObject, RulesConfig) and due to this tsdown is actually bundling types from json-schema into my d.ts too.
Participation
AI acknowledgment
Additional comments
I remember reading somewhere that package eslint/config was chosen for being the package reference for types.
- So it's true that I could use
import { Config } from 'eslint/config' instead of import { ConfigObject } from '@eslint/core'
- But then it might be worth adding a
Rule type into eslint/config too
PS: it doesn't fix the issue here, it's just an additional improvement I'm thinking of 😉
Which packages are affected?
@eslint/compat@eslint/config-array@eslint/config-helpers@eslint/core@eslint/mcp@eslint/migrate-config@eslint/object-schema@eslint/plugin-kitEnvironment
Node v24.14.1
MacOS
What did you do?
Package
@eslint/corehas@types/json-schemaas a direct dependency:rewrite/packages/core/package.json
Lines 43 to 45 in c872ca8
I don't think this is intentional because usually types are not direct dependencies.
What did you expect to happen?
@types/json-schemashould be a devDependency.What actually happened?
I've spotted this while trying to build my own plugin for eslint.
I'm importing a few types from @eslint/core (like ConfigObject, RulesConfig) and due to this tsdown is actually bundling types from json-schema into my d.ts too.
Participation
AI acknowledgment
Additional comments
I remember reading somewhere that package
eslint/configwas chosen for being the package reference for types.import { Config } from 'eslint/config'instead ofimport { ConfigObject } from '@eslint/core'Ruletype intoeslint/configtooPS: it doesn't fix the issue here, it's just an additional improvement I'm thinking of 😉