diff --git a/eslint-configs/eslint-config-seekingalpha-base/CHANGELOG.md b/eslint-configs/eslint-config-seekingalpha-base/CHANGELOG.md index f880d721..2e3f9dee 100644 --- a/eslint-configs/eslint-config-seekingalpha-base/CHANGELOG.md +++ b/eslint-configs/eslint-config-seekingalpha-base/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 11.42.0 - 2026-02-16 + +- [new] extend oxlint config + ## 11.41.0 - 2026-02-11 - [deps] update `eslint-plugin-unicorn` to version `63.0.0` diff --git a/eslint-configs/eslint-config-seekingalpha-base/package.json b/eslint-configs/eslint-config-seekingalpha-base/package.json index 049682bf..da568356 100644 --- a/eslint-configs/eslint-config-seekingalpha-base/package.json +++ b/eslint-configs/eslint-config-seekingalpha-base/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-seekingalpha-base", - "version": "11.41.0", + "version": "11.42.0", "description": "SeekingAlpha's sharable base ESLint config", "main": "index.js", "type": "module", diff --git a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/oxlint-config.json b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/oxlint-config.json index 7860c9bd..2a610bd0 100644 --- a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/oxlint-config.json +++ b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/oxlint-config.json @@ -45,12 +45,24 @@ ], "no-self-compare": "error", "no-setter-return": "error", + "no-shadow": [ + "error", + { + "builtinGlobals": true, + "hoist": "all", + "allow": [], + "ignoreFunctionTypeParameterNameValueShadow": true, + "ignoreOnInitialization": false, + "ignoreTypeValueShadow": true + } + ], "no-sparse-arrays": "error", "no-template-curly-in-string": "error", "no-ternary": "off", "no-this-before-super": "error", "no-unassigned-vars": "error", "no-unexpected-multiline": "error", + "no-unmodified-loop-condition": "error", "no-unsafe-finally": "error", "no-unsafe-negation": "error", "no-unsafe-optional-chaining": [ diff --git a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/oxlint-disabled.js b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/oxlint-disabled.js index f753d3e6..12e175d0 100644 --- a/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/oxlint-disabled.js +++ b/eslint-configs/eslint-config-seekingalpha-base/rules/eslint/oxlint-disabled.js @@ -38,6 +38,7 @@ export const ESLintDisabled = { 'no-self-assign': 'off', 'no-self-compare': 'off', 'no-setter-return': 'off', + 'no-shadow': 'off', 'no-sparse-arrays': 'off', 'no-template-curly-in-string': 'off', 'no-ternary': 'off', @@ -49,6 +50,7 @@ export const ESLintDisabled = { 'no-unsafe-optional-chaining': 'off', 'no-unused-private-class-members': 'off', 'no-unused-vars': 'off', + 'no-use-before-define': 'off', 'no-useless-backreference': 'off', 'use-isnan': 'off', 'valid-typeof': 'off', @@ -127,6 +129,7 @@ export const ESLintDisabled = { 'no-shadow-restricted-names': 'off', 'no-throw-literal': 'off', 'no-undefined': 'off', + 'no-unmodified-loop-condition': 'off', 'no-unneeded-ternary': 'off', 'no-unreachable': 'off', 'no-unused-expressions': 'off', diff --git a/eslint-configs/eslint-config-seekingalpha-node/CHANGELOG.md b/eslint-configs/eslint-config-seekingalpha-node/CHANGELOG.md index 24c5086e..56ce880f 100644 --- a/eslint-configs/eslint-config-seekingalpha-node/CHANGELOG.md +++ b/eslint-configs/eslint-config-seekingalpha-node/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 9.32.0 - 2026-02-16 + +- [deps] update `eslint-plugin-n` to version `17.24.0` + ## 9.31.0 - 2026-01-14 - [deps] update `eslint-plugin-n` to version `17.23.2` diff --git a/eslint-configs/eslint-config-seekingalpha-node/README.md b/eslint-configs/eslint-config-seekingalpha-node/README.md index 07463ba6..c8f6a1c0 100644 --- a/eslint-configs/eslint-config-seekingalpha-node/README.md +++ b/eslint-configs/eslint-config-seekingalpha-node/README.md @@ -6,7 +6,7 @@ This package includes the shareable ESLint config used by [SeekingAlpha](https:/ Install ESLint and all [Peer Dependencies](https://nodejs.org/en/blog/npm/peer-dependencies/): - npm install eslint@9.39.2 eslint-plugin-n@17.23.2 --save-dev + npm install eslint@9.39.2 eslint-plugin-n@17.24.0 --save-dev Install SeekingAlpha shareable ESLint: diff --git a/eslint-configs/eslint-config-seekingalpha-node/package.json b/eslint-configs/eslint-config-seekingalpha-node/package.json index 7a0d8e0c..b29113c4 100644 --- a/eslint-configs/eslint-config-seekingalpha-node/package.json +++ b/eslint-configs/eslint-config-seekingalpha-node/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-seekingalpha-node", - "version": "9.31.0", + "version": "9.32.0", "description": "SeekingAlpha's sharable node.js ESLint config", "main": "index.js", "type": "module", @@ -51,11 +51,11 @@ }, "peerDependencies": { "eslint": "9.39.2", - "eslint-plugin-n": "17.23.2" + "eslint-plugin-n": "17.24.0" }, "devDependencies": { "eslint": "9.39.2", "eslint-find-rules": "5.0.0", - "eslint-plugin-n": "17.23.2" + "eslint-plugin-n": "17.24.0" } } diff --git a/eslint-configs/eslint-config-seekingalpha-node/rules/eslint-plugin-n/index.js b/eslint-configs/eslint-config-seekingalpha-node/rules/eslint-plugin-n/index.js index bf5537ba..af164430 100644 --- a/eslint-configs/eslint-config-seekingalpha-node/rules/eslint-plugin-n/index.js +++ b/eslint-configs/eslint-config-seekingalpha-node/rules/eslint-plugin-n/index.js @@ -24,12 +24,18 @@ export default { // https://github.com/eslint-community/eslint-plugin-n/blob/master/docs/rules/prefer-global/buffer.md 'n/prefer-global/buffer': ['error', 'always'], + // https://github.com/eslint-community/eslint-plugin-n/blob/master/docs/rules/prefer-global/crypto.md + 'n/prefer-global/crypto': ['error', 'always'], + // https://github.com/eslint-community/eslint-plugin-n/blob/master/docs/rules/prefer-global/console.md 'n/prefer-global/console': ['error', 'always'], // https://github.com/eslint-community/eslint-plugin-n/blob/master/docs/rules/prefer-global/process.md 'n/prefer-global/process': ['error', 'always'], + // https://github.com/eslint-community/eslint-plugin-n/blob/master/docs/rules/prefer-global/timers.md + 'n/prefer-global/timers': ['error', 'always'], + // https://github.com/eslint-community/eslint-plugin-n/blob/master/docs/rules/prefer-global/url-search-params.md 'n/prefer-global/url-search-params': ['error', 'always'], diff --git a/eslint-configs/eslint-config-seekingalpha-tests/CHANGELOG.md b/eslint-configs/eslint-config-seekingalpha-tests/CHANGELOG.md index 77708b43..7d22b4ab 100644 --- a/eslint-configs/eslint-config-seekingalpha-tests/CHANGELOG.md +++ b/eslint-configs/eslint-config-seekingalpha-tests/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 4.49.0 - 2026-02-16 + +- [deps] upgrade `eslint-plugin-jest` to version `29.15.0` + ## 4.48.0 - 2026-02-10 - [deps] upgrade `eslint-plugin-jest` to version `29.13.0` diff --git a/eslint-configs/eslint-config-seekingalpha-tests/README.md b/eslint-configs/eslint-config-seekingalpha-tests/README.md index 387754b0..f8473520 100644 --- a/eslint-configs/eslint-config-seekingalpha-tests/README.md +++ b/eslint-configs/eslint-config-seekingalpha-tests/README.md @@ -6,7 +6,7 @@ This package includes the shareable ESLint config used by [SeekingAlpha](https:/ Install ESLint and all [Peer Dependencies](https://nodejs.org/en/blog/npm/peer-dependencies/): - npm install eslint@9.39.2 eslint-plugin-jest@29.13.0 eslint-plugin-testing-library@7.15.4 --save-dev + npm install eslint@9.39.2 eslint-plugin-jest@29.15.0 eslint-plugin-testing-library@7.15.4 --save-dev Install SeekingAlpha shareable ESLint: diff --git a/eslint-configs/eslint-config-seekingalpha-tests/package.json b/eslint-configs/eslint-config-seekingalpha-tests/package.json index 951032d2..09965129 100644 --- a/eslint-configs/eslint-config-seekingalpha-tests/package.json +++ b/eslint-configs/eslint-config-seekingalpha-tests/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-seekingalpha-tests", - "version": "4.48.0", + "version": "4.49.0", "description": "SeekingAlpha's sharable testing ESLint config", "main": "index.js", "type": "module", @@ -40,13 +40,13 @@ }, "peerDependencies": { "eslint": "9.39.2", - "eslint-plugin-jest": "29.13.0", + "eslint-plugin-jest": "29.15.0", "eslint-plugin-testing-library": "7.15.4" }, "devDependencies": { "eslint": "9.39.2", "eslint-find-rules": "5.0.0", - "eslint-plugin-jest": "29.13.0", + "eslint-plugin-jest": "29.15.0", "eslint-plugin-testing-library": "7.15.4" } } diff --git a/eslint-configs/eslint-config-seekingalpha-typescript/CHANGELOG.md b/eslint-configs/eslint-config-seekingalpha-typescript/CHANGELOG.md index 0da50ede..11959b2d 100644 --- a/eslint-configs/eslint-config-seekingalpha-typescript/CHANGELOG.md +++ b/eslint-configs/eslint-config-seekingalpha-typescript/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 8.62.0 - 2026-02-16 + +- [new] extend oxlint rules + ## 8.61.0 - 2026-02-11 - [new] extend oxlint rules diff --git a/eslint-configs/eslint-config-seekingalpha-typescript/package.json b/eslint-configs/eslint-config-seekingalpha-typescript/package.json index 5ce12e8a..68dec472 100644 --- a/eslint-configs/eslint-config-seekingalpha-typescript/package.json +++ b/eslint-configs/eslint-config-seekingalpha-typescript/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-seekingalpha-typescript", - "version": "8.61.0", + "version": "8.62.0", "description": "SeekingAlpha's sharable typescript ESLint config", "main": "index.js", "type": "module", diff --git a/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/oxlint-config.json b/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/oxlint-config.json index 70c3abdb..c1583833 100644 --- a/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/oxlint-config.json +++ b/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/oxlint-config.json @@ -45,9 +45,25 @@ "typescript/no-unnecessary-type-constraint": "error", "typescript/no-unsafe-declaration-merging": "error", "typescript/no-unsafe-function-type": "error", + "typescript/no-use-before-define": [ + "error", + { + "allowNamedExports": false, + "classes": true, + "enums": true, + "functions": true, + "ignoreTypeReferences": true, + "typedefs": true, + "variables": true + } + ], "typescript/no-useless-empty-export": "error", "typescript/no-var-requires": "error", "typescript/no-wrapper-object-types": "error", + "typescript/parameter-properties": [ + "error", + { "allow": ["private", "protected"] } + ], "typescript/prefer-as-const": "error", "typescript/prefer-enum-initializers": "error", "typescript/prefer-for-of": "error", @@ -115,6 +131,7 @@ "typescript/strict-boolean-expressions": "off", "typescript/switch-exhaustiveness-check": "off", "typescript/unbound-method": "off", + "typescript/unified-signatures": "error", "typescript/use-unknown-in-catch-callback-variable": "off" } } diff --git a/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/oxlint-disabled.js b/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/oxlint-disabled.js index ed1ec934..6627c802 100644 --- a/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/oxlint-disabled.js +++ b/eslint-configs/eslint-config-seekingalpha-typescript/rules/typescript-eslint/oxlint-disabled.js @@ -30,9 +30,11 @@ export const ESLintPluginTypescriptDisabled = { '@typescript-eslint/no-unnecessary-type-constraint': 'off', '@typescript-eslint/no-unsafe-declaration-merging': 'off', '@typescript-eslint/no-unsafe-function-type': 'off', + '@typescript-eslint/no-use-before-define': 'off', '@typescript-eslint/no-useless-empty-export': 'off', '@typescript-eslint/no-var-requires': 'off', '@typescript-eslint/no-wrapper-object-types': 'off', + '@typescript-eslint/parameter-properties': 'off', '@typescript-eslint/prefer-as-const': 'off', '@typescript-eslint/prefer-enum-initializers': 'off', '@typescript-eslint/prefer-for-of': 'off', @@ -60,6 +62,7 @@ export const ESLintPluginTypescriptDisabled = { '@typescript-eslint/no-mixed-enums': 'off', '@typescript-eslint/no-redundant-type-constituents': 'off', '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'off', + '@typescript-eslint/no-unnecessary-condition': 'off', '@typescript-eslint/no-unnecessary-template-expression': 'off', '@typescript-eslint/no-unnecessary-type-arguments': 'off', '@typescript-eslint/no-unnecessary-type-assertion': 'off', @@ -89,5 +92,6 @@ export const ESLintPluginTypescriptDisabled = { '@typescript-eslint/strict-boolean-expressions': 'off', '@typescript-eslint/switch-exhaustiveness-check': 'off', '@typescript-eslint/unbound-method': 'off', + '@typescript-eslint/unified-signatures': 'off', '@typescript-eslint/use-unknown-in-catch-callback-variable': 'off', };