Skip to content

Commit

Permalink
feat: Add ESLint configuration merge function, refactor related files…
Browse files Browse the repository at this point in the history
…, support TypeScript, update dependencies
  • Loading branch information
Simoon-F committed Jan 9, 2025
1 parent 5c6173d commit ff04e8d
Show file tree
Hide file tree
Showing 9 changed files with 3,773 additions and 7 deletions.
Empty file added eslint.config.ts
Empty file.
27 changes: 27 additions & 0 deletions generate-eslint-type/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import fs from 'node:fs/promises'
import { mergeFlatConfigs } from '../src'
import { builtinRules } from 'eslint/use-at-your-own-risk'
import { flatConfigsToRulesDTS } from 'eslint-typegen/core'

const configs = await mergeFlatConfigs(
{
plugins: {
'': {
rules: Object.fromEntries(builtinRules.entries())
}
}
}
)

const configNames = configs.map(i => i.name).filter(Boolean) as string[]

let dts = await flatConfigsToRulesDTS (configs, {
includeAugmentation: false,
})

dts += `
// Names of all the configs
export type ConfigNames = ${configNames.map(i => `'${i}'`).join(' | ')}
`

await fs.writeFile('src/eslintype.d.ts', dts)
15 changes: 14 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
"build": "tsup",
"lint": "eslint --flag unstable_ts_config .",
"lint:fix": "eslint --fix .",
"dev": "npx @eslint/config-inspector --config eslint.config.ts"
"dev": "npx @eslint/config-inspector --config eslint.config.ts",
"generate:eslint:type": "esno generate-eslint-type/index.ts"
},
"keywords": [
"eslint",
Expand All @@ -30,11 +31,23 @@
"devDependencies": {
"@types/node": "^22.10.5",
"eslint": "^9.17.0",
"eslint-typegen": "^0.3.2",
"esno": "^4.8.0",
"jiti": "^2.4.2",
"tsup": "^8.3.5",
"tsx": "^4.19.2",
"typescript": "^5.7.3"
},
"peerDependencies": {
"eslint": "^9.17.0"
},
"dependencies": {
"@typescript-eslint/eslint-plugin": "^8.19.1",
"@typescript-eslint/parser": "^8.19.1",
"eslint-flat-config-utils": "^0.4.0"
},
"resolutions": {
"tsx": "^4.19.2",
"eslint": "^9.17.0"
}
}
Loading

0 comments on commit ff04e8d

Please sign in to comment.