diff --git a/packages/@d-zero/eslint-config/base.js b/packages/@d-zero/eslint-config/base.js index 8b27f8f5..a6b07f7e 100644 --- a/packages/@d-zero/eslint-config/base.js +++ b/packages/@d-zero/eslint-config/base.js @@ -1,6 +1,7 @@ import dzeroPlugin from '@d-zero/eslint-plugin'; +import { fixupPluginRules } from '@eslint/compat'; import js from '@eslint/js'; -import comments from 'eslint-plugin-eslint-comments'; +import comments from '@eslint-community/eslint-plugin-eslint-comments'; import { flatConfigs as importX } from 'eslint-plugin-import-x'; import jsdoc from 'eslint-plugin-jsdoc'; import * as regexpPlugin from 'eslint-plugin-regexp'; @@ -73,6 +74,10 @@ export const base = [ regexpPlugin.configs['flat/recommended'], { ...importX.recommended, + plugins: { + ...importX.recommended.plugins, + 'import-x': fixupPluginRules(importX.recommended.plugins['import-x']), + }, rules: { ...importX.recommended.rules, 'import-x/no-extraneous-dependencies': 2, @@ -109,6 +114,10 @@ export const base = [ }, { ...jsdoc.configs['flat/recommended'], + plugins: { + ...jsdoc.configs['flat/recommended'].plugins, + jsdoc: fixupPluginRules(jsdoc.configs['flat/recommended'].plugins.jsdoc), + }, rules: { ...jsdoc.configs['flat/recommended'].rules, 'jsdoc/require-param-type': 0, @@ -120,13 +129,13 @@ export const base = [ }, { plugins: { - comments, + comments: fixupPluginRules(comments), }, }, { plugins: { - comments, - 'sort-class-members': sortClassMembers, + comments: fixupPluginRules(comments), + 'sort-class-members': fixupPluginRules(sortClassMembers), }, rules: { 'sort-class-members/sort-class-members': [ diff --git a/packages/@d-zero/eslint-config/package.json b/packages/@d-zero/eslint-config/package.json index 4688b6d6..3a1ab370 100644 --- a/packages/@d-zero/eslint-config/package.json +++ b/packages/@d-zero/eslint-config/package.json @@ -20,9 +20,10 @@ }, "dependencies": { "@d-zero/eslint-plugin": "5.0.0", - "@eslint/js": "9.39.3", - "eslint": "9.39.3", - "eslint-plugin-eslint-comments": "3.2.0", + "@eslint-community/eslint-plugin-eslint-comments": "4.6.0", + "@eslint/compat": "2.0.2", + "@eslint/js": "10.0.1", + "eslint": "10.0.0", "eslint-plugin-import-x": "4.16.1", "eslint-plugin-jsdoc": "62.7.1", "eslint-plugin-regexp": "3.0.0", diff --git a/packages/@d-zero/eslint-config/typescript.js b/packages/@d-zero/eslint-config/typescript.js index 43b00a30..1a0f8733 100644 --- a/packages/@d-zero/eslint-config/typescript.js +++ b/packages/@d-zero/eslint-config/typescript.js @@ -29,7 +29,6 @@ export const ts = tsESLint.config( '@typescript-eslint/no-namespace': [2, { allowDeclarations: true }], '@typescript-eslint/no-unnecessary-type-assertion': 2, '@typescript-eslint/no-unused-vars': 2, - '@typescript-eslint/no-var-requires': 2, '@typescript-eslint/prefer-namespace-keyword': 2, '@typescript-eslint/require-await': 2, '@typescript-eslint/restrict-plus-operands': 0, diff --git a/packages/@d-zero/stylelint-rules/src/rules/prefer-individual-transform-properties/index.ts b/packages/@d-zero/stylelint-rules/src/rules/prefer-individual-transform-properties/index.ts index f08df5e6..4003c87d 100644 --- a/packages/@d-zero/stylelint-rules/src/rules/prefer-individual-transform-properties/index.ts +++ b/packages/@d-zero/stylelint-rules/src/rules/prefer-individual-transform-properties/index.ts @@ -53,15 +53,18 @@ function canBeReplacedWithIndividualProperties(value: string): { // Generate suggestion based on function type const args = postcssValueParser.stringify(node.nodes); suggestions.push(`${property}: ${args}`); - - // Don't walk into the arguments of transform functions - return false; + break; } } if (!isReplaceable) { hasNonReplaceableFunction = true; } + + // Don't walk into the arguments of transform functions + if (isReplaceable) { + return false; + } } return true; }); diff --git a/yarn.lock b/yarn.lock index 8594cfc5..cf6bb566 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1059,9 +1059,10 @@ __metadata: resolution: "@d-zero/eslint-config@workspace:packages/@d-zero/eslint-config" dependencies: "@d-zero/eslint-plugin": "npm:5.0.0" - "@eslint/js": "npm:9.39.3" - eslint: "npm:9.39.3" - eslint-plugin-eslint-comments: "npm:3.2.0" + "@eslint-community/eslint-plugin-eslint-comments": "npm:4.6.0" + "@eslint/compat": "npm:2.0.2" + "@eslint/js": "npm:10.0.1" + eslint: "npm:10.0.0" eslint-plugin-import-x: "npm:4.16.1" eslint-plugin-jsdoc: "npm:62.7.1" eslint-plugin-regexp: "npm:3.0.0" @@ -1397,6 +1398,18 @@ __metadata: languageName: node linkType: hard +"@eslint-community/eslint-plugin-eslint-comments@npm:4.6.0": + version: 4.6.0 + resolution: "@eslint-community/eslint-plugin-eslint-comments@npm:4.6.0" + dependencies: + escape-string-regexp: "npm:^4.0.0" + ignore: "npm:^7.0.5" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/05d964f61aabb6ab0012608750605ac40cb32212858d291f4d10ac5ac66499f87e13c713da3719e7f5dd1460efd7d0805d27000fbc3d18f3326af83ddaad2bf3 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0": version: 4.7.0 resolution: "@eslint-community/eslint-utils@npm:4.7.0" @@ -1444,6 +1457,20 @@ __metadata: languageName: node linkType: hard +"@eslint/compat@npm:2.0.2": + version: 2.0.2 + resolution: "@eslint/compat@npm:2.0.2" + dependencies: + "@eslint/core": "npm:^1.1.0" + peerDependencies: + eslint: ^8.40 || 9 || 10 + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/176df611bcb54ff7d9c3ac440df6844e552a4ed5de30eba28edbeebb68ccc7f19111fdd4c10780101ee5f871bd03ec0457f38c67834c285751c2bdb37d8ae73c + languageName: node + linkType: hard + "@eslint/config-array@npm:^0.21.1": version: 0.21.1 resolution: "@eslint/config-array@npm:0.21.1" @@ -1455,6 +1482,17 @@ __metadata: languageName: node linkType: hard +"@eslint/config-array@npm:^0.23.0": + version: 0.23.2 + resolution: "@eslint/config-array@npm:0.23.2" + dependencies: + "@eslint/object-schema": "npm:^3.0.2" + debug: "npm:^4.3.1" + minimatch: "npm:^10.2.1" + checksum: 10c0/95d7506c3fcb13c9a477f0fd501d552a4f136425fdf41a57058565d4730d888c78a467f8cefee92c7ac911b2c9da72629cb90507bc943cb2e5ae7bcdcdd2b759 + languageName: node + linkType: hard + "@eslint/config-helpers@npm:^0.4.2": version: 0.4.2 resolution: "@eslint/config-helpers@npm:0.4.2" @@ -1464,6 +1502,15 @@ __metadata: languageName: node linkType: hard +"@eslint/config-helpers@npm:^0.5.2": + version: 0.5.2 + resolution: "@eslint/config-helpers@npm:0.5.2" + dependencies: + "@eslint/core": "npm:^1.1.0" + checksum: 10c0/0dc65bc5dd80441afbf5007cae702a5d9dd08893e95fed702a463366cf9ce2f4fd90adb09f9012cb4fcc9783d897ccb739067b1b8a5942f4c8288a6efb396d58 + languageName: node + linkType: hard + "@eslint/core@npm:^0.17.0": version: 0.17.0 resolution: "@eslint/core@npm:0.17.0" @@ -1473,6 +1520,15 @@ __metadata: languageName: node linkType: hard +"@eslint/core@npm:^1.1.0": + version: 1.1.0 + resolution: "@eslint/core@npm:1.1.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/0f875d6f24fbf67cc796e01c2ca82884f755488052ed84183e56377c5b90fe10b491a26e600642db4daea1d5d8ab7906ec12f2bd5cbdb5004b0ef73c802bdb57 + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^3.3.1": version: 3.3.1 resolution: "@eslint/eslintrc@npm:3.3.1" @@ -1490,6 +1546,18 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:10.0.1": + version: 10.0.1 + resolution: "@eslint/js@npm:10.0.1" + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/9f3fcaf71ba7fdf65d82e8faad6ecfe97e11801cc3c362b306a88ea1ed1344ae0d35330dddb0e8ad18f010f6687a70b75491b9e01c8af57acd7987cee6b3ec6c + languageName: node + linkType: hard + "@eslint/js@npm:9.39.2": version: 9.39.2 resolution: "@eslint/js@npm:9.39.2" @@ -1497,13 +1565,6 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.39.3": - version: 9.39.3 - resolution: "@eslint/js@npm:9.39.3" - checksum: 10c0/df1c70d6681c8daf4a3c86dfac159fcd98a73c4620c4fbe2be6caab1f30a34c7de0ad88ab0e81162376d2cde1a2eed1c32eff5f917ca369870930a51f8e818f1 - languageName: node - linkType: hard - "@eslint/object-schema@npm:^2.1.7": version: 2.1.7 resolution: "@eslint/object-schema@npm:2.1.7" @@ -1511,6 +1572,13 @@ __metadata: languageName: node linkType: hard +"@eslint/object-schema@npm:^3.0.2": + version: 3.0.2 + resolution: "@eslint/object-schema@npm:3.0.2" + checksum: 10c0/5f8b2e264bbde6f7c86f6846a2f04cb6e3f52df49e3cce0659cea31d7f7410bb5ac681f6f910294f8362e427054665d2c5b5c794580cab6b0d5a1c177e131ec1 + languageName: node + linkType: hard + "@eslint/plugin-kit@npm:^0.4.1": version: 0.4.1 resolution: "@eslint/plugin-kit@npm:0.4.1" @@ -1521,6 +1589,16 @@ __metadata: languageName: node linkType: hard +"@eslint/plugin-kit@npm:^0.6.0": + version: 0.6.0 + resolution: "@eslint/plugin-kit@npm:0.6.0" + dependencies: + "@eslint/core": "npm:^1.1.0" + levn: "npm:^0.4.1" + checksum: 10c0/1d726338a9f4537fe2848796c44d801093ea3a99166dbc45bc6f7742fa2ad74ce0c2f114092ce4460710a9dfe5ea6e3500446f81842388bf81328c97c3a43d9d + languageName: node + linkType: hard + "@hono/node-server@npm:^1.19.9": version: 1.19.9 resolution: "@hono/node-server@npm:1.19.9" @@ -3683,6 +3761,13 @@ __metadata: languageName: node linkType: hard +"@types/esrecurse@npm:^4.3.1": + version: 4.3.1 + resolution: "@types/esrecurse@npm:4.3.1" + checksum: 10c0/90dad74d5da3ad27606d8e8e757322f33171cfeaa15ad558b615cf71bb2a516492d18f55f4816384685a3eb2412142e732bbae9a4a7cd2cf3deb7572aa4ebe03 + languageName: node + linkType: hard + "@types/estree@npm:1.0.8, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": version: 1.0.8 resolution: "@types/estree@npm:1.0.8" @@ -6672,18 +6757,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-eslint-comments@npm:3.2.0": - version: 3.2.0 - resolution: "eslint-plugin-eslint-comments@npm:3.2.0" - dependencies: - escape-string-regexp: "npm:^1.0.5" - ignore: "npm:^5.0.5" - peerDependencies: - eslint: ">=4.19.1" - checksum: 10c0/c71db824592dc8ea498021572a0bd33d763ef26126bdb3b84a027ca75a1adbe0894ec95024f7de39ef12308560e62cbf8af0d06ffe472be5ba8bd9169c928e96 - languageName: node - linkType: hard - "eslint-plugin-import-x@npm:4.16.1": version: 4.16.1 resolution: "eslint-plugin-import-x@npm:4.16.1" @@ -6806,6 +6879,18 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^9.1.0": + version: 9.1.1 + resolution: "eslint-scope@npm:9.1.1" + dependencies: + "@types/esrecurse": "npm:^4.3.1" + "@types/estree": "npm:^1.0.8" + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/58327b26cd6a78693951668ce68c466a535259173d187cbd5c9d3cbe657cfd5dfaf1c01ec3176b8f6f1cf240b48d01d01e0f76ad9300682d9dd51d5d1514d4c1 + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" @@ -6827,31 +6912,28 @@ __metadata: languageName: node linkType: hard -"eslint@npm:9.39.2": - version: 9.39.2 - resolution: "eslint@npm:9.39.2" +"eslint@npm:10.0.0": + version: 10.0.0 + resolution: "eslint@npm:10.0.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" - "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.21.1" - "@eslint/config-helpers": "npm:^0.4.2" - "@eslint/core": "npm:^0.17.0" - "@eslint/eslintrc": "npm:^3.3.1" - "@eslint/js": "npm:9.39.2" - "@eslint/plugin-kit": "npm:^0.4.1" + "@eslint-community/regexpp": "npm:^4.12.2" + "@eslint/config-array": "npm:^0.23.0" + "@eslint/config-helpers": "npm:^0.5.2" + "@eslint/core": "npm:^1.1.0" + "@eslint/plugin-kit": "npm:^0.6.0" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.4.2" "@types/estree": "npm:^1.0.6" ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.4.0" - eslint-visitor-keys: "npm:^4.2.1" - espree: "npm:^10.4.0" - esquery: "npm:^1.5.0" + eslint-scope: "npm:^9.1.0" + eslint-visitor-keys: "npm:^5.0.0" + espree: "npm:^11.1.0" + esquery: "npm:^1.7.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" file-entry-cache: "npm:^8.0.0" @@ -6861,8 +6943,7 @@ __metadata: imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" + minimatch: "npm:^10.1.1" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" peerDependencies: @@ -6872,13 +6953,13 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/bb88ca8fd16bb7e1ac3e13804c54d41c583214460c0faa7b3e7c574e69c5600c7122295500fb4b0c06067831111db740931e98da1340329527658e1cf80073d3 + checksum: 10c0/87f3aa069693969841d773423c214ec83226873ead8565a65bdb40a7a0d3d5c95b8262c8232403eea235c5e1477457f893a3b6a72a0f4abc6bf2fee8f8410ef8 languageName: node linkType: hard -"eslint@npm:9.39.3": - version: 9.39.3 - resolution: "eslint@npm:9.39.3" +"eslint@npm:9.39.2": + version: 9.39.2 + resolution: "eslint@npm:9.39.2" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.1" @@ -6886,7 +6967,7 @@ __metadata: "@eslint/config-helpers": "npm:^0.4.2" "@eslint/core": "npm:^0.17.0" "@eslint/eslintrc": "npm:^3.3.1" - "@eslint/js": "npm:9.39.3" + "@eslint/js": "npm:9.39.2" "@eslint/plugin-kit": "npm:^0.4.1" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" @@ -6921,7 +7002,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/5e5dbf84d4f604f5d2d7a58c5c3fcdde30a01b8973ff3caeca8b2bacc16066717cedb4385ce52db1a2746d0b621770d4d4227cc7f44982b0b03818be2c31538d + checksum: 10c0/bb88ca8fd16bb7e1ac3e13804c54d41c583214460c0faa7b3e7c574e69c5600c7122295500fb4b0c06067831111db740931e98da1340329527658e1cf80073d3 languageName: node linkType: hard @@ -8490,7 +8571,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.0.5, ignore@npm:^5.2.0": +"ignore@npm:^5.2.0": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 @@ -10418,6 +10499,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^10.2.1": + version: 10.2.4 + resolution: "minimatch@npm:10.2.4" + dependencies: + brace-expansion: "npm:^5.0.2" + checksum: 10c0/35f3dfb7b99b51efd46afd378486889f590e7efb10e0f6a10ba6800428cf65c9a8dedb74427d0570b318d749b543dc4e85f06d46d2858bc8cac7e1eb49a95945 + languageName: node + linkType: hard + "minimatch@npm:^10.2.2": version: 10.2.2 resolution: "minimatch@npm:10.2.2"