mysticatea / eslint4b

ESLint which works in browsers.
MIT License
37 stars 19 forks source link

feat: support ESLint 8.x #14

Open MichaelDeBoey opened 3 years ago

MichaelDeBoey commented 3 years ago

ESLint v8.0.0 is released 🎉

devDependency compatibility with ESLint 8:


Closes #13

MichaelDeBoey commented 3 years ago

Tests are failing

> eslint4b@8.0.0-beta.0 pretest
> node scripts/build

[20:56:06] Remove 'dist'.
[20:56:06] Update 'scripts/shim/core-rules.js'.
[20:56:06] Parse the source files.
'eslint' is imported by scripts/shim/linter.js, but could not be resolved – treating it as an external dependency
'eslint' is imported by scripts/shim/index.js, but could not be resolved – treating it as an external dependency
[20:56:06] Generate file contents.
Entry module "scripts/shim/linter.js" is implicitly using "default" export mode, which means for CommonJS output that its default export is assigned to "module.exports". For many tools, such CommonJS output will not be interchangeable with the original ES module. If this is intended, explicitly set "output.exports" to either "auto" or "default", otherwise you might want to consider changing the signature of "scripts/shim/linter.js" to use named exports only.
Entry module "scripts/shim/core-rules.js" is implicitly using "default" export mode, which means for CommonJS output that its default export is assigned to "module.exports". For many tools, such CommonJS output will not be interchangeable with the original ES module. If this is intended, explicitly set "output.exports" to either "auto" or "default", otherwise you might want to consider changing the signature of "scripts/shim/core-rules.js" to use named exports only.
Entry module "scripts/shim/index.js" is implicitly using "default" export mode, which means for CommonJS output that its default export is assigned to "module.exports". For many tools, such CommonJS output will not be interchangeable with the original ES module. If this is intended, explicitly set "output.exports" to either "auto" or "default", otherwise you might want to consider changing the signature of "scripts/shim/index.js" to use named exports only.
[20:56:06] Minify file contents.
[20:56:06] - linter.js
[20:56:06] - core-rules.js
[20:56:07] - index.js
[20:56:07] Check version.
[20:56:07] Up to date: 8.0.0-beta.0
[20:56:07] Completed!

> eslint4b@8.0.0-beta.0 test
> npm run -s lint && karma start --single-run

Oops! Something went wrong! :(

ESLint: 8.0.0-beta.0

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Failed to load plugin '@mysticatea' declared in '.eslintrc.yml': Package subpath './lib/rules/array-bracket-spacing' is not defined by "exports" in .../eslint4b/node_modules/eslint/package.json
Referenced from: .../eslint4b/.eslintrc.yml
    at new NodeError (node:internal/errors:370: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:476:36)
    at Function.Module._findPath (node:internal/modules/cjs/loader:516:31)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:913:27)
    at Function.Module._load (node:internal/modules/cjs/loader:772:27)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (.../eslint4b/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
    at Object.<anonymous> (.../eslint4b/node_modules/eslint-plugin-vue/lib/rules/array-bracket-spacing.js:10:3)

This will be fixed by merging https://github.com/mysticatea/eslint-plugin/pull/29, as that loosens the version of eslint-plugin-vue.