This commit is contained in:
Alex
2023-09-11 14:40:55 -04:00
parent 9bba0b4d03
commit 729172af89
15 changed files with 638 additions and 414 deletions

1
.gitignore vendored
View File

@ -1,4 +1,3 @@
/packages/*
!/packages/eslint-plugin-react-hooks !/packages/eslint-plugin-react-hooks
/react /react

7
dist/package.json vendored
View File

@ -8,10 +8,10 @@
}, },
"dependencies": { "dependencies": {
"@types/eslint": "^8.44.2", "@types/eslint": "^8.44.2",
"@typescript-eslint/eslint-plugin": "6.5.0", "@typescript-eslint/eslint-plugin": "6.7.0",
"@typescript-eslint/parser": "6.5.0", "@typescript-eslint/parser": "6.7.0",
"aria-query": "^5.3.0", "aria-query": "^5.3.0",
"axe-core": "4.7.2", "axe-core": "4.8.1",
"axobject-query": "^3.2.1", "axobject-query": "^3.2.1",
"damerau-levenshtein": "1.0.8", "damerau-levenshtein": "1.0.8",
"debug": "^4.3.4", "debug": "^4.3.4",
@ -23,6 +23,7 @@
"eslint-import-resolver-node": "^0.3.9", "eslint-import-resolver-node": "^0.3.9",
"eslint-module-utils": "^2.8.0", "eslint-module-utils": "^2.8.0",
"estraverse": "^5.3.0", "estraverse": "^5.3.0",
"fast-glob": "^3.3.1",
"get-tsconfig": "^4.7.0", "get-tsconfig": "^4.7.0",
"is-core-module": "^2.13.0", "is-core-module": "^2.13.0",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",

View File

@ -2,29 +2,30 @@
"name": "@aet/eslint-configs", "name": "@aet/eslint-configs",
"scripts": { "scripts": {
"build": "./build.sh", "build": "./build.sh",
"check-import": "for js in dist/*.js; do cat $js | grep 'require('; done" "check-import": "./src/check-imports.ts"
}, },
"private": true, "private": true,
"devDependencies": { "devDependencies": {
"@babel/core": "^7.22.11", "@babel/core": "^7.22.17",
"@babel/plugin-transform-flow-strip-types": "^7.22.5", "@babel/plugin-transform-flow-strip-types": "^7.22.5",
"@babel/preset-env": "^7.22.10", "@babel/preset-env": "^7.22.15",
"@types/babel-plugin-macros": "^3.1.0", "@types/babel-plugin-macros": "^3.1.0",
"@types/babel__core": "^7.20.1", "@types/babel__core": "^7.20.1",
"@types/eslint": "^8.44.2", "@types/eslint": "^8.44.2",
"@types/estree": "^1.0.1", "@types/estree": "^1.0.1",
"@types/estree-jsx": "^1.0.0", "@types/estree-jsx": "^1.0.0",
"@types/lodash": "^4.14.197", "@types/lodash": "^4.14.198",
"@types/node": "^20.5.7", "@types/node": "^20.6.0",
"@typescript-eslint/types": "^6.5.0", "@typescript-eslint/types": "^6.7.0",
"babel-plugin-macros": "^3.1.0", "babel-plugin-macros": "^3.1.0",
"dts-bundle-generator": "^8.0.1", "dts-bundle-generator": "^8.0.1",
"esbin": "0.0.2", "esbin": "0.0.2",
"esbuild": "0.19.2", "esbuild": "0.19.2",
"esbuild-plugin-alias": "^0.2.1", "esbuild-plugin-alias": "^0.2.1",
"eslint": "8.48.0", "eslint": "8.49.0",
"eslint-config-prettier": "9.0.0", "eslint-config-prettier": "9.0.0",
"eslint-define-config": "^1.23.0", "eslint-define-config": "^1.23.0",
"fast-glob": "^3.3.1",
"json-schema-to-ts": "^2.9.2", "json-schema-to-ts": "^2.9.2",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"minimatch": "^9.0.3", "minimatch": "^9.0.3",

Submodule packages/eslint-import-resolver-typescript added at 7b6bfc3947

Submodule packages/eslint-plugin-import added at 6b95a02193

Submodule packages/eslint-plugin-jsx-a11y added at fffb05b38c

Submodule packages/eslint-plugin-n added at 47cd9a6a0e

Submodule packages/eslint-plugin-react added at ecadb92609

Submodule packages/jsx-ast-utils added at 5943318eaf

View File

@ -1,5 +1,5 @@
diff --git a/package.json b/package.json diff --git a/package.json b/package.json
index a905ca5..4979e41 100644 index fdd5ac4..821bb29 100644
--- a/package.json --- a/package.json
+++ b/package.json +++ b/package.json
@@ -62,8 +62,7 @@ @@ -62,8 +62,7 @@
@ -12,3 +12,16 @@ index a905ca5..4979e41 100644
}, },
"dependencies": { "dependencies": {
"debug": "^4.3.4", "debug": "^4.3.4",
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 81e4c05..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "@1stg/tsconfig/node16",
- "compilerOptions": {
- "outDir": "./lib"
- },
- "include": ["./src", "./shim.d.ts"]
-}

View File

@ -1,25 +1,29 @@
diff --git a/lib/index.js b/lib/index.js diff --git a/lib/index.js b/lib/index.js
index 341c86d..3fb26d1 100644 index def1bbf..6fdff14 100644
--- a/lib/index.js --- a/lib/index.js
+++ b/lib/index.js +++ b/lib/index.js
@@ -1,15 +1,16 @@ @@ -1,9 +1,9 @@
/* DON'T EDIT THIS FILE. This is generated by 'scripts/update-lib-index.js' */
"use strict" "use strict"
-const pkg = require("../package.json") -const pkg = require("../package.json")
-const esmConfig = require("./configs/recommended-module")
-const cjsConfig = require("./configs/recommended-script")
-const recommendedConfig = require("./configs/recommended")
+import { name, version } from "../package.json" +import { name, version } from "../package.json"
+import recommendedModule from "./configs/recommended-module" +import esmConfig from "./configs/recommended-module"
+import cjsConfig from "./configs/recommended-script"
+import recommendedConfig from "./configs/recommended"
module.exports = { const rules = {
"callback-return": require("./rules/callback-return"),
@@ -51,8 +51,8 @@ const rules = {
const mod = {
meta: { meta: {
- name: pkg.name, - name: pkg.name,
- version: pkg.version, - version: pkg.version,
+ name, + name,
+ version, + version,
}, },
configs: { rules,
- "recommended-module": require("./configs/recommended-module"), }
+ "recommended-module": recommendedModule,
"recommended-script": require("./configs/recommended-script"),
get recommended() {
return require("./configs/recommended")()

View File

@ -171,7 +171,7 @@ index 38b4dd8b..d0575572 100644
const variableUtil = require('../util/variable'); const variableUtil = require('../util/variable');
const testReactVersion = require('../util/version').testReactVersion; const testReactVersion = require('../util/version').testReactVersion;
diff --git a/lib/rules/jsx-key.js b/lib/rules/jsx-key.js diff --git a/lib/rules/jsx-key.js b/lib/rules/jsx-key.js
index 263ed824..e413ef5d 100644 index c13a00cf..fb457e63 100644
--- a/lib/rules/jsx-key.js --- a/lib/rules/jsx-key.js
+++ b/lib/rules/jsx-key.js +++ b/lib/rules/jsx-key.js
@@ -5,8 +5,7 @@ @@ -5,8 +5,7 @@

942
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,9 @@
#!/bin/bash #!/bin/bash
set -e
pull() { pull() {
echo "🚛 Pulling $1" echo "🚛 Pulling $1"
(cd "packages/$1" && git pull) (cd "packages/$1" && git config pull.rebase true && git config rebase.autoStash true && git pull)
} }
pull eslint-import-resolver-typescript pull eslint-import-resolver-typescript

34
src/check-imports.ts Executable file
View File

@ -0,0 +1,34 @@
#!/usr/bin/env tsx
import glob from 'fast-glob';
import fs from 'fs';
import { builtinModules } from 'module';
import { uniq } from 'lodash';
import { dependencies, peerDependencies } from '../dist/package.json';
const deps = Object.keys({ ...dependencies, ...peerDependencies }).concat('eslint');
const builtIn = new Set(builtinModules.flatMap(module => [module, `node:${module}`]));
const files = Object.fromEntries(
glob
.sync('dist/**/*.js')
.map(path => [
path,
uniq(
Array.from(fs.readFileSync(path, 'utf8').matchAll(/require\(["']([^"']+)["']\)/g))
.map(m => m[1])
.filter(
module =>
!(
builtIn.has(module) ||
deps.includes(module) ||
deps.some(dep => module.startsWith(`${dep}/`)) ||
module.startsWith('eslint/') ||
module.startsWith('typescript/')
),
),
),
])
.filter(([, modules]) => modules.length > 0),
);
console.log(files);