diff --git a/package-lock.json b/package-lock.json index d24ee727..c1d229e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,12 @@ "packages/*" ], "devDependencies": { - "cross-env": "^10.0.0", + "cross-env": "^10.1.0", "husky": "^9.1.7", - "jest": "^30.1.3", - "rimraf": "^6.0.1", - "semver": "^7.7.2", - "ts-jest": "^29.4.2" + "jest": "^30.2.0", + "rimraf": "^6.1.2", + "semver": "^7.7.3", + "ts-jest": "^29.4.6" } }, "node_modules/@ampproject/remapping": { @@ -692,9 +692,9 @@ "license": "MIT" }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" @@ -1779,16 +1779,16 @@ "license": "MIT" }, "node_modules/@salesforce-ux/eslint-plugin-slds": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@salesforce-ux/eslint-plugin-slds/-/eslint-plugin-slds-1.0.7.tgz", - "integrity": "sha512-qYjhV+OIF7mfI5B1lZWvTrWc21HU+cW69lIUsX8eXArIvFhAqW4EustBndO66HEZXDgr4fKf+qS5sOIxhc992w==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@salesforce-ux/eslint-plugin-slds/-/eslint-plugin-slds-1.1.0.tgz", + "integrity": "sha512-yYFYwxvLWCt7btCx9cEuvsD0meGiMwj9SKbdkO9fjzB404DFINpxHWFNWp9wwCKSFXmPV/SQsBhmq0mOcMClDg==", "license": "ISC", "dependencies": { "@eslint/css": "^0.9.0", "@eslint/css-tree": "^3.6.5", "@html-eslint/eslint-plugin": "^0.34.0", "@html-eslint/parser": "^0.34.0", - "@salesforce-ux/sds-metadata": "^1.1.0", + "@salesforce-ux/sds-metadata": "^1.2.1", "chroma-js": "^3.1.2" }, "engines": { @@ -2012,245 +2012,6 @@ "@types/json-schema": "*" } }, - "node_modules/@types/eslint-plugin-jsx-a11y": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/@types/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.1.tgz", - "integrity": "sha512-5RtuPVe0xz8BAhrkn2oww6Uw885atf962Q4fqZo48QdO3EQA7oCEDSXa6optgJ1ZMds3HD9ITK5bfm4AWuoXFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint": "^9" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@types/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -2371,19 +2132,19 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", - "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.0.tgz", + "integrity": "sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg==", "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/type-utils": "8.50.0", - "@typescript-eslint/utils": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "ignore": "^7.0.0", + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/type-utils": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2393,22 +2154,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.50.0", + "@typescript-eslint/parser": "^8.53.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.0.tgz", - "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.0.tgz", + "integrity": "sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==", "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "debug": "^4.3.4" + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2423,14 +2184,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", - "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.0.tgz", + "integrity": "sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==", "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.50.0", - "@typescript-eslint/types": "^8.50.0", - "debug": "^4.3.4" + "@typescript-eslint/tsconfig-utils": "^8.53.0", + "@typescript-eslint/types": "^8.53.0", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2444,13 +2205,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", - "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.0.tgz", + "integrity": "sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0" + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2461,9 +2222,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", - "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.0.tgz", + "integrity": "sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==", "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2477,16 +2238,16 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", - "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.0.tgz", + "integrity": "sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw==", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2501,9 +2262,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.0.tgz", - "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.0.tgz", + "integrity": "sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==", "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2514,20 +2275,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", - "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.0.tgz", + "integrity": "sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==", "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.50.0", - "@typescript-eslint/tsconfig-utils": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "debug": "^4.3.4", - "minimatch": "^9.0.4", - "semver": "^7.6.0", + "@typescript-eslint/project-service": "8.53.0", + "@typescript-eslint/tsconfig-utils": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.1.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2541,15 +2302,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.0.tgz", - "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.0.tgz", + "integrity": "sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA==", "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2564,12 +2325,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", - "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.0.tgz", + "integrity": "sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/types": "8.53.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -3162,9 +2923,9 @@ "license": "MIT" }, "node_modules/astronomical": { - "version": "2.1.1-rc.1", - "resolved": "https://registry.npmjs.org/astronomical/-/astronomical-2.1.1-rc.1.tgz", - "integrity": "sha512-V7TftgQgscImaI4+PftXau5SaFbQ9IZ9otYxHjl/tqLEQpdpSBCThYL3Ca42rZ/8/044MF2Ki9DnyNIt/fUDCw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/astronomical/-/astronomical-3.0.0.tgz", + "integrity": "sha512-JnrcAhg1CqyD36TLJ9Dm0yV7uBoPGfwWczi0Fdjqc/sry6xXm3zAt+BuYeshL4E21t4EWoxT1x7R8DaaQpnLBg==", "license": "Apache-2.0", "dependencies": { "meriyah": "^6.0.3" @@ -4387,9 +4148,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.5.0.tgz", - "integrity": "sha512-DAi9H8xN/TUuNOt+xDP1RqpCJLsSxBb5u1zXSpCyp0VAWGL8MBAg5t7/Dk+76iX7d1LhWu4DDH77IQNUolLDyg==", + "version": "29.12.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.12.1.tgz", + "integrity": "sha512-Rxo7r4jSANMBkXLICJKS0gjacgyopfNAsoS0e3R9AHnjoKuQOaaPfmsDJPi8UWwygI099OV/K/JhpYRVkxD4AA==", "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^8.0.0" @@ -5327,9 +5088,9 @@ } }, "node_modules/globals": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", - "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.0.0.tgz", + "integrity": "sha512-gv5BeD2EssA793rlFWVPMMCqefTlpusw6/2TbAVMy0FzcG8wKJn4O+NqJ4+XWmmwrayJgw5TzrmWjFgmz1XPqw==", "license": "MIT", "engines": { "node": ">=18" @@ -7928,13 +7689,13 @@ } }, "node_modules/retire": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/retire/-/retire-5.4.0.tgz", - "integrity": "sha512-vLz3Fc2zPqgUjcR01eRoPM/Hnh/+37zLAAfEs0B8mJK1dfUYZSQ3AfNzDDtYir8Qrn0ukvU5DhMbGIh/BVLyCg==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/retire/-/retire-5.4.2.tgz", + "integrity": "sha512-Qva7qmmMqEMrMma6saFpTgw083omqWXQet1Pd8xApSSQbrpFlySL1/nDaWTSh4MpbbTFzmV0ZKuQAlJiV5cNrQ==", "license": "Apache-2.0", "dependencies": { "ansi-colors": "^4.1.1", - "astronomical": "^2.1.1-rc.1", + "astronomical": "^3.0.0", "commander": "^10.0.1", "proxy-agent": "^6.4.0", "uuid": "^9.0.1", @@ -8849,9 +8610,9 @@ } }, "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "license": "MIT", "engines": { "node": ">=18.12" @@ -9088,15 +8849,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.0.tgz", - "integrity": "sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.53.0.tgz", + "integrity": "sha512-xHURCQNxZ1dsWn0sdOaOfCSQG0HKeqSj9OexIxrz6ypU6wHYOdX2I3D2b8s8wFSsSOYJb+6q283cLiLlkEsBYw==", "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.50.0", - "@typescript-eslint/parser": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0" + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9648,10 +9409,10 @@ }, "packages/code-analyzer-core": { "name": "@salesforce/code-analyzer-core", - "version": "0.41.0", + "version": "0.42.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", "csv-stringify": "^6.6.0", "js-yaml": "^4.1.1", @@ -9670,7 +9431,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" @@ -9907,7 +9668,7 @@ }, "packages/code-analyzer-engine-api": { "name": "@salesforce/code-analyzer-engine-api", - "version": "0.33.0", + "version": "0.34.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { "@types/node": "^20.0.0" @@ -9920,7 +9681,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" @@ -10160,31 +9921,30 @@ "version": "0.39.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { - "@babel/preset-react": "^7.27.1", + "@babel/preset-react": "^7.28.5", "@eslint/js": "^9.39.2", "@lwc/eslint-plugin-lwc": "^3.3.0", "@lwc/eslint-plugin-lwc-platform": "^6.3.0", - "@salesforce-ux/eslint-plugin-slds": "^1.0.7", - "@salesforce/code-analyzer-engine-api": "0.33.0", - "@salesforce/code-analyzer-eslint8-engine": "0.10.0", + "@salesforce-ux/eslint-plugin-slds": "^1.1.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", + "@salesforce/code-analyzer-eslint8-engine": "0.11.0-SNAPSHOT", "@salesforce/eslint-config-lwc": "^4.1.2", "@salesforce/eslint-plugin-lightning": "^2.0.0", "@types/node": "^20.0.0", - "@typescript-eslint/eslint-plugin": "^8.50.0", - "@typescript-eslint/parser": "^8.50.0", + "@typescript-eslint/eslint-plugin": "^8.53.0", + "@typescript-eslint/parser": "^8.53.0", "eslint": "^9.39.2", "eslint-plugin-import": "^2.32.0", - "eslint-plugin-jest": "^29.5.0", + "eslint-plugin-jest": "^29.12.1", "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.1", - "globals": "^16.5.0", + "globals": "^17.0.0", "semver": "^7.7.3", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "devDependencies": { - "@types/eslint-plugin-jsx-a11y": "^6.10.1", "@types/jest": "^30.0.0", "@types/semver": "^7.7.1", "@types/unzipper": "^0.10.11", @@ -10707,7 +10467,7 @@ }, "packages/code-analyzer-eslint8-engine": { "name": "@salesforce/code-analyzer-eslint8-engine", - "version": "0.10.0", + "version": "0.11.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { "@babel/core": "7.27.4", @@ -10715,7 +10475,7 @@ "@eslint/js": "8.57.1", "@lwc/eslint-plugin-lwc": "2.2.0", "@lwc/eslint-plugin-lwc-platform": "5.2.0", - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@salesforce/eslint-config-lwc": "3.7.2", "@salesforce/eslint-plugin-lightning": "1.0.1", "@types/node": "^20.0.0", @@ -11107,10 +10867,10 @@ }, "packages/code-analyzer-flow-engine": { "name": "@salesforce/code-analyzer-flow-engine", - "version": "0.32.0", + "version": "0.33.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", "@types/semver": "^7.7.1", "semver": "^7.7.3" @@ -11123,7 +10883,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" @@ -11363,7 +11123,7 @@ "version": "0.35.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", "@types/semver": "^7.7.1", "semver": "^7.7.3" @@ -11376,7 +11136,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" @@ -11613,12 +11373,12 @@ }, "packages/code-analyzer-regex-engine": { "name": "@salesforce/code-analyzer-regex-engine", - "version": "0.31.0", + "version": "0.32.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", - "isbinaryfile": "^4.0.10", + "isbinaryfile": "^5.0.0", "p-limit": "^3.1.0" }, "devDependencies": { @@ -11629,7 +11389,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" @@ -11852,12 +11612,12 @@ } }, "packages/code-analyzer-regex-engine/node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz", + "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", "license": "MIT", "engines": { - "node": ">= 8.0.0" + "node": ">= 18.0.0" }, "funding": { "url": "https://github.com/sponsors/gjtorikian/" @@ -11878,14 +11638,14 @@ }, "packages/code-analyzer-retirejs-engine": { "name": "@salesforce/code-analyzer-retirejs-engine", - "version": "0.30.0", + "version": "0.31.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", - "isbinaryfile": "^4.0.10", + "isbinaryfile": "^5.0.0", "node-stream-zip": "^1.15.0", - "retire": "^5.4.0" + "retire": "^5.4.2" }, "devDependencies": { "@eslint/js": "^9.39.2", @@ -11895,7 +11655,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" @@ -12118,12 +11878,12 @@ } }, "packages/code-analyzer-retirejs-engine/node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz", + "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", "license": "MIT", "engines": { - "node": ">= 8.0.0" + "node": ">= 18.0.0" }, "funding": { "url": "https://github.com/sponsors/gjtorikian/" @@ -12144,10 +11904,10 @@ }, "packages/code-analyzer-sfge-engine": { "name": "@salesforce/code-analyzer-sfge-engine", - "version": "0.16.0", + "version": "0.17.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", "semver": "^7.7.3" }, @@ -12160,7 +11920,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" @@ -12400,7 +12160,7 @@ "version": "0.1.0-SNAPSHOT", "license": "BSD-3-Clause", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0" }, "devDependencies": { diff --git a/package.json b/package.json index 0f2dbb87..1fbf6535 100644 --- a/package.json +++ b/package.json @@ -21,12 +21,12 @@ "prepare": "husky || true" }, "devDependencies": { - "cross-env": "^10.0.0", + "cross-env": "^10.1.0", "husky": "^9.1.7", - "jest": "^30.1.3", - "rimraf": "^6.0.1", - "semver": "^7.7.2", - "ts-jest": "^29.4.2" + "jest": "^30.2.0", + "rimraf": "^6.1.2", + "semver": "^7.7.3", + "ts-jest": "^29.4.6" }, "jest": { "testTimeout": 60000, diff --git a/packages/ENGINE-TEMPLATE/package.json b/packages/ENGINE-TEMPLATE/package.json index 6c293bc4..afaeebb9 100644 --- a/packages/ENGINE-TEMPLATE/package.json +++ b/packages/ENGINE-TEMPLATE/package.json @@ -14,7 +14,7 @@ "types": "dist/index.d.ts", "dependencies": { "@types/node": "^20.0.0", - "@salesforce/code-analyzer-engine-api": "0.33.0" + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT" }, "devDependencies": { "@eslint/js": "^9.39.2", diff --git a/packages/code-analyzer-core/package.json b/packages/code-analyzer-core/package.json index 7b0fa6b6..feacd6dd 100644 --- a/packages/code-analyzer-core/package.json +++ b/packages/code-analyzer-core/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/code-analyzer-core", "description": "Core Package for the Salesforce Code Analyzer", - "version": "0.41.0", + "version": "0.42.0-SNAPSHOT", "author": "The Salesforce Code Analyzer Team", "license": "BSD-3-Clause", "homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview", @@ -16,7 +16,7 @@ }, "types": "dist/index.d.ts", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", "csv-stringify": "^6.6.0", "js-yaml": "^4.1.1", @@ -35,7 +35,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" diff --git a/packages/code-analyzer-engine-api/package.json b/packages/code-analyzer-engine-api/package.json index ce40dc40..10388aeb 100644 --- a/packages/code-analyzer-engine-api/package.json +++ b/packages/code-analyzer-engine-api/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/code-analyzer-engine-api", "description": "Engine API Package for the Salesforce Code Analyzer", - "version": "0.33.0", + "version": "0.34.0-SNAPSHOT", "author": "The Salesforce Code Analyzer Team", "license": "BSD-3-Clause", "homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview", @@ -26,7 +26,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" diff --git a/packages/code-analyzer-eslint-engine/package.json b/packages/code-analyzer-eslint-engine/package.json index fbb069e8..478bb734 100644 --- a/packages/code-analyzer-eslint-engine/package.json +++ b/packages/code-analyzer-eslint-engine/package.json @@ -13,28 +13,28 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "dependencies": { - "@babel/preset-react": "^7.27.1", + "@babel/preset-react": "^7.28.5", "@eslint/js": "^9.39.2", "@lwc/eslint-plugin-lwc": "^3.3.0", "@lwc/eslint-plugin-lwc-platform": "^6.3.0", - "@salesforce-ux/eslint-plugin-slds": "^1.0.7", - "@salesforce/code-analyzer-engine-api": "0.33.0", - "@salesforce/code-analyzer-eslint8-engine": "0.10.0", + "@salesforce-ux/eslint-plugin-slds": "^1.1.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", + "@salesforce/code-analyzer-eslint8-engine": "0.11.0-SNAPSHOT", "@salesforce/eslint-config-lwc": "^4.1.2", "@salesforce/eslint-plugin-lightning": "^2.0.0", "@types/node": "^20.0.0", - "@typescript-eslint/eslint-plugin": "^8.50.0", - "@typescript-eslint/parser": "^8.50.0", + "@typescript-eslint/eslint-plugin": "^8.53.0", + "@typescript-eslint/parser": "^8.53.0", "eslint": "^9.39.2", "eslint-plugin-import": "^2.32.0", - "eslint-plugin-jest": "^29.5.0", + "eslint-plugin-jest": "^29.12.1", + "eslint-plugin-react": "^7.37.5", "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-hooks": "^7.0.1", - "globals": "^16.5.0", + "globals": "^17.0.0", "semver": "^7.7.3", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "devDependencies": { "@types/jest": "^30.0.0", diff --git a/packages/code-analyzer-eslint-engine/src/base-config.ts b/packages/code-analyzer-eslint-engine/src/base-config.ts index 026c5a21..a07f10d2 100644 --- a/packages/code-analyzer-eslint-engine/src/base-config.ts +++ b/packages/code-analyzer-eslint-engine/src/base-config.ts @@ -97,9 +97,13 @@ export class BaseConfigFactory { const lwcFilePatterns = lwcExtensions.map(ext => `**/*${ext}`); // Base JS rules (eslintJs.configs.all) - applies to ALL JS files including .jsx + // Includes Babel parser with @babel/preset-react to enable JSX parsing for .jsx files const baseJsConfig: Linter.Config = { ...eslintJs.configs.all, - files: allJsFilePatterns + files: allJsFilePatterns, + languageOptions: { + ...configs[0].languageOptions // Reuses Babel parser with @babel/preset-react + } }; // This one rule makes eslint throw an exception if the user doesn't have jest installed (which should be diff --git a/packages/code-analyzer-eslint-engine/src/rule-mappings/typescript-eslint.ts b/packages/code-analyzer-eslint-engine/src/rule-mappings/typescript-eslint.ts index 4ab55076..f0e48d20 100644 --- a/packages/code-analyzer-eslint-engine/src/rule-mappings/typescript-eslint.ts +++ b/packages/code-analyzer-eslint-engine/src/rule-mappings/typescript-eslint.ts @@ -486,6 +486,10 @@ export const RULE_MAPPINGS_TYPESCRIPT_ESLINT: Record { v.codeLocations[0].file.endsWith('.jsx')); expect(jsxViolations.length).toBe(0); }); + + it('When runRules is called on .jsx files with LWC+JS configs enabled but React disabled, JSX parsing still works', async () => { + // This is a regression test for the bug where .jsx files failed to parse with "Unexpected token <" + // when both LWC and JS base configs were enabled. The issue was that .jsx files were excluded from + // the LWC config patterns, so they didn't get the Babel preset-react parser. + const configWithoutReact: ESLintEngineConfig = { + ...DEFAULT_CONFIG, + config_root: __dirname, + disable_lwc_base_config: false, + disable_javascript_base_config: false, + disable_react_base_config: true // React rules disabled, but JSX parsing should still work + }; + const engine: Engine = await createEngineFromPlugin(configWithoutReact); + const runOptions: RunOptions = createRunOptions(new Workspace('id', [workspaceWithReactFiles])); + + // Run a base JS rule on .jsx files - if JSX parsing fails, this will throw an error + const results: EngineRunResults = await engine.runRules(['no-console'], runOptions); + + // Should have violations from .jsx files (App.jsx has console.log) + // If JSX parsing failed, we'd get errors instead of violations + const jsxViolations = results.violations.filter(v => + v.codeLocations[0].file.endsWith('.jsx')); + expect(jsxViolations.length).toBeGreaterThan(0); + expect(jsxViolations.every(v => v.ruleName === 'no-console')).toBe(true); + }); }); describe('Tests for React Hooks rules', () => { diff --git a/packages/code-analyzer-eslint-engine/test/test-data/rules_OnlyLwcBaseConfig.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/rules_OnlyLwcBaseConfig.goldfile.json index 8078b0ac..0a9082a6 100644 --- a/packages/code-analyzer-eslint-engine/test/test-data/rules_OnlyLwcBaseConfig.goldfile.json +++ b/packages/code-analyzer-eslint-engine/test/test-data/rules_OnlyLwcBaseConfig.goldfile.json @@ -671,7 +671,7 @@ "description": "Enforce assertion to be made in a test body", "name": "jest/expect-expect", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/expect-expect.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/expect-expect.md" ], "severityLevel": 5, "tags": [ @@ -685,7 +685,7 @@ "description": "Disallow alias methods", "name": "jest/no-alias-methods", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-alias-methods.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-alias-methods.md" ], "severityLevel": 3, "tags": [ @@ -699,7 +699,7 @@ "description": "Disallow commented out tests", "name": "jest/no-commented-out-tests", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-commented-out-tests.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-commented-out-tests.md" ], "severityLevel": 5, "tags": [ @@ -713,7 +713,7 @@ "description": "Disallow calling `expect` conditionally", "name": "jest/no-conditional-expect", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-conditional-expect.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-conditional-expect.md" ], "severityLevel": 2, "tags": [ @@ -727,7 +727,7 @@ "description": "Disallow disabled tests", "name": "jest/no-disabled-tests", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-disabled-tests.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-disabled-tests.md" ], "severityLevel": 5, "tags": [ @@ -741,7 +741,7 @@ "description": "Disallow using a callback in asynchronous tests and hooks", "name": "jest/no-done-callback", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-done-callback.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-done-callback.md" ], "severityLevel": 3, "tags": [ @@ -755,7 +755,7 @@ "description": "Disallow using `exports` in files containing tests", "name": "jest/no-export", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-export.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-export.md" ], "severityLevel": 3, "tags": [ @@ -769,7 +769,7 @@ "description": "Disallow focused tests", "name": "jest/no-focused-tests", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-focused-tests.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-focused-tests.md" ], "severityLevel": 3, "tags": [ @@ -783,7 +783,7 @@ "description": "Disallow identical titles", "name": "jest/no-identical-title", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-identical-title.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-identical-title.md" ], "severityLevel": 3, "tags": [ @@ -797,7 +797,7 @@ "description": "Disallow string interpolation inside snapshots", "name": "jest/no-interpolation-in-snapshots", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-interpolation-in-snapshots.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-interpolation-in-snapshots.md" ], "severityLevel": 2, "tags": [ @@ -811,7 +811,7 @@ "description": "Disallow Jasmine globals", "name": "jest/no-jasmine-globals", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-jasmine-globals.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-jasmine-globals.md" ], "severityLevel": 3, "tags": [ @@ -825,7 +825,7 @@ "description": "Disallow manually importing from `__mocks__`", "name": "jest/no-mocks-import", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-mocks-import.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-mocks-import.md" ], "severityLevel": 2, "tags": [ @@ -839,7 +839,7 @@ "description": "Disallow using `expect` outside of `it` or `test` blocks", "name": "jest/no-standalone-expect", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-standalone-expect.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-standalone-expect.md" ], "severityLevel": 3, "tags": [ @@ -853,7 +853,7 @@ "description": "Require using `.only` and `.skip` over `f` and `x`", "name": "jest/no-test-prefixes", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-test-prefixes.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-test-prefixes.md" ], "severityLevel": 3, "tags": [ @@ -867,7 +867,7 @@ "description": "Enforce valid `describe()` callback", "name": "jest/valid-describe-callback", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-describe-callback.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/valid-describe-callback.md" ], "severityLevel": 2, "tags": [ @@ -881,7 +881,7 @@ "description": "Enforce valid `expect()` usage", "name": "jest/valid-expect", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-expect.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/valid-expect.md" ], "severityLevel": 3, "tags": [ @@ -895,7 +895,7 @@ "description": "Require promises that have expectations in their chain to be valid", "name": "jest/valid-expect-in-promise", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-expect-in-promise.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/valid-expect-in-promise.md" ], "severityLevel": 3, "tags": [ @@ -909,7 +909,7 @@ "description": "Enforce valid titles", "name": "jest/valid-title", "resourceUrls": [ - "https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-title.md" + "https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/valid-title.md" ], "severityLevel": 3, "tags": [ diff --git a/packages/code-analyzer-eslint-engine/test/test-data/rules_OnlyTypeScriptBaseConfig.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/rules_OnlyTypeScriptBaseConfig.goldfile.json index 6c93ff6b..e267f939 100644 --- a/packages/code-analyzer-eslint-engine/test/test-data/rules_OnlyTypeScriptBaseConfig.goldfile.json +++ b/packages/code-analyzer-eslint-engine/test/test-data/rules_OnlyTypeScriptBaseConfig.goldfile.json @@ -1470,6 +1470,18 @@ "TypeScript" ] }, + { + "description": "Disallow passing a value-returning function in a position accepting a void function", + "name": "@typescript-eslint/strict-void-return", + "resourceUrls": [ + "https://typescript-eslint.io/rules/strict-void-return" + ], + "severityLevel": 2, + "tags": [ + "ErrorProne", + "TypeScript" + ] + }, { "description": "Require switch-case statements to be exhaustive", "name": "@typescript-eslint/switch-exhaustiveness-check", diff --git a/packages/code-analyzer-eslint8-engine/package.json b/packages/code-analyzer-eslint8-engine/package.json index 9a2abb9a..81e9d23f 100644 --- a/packages/code-analyzer-eslint8-engine/package.json +++ b/packages/code-analyzer-eslint8-engine/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/code-analyzer-eslint8-engine", "description": "Plugin package that adds 'eslint' (version 8) as an engine into Salesforce Code Analyzer", - "version": "0.10.0", + "version": "0.11.0-SNAPSHOT", "author": "The Salesforce Code Analyzer Team", "license": "BSD-3-Clause", "homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview", @@ -18,7 +18,7 @@ "@eslint/js": "8.57.1", "@lwc/eslint-plugin-lwc": "2.2.0", "@lwc/eslint-plugin-lwc-platform": "5.2.0", - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@salesforce/eslint-config-lwc": "3.7.2", "@salesforce/eslint-plugin-lightning": "1.0.1", "@types/node": "^20.0.0", diff --git a/packages/code-analyzer-flow-engine/package.json b/packages/code-analyzer-flow-engine/package.json index 20f57f75..86c408f4 100644 --- a/packages/code-analyzer-flow-engine/package.json +++ b/packages/code-analyzer-flow-engine/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/code-analyzer-flow-engine", "description": "Plugin package that adds 'Flow Scanner' as an engine into Salesforce Code Analyzer", - "version": "0.32.0", + "version": "0.33.0-SNAPSHOT", "author": "The Salesforce Code Analyzer Team", "license": "BSD-3-Clause", "homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview", @@ -13,7 +13,7 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", "@types/semver": "^7.7.1", "semver": "^7.7.3" @@ -26,7 +26,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" diff --git a/packages/code-analyzer-pmd-engine/package.json b/packages/code-analyzer-pmd-engine/package.json index 1ed732b7..5145bd45 100644 --- a/packages/code-analyzer-pmd-engine/package.json +++ b/packages/code-analyzer-pmd-engine/package.json @@ -13,7 +13,7 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", "@types/semver": "^7.7.1", "semver": "^7.7.3" @@ -26,7 +26,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" diff --git a/packages/code-analyzer-regex-engine/package.json b/packages/code-analyzer-regex-engine/package.json index f7a85b78..eacfcb4d 100644 --- a/packages/code-analyzer-regex-engine/package.json +++ b/packages/code-analyzer-regex-engine/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/code-analyzer-regex-engine", "description": "Plugin package that adds 'regex' as an engine into Salesforce Code Analyzer", - "version": "0.31.0", + "version": "0.32.0-SNAPSHOT", "author": "The Salesforce Code Analyzer Team", "license": "BSD-3-Clause", "homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview", @@ -13,9 +13,9 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", - "isbinaryfile": "^4.0.10", + "isbinaryfile": "^5.0.0", "p-limit": "^3.1.0" }, "devDependencies": { @@ -26,7 +26,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" diff --git a/packages/code-analyzer-regex-engine/src/engine.ts b/packages/code-analyzer-regex-engine/src/engine.ts index 680d311d..199eea6e 100644 --- a/packages/code-analyzer-regex-engine/src/engine.ts +++ b/packages/code-analyzer-regex-engine/src/engine.ts @@ -11,8 +11,8 @@ import { import path from "node:path"; import fs from "node:fs"; import * as fsp from 'node:fs/promises'; +import {isBinaryFile} from 'isbinaryfile'; import {RegexRule, RegexRules} from "./config"; -import {isBinaryFile} from "isbinaryfile"; import {convertToRegex, PromiseExecutionLimiter} from "./utils"; const TEXT_BASED_FILE_EXTS = new Set( diff --git a/packages/code-analyzer-retirejs-engine/package.json b/packages/code-analyzer-retirejs-engine/package.json index e16a7026..977f1aef 100644 --- a/packages/code-analyzer-retirejs-engine/package.json +++ b/packages/code-analyzer-retirejs-engine/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/code-analyzer-retirejs-engine", "description": "Plugin package that adds 'retire-js' as an engine into Salesforce Code Analyzer", - "version": "0.30.0", + "version": "0.31.0-SNAPSHOT", "author": "The Salesforce Code Analyzer Team", "license": "BSD-3-Clause", "homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview", @@ -13,11 +13,11 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", - "isbinaryfile": "^4.0.10", + "isbinaryfile": "^5.0.0", "node-stream-zip": "^1.15.0", - "retire": "^5.4.0" + "retire": "^5.4.2" }, "devDependencies": { "@eslint/js": "^9.39.2", @@ -27,7 +27,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0" diff --git a/packages/code-analyzer-sfge-engine/package.json b/packages/code-analyzer-sfge-engine/package.json index 1e1ab7ed..734002f8 100644 --- a/packages/code-analyzer-sfge-engine/package.json +++ b/packages/code-analyzer-sfge-engine/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/code-analyzer-sfge-engine", "description": "Plugin package that adds 'Salesforce Graph Engine' as an engine into Salesforce Code Analyzer", - "version": "0.16.0", + "version": "0.17.0-SNAPSHOT", "author": "The Salesforce Code Analyzer Team", "license": "BSD-3-Clause", "homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview", @@ -13,7 +13,7 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "dependencies": { - "@salesforce/code-analyzer-engine-api": "0.33.0", + "@salesforce/code-analyzer-engine-api": "0.34.0-SNAPSHOT", "@types/node": "^20.0.0", "semver": "^7.7.3" }, @@ -26,7 +26,7 @@ "rimraf": "^6.1.2", "ts-jest": "^29.4.6", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.53.0" }, "engines": { "node": ">=20.0.0"