diff options
| author | Shinigami <[email protected]> | 2024-09-16 10:37:53 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-09-16 10:37:53 +0200 |
| commit | e2ea797ea950fedfd4ec0e5df99e89abd5272da5 (patch) | |
| tree | b4f7f244de8183c1afdf2d0a30979f057709f403 | |
| parent | 15fd536a18f75a73060512ae095a0a20f5fec6b6 (diff) | |
| download | faker-e2ea797ea950fedfd4ec0e5df99e89abd5272da5.tar.xz faker-e2ea797ea950fedfd4ec0e5df99e89abd5272da5.zip | |
infra: use eslint.config.ts (#3044)
Co-authored-by: ST-DDT <[email protected]>
| -rw-r--r-- | .vscode/settings.json | 3 | ||||
| -rw-r--r-- | eslint.config.ts (renamed from eslint.config.js) | 6 | ||||
| -rw-r--r-- | package.json | 9 | ||||
| -rw-r--r-- | pnpm-lock.yaml | 178 |
4 files changed, 96 insertions, 100 deletions
diff --git a/.vscode/settings.json b/.vscode/settings.json index adff015a..5c9676d6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,7 @@ { + "eslint.options": { + "flags": ["unstable_ts_config"] + }, // Enable eslint validation for js and ts files "eslint.validate": ["javascript", "typescript"], diff --git a/eslint.config.js b/eslint.config.ts index 60acff7c..400a188a 100644 --- a/eslint.config.js +++ b/eslint.config.ts @@ -1,5 +1,3 @@ -// @ts-check -/* eslint-disable @typescript-eslint/no-unsafe-argument */ import { includeIgnoreFile } from '@eslint/compat'; import eslint from '@eslint/js'; import stylistic from '@stylistic/eslint-plugin'; @@ -15,7 +13,7 @@ const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const gitignorePath = resolve(__dirname, '.gitignore'); -export default tseslint.config( +const config: ReturnType<typeof tseslint.config> = tseslint.config( //#region global includeIgnoreFile(gitignorePath), { @@ -260,3 +258,5 @@ export default tseslint.config( } //#endregion ); + +export default config; diff --git a/package.json b/package.json index 3c78bfd9..debe9480 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "docs:serve": "vitepress serve docs --port 5173", "docs:diff": "tsx ./scripts/diff.ts", "format": "prettier --cache --write .", - "lint": "eslint --cache --cache-strategy content .", + "lint": "eslint --cache --cache-strategy content --flag unstable_ts_config .", "ts-check": "tsc", "test": "vitest", "test:update-snapshots": "vitest run -u", @@ -105,14 +105,10 @@ "devDependencies": { "@actions/github": "6.0.0", "@algolia/client-search": "5.4.1", - "@eslint-types/deprecation": "2.0.0-1", - "@eslint-types/jsdoc": "48.2.2", - "@eslint-types/prettier": "5.1.3", - "@eslint-types/typescript-eslint": "7.5.0", - "@eslint-types/unicorn": "52.0.0", "@eslint/compat": "1.1.1", "@eslint/js": "9.10.0", "@stylistic/eslint-plugin": "2.8.0", + "@types/eslint__js": "8.42.3", "@types/node": "20.16.5", "@types/sanitize-html": "2.13.0", "@types/semver": "7.5.8", @@ -129,6 +125,7 @@ "eslint-plugin-prettier": "5.2.1", "eslint-plugin-unicorn": "55.0.0", "eslint-plugin-vitest": "0.5.4", + "jiti": "1.21.6", "npm-run-all2": "6.2.3", "prettier": "3.3.3", "prettier-plugin-organize-imports": "4.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 56373969..a86e82ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,21 +14,6 @@ importers: '@algolia/client-search': specifier: 5.4.1 version: 5.4.1 - '@eslint-types/deprecation': - specifier: 2.0.0-1 - version: 2.0.0-1 - '@eslint-types/jsdoc': - specifier: 48.2.2 - version: 48.2.2 - '@eslint-types/prettier': - specifier: 5.1.3 - version: 5.1.3 - '@eslint-types/typescript-eslint': - specifier: 7.5.0 - version: 7.5.0 - '@eslint-types/unicorn': - specifier: 52.0.0 - version: 52.0.0 '@eslint/compat': specifier: 1.1.1 version: 1.1.1 @@ -37,7 +22,10 @@ importers: version: 9.10.0 '@stylistic/eslint-plugin': specifier: 2.8.0 - version: 2.8.0([email protected])([email protected]) + '@types/eslint__js': + specifier: 8.42.3 + version: 8.42.3 '@types/node': specifier: 20.16.5 version: 20.16.5 @@ -67,25 +55,28 @@ importers: version: 13.14.2 eslint: specifier: 9.10.0 - version: 9.10.0 + version: 9.10.0([email protected]) eslint-config-prettier: specifier: 9.1.0 - version: 9.1.0([email protected]) + version: 9.1.0([email protected]([email protected])) eslint-define-config: specifier: 2.1.0 version: 2.1.0 eslint-plugin-jsdoc: specifier: 50.2.3 - version: 50.2.3([email protected]) + version: 50.2.3([email protected]([email protected])) eslint-plugin-prettier: specifier: 5.2.1 + version: 5.2.1(@types/[email protected])([email protected]([email protected]([email protected])))([email protected]([email protected]))([email protected]) eslint-plugin-unicorn: specifier: 55.0.0 - version: 55.0.0([email protected]) + version: 55.0.0([email protected]([email protected])) eslint-plugin-vitest: specifier: 0.5.4 - version: 0.5.4([email protected])([email protected])([email protected](@types/[email protected])(@vitest/[email protected])([email protected])) + version: 0.5.4([email protected]([email protected]))([email protected])([email protected](@types/[email protected])(@vitest/[email protected])([email protected])) + jiti: + specifier: 1.21.6 + version: 1.21.6 npm-run-all2: specifier: 6.2.3 version: 6.2.3 @@ -112,7 +103,7 @@ importers: version: 23.0.0 tsup: specifier: 8.2.4 + version: 8.2.4([email protected])([email protected])([email protected])([email protected])([email protected]) tsx: specifier: 4.19.1 version: 4.19.1 @@ -121,7 +112,7 @@ importers: version: 5.5.4 typescript-eslint: specifier: 8.5.0 - version: 8.5.0([email protected])([email protected]) validator: specifier: 13.12.0 version: 13.12.0 @@ -596,21 +587,6 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-types/[email protected]': - resolution: {integrity: sha512-bsl7dssIW598hWQBIsnKMHQCguXkjI14117dXVpRhaaGBmzUAJxGpL9ClM36alal6NSbljrxJvzBadINVcWeoQ==} - - '@eslint-types/[email protected]': - resolution: {integrity: sha512-HpyW7wipVZGkCMOMMzjZ/wieIoinafxg1M617s8UPEchEGH/Xgs7pLZMaNR3Kdyx3Rz8STHYzCmKJfV2orjFJg==} - - '@eslint-types/[email protected]': - resolution: {integrity: sha512-jJHwCAdqj+iw2ahrFrA9FSDrYJSAEShWS6s/X/6fmD8xpdaKUpFqG/ecTnUlO6Iyxhkt3lj79Nfu4MWUpo7k6Q==} - - '@eslint-types/[email protected]': - resolution: {integrity: sha512-zKvsPBDq6o0L4p2sRtq8fxOtGc+mm37aZSXLsiD4DIRl2kYUxKNO9CKDTAgmuMYUzih9J7lbLxAomreLrdAiVQ==} - - '@eslint-types/[email protected]': - resolution: {integrity: sha512-1+Om/IekT0AwlPiARvhbtKsSgVMu3ZAtP99YCzhHkDSnF5f8sQegh8/3ZmMhlCnKipa7/x8qEC7Bn4rbaagnSA==} - '@eslint/[email protected]': resolution: {integrity: sha512-lpHyRyplhGPL5mGEh6M9O5nnKk0Gz4bFI+Zu6tKlPpDUN7XshWvH9C/px4UVm87IAANE0W81CEsNGbS1KlzXpA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -855,12 +831,21 @@ packages: '@ts-morph/[email protected]': resolution: {integrity: sha512-c1xMmNHWpNselmpIqursHeOHHBTIsJLbB+NuovbTTRCNiTLEr/U9dbJ8qy0jd/O2x5pc3seWuOUN5R2IoOTp8A==} + '@types/[email protected]': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/[email protected]': + resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} + '@types/[email protected]': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} '@types/[email protected]': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/[email protected]': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/[email protected]': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -2318,6 +2303,10 @@ packages: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -4082,23 +4071,13 @@ snapshots: '@esbuild/[email protected]': optional: true - '@eslint-community/[email protected]([email protected])': dependencies: - eslint: 9.10.0 + eslint: 9.10.0([email protected]) eslint-visitor-keys: 3.4.3 '@eslint-community/[email protected]': {} - '@eslint-types/[email protected]': {} - - '@eslint-types/[email protected]': {} - - '@eslint-types/[email protected]': {} - - '@eslint-types/[email protected]': {} - - '@eslint-types/[email protected]': {} - '@eslint/[email protected]': {} '@eslint/[email protected]': @@ -4322,10 +4301,10 @@ snapshots: '@shikijs/[email protected]': {} dependencies: - '@typescript-eslint/utils': 8.5.0([email protected])([email protected]) - eslint: 9.10.0 + eslint: 9.10.0([email protected]) eslint-visitor-keys: 4.0.0 espree: 10.1.0 estraverse: 5.3.0 @@ -4341,12 +4320,23 @@ snapshots: mkdirp: 3.0.1 path-browserify: 1.0.1 + '@types/[email protected]': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/[email protected]': + dependencies: + '@types/eslint': 9.6.1 + '@types/[email protected]': {} '@types/[email protected]': dependencies: '@types/unist': 3.0.3 + '@types/[email protected]': {} + '@types/[email protected]': {} '@types/[email protected]': @@ -4389,15 +4379,15 @@ snapshots: '@types/node': 20.16.5 optional: true - '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])': + '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.5.0([email protected])([email protected]) '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/type-utils': 8.5.0([email protected])([email protected]) - '@typescript-eslint/utils': 8.5.0([email protected])([email protected]) '@typescript-eslint/visitor-keys': 8.5.0 - eslint: 9.10.0 + eslint: 9.10.0([email protected]) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -4407,14 +4397,14 @@ snapshots: transitivePeerDependencies: - supports-color dependencies: '@typescript-eslint/scope-manager': 8.5.0 '@typescript-eslint/types': 8.5.0 '@typescript-eslint/typescript-estree': 8.5.0([email protected]) '@typescript-eslint/visitor-keys': 8.5.0 debug: 4.3.7([email protected]) - eslint: 9.10.0 + eslint: 9.10.0([email protected]) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -4430,10 +4420,10 @@ snapshots: '@typescript-eslint/types': 8.5.0 '@typescript-eslint/visitor-keys': 8.5.0 dependencies: '@typescript-eslint/typescript-estree': 8.5.0([email protected]) - '@typescript-eslint/utils': 8.5.0([email protected])([email protected]) debug: 4.3.7([email protected]) ts-api-utils: 1.3.0([email protected]) optionalDependencies: @@ -4476,24 +4466,24 @@ snapshots: transitivePeerDependencies: - supports-color dependencies: - '@eslint-community/eslint-utils': 4.4.0([email protected]) + '@eslint-community/eslint-utils': 4.4.0([email protected]([email protected])) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0([email protected]) - eslint: 9.10.0 + eslint: 9.10.0([email protected]) transitivePeerDependencies: - supports-color - typescript dependencies: - '@eslint-community/eslint-utils': 4.4.0([email protected]) + '@eslint-community/eslint-utils': 4.4.0([email protected]([email protected])) '@typescript-eslint/scope-manager': 8.5.0 '@typescript-eslint/types': 8.5.0 '@typescript-eslint/typescript-estree': 8.5.0([email protected]) - eslint: 9.10.0 + eslint: 9.10.0([email protected]) transitivePeerDependencies: - supports-color - typescript @@ -5421,20 +5411,20 @@ snapshots: dependencies: - eslint: 9.10.0 + eslint: 9.10.0([email protected]) dependencies: '@es-joy/jsdoccomment': 0.48.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.7([email protected]) escape-string-regexp: 4.0.0 - eslint: 9.10.0 + eslint: 9.10.0([email protected]) espree: 10.1.0 esquery: 1.6.0 parse-imports: 2.1.1 @@ -5444,23 +5434,24 @@ snapshots: transitivePeerDependencies: - supports-color + [email protected](@types/[email protected])([email protected]([email protected]([email protected])))([email protected]([email protected]))([email protected]): dependencies: - eslint: 9.10.0 + eslint: 9.10.0([email protected]) prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: - eslint-config-prettier: 9.1.0([email protected]) + '@types/eslint': 9.6.1 + eslint-config-prettier: 9.1.0([email protected]([email protected])) dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0([email protected]) + '@eslint-community/eslint-utils': 4.4.0([email protected]([email protected])) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.38.1 - eslint: 9.10.0 + eslint: 9.10.0([email protected]) esquery: 1.6.0 globals: 15.9.0 indent-string: 4.0.0 @@ -5473,10 +5464,10 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - [email protected]([email protected])([email protected])([email protected](@types/[email protected])(@vitest/[email protected])([email protected])): + [email protected]([email protected]([email protected]))([email protected])([email protected](@types/[email protected])(@vitest/[email protected])([email protected])): dependencies: - '@typescript-eslint/utils': 7.18.0([email protected])([email protected]) - eslint: 9.10.0 + eslint: 9.10.0([email protected]) optionalDependencies: transitivePeerDependencies: @@ -5492,9 +5483,9 @@ snapshots: dependencies: - '@eslint-community/eslint-utils': 4.4.0([email protected]) + '@eslint-community/eslint-utils': 4.4.0([email protected]([email protected])) '@eslint-community/regexpp': 4.11.0 '@eslint/config-array': 0.18.0 '@eslint/eslintrc': 3.1.0 @@ -5528,6 +5519,8 @@ snapshots: optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.6 transitivePeerDependencies: - supports-color @@ -6027,6 +6020,8 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + [email protected]: {} + @@ -6506,10 +6501,11 @@ snapshots: dependencies: lilconfig: 3.1.2 optionalDependencies: + jiti: 1.21.6 postcss: 8.4.47 tsx: 4.19.1 yaml: 2.5.1 @@ -7017,7 +7013,7 @@ snapshots: + [email protected]([email protected])([email protected])([email protected])([email protected])([email protected]): dependencies: bundle-require: 5.0.0([email protected]) cac: 6.7.14 @@ -7029,7 +7025,7 @@ snapshots: globby: 11.1.0 joycon: 3.1.1 picocolors: 1.1.0 + postcss-load-config: 6.0.1([email protected])([email protected])([email protected])([email protected]) resolve-from: 5.0.0 rollup: 4.21.3 source-map: 0.8.0-beta.0 @@ -7073,11 +7069,11 @@ snapshots: dependencies: - '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]) - '@typescript-eslint/parser': 8.5.0([email protected])([email protected]) - '@typescript-eslint/utils': 8.5.0([email protected])([email protected]) + '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: |
