Skip to content

Commit fdd6319

Browse files
authored
fix: Issues with type definitions (#18940)
* Fix issues with type definitions * Add `@arethetypeswrong/cli` to `devDependencies` * Add `lint:types` command * Add `are-the-types-wrong` CI job
1 parent 8f55ca2 commit fdd6319

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed

.github/workflows/types-integration.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ jobs:
130130
- name: Install Packages (eslint)
131131
working-directory: eslint
132132
run: npm install
133-
133+
134134
- name: Update package.json eslint-visitor-keys
135135
uses: restackio/[email protected]
136136
with:
@@ -146,3 +146,24 @@ jobs:
146146
- name: Run TSC
147147
working-directory: eslint-js
148148
run: npm run build:types --workspace eslint-visitor-keys
149+
150+
are-the-types-wrong:
151+
name: Are the types wrong?
152+
runs-on: ubuntu-latest
153+
steps:
154+
- name: Checkout eslint
155+
uses: actions/checkout@v4
156+
with:
157+
path: eslint
158+
159+
- uses: actions/setup-node@v4
160+
with:
161+
node-version: "lts/*"
162+
163+
- name: Install Packages
164+
working-directory: eslint
165+
run: npm install
166+
167+
- name: Check validity of type definitions
168+
working-directory: eslint
169+
run: npm run lint:types

lib/unsupported-api.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@
1414
const { FileEnumerator } = require("./cli-engine/file-enumerator");
1515
const { ESLint: FlatESLint, shouldUseFlatConfig } = require("./eslint/eslint");
1616
const { LegacyESLint } = require("./eslint/legacy-eslint");
17+
const builtinRules = require("./rules");
1718

1819
//-----------------------------------------------------------------------------
1920
// Exports
2021
//-----------------------------------------------------------------------------
2122

2223
module.exports = {
23-
builtinRules: require("./rules"),
24+
builtinRules,
2425
FlatESLint,
2526
shouldUseFlatConfig,
2627
FileEnumerator,

package.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,19 @@
2626
"default": "./lib/universal.js"
2727
}
2828
},
29+
"typesVersions": {
30+
"*": {
31+
"use-at-your-own-risk": [
32+
"./lib/types/use-at-your-own-risk.d.ts"
33+
],
34+
"rules": [
35+
"./lib/types/rules/index.d.ts"
36+
],
37+
"universal": [
38+
"./lib/types/universal.d.ts"
39+
]
40+
}
41+
},
2942
"scripts": {
3043
"build:docs:update-links": "node tools/fetch-docs-links.js",
3144
"build:site": "node Makefile.js gensite",
@@ -38,6 +51,7 @@
3851
"lint:unused": "knip",
3952
"lint:fix": "trunk check -y --ignore=docs/**/*.js -a --filter=eslint && trunk check -y --ignore=docs/**/*.js",
4053
"lint:fix:docs:js": "trunk check -y --ignore=** --ignore=!docs/**/*.js -a --flter=eslint && trunk check -y --ignore=** --ignore=!docs/**/*.js",
54+
"lint:types": "attw --pack",
4155
"release:generate:alpha": "node Makefile.js generatePrerelease -- alpha",
4256
"release:generate:beta": "node Makefile.js generatePrerelease -- beta",
4357
"release:generate:latest": "node Makefile.js generateRelease -- latest",
@@ -120,6 +134,7 @@
120134
"text-table": "^0.2.0"
121135
},
122136
"devDependencies": {
137+
"@arethetypeswrong/cli": "^0.16.4",
123138
"@babel/core": "^7.4.3",
124139
"@babel/preset-env": "^7.4.3",
125140
"@eslint/json": "^0.4.0",

0 commit comments

Comments
 (0)