diff --git a/apps/api/package.json b/apps/api/package.json index b512499..22ac073 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -40,8 +40,8 @@ "@types/jest": "^29.5.2", "@types/node": "^20.3.1", "@types/supertest": "^6.0.0", - "@vchikalkin/eslint-config-awesome": "^1.1.5", - "eslint": "^8.51.0", + "@vchikalkin/eslint-config-awesome": "^1.1.6", + "eslint": "^8.46.0", "fastify": "^4.26.1", "jest": "^29.5.0", "prettier": "^3.0.0", diff --git a/apps/web/package.json b/apps/web/package.json index 2d2a780..af99d85 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -50,7 +50,7 @@ "@types/react": "^18.2.14", "@types/react-dom": "^18.2.6", "@types/styled-components": "^5.1.26", - "@vchikalkin/eslint-config-awesome": "^1.1.5", + "@vchikalkin/eslint-config-awesome": "^1.1.6", "antd": "^5.6.3", "eslint": "^8.46.0", "gql-sdl": "^1.0.0", diff --git a/packages/tools/.eslintrc.js b/packages/tools/.eslintrc.js index 62ba780..ee7b070 100644 --- a/packages/tools/.eslintrc.js +++ b/packages/tools/.eslintrc.js @@ -1,11 +1,10 @@ -module.exports = { - root: true, - extends: [ - '@vchikalkin/eslint-config-awesome/typescript/config', - '@vchikalkin/eslint-config-awesome/typescript/rules', - ], +const { createConfig } = require('@vchikalkin/eslint-config-awesome'); + +module.exports = createConfig('typescript', { parserOptions: { project: './tsconfig.json', tsconfigRootDir: __dirname, }, -}; + ignorePatterns: ['*.config.js', '.eslintrc.js'], + root: true, +}); diff --git a/packages/tools/package.json b/packages/tools/package.json index 0646ce0..82d62ed 100644 --- a/packages/tools/package.json +++ b/packages/tools/package.json @@ -8,8 +8,8 @@ "lint": "TIMING=1 eslint \"**/*.ts*\"" }, "devDependencies": { - "@vchikalkin/eslint-config-awesome": "^1.1.1", - "eslint": "^8.46.0" - }, - "dependencies": {} + "@vchikalkin/eslint-config-awesome": "^1.1.6", + "eslint": "^8.52.0", + "tsconfig": "workspace:*" + } } diff --git a/packages/ui/.eslintrc.js b/packages/ui/.eslintrc.js index fd66561..35144e6 100644 --- a/packages/ui/.eslintrc.js +++ b/packages/ui/.eslintrc.js @@ -1,15 +1,17 @@ -module.exports = { - root: true, - extends: [ - '@vchikalkin/eslint-config-awesome/react-typescript/config', - '@vchikalkin/eslint-config-awesome/react-typescript/rules', - ], +const { createConfig } = require('@vchikalkin/eslint-config-awesome'); + +module.exports = createConfig('react-typescript', { parserOptions: { project: './tsconfig.json', tsconfigRootDir: __dirname, }, rules: { + 'import/no-duplicates': 'off', + 'react/forbid-component-props': 'off', + 'import/consistent-type-specifier-style': 'off', 'unicorn/filename-case': 'off', 'react/jsx-no-bind': 'off', }, -}; + ignorePatterns: ['*.config.js', '.eslintrc.js'], + root: true, +}); diff --git a/packages/ui/package.json b/packages/ui/package.json index e5c10d5..d2f9992 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -12,7 +12,7 @@ "@types/react-dom": "^18.2.6", "@types/rebass": "^4.0.10", "@types/styled-components": "^5.1.26", - "@vchikalkin/eslint-config-awesome": "^1.1.1", + "@vchikalkin/eslint-config-awesome": "^1.1.6", "eslint": "^8.46.0", "react": "^18.2.0", "tsconfig": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d006dd..4dad563 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,10 +85,10 @@ importers: specifier: ^6.0.0 version: 6.0.2 '@vchikalkin/eslint-config-awesome': - specifier: ^1.1.5 - version: 1.1.5(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@types/node@20.11.20)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(jest@29.7.0)(prettier@3.2.5)(typescript@5.3.3) + specifier: ^1.1.6 + version: 1.1.6(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@types/node@20.11.20)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(jest@29.7.0)(prettier@3.2.5)(typescript@5.3.3) eslint: - specifier: ^8.51.0 + specifier: ^8.46.0 version: 8.57.0 fastify: specifier: ^4.26.1 @@ -230,8 +230,8 @@ importers: specifier: ^5.1.26 version: 5.1.34 '@vchikalkin/eslint-config-awesome': - specifier: ^1.1.5 - version: 1.1.5(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@types/node@18.19.18)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(jest@29.7.0)(prettier@3.2.5)(typescript@4.9.5) + specifier: ^1.1.6 + version: 1.1.6(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@types/node@18.19.18)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(jest@29.7.0)(prettier@3.2.5)(typescript@4.9.5) antd: specifier: ^5.6.3 version: 5.14.2(react-dom@18.2.0)(react@18.2.0) @@ -263,11 +263,14 @@ importers: packages/tools: devDependencies: '@vchikalkin/eslint-config-awesome': - specifier: ^1.1.1 - version: 1.1.5(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(prettier@3.2.5)(typescript@5.3.3) + specifier: ^1.1.6 + version: 1.1.6(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(prettier@3.2.5)(typescript@5.3.3) eslint: - specifier: ^8.46.0 + specifier: ^8.52.0 version: 8.57.0 + tsconfig: + specifier: workspace:* + version: link:../tsconfig packages/tsconfig: {} @@ -305,8 +308,8 @@ importers: specifier: ^5.1.26 version: 5.1.34 '@vchikalkin/eslint-config-awesome': - specifier: ^1.1.1 - version: 1.1.5(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(prettier@3.2.5)(typescript@4.9.5) + specifier: ^1.1.6 + version: 1.1.6(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(prettier@3.2.5)(typescript@4.9.5) eslint: specifier: ^8.46.0 version: 8.57.0 @@ -2455,7 +2458,7 @@ packages: slash: 3.0.0 dev: true - /@jest/core@29.7.0: + /@jest/core@29.7.0(ts-node@10.9.2): resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2476,50 +2479,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.19.18) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.5 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - dev: true - - /@jest/core@29.7.0(ts-node@10.9.2): - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.20 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.11.20)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@18.19.18)(ts-node@10.9.2) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -4326,8 +4286,8 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vchikalkin/eslint-config-awesome@1.1.5(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@types/node@18.19.18)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(jest@29.7.0)(prettier@3.2.5)(typescript@4.9.5): - resolution: {integrity: sha512-QZH5FefGRxfUKCWKXAn4qUG8NkM3I+eU+eKKWPEOQkowbyUZws198QDJiNyIFUFbdAuX9cbRRxmFyM4kLBBsaA==} + /@vchikalkin/eslint-config-awesome@1.1.6(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@types/node@18.19.18)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(jest@29.7.0)(prettier@3.2.5)(typescript@4.9.5): + resolution: {integrity: sha512-GMgbUe9CupcCpQnvrZMalfwnuQwoYCH8mMYLYsBtVLbpjyzI3OVsX0GGvqPJbLDO1mBVH3H8DsMMFwwmOpP81A==} peerDependencies: '@babel/eslint-plugin': ^7.22.10 eslint: ^8.52.0 @@ -4360,8 +4320,8 @@ packages: - vitest dev: true - /@vchikalkin/eslint-config-awesome@1.1.5(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@types/node@20.11.20)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(jest@29.7.0)(prettier@3.2.5)(typescript@5.3.3): - resolution: {integrity: sha512-QZH5FefGRxfUKCWKXAn4qUG8NkM3I+eU+eKKWPEOQkowbyUZws198QDJiNyIFUFbdAuX9cbRRxmFyM4kLBBsaA==} + /@vchikalkin/eslint-config-awesome@1.1.6(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@types/node@20.11.20)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(jest@29.7.0)(prettier@3.2.5)(typescript@5.3.3): + resolution: {integrity: sha512-GMgbUe9CupcCpQnvrZMalfwnuQwoYCH8mMYLYsBtVLbpjyzI3OVsX0GGvqPJbLDO1mBVH3H8DsMMFwwmOpP81A==} peerDependencies: '@babel/eslint-plugin': ^7.22.10 eslint: ^8.52.0 @@ -4394,8 +4354,8 @@ packages: - vitest dev: true - /@vchikalkin/eslint-config-awesome@1.1.5(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(prettier@3.2.5)(typescript@4.9.5): - resolution: {integrity: sha512-QZH5FefGRxfUKCWKXAn4qUG8NkM3I+eU+eKKWPEOQkowbyUZws198QDJiNyIFUFbdAuX9cbRRxmFyM4kLBBsaA==} + /@vchikalkin/eslint-config-awesome@1.1.6(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(prettier@3.2.5)(typescript@4.9.5): + resolution: {integrity: sha512-GMgbUe9CupcCpQnvrZMalfwnuQwoYCH8mMYLYsBtVLbpjyzI3OVsX0GGvqPJbLDO1mBVH3H8DsMMFwwmOpP81A==} peerDependencies: '@babel/eslint-plugin': ^7.22.10 eslint: ^8.52.0 @@ -4428,8 +4388,8 @@ packages: - vitest dev: true - /@vchikalkin/eslint-config-awesome@1.1.5(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(prettier@3.2.5)(typescript@5.3.3): - resolution: {integrity: sha512-QZH5FefGRxfUKCWKXAn4qUG8NkM3I+eU+eKKWPEOQkowbyUZws198QDJiNyIFUFbdAuX9cbRRxmFyM4kLBBsaA==} + /@vchikalkin/eslint-config-awesome@1.1.6(@babel/eslint-plugin@7.23.5)(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-plugin-import@2.29.1)(eslint@8.57.0)(graphql@16.8.1)(prettier@3.2.5)(typescript@5.3.3): + resolution: {integrity: sha512-GMgbUe9CupcCpQnvrZMalfwnuQwoYCH8mMYLYsBtVLbpjyzI3OVsX0GGvqPJbLDO1mBVH3H8DsMMFwwmOpP81A==} peerDependencies: '@babel/eslint-plugin': ^7.22.10 eslint: ^8.52.0 @@ -6040,7 +6000,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.19.18) + jest-config: 29.7.0(@types/node@18.19.18)(ts-node@10.9.2) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -6497,7 +6457,7 @@ packages: globalthis: 1.0.3 gopd: 1.0.1 has-property-descriptors: 1.0.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.1 internal-slot: 1.0.7 @@ -6568,7 +6528,7 @@ packages: get-intrinsic: 1.2.4 globalthis: 1.0.3 has-property-descriptors: 1.0.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 internal-slot: 1.0.7 iterator.prototype: 1.1.2 @@ -9597,14 +9557,14 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.7.0 + '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 create-jest: 29.7.0(@types/node@18.19.18) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@18.19.18) + jest-config: 29.7.0(@types/node@18.19.18)(ts-node@10.9.2) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -9643,7 +9603,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@18.19.18): + /jest-config@29.7.0(@types/node@18.19.18)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -9678,6 +9638,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 + ts-node: 10.9.2(@types/node@20.11.20)(typescript@5.3.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -10049,7 +10010,7 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.7.0 + '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 import-local: 3.1.0 jest-cli: 29.7.0(@types/node@18.19.18)