Bump
This commit is contained in:
parent
02fe9f4799
commit
3ec7c342ba
@ -4,4 +4,4 @@
|
|||||||
|
|
||||||
- ❌ [import](https://github.com/import-js/eslint-plugin-import/issues/2556)
|
- ❌ [import](https://github.com/import-js/eslint-plugin-import/issues/2556)
|
||||||
- ✅ [react](https://github.com/jsx-eslint/eslint-plugin-react/pull/3429)
|
- ✅ [react](https://github.com/jsx-eslint/eslint-plugin-react/pull/3429)
|
||||||
- 🇵🇷 [a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/891)
|
- ⏱️ [a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/891)
|
||||||
|
34
dist/index.d.ts
vendored
34
dist/index.d.ts
vendored
@ -1,5 +1,7 @@
|
|||||||
// Generated by dts-bundle-generator v8.1.2
|
// Generated by dts-bundle-generator v9.0.0
|
||||||
|
|
||||||
|
import { ESLintUtils } from '@typescript-eslint/utils';
|
||||||
|
import { Rule } from 'eslint';
|
||||||
import { ESLintConfig, Rules } from 'eslint-define-config';
|
import { ESLintConfig, Rules } from 'eslint-define-config';
|
||||||
|
|
||||||
export declare const error = "error";
|
export declare const error = "error";
|
||||||
@ -34,13 +36,39 @@ export type Config = Omit<ESLintConfig, "rules"> & {
|
|||||||
* @see [Rules](https://eslint.org/docs/latest/user-guide/configuring/rules)
|
* @see [Rules](https://eslint.org/docs/latest/user-guide/configuring/rules)
|
||||||
*/
|
*/
|
||||||
rules?: RuleOptions;
|
rules?: RuleOptions;
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
customRules?: {
|
||||||
|
rule: () => Promise<{
|
||||||
|
default: Rule.RuleModule | ESLintUtils.RuleModule<string, unknown[]>;
|
||||||
|
}>;
|
||||||
|
options?: RuleLevel;
|
||||||
|
}[];
|
||||||
|
};
|
||||||
|
export declare function defineCustomRule<Options extends readonly unknown[]>(rule: () => Promise<{
|
||||||
|
default: Rule.RuleModule | ESLintUtils.RuleModule<string, Options>;
|
||||||
|
}>, options?: Options): {
|
||||||
|
rule: () => Promise<{
|
||||||
|
default: Rule.RuleModule | ESLintUtils.RuleModule<string, Options>;
|
||||||
|
}>;
|
||||||
|
options: Options | undefined;
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Returns a ESLint config object.
|
* Returns a ESLint config object.
|
||||||
*
|
*
|
||||||
* By default, it includes `["@typescript-eslint", "import", "prettier"]` configs.
|
* By default, it includes `["@typescript-eslint", "import", "prettier"]` configs.
|
||||||
* Additional bundled plugins include `["react", "react-refresh", "jsx-a11y", "unicorn"]`.
|
* Additional bundled plugins include:
|
||||||
|
*
|
||||||
|
* 1. [react](https://github.com/jsx-eslint/eslint-plugin-react#list-of-supported-rules)
|
||||||
|
* 2. [react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)
|
||||||
|
* 3. [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y#supported-rules)
|
||||||
|
* 4. [unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn#rules)
|
||||||
|
* 5. [n](https://github.com/eslint-community/eslint-plugin-n#-rules) (Node.js specific)
|
||||||
|
* 6. [jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#rules)
|
||||||
|
*
|
||||||
|
* Non bundled:
|
||||||
|
* 1. [graphql](https://the-guild.dev/graphql/eslint/rules)
|
||||||
*/
|
*/
|
||||||
export declare function extendConfig({ plugins, settings, rules, extends: _extends, overrides, ...rest }?: Config): ESLintConfig;
|
export declare function extendConfig({ plugins, settings, rules, extends: _extends, overrides, customRules, ...rest }?: Config): ESLintConfig;
|
||||||
|
|
||||||
export {};
|
export {};
|
||||||
|
21
dist/package.json
vendored
21
dist/package.json
vendored
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@aet/eslint-rules",
|
"name": "@aet/eslint-rules",
|
||||||
"version": "0.0.8",
|
"version": "0.0.10-beta.2",
|
||||||
"license": "UNLICENSED",
|
"license": "UNLICENSED",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"eslint": "^8.53.0",
|
"eslint": "^8.53.0",
|
||||||
@ -8,25 +8,26 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.4.0",
|
||||||
"@types/eslint": "^8.44.7",
|
"@types/eslint": "^8.56.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.12.0",
|
"@typescript-eslint/eslint-plugin": "^6.15.0",
|
||||||
"@typescript-eslint/parser": "^6.12.0",
|
"@typescript-eslint/parser": "^6.15.0",
|
||||||
"@typescript-eslint/type-utils": "^6.12.0",
|
"@typescript-eslint/type-utils": "^6.15.0",
|
||||||
"@typescript-eslint/utils": "^6.12.0",
|
"@typescript-eslint/utils": "^6.15.0",
|
||||||
"aria-query": "^5.3.0",
|
"aria-query": "^5.3.0",
|
||||||
"axe-core": "4.8.2",
|
"axe-core": "4.8.3",
|
||||||
"axobject-query": "^4.0.0",
|
"axobject-query": "^4.0.0",
|
||||||
"damerau-levenshtein": "1.0.8",
|
"damerau-levenshtein": "1.0.8",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"doctrine": "^3.0.0",
|
"doctrine": "^3.0.0",
|
||||||
"emoji-regex": "^10.3.0",
|
"emoji-regex": "^10.3.0",
|
||||||
"enhanced-resolve": "^5.15.0",
|
"enhanced-resolve": "^5.15.0",
|
||||||
"eslint-config-prettier": "9.0.0",
|
"eslint-config-prettier": "9.1.0",
|
||||||
"eslint-define-config": "^2.0.0",
|
"eslint-define-config": "^1.24.1",
|
||||||
"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",
|
||||||
"eslint-plugin-es-x": "7.4.0",
|
"eslint-plugin-es-x": "7.5.0",
|
||||||
"eslint-plugin-unicorn": "^49.0.0",
|
"eslint-plugin-unicorn": "^49.0.0",
|
||||||
|
"eslint-plugin-jsdoc": "^46.9.1",
|
||||||
"estraverse": "^5.3.0",
|
"estraverse": "^5.3.0",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"get-tsconfig": "^4.7.2",
|
"get-tsconfig": "^4.7.2",
|
||||||
|
12
esbuild.ts
12
esbuild.ts
@ -261,10 +261,22 @@ async function main(
|
|||||||
sourcemap: 'linked',
|
sourcemap: 'linked',
|
||||||
plugins,
|
plugins,
|
||||||
define: {},
|
define: {},
|
||||||
|
alias: {
|
||||||
|
// esm modules
|
||||||
|
'find-cache-dir': require.resolve('find-cache-dir'),
|
||||||
|
},
|
||||||
banner: {
|
banner: {
|
||||||
js: '/* eslint-disable */',
|
js: '/* eslint-disable */',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// https://github.com/eslint-types/define-config-plugin-types/issues/32
|
||||||
|
// const distPackageJson = JSON.parse(await fs.readFile('./dist/package.json', 'utf-8'));
|
||||||
|
// Object.assign(distPackageJson.dependencies, pkg.dependencies);
|
||||||
|
// await fs.writeFile(
|
||||||
|
// './dist/package.json',
|
||||||
|
// JSON.stringify(distPackageJson, null, 2) + '\n',
|
||||||
|
// );
|
||||||
}
|
}
|
||||||
|
|
||||||
main('./packages/eslint-plugin-react/index.js');
|
main('./packages/eslint-plugin-react/index.js');
|
||||||
|
32
package.json
32
package.json
@ -6,37 +6,39 @@
|
|||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.23.3",
|
"@babel/core": "^7.23.6",
|
||||||
"@babel/plugin-transform-flow-strip-types": "^7.23.3",
|
"@babel/plugin-transform-flow-strip-types": "^7.23.3",
|
||||||
"@babel/preset-env": "^7.23.3",
|
"@babel/preset-env": "^7.23.6",
|
||||||
"@types/babel-plugin-macros": "^3.1.3",
|
"@types/babel-plugin-macros": "^3.1.3",
|
||||||
"@types/babel__core": "^7.20.5",
|
"@types/babel__core": "^7.20.5",
|
||||||
"@types/eslint": "^8.44.7",
|
"@types/eslint": "^8.56.0",
|
||||||
"@types/estree": "^1.0.5",
|
"@types/estree": "^1.0.5",
|
||||||
"@types/estree-jsx": "^1.0.3",
|
"@types/estree-jsx": "^1.0.3",
|
||||||
"@types/lodash": "^4.14.202",
|
"@types/lodash": "^4.14.202",
|
||||||
"@types/node": "^20.9.3",
|
"@types/node": "^20.10.5",
|
||||||
"@typescript-eslint/eslint-plugin": "6.12.0",
|
"@typescript-eslint/eslint-plugin": "6.15.0",
|
||||||
"@typescript-eslint/type-utils": "^6.12.0",
|
"@typescript-eslint/type-utils": "^6.15.0",
|
||||||
"@typescript-eslint/types": "^6.12.0",
|
"@typescript-eslint/types": "^6.15.0",
|
||||||
"@typescript-eslint/typescript-estree": "^6.12.0",
|
"@typescript-eslint/typescript-estree": "^6.15.0",
|
||||||
"@typescript-eslint/utils": "^6.12.0",
|
"@typescript-eslint/utils": "^6.15.0",
|
||||||
"babel-plugin-macros": "^3.1.0",
|
"babel-plugin-macros": "^3.1.0",
|
||||||
"dts-bundle-generator": "^8.1.2",
|
"dts-bundle-generator": "^9.0.0",
|
||||||
"esbin": "0.0.4",
|
"esbin": "0.0.4",
|
||||||
"esbuild": "0.19.7",
|
"esbuild": "0.19.10",
|
||||||
"esbuild-plugin-alias": "^0.2.1",
|
"esbuild-plugin-alias": "^0.2.1",
|
||||||
"eslint": "8.54.0",
|
"eslint": "8.56.0",
|
||||||
"eslint-config-prettier": "^9.0.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-define-config": "^1.24.1",
|
"eslint-define-config": "^1.24.1",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
|
"find-cache-dir": "^5.0.0",
|
||||||
"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",
|
||||||
|
"patch-package": "^8.0.0",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"prettier": "^3.1.0",
|
"prettier": "^3.1.1",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"typescript": "5.3.2"
|
"typescript": "5.3.3"
|
||||||
},
|
},
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"arrowParens": "avoid",
|
"arrowParens": "avoid",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git a/package.json b/package.json
|
diff --git a/package.json b/package.json
|
||||||
index 510ac18..569cdc0 100644
|
index 79b79cb..bd8c856 100644
|
||||||
--- a/package.json
|
--- a/package.json
|
||||||
+++ b/package.json
|
+++ b/package.json
|
||||||
@@ -62,8 +62,7 @@
|
@@ -62,8 +62,7 @@
|
||||||
@ -14,13 +14,14 @@ index 510ac18..569cdc0 100644
|
|||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
diff --git a/tsconfig.json b/tsconfig.json
|
diff --git a/tsconfig.json b/tsconfig.json
|
||||||
deleted file mode 100644
|
deleted file mode 100644
|
||||||
index 81e4c05..0000000
|
index a303861..0000000
|
||||||
--- a/tsconfig.json
|
--- a/tsconfig.json
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,7 +0,0 @@
|
@@ -1,8 +0,0 @@
|
||||||
-{
|
-{
|
||||||
- "extends": "@1stg/tsconfig/node16",
|
- "extends": "@1stg/tsconfig/node16",
|
||||||
- "compilerOptions": {
|
- "compilerOptions": {
|
||||||
|
- "module": "Node16",
|
||||||
- "outDir": "./lib"
|
- "outDir": "./lib"
|
||||||
- },
|
- },
|
||||||
- "include": ["./src", "./shim.d.ts"]
|
- "include": ["./src", "./shim.d.ts"]
|
||||||
|
@ -237,10 +237,10 @@ index 64bbc8d5..b5e9c803 100644
|
|||||||
const isCreateElement = require('../util/isCreateElement');
|
const isCreateElement = require('../util/isCreateElement');
|
||||||
const report = require('../util/report');
|
const report = require('../util/report');
|
||||||
diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js
|
diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js
|
||||||
index 2fc127b1..64d093b8 100644
|
index 2e77f289..cff14d45 100644
|
||||||
--- a/lib/rules/no-unknown-property.js
|
--- a/lib/rules/no-unknown-property.js
|
||||||
+++ b/lib/rules/no-unknown-property.js
|
+++ b/lib/rules/no-unknown-property.js
|
||||||
@@ -540,7 +540,7 @@ module.exports = {
|
@@ -541,7 +541,7 @@ module.exports = {
|
||||||
|
|
||||||
create(context) {
|
create(context) {
|
||||||
function getIgnoreConfig() {
|
function getIgnoreConfig() {
|
||||||
@ -249,7 +249,7 @@ index 2fc127b1..64d093b8 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getRequireDataLowercase() {
|
function getRequireDataLowercase() {
|
||||||
@@ -553,7 +553,7 @@ module.exports = {
|
@@ -554,7 +554,7 @@ module.exports = {
|
||||||
JSXAttribute(node) {
|
JSXAttribute(node) {
|
||||||
const ignoreNames = getIgnoreConfig();
|
const ignoreNames = getIgnoreConfig();
|
||||||
const actualName = context.getSourceCode().getText(node.name);
|
const actualName = context.getSourceCode().getText(node.name);
|
||||||
@ -258,7 +258,7 @@ index 2fc127b1..64d093b8 100644
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const name = normalizeAttributeCase(actualName);
|
const name = normalizeAttributeCase(actualName);
|
||||||
@@ -581,6 +581,15 @@ module.exports = {
|
@@ -582,6 +582,15 @@ module.exports = {
|
||||||
|
|
||||||
const tagName = getTagName(node);
|
const tagName = getTagName(node);
|
||||||
|
|
||||||
|
10
patches/@typescript-eslint+utils+6.13.1.patch
Normal file
10
patches/@typescript-eslint+utils+6.13.1.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
diff --git a/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts b/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts
|
||||||
|
index 4e57af9..29b7cf7 100644
|
||||||
|
--- a/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts
|
||||||
|
+++ b/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-import * as scopeManager from '@typescript-eslint/scope-manager';
|
||||||
|
+import * as scopeManager from '@typescript-eslint/scope-manager/dist';
|
||||||
|
declare namespace Scope {
|
||||||
|
type ScopeManager = scopeManager.ScopeManager;
|
||||||
|
type Reference = scopeManager.Reference;
|
3
playground/.eslintrc.js
Normal file
3
playground/.eslintrc.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
const { extendConfig } = require('@aet/eslint-rules');
|
||||||
|
|
||||||
|
module.exports = extendConfig({});
|
17
playground/package.json
Normal file
17
playground/package.json
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "playground",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"@aet/eslint-rules": "link:/Users/aet/Documents/Git/eslint/dist",
|
||||||
|
"eslint": "^8.54.0",
|
||||||
|
"typescript": "^5.3.2"
|
||||||
|
}
|
||||||
|
}
|
672
playground/pnpm-lock.yaml
generated
Normal file
672
playground/pnpm-lock.yaml
generated
Normal file
@ -0,0 +1,672 @@
|
|||||||
|
lockfileVersion: '6.0'
|
||||||
|
|
||||||
|
settings:
|
||||||
|
autoInstallPeers: true
|
||||||
|
excludeLinksFromLockfile: false
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
'@aet/eslint-rules':
|
||||||
|
specifier: link:/Users/aet/Documents/Git/eslint/dist
|
||||||
|
version: link:../dist
|
||||||
|
eslint:
|
||||||
|
specifier: 8.54.0
|
||||||
|
version: 8.54.0
|
||||||
|
typescript:
|
||||||
|
specifier: ^5.3.2
|
||||||
|
version: 5.3.2
|
||||||
|
|
||||||
|
packages:
|
||||||
|
|
||||||
|
/@aashutoshrathi/word-wrap@1.2.6:
|
||||||
|
resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@eslint-community/eslint-utils@4.4.0(eslint@8.54.0):
|
||||||
|
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
|
||||||
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
peerDependencies:
|
||||||
|
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||||
|
dependencies:
|
||||||
|
eslint: 8.54.0
|
||||||
|
eslint-visitor-keys: 3.4.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@eslint-community/regexpp@4.10.0:
|
||||||
|
resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
|
||||||
|
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@eslint/eslintrc@2.1.3:
|
||||||
|
resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
|
||||||
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
dependencies:
|
||||||
|
ajv: 6.12.6
|
||||||
|
debug: 4.3.4
|
||||||
|
espree: 9.6.1
|
||||||
|
globals: 13.23.0
|
||||||
|
ignore: 5.3.0
|
||||||
|
import-fresh: 3.3.0
|
||||||
|
js-yaml: 4.1.0
|
||||||
|
minimatch: 3.1.2
|
||||||
|
strip-json-comments: 3.1.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@eslint/js@8.54.0:
|
||||||
|
resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==}
|
||||||
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@humanwhocodes/config-array@0.11.13:
|
||||||
|
resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
|
||||||
|
engines: {node: '>=10.10.0'}
|
||||||
|
dependencies:
|
||||||
|
'@humanwhocodes/object-schema': 2.0.1
|
||||||
|
debug: 4.3.4
|
||||||
|
minimatch: 3.1.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@humanwhocodes/module-importer@1.0.1:
|
||||||
|
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
|
||||||
|
engines: {node: '>=12.22'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@humanwhocodes/object-schema@2.0.1:
|
||||||
|
resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@nodelib/fs.scandir@2.1.5:
|
||||||
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dependencies:
|
||||||
|
'@nodelib/fs.stat': 2.0.5
|
||||||
|
run-parallel: 1.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@nodelib/fs.stat@2.0.5:
|
||||||
|
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@nodelib/fs.walk@1.2.8:
|
||||||
|
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dependencies:
|
||||||
|
'@nodelib/fs.scandir': 2.1.5
|
||||||
|
fastq: 1.15.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@ungap/structured-clone@1.2.0:
|
||||||
|
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/acorn-jsx@5.3.2(acorn@8.11.2):
|
||||||
|
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
||||||
|
peerDependencies:
|
||||||
|
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
|
dependencies:
|
||||||
|
acorn: 8.11.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/acorn@8.11.2:
|
||||||
|
resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
|
||||||
|
engines: {node: '>=0.4.0'}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/ajv@6.12.6:
|
||||||
|
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
|
||||||
|
dependencies:
|
||||||
|
fast-deep-equal: 3.1.3
|
||||||
|
fast-json-stable-stringify: 2.1.0
|
||||||
|
json-schema-traverse: 0.4.1
|
||||||
|
uri-js: 4.4.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/ansi-regex@5.0.1:
|
||||||
|
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/ansi-styles@4.3.0:
|
||||||
|
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
color-convert: 2.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/argparse@2.0.1:
|
||||||
|
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/balanced-match@1.0.2:
|
||||||
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/brace-expansion@1.1.11:
|
||||||
|
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||||
|
dependencies:
|
||||||
|
balanced-match: 1.0.2
|
||||||
|
concat-map: 0.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/callsites@3.1.0:
|
||||||
|
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/chalk@4.1.2:
|
||||||
|
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
ansi-styles: 4.3.0
|
||||||
|
supports-color: 7.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/color-convert@2.0.1:
|
||||||
|
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||||
|
engines: {node: '>=7.0.0'}
|
||||||
|
dependencies:
|
||||||
|
color-name: 1.1.4
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/color-name@1.1.4:
|
||||||
|
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/concat-map@0.0.1:
|
||||||
|
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/cross-spawn@7.0.3:
|
||||||
|
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dependencies:
|
||||||
|
path-key: 3.1.1
|
||||||
|
shebang-command: 2.0.0
|
||||||
|
which: 2.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/debug@4.3.4:
|
||||||
|
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
||||||
|
engines: {node: '>=6.0'}
|
||||||
|
peerDependencies:
|
||||||
|
supports-color: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
supports-color:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
ms: 2.1.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/deep-is@0.1.4:
|
||||||
|
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/doctrine@3.0.0:
|
||||||
|
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
dependencies:
|
||||||
|
esutils: 2.0.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/escape-string-regexp@4.0.0:
|
||||||
|
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/eslint-scope@7.2.2:
|
||||||
|
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
|
||||||
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
dependencies:
|
||||||
|
esrecurse: 4.3.0
|
||||||
|
estraverse: 5.3.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/eslint-visitor-keys@3.4.3:
|
||||||
|
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
|
||||||
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/eslint@8.54.0:
|
||||||
|
resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==}
|
||||||
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
|
||||||
|
'@eslint-community/regexpp': 4.10.0
|
||||||
|
'@eslint/eslintrc': 2.1.3
|
||||||
|
'@eslint/js': 8.54.0
|
||||||
|
'@humanwhocodes/config-array': 0.11.13
|
||||||
|
'@humanwhocodes/module-importer': 1.0.1
|
||||||
|
'@nodelib/fs.walk': 1.2.8
|
||||||
|
'@ungap/structured-clone': 1.2.0
|
||||||
|
ajv: 6.12.6
|
||||||
|
chalk: 4.1.2
|
||||||
|
cross-spawn: 7.0.3
|
||||||
|
debug: 4.3.4
|
||||||
|
doctrine: 3.0.0
|
||||||
|
escape-string-regexp: 4.0.0
|
||||||
|
eslint-scope: 7.2.2
|
||||||
|
eslint-visitor-keys: 3.4.3
|
||||||
|
espree: 9.6.1
|
||||||
|
esquery: 1.5.0
|
||||||
|
esutils: 2.0.3
|
||||||
|
fast-deep-equal: 3.1.3
|
||||||
|
file-entry-cache: 6.0.1
|
||||||
|
find-up: 5.0.0
|
||||||
|
glob-parent: 6.0.2
|
||||||
|
globals: 13.23.0
|
||||||
|
graphemer: 1.4.0
|
||||||
|
ignore: 5.3.0
|
||||||
|
imurmurhash: 0.1.4
|
||||||
|
is-glob: 4.0.3
|
||||||
|
is-path-inside: 3.0.3
|
||||||
|
js-yaml: 4.1.0
|
||||||
|
json-stable-stringify-without-jsonify: 1.0.1
|
||||||
|
levn: 0.4.1
|
||||||
|
lodash.merge: 4.6.2
|
||||||
|
minimatch: 3.1.2
|
||||||
|
natural-compare: 1.4.0
|
||||||
|
optionator: 0.9.3
|
||||||
|
strip-ansi: 6.0.1
|
||||||
|
text-table: 0.2.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/espree@9.6.1:
|
||||||
|
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
|
||||||
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
dependencies:
|
||||||
|
acorn: 8.11.2
|
||||||
|
acorn-jsx: 5.3.2(acorn@8.11.2)
|
||||||
|
eslint-visitor-keys: 3.4.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/esquery@1.5.0:
|
||||||
|
resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
|
||||||
|
engines: {node: '>=0.10'}
|
||||||
|
dependencies:
|
||||||
|
estraverse: 5.3.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/esrecurse@4.3.0:
|
||||||
|
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
|
||||||
|
engines: {node: '>=4.0'}
|
||||||
|
dependencies:
|
||||||
|
estraverse: 5.3.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/estraverse@5.3.0:
|
||||||
|
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
|
||||||
|
engines: {node: '>=4.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/esutils@2.0.3:
|
||||||
|
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fast-deep-equal@3.1.3:
|
||||||
|
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fast-json-stable-stringify@2.1.0:
|
||||||
|
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fast-levenshtein@2.0.6:
|
||||||
|
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fastq@1.15.0:
|
||||||
|
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
|
||||||
|
dependencies:
|
||||||
|
reusify: 1.0.4
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/file-entry-cache@6.0.1:
|
||||||
|
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
|
||||||
|
engines: {node: ^10.12.0 || >=12.0.0}
|
||||||
|
dependencies:
|
||||||
|
flat-cache: 3.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/find-up@5.0.0:
|
||||||
|
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
locate-path: 6.0.0
|
||||||
|
path-exists: 4.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/flat-cache@3.2.0:
|
||||||
|
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
|
||||||
|
engines: {node: ^10.12.0 || >=12.0.0}
|
||||||
|
dependencies:
|
||||||
|
flatted: 3.2.9
|
||||||
|
keyv: 4.5.4
|
||||||
|
rimraf: 3.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/flatted@3.2.9:
|
||||||
|
resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fs.realpath@1.0.0:
|
||||||
|
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/glob-parent@6.0.2:
|
||||||
|
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
|
||||||
|
engines: {node: '>=10.13.0'}
|
||||||
|
dependencies:
|
||||||
|
is-glob: 4.0.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/glob@7.2.3:
|
||||||
|
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||||
|
dependencies:
|
||||||
|
fs.realpath: 1.0.0
|
||||||
|
inflight: 1.0.6
|
||||||
|
inherits: 2.0.4
|
||||||
|
minimatch: 3.1.2
|
||||||
|
once: 1.4.0
|
||||||
|
path-is-absolute: 1.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/globals@13.23.0:
|
||||||
|
resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
type-fest: 0.20.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/graphemer@1.4.0:
|
||||||
|
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/has-flag@4.0.0:
|
||||||
|
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/ignore@5.3.0:
|
||||||
|
resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
|
||||||
|
engines: {node: '>= 4'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/import-fresh@3.3.0:
|
||||||
|
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dependencies:
|
||||||
|
parent-module: 1.0.1
|
||||||
|
resolve-from: 4.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/imurmurhash@0.1.4:
|
||||||
|
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
|
||||||
|
engines: {node: '>=0.8.19'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/inflight@1.0.6:
|
||||||
|
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||||
|
dependencies:
|
||||||
|
once: 1.4.0
|
||||||
|
wrappy: 1.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/inherits@2.0.4:
|
||||||
|
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-extglob@2.1.1:
|
||||||
|
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-glob@4.0.3:
|
||||||
|
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
is-extglob: 2.1.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-path-inside@3.0.3:
|
||||||
|
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/isexe@2.0.0:
|
||||||
|
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/js-yaml@4.1.0:
|
||||||
|
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
argparse: 2.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/json-buffer@3.0.1:
|
||||||
|
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/json-schema-traverse@0.4.1:
|
||||||
|
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/json-stable-stringify-without-jsonify@1.0.1:
|
||||||
|
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/keyv@4.5.4:
|
||||||
|
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
|
||||||
|
dependencies:
|
||||||
|
json-buffer: 3.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/levn@0.4.1:
|
||||||
|
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
dependencies:
|
||||||
|
prelude-ls: 1.2.1
|
||||||
|
type-check: 0.4.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/locate-path@6.0.0:
|
||||||
|
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
p-locate: 5.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/lodash.merge@4.6.2:
|
||||||
|
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/minimatch@3.1.2:
|
||||||
|
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||||
|
dependencies:
|
||||||
|
brace-expansion: 1.1.11
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/ms@2.1.2:
|
||||||
|
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/natural-compare@1.4.0:
|
||||||
|
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/once@1.4.0:
|
||||||
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||||
|
dependencies:
|
||||||
|
wrappy: 1.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/optionator@0.9.3:
|
||||||
|
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aashutoshrathi/word-wrap': 1.2.6
|
||||||
|
deep-is: 0.1.4
|
||||||
|
fast-levenshtein: 2.0.6
|
||||||
|
levn: 0.4.1
|
||||||
|
prelude-ls: 1.2.1
|
||||||
|
type-check: 0.4.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/p-limit@3.1.0:
|
||||||
|
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
yocto-queue: 0.1.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/p-locate@5.0.0:
|
||||||
|
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
p-limit: 3.1.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/parent-module@1.0.1:
|
||||||
|
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dependencies:
|
||||||
|
callsites: 3.1.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/path-exists@4.0.0:
|
||||||
|
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/path-is-absolute@1.0.1:
|
||||||
|
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/path-key@3.1.1:
|
||||||
|
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/prelude-ls@1.2.1:
|
||||||
|
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/punycode@2.3.1:
|
||||||
|
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/queue-microtask@1.2.3:
|
||||||
|
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/resolve-from@4.0.0:
|
||||||
|
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
||||||
|
engines: {node: '>=4'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/reusify@1.0.4:
|
||||||
|
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
|
||||||
|
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/rimraf@3.0.2:
|
||||||
|
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
glob: 7.2.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/run-parallel@1.2.0:
|
||||||
|
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
||||||
|
dependencies:
|
||||||
|
queue-microtask: 1.2.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/shebang-command@2.0.0:
|
||||||
|
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
shebang-regex: 3.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/shebang-regex@3.0.0:
|
||||||
|
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/strip-ansi@6.0.1:
|
||||||
|
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
ansi-regex: 5.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/strip-json-comments@3.1.1:
|
||||||
|
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/supports-color@7.2.0:
|
||||||
|
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
has-flag: 4.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/text-table@0.2.0:
|
||||||
|
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/type-check@0.4.0:
|
||||||
|
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
dependencies:
|
||||||
|
prelude-ls: 1.2.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/type-fest@0.20.2:
|
||||||
|
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/typescript@5.3.2:
|
||||||
|
resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==}
|
||||||
|
engines: {node: '>=14.17'}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/uri-js@4.4.1:
|
||||||
|
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
|
||||||
|
dependencies:
|
||||||
|
punycode: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/which@2.0.2:
|
||||||
|
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
isexe: 2.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/wrappy@1.0.2:
|
||||||
|
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/yocto-queue@0.1.0:
|
||||||
|
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dev: false
|
1512
pnpm-lock.yaml
generated
1512
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
79
src/index.ts
79
src/index.ts
@ -1,15 +1,34 @@
|
|||||||
|
/// <reference path="./types.d.ts" />
|
||||||
import './redirect';
|
import './redirect';
|
||||||
|
import fs from 'node:fs';
|
||||||
|
import type { Rule } from 'eslint';
|
||||||
|
import type { ESLintUtils } from '@typescript-eslint/utils';
|
||||||
import type { ESLintConfig, Rules } from 'eslint-define-config';
|
import type { ESLintConfig, Rules } from 'eslint-define-config';
|
||||||
|
import findCacheDirectory from 'find-cache-dir';
|
||||||
import { typescriptRules } from './presets/typescript';
|
import { typescriptRules } from './presets/typescript';
|
||||||
import { unicornRules } from './presets/unicorn';
|
import { unicornRules } from './presets/unicorn';
|
||||||
import { eslintRules } from './presets/eslint';
|
import { eslintRules } from './presets/eslint';
|
||||||
import { reactRules } from './presets/react';
|
import { reactRules } from './presets/react';
|
||||||
import { importRules } from './presets/import';
|
import { importRules } from './presets/import';
|
||||||
|
import { jsDocRules } from './presets/jsdoc';
|
||||||
|
import { graphqlRules } from './presets/graphql';
|
||||||
|
import { localRules } from './presets/local';
|
||||||
import { error, warn, off } from './constants';
|
import { error, warn, off } from './constants';
|
||||||
|
|
||||||
export { error, warn, off };
|
export { error, warn, off };
|
||||||
|
|
||||||
const unique = <T>(arr: T[]): T[] => [...new Set(arr)];
|
declare global {
|
||||||
|
interface Array<T> {
|
||||||
|
filter(
|
||||||
|
predicate: BooleanConstructor,
|
||||||
|
): Exclude<T, null | undefined | false | '' | 0>[];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const unique = (...arr: (false | undefined | string | string[])[]): string[] => [
|
||||||
|
...new Set(arr.flat(1).filter(Boolean)),
|
||||||
|
];
|
||||||
|
|
||||||
const ensureArray = <T>(value?: T | T[]): T[] =>
|
const ensureArray = <T>(value?: T | T[]): T[] =>
|
||||||
value == null ? [] : Array.isArray(value) ? value : [value];
|
value == null ? [] : Array.isArray(value) ? value : [value];
|
||||||
|
|
||||||
@ -46,8 +65,26 @@ type Config = Omit<ESLintConfig, 'rules'> & {
|
|||||||
* @see [Rules](https://eslint.org/docs/latest/user-guide/configuring/rules)
|
* @see [Rules](https://eslint.org/docs/latest/user-guide/configuring/rules)
|
||||||
*/
|
*/
|
||||||
rules?: RuleOptions;
|
rules?: RuleOptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
customRules?: {
|
||||||
|
rule: () => Promise<{
|
||||||
|
default: Rule.RuleModule | ESLintUtils.RuleModule<string, unknown[]>;
|
||||||
|
}>;
|
||||||
|
options?: RuleLevel;
|
||||||
|
}[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export function defineCustomRule<Options extends readonly unknown[]>(
|
||||||
|
rule: () => Promise<{
|
||||||
|
default: Rule.RuleModule | ESLintUtils.RuleModule<string, Options>;
|
||||||
|
}>,
|
||||||
|
options?: Options,
|
||||||
|
) {
|
||||||
|
return { rule, options };
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a ESLint config object.
|
* Returns a ESLint config object.
|
||||||
*
|
*
|
||||||
@ -59,6 +96,10 @@ type Config = Omit<ESLintConfig, 'rules'> & {
|
|||||||
* 3. [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y#supported-rules)
|
* 3. [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y#supported-rules)
|
||||||
* 4. [unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn#rules)
|
* 4. [unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn#rules)
|
||||||
* 5. [n](https://github.com/eslint-community/eslint-plugin-n#-rules) (Node.js specific)
|
* 5. [n](https://github.com/eslint-community/eslint-plugin-n#-rules) (Node.js specific)
|
||||||
|
* 6. [jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#rules)
|
||||||
|
*
|
||||||
|
* Non bundled:
|
||||||
|
* 1. [graphql](https://the-guild.dev/graphql/eslint/rules)
|
||||||
*/
|
*/
|
||||||
export function extendConfig({
|
export function extendConfig({
|
||||||
plugins,
|
plugins,
|
||||||
@ -66,37 +107,46 @@ export function extendConfig({
|
|||||||
rules,
|
rules,
|
||||||
extends: _extends,
|
extends: _extends,
|
||||||
overrides,
|
overrides,
|
||||||
|
customRules,
|
||||||
...rest
|
...rest
|
||||||
}: Config = {}): ESLintConfig {
|
}: Config = {}): ESLintConfig {
|
||||||
const hasReact = plugins?.includes('react');
|
const hasReact = plugins?.includes('react');
|
||||||
const hasReactRefresh = plugins?.includes('react-refresh');
|
const hasReactRefresh = plugins?.includes('react-refresh');
|
||||||
const hasUnicorn = plugins?.includes('unicorn');
|
const hasUnicorn = plugins?.includes('unicorn');
|
||||||
|
const hasJsDoc = plugins?.includes('jsdoc');
|
||||||
|
const hasGraphQL = plugins?.includes('@graphql-eslint');
|
||||||
const hasNext = ensureArray(_extends).some(name => name.includes(':@next/next'));
|
const hasNext = ensureArray(_extends).some(name => name.includes(':@next/next'));
|
||||||
|
|
||||||
|
const ruleDir = false ?? findCacheDirectory({ name: '_eslint-rules' });
|
||||||
|
if (ruleDir) {
|
||||||
|
fs.rmSync(ruleDir, { recursive: true, force: true });
|
||||||
|
fs.mkdirSync(ruleDir, { recursive: true });
|
||||||
|
}
|
||||||
|
|
||||||
const result: Config = {
|
const result: Config = {
|
||||||
root: true,
|
root: true,
|
||||||
parser: '@typescript-eslint/parser',
|
parser: '@typescript-eslint/parser',
|
||||||
plugins: unique(['@typescript-eslint', 'import', 'rules', ...(plugins ?? [])]),
|
plugins: unique('@typescript-eslint', 'import', 'rules', plugins),
|
||||||
env: { node: true, browser: true, es2023: true },
|
env: { node: true, browser: true, es2023: true },
|
||||||
reportUnusedDisableDirectives: true,
|
reportUnusedDisableDirectives: true,
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
project: true,
|
project: true,
|
||||||
},
|
},
|
||||||
extends: unique([
|
extends: unique(
|
||||||
'eslint:recommended',
|
'eslint:recommended',
|
||||||
'prettier',
|
'prettier',
|
||||||
'plugin:@typescript-eslint/recommended-type-checked',
|
'plugin:@typescript-eslint/recommended-type-checked',
|
||||||
'plugin:import/errors',
|
'plugin:import/errors',
|
||||||
'plugin:import/typescript',
|
'plugin:import/typescript',
|
||||||
...(hasReact
|
hasReact && [
|
||||||
? [
|
'plugin:react/recommended',
|
||||||
'plugin:react/recommended',
|
'plugin:react-hooks/recommended',
|
||||||
'plugin:react-hooks/recommended',
|
'plugin:jsx-a11y/recommended',
|
||||||
'plugin:jsx-a11y/recommended',
|
],
|
||||||
]
|
hasJsDoc && 'plugin:jsdoc/recommended-typescript',
|
||||||
: []),
|
hasGraphQL && 'plugin:@graphql-eslint/recommended',
|
||||||
...(_extends ?? []),
|
_extends,
|
||||||
]),
|
),
|
||||||
settings: {
|
settings: {
|
||||||
'import/parsers': {
|
'import/parsers': {
|
||||||
'@typescript-eslint/parser': ['.ts', '.tsx', '.mts', '.cts'],
|
'@typescript-eslint/parser': ['.ts', '.tsx', '.mts', '.cts'],
|
||||||
@ -137,6 +187,7 @@ export function extendConfig({
|
|||||||
...eslintRules,
|
...eslintRules,
|
||||||
...typescriptRules,
|
...typescriptRules,
|
||||||
...importRules,
|
...importRules,
|
||||||
|
...localRules,
|
||||||
...(hasReact && {
|
...(hasReact && {
|
||||||
...reactRules,
|
...reactRules,
|
||||||
'react/no-unknown-property': [
|
'react/no-unknown-property': [
|
||||||
@ -148,8 +199,8 @@ export function extendConfig({
|
|||||||
'react-refresh/only-export-components': [warn, { allowConstantExport: true }],
|
'react-refresh/only-export-components': [warn, { allowConstantExport: true }],
|
||||||
}),
|
}),
|
||||||
...(hasUnicorn && unicornRules),
|
...(hasUnicorn && unicornRules),
|
||||||
'rules/no-import-dot': error,
|
...(hasJsDoc && jsDocRules),
|
||||||
'rules/restrict-template-expressions': error,
|
...(hasGraphQL && graphqlRules),
|
||||||
...rules,
|
...rules,
|
||||||
},
|
},
|
||||||
...rest,
|
...rest,
|
||||||
|
4
src/presets/graphql.ts
Normal file
4
src/presets/graphql.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
import { GraphQLRules } from 'eslint-define-config/src/rules/graphql-eslint';
|
||||||
|
|
||||||
|
// https://the-guild.dev/graphql/eslint/rules
|
||||||
|
export const graphqlRules: Partial<GraphQLRules> = {};
|
3
src/presets/jsdoc.ts
Normal file
3
src/presets/jsdoc.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
import { JSDocRules } from 'eslint-define-config/src/rules/jsdoc';
|
||||||
|
|
||||||
|
export const jsDocRules: Partial<JSDocRules> = {};
|
@ -1,6 +1,7 @@
|
|||||||
import { error, off } from '../constants';
|
import type { LocalRuleOptions } from '../index';
|
||||||
import type { CustomRuleOptions } from 'eslint-define-config';
|
import { error } from '../constants';
|
||||||
|
|
||||||
export const importRules: Partial<CustomRuleOptions> = {
|
export const localRules: Partial<LocalRuleOptions> = {
|
||||||
'local/no-import-dot': error,
|
'rules/no-import-dot': error,
|
||||||
|
'rules/restrict-template-expressions': error,
|
||||||
};
|
};
|
||||||
|
6
src/types.d.ts
vendored
6
src/types.d.ts
vendored
@ -13,3 +13,9 @@ declare module '@typescript-eslint/utils/eslint-utils' {
|
|||||||
declare module '@typescript-eslint/utils/json-schema' {
|
declare module '@typescript-eslint/utils/json-schema' {
|
||||||
export * from '@typescript-eslint/utils/dist/json-schema';
|
export * from '@typescript-eslint/utils/dist/json-schema';
|
||||||
}
|
}
|
||||||
|
declare module '@typescript-eslint/scope-manager' {
|
||||||
|
export * from '@typescript-eslint/scope-manager/dist/index';
|
||||||
|
}
|
||||||
|
declare module '@typescript-eslint/types' {
|
||||||
|
export * from '@typescript-eslint/types/dist/index';
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user