diff --git a/packages/devextreme/eslint.config.mjs b/packages/devextreme/eslint.config.mjs index e0cb22499c55..afed54ff8c15 100644 --- a/packages/devextreme/eslint.config.mjs +++ b/packages/devextreme/eslint.config.mjs @@ -370,7 +370,7 @@ export default [ }, }, // Rules for build folder - ...compat.extends('plugin:node/recommended').map(config => ({ + ...compat.extends('plugin:n/recommended').map(config => ({ ...config, files: ['build/**/*'], })), @@ -384,10 +384,10 @@ export default [ }, rules: { 'no-console': 'off', - 'node/no-unpublished-require': 'off', - 'node/no-unsupported-features/node-builtins': 'off', - 'node/shebang': 'off', - 'node/no-unsupported-features/es-syntax': 'off', + 'n/no-unpublished-require': 'off', + 'n/no-unsupported-features/node-builtins': 'off', + 'n/shebang': 'off', + 'n/no-unsupported-features/es-syntax': 'off', 'spellcheck/spell-checker': 'off', }, }, diff --git a/packages/devextreme/package.json b/packages/devextreme/package.json index 57689fa7d8bc..0056389ee414 100644 --- a/packages/devextreme/package.json +++ b/packages/devextreme/package.json @@ -119,8 +119,8 @@ "eslint-plugin-jest": "27.6.0", "eslint-plugin-jest-formatting": "3.1.0", "eslint-plugin-jsx-a11y": "6.8.0", + "eslint-plugin-n": "^17.0.0", "eslint-plugin-no-only-tests": "catalog:", - "eslint-plugin-node": "11.1.0", "eslint-plugin-qunit": "catalog:", "eslint-plugin-react": "7.33.2", "eslint-plugin-rulesdir": "0.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 09f490e28c48..67dab78256c2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1476,12 +1476,12 @@ importers: eslint-plugin-jsx-a11y: specifier: 6.8.0 version: 6.8.0(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-n: + specifier: ^17.0.0 + version: 17.23.1(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) eslint-plugin-no-only-tests: specifier: 'catalog:' version: 3.3.0 - eslint-plugin-node: - specifier: 11.1.0 - version: 11.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: specifier: 'catalog:' version: 8.1.2(eslint@9.18.0(jiti@2.6.1)) @@ -10534,6 +10534,12 @@ packages: engines: {node: '>=6.0'} hasBin: true + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + eslint-config-airbnb-base@15.0.0: resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} engines: {node: ^10.12.0 || >=12.0.0} @@ -10627,11 +10633,11 @@ packages: eslint: ^8.0.0 typescript: ^4.2.4 || ^5.0.0 - eslint-plugin-es@3.0.1: - resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} - engines: {node: '>=8.10.0'} + eslint-plugin-es-x@7.8.0: + resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - eslint: '>=4.19.1' + eslint: '>=8' eslint-plugin-i18n@2.4.0: resolution: {integrity: sha512-6RpPoj+lr0xk6SNljziOjGfDtuQSN6cw/gdds248N5MvCQUrPxo5+0s7b7TQsEl1qLr5OVnCMxsaRBy/4T62cg==} @@ -10672,16 +10678,16 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-n@17.23.1: + resolution: {integrity: sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.23.0' + eslint-plugin-no-only-tests@3.3.0: resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} - eslint-plugin-node@11.1.0: - resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=5.16.0' - eslint-plugin-qunit@8.1.2: resolution: {integrity: sha512-2gDQdHlQW8GVXD7YYkO8vbm9Ldc60JeGMuQN5QlD48OeZ8znBvvoHWZZMeXjvoDPReGaLEvyuWrDtrI8bDbcqw==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} @@ -11456,6 +11462,9 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} + get-tsconfig@4.13.0: + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} + get-uri@6.0.3: resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} engines: {node: '>= 14'} @@ -12218,6 +12227,10 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + ignore@7.0.5: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} @@ -15925,6 +15938,9 @@ packages: resolution: {integrity: sha512-/FopbmmFOQCfsCx77BRFdKOniglTiHumLgwvd6IDPihy1GKkadZbgQJBcTb2lMzSR1pndzd96b1nZrreZ7+9/A==} engines: {node: '>= 10.13.0'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve-url-loader@5.0.0: resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==} engines: {node: '>=12'} @@ -17444,6 +17460,11 @@ packages: peerDependencies: typescript: '>=4.8.4' + ts-declaration-location@1.0.7: + resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} + peerDependencies: + typescript: '>=4.0.0' + ts-dedent@2.2.0: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} @@ -30935,6 +30956,11 @@ snapshots: optionalDependencies: source-map: 0.6.1 + eslint-compat-utils@0.5.1(eslint@9.18.0(jiti@2.6.1)): + dependencies: + eslint: 9.18.0(jiti@2.6.1) + semver: 7.7.3 + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)): dependencies: confusing-browser-globals: 1.0.11 @@ -31179,11 +31205,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-es@3.0.1(eslint@9.18.0(jiti@2.6.1)): + eslint-plugin-es-x@7.8.0(eslint@9.18.0(jiti@2.6.1)): dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.18.0(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.1 eslint: 9.18.0(jiti@2.6.1) - eslint-utils: 2.1.0 - regexpp: 3.2.0 + eslint-compat-utils: 0.5.1(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-i18n@2.4.0: {} @@ -31364,17 +31391,22 @@ snapshots: object.entries: 1.1.8 object.fromentries: 2.0.8 - eslint-plugin-no-only-tests@3.3.0: {} - - eslint-plugin-node@11.1.0(eslint@9.18.0(jiti@2.6.1)): + eslint-plugin-n@17.23.1(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5): dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.18.0(jiti@2.6.1)) + enhanced-resolve: 5.18.3 eslint: 9.18.0(jiti@2.6.1) - eslint-plugin-es: 3.0.1(eslint@9.18.0(jiti@2.6.1)) - eslint-utils: 2.1.0 - ignore: 5.3.1 - minimatch: 3.1.2 - resolve: 1.22.8 - semver: 6.3.1 + eslint-plugin-es-x: 7.8.0(eslint@9.18.0(jiti@2.6.1)) + get-tsconfig: 4.13.0 + globals: 15.15.0 + globrex: 0.1.2 + ignore: 5.3.2 + semver: 7.7.3 + ts-declaration-location: 1.0.7(typescript@4.9.5) + transitivePeerDependencies: + - typescript + + eslint-plugin-no-only-tests@3.3.0: {} eslint-plugin-qunit@8.1.2(eslint@9.18.0(jiti@2.6.1)): dependencies: @@ -32497,6 +32529,10 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 + get-tsconfig@4.13.0: + dependencies: + resolve-pkg-maps: 1.0.0 + get-uri@6.0.3: dependencies: basic-ftp: 5.0.5 @@ -33624,6 +33660,8 @@ snapshots: ignore@5.3.1: {} + ignore@5.3.2: {} + ignore@7.0.5: {} image-size@0.5.5: @@ -38673,6 +38711,8 @@ snapshots: dependencies: value-or-function: 4.0.0 + resolve-pkg-maps@1.0.0: {} + resolve-url-loader@5.0.0: dependencies: adjust-sourcemap-loader: 4.0.0 @@ -40978,6 +41018,11 @@ snapshots: dependencies: typescript: 5.9.3 + ts-declaration-location@1.0.7(typescript@4.9.5): + dependencies: + picomatch: 4.0.3 + typescript: 4.9.5 + ts-dedent@2.2.0: {} ts-jest@29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5):