Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Closed
Description
Installing latest versions oftypescript,@typescript-eslint/plugin,@typescript-eslint/parser andeslint v8 withnode v16, got a problem:
Welcome to Node.js v16.6.0.Type".help"for more information.> require('@typescript-eslint/eslint-plugin')Uncaught TypeError: Class extends value undefined is not a constructor or null at Object.<anonymous> (/Users/coderaiser/putout/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/CLIEngine.js:12:34) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:94:18)
The thing isCLIEngine was deprecated inESLint v7 and removed in v8 (which is right now inbeta).
Also rules fromESLint cannot be required:
> require('@typescript-eslint/eslint-plugin')Uncaught:Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath'./lib/rules/brace-style' is not defined by"exports"in /Users/coderaiser/putout/node_modules/eslint/package.json at __node_internal_captureLargerStackTrace (node:internal/errors:464:5) at new NodeError (node:internal/errors:371:5) at throwExportsNotFound (node:internal/modules/esm/resolve:335:9) at packageExportsResolve (node:internal/modules/esm/resolve:560:3) at resolveExports (node:internal/modules/cjs/loader:482:36) at Function.Module._findPath (node:internal/modules/cjs/loader:522:31) at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:94:18) at Object.<anonymous> (/Users/coderaiser/putout/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js:6:39) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:94:18) at Object.<anonymous> (/Users/coderaiser/putout/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js:12:39) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:94:18) at Object.<anonymous> (/Users/coderaiser/putout/node_modules/@typescript-eslint/eslint-plugin/dist/index.js:5:33) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:94:18) { code:'ERR_PACKAGE_PATH_NOT_EXPORTED'}
Because they are not exported anymore. According tomigration guide, rules should be used this way:
-import baseRule from 'eslint/lib/rules/brace-style';+import {builtinRules} from 'eslint/use-at-your-own-risk';+const baseRule = builtinRules['brace-style'];