eslint-plugin-coffee
eslint-plugin-coffee copied to clipboard
Eslint 8/9 support
This plugin is not compatible with Eslint 8
ESLint: 8.0.1
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Failed to load plugin 'coffee' declared in '.eslintrc.json » ./strict#overrides[1]': Package subpath './lib/linter/code-path-analysis/debug-helpers' is not defined by "exports" in C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint\package.json
Referenced from: C:\eslint-config-atomic\strict.js
at new NodeError (node:internal/errors:371:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:440:9)
at packageExportsResolve (node:internal/modules/esm/resolve:692: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 (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\eslint-code-path-analysis-debug-helpers.js:7:14
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\eslint-code-path-analysis-debug-helpers.js:9:5)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\eslint-code-path-analysis-debug-helpers.js:11:4)
at Module._compile (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
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 (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\code-path-analysis\code-path-segment.js:13:11)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\code-path-analysis\code-path-segment.js:234:4)
at Module._compile (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
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 (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\code-path-analysis\code-path-state.js:76:21)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\code-path-analysis\code-path-state.js:1342:4)
at Module._compile (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
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 (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\code-path-analysis\code-path.js:13:19)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\code-path-analysis\code-path.js:230:4)
at Module._compile (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
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 (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\code-path-analysis\code-path-analyzer.js:101:14)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\code-path-analysis\code-path-analyzer.js:613:4)
at Module._compile (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
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 (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\patch-code-path-analysis.js:5:22)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\patch-code-path-analysis.js:64:4)
at Module._compile (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
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 (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\parser.js:25:73)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\parser.js:338:4)
at Module._compile (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
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 (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\index.js:13:23)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-plugin-coffee\lib\index.js:1465:4)
at Module._compile (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
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:102:18)
at ConfigArrayFactory._loadPlugin (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3342:42)
at ConfigArrayFactory._loadExtendedPluginConfig (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3143:29)
at ConfigArrayFactory._loadExtends (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3085:29)
at ConfigArrayFactory._normalizeObjectConfigDataBody (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3026:25)
at _normalizeObjectConfigDataBody.next (<anonymous>:null:null)
at ConfigArrayFactory._normalizeObjectConfigData (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2971:20)
at _normalizeObjectConfigData.next (<anonymous>:null:null)
at ConfigArrayFactory._normalizeObjectConfigDataBody (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3064:25)
at _normalizeObjectConfigDataBody.next (<anonymous>:null:null)
at ConfigArrayFactory._normalizeObjectConfigData (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2971:20)
at _normalizeObjectConfigData.next (<anonymous>:null:null)
at ConfigArrayFactory._normalizeObjectConfigDataBody (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3026:25)
at _normalizeObjectConfigDataBody.next (<anonymous>:null:null)
at ConfigArrayFactory._normalizeObjectConfigData (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2971:20)
at _normalizeObjectConfigData.next (<anonymous>:null:null)
at ConfigArrayFactory.loadInDirectory (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2817:28)
at CascadingConfigArrayFactory._loadConfigInAncestors (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3772:46)
at CascadingConfigArrayFactory.getConfigArrayForFile (C:\eslint-config-atomic\node_modules\.pnpm\@[email protected]\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3693:18)
at FileEnumerator._iterateFilesRecursive (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\eslint\lib\cli-engine\file-enumerator.js:446:49)
at _iterateFilesRecursive.next (<anonymous>:null:null)
at FileEnumerator.iterateFiles (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\eslint\lib\cli-engine\file-enumerator.js:297:49)
at iterateFiles.next (<anonymous>:null:null)
at CLIEngine.executeOnFiles (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\eslint\lib\cli-engine\cli-engine.js:789:48)
at ESLint.lintFiles (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\eslint\lib\eslint\eslint.js:567:23)
at Object.execute (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\eslint\lib\cli.js:301:36)
at main (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\eslint\bin\eslint.js:132:52)
at Object.<anonymous> (C:\eslint-config-atomic\node_modules\.pnpm\[email protected]\node_modules\eslint\bin\eslint.js:136:2)
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 Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47
Ok this looks like it's due to the fact that ESLint v8 added an exports
section to their package.json
to discourage people from consuming non-public "API's" (see https://github.com/eslint/eslint/pull/14706). eslint-plugin-coffee
relies pretty heavily on non-public ESLint API's eg for customizing code path analysis which isn't achievable via the ESLint plugin/custom parser API (see https://github.com/eslint/eslint/issues/10823). This comment seems to indicate a technique for still performing imports of non-public modules so that might be a starting point for updating this codebase. But I don't know if that would work for the "monkeypatching" technique being used for code path analysis specifically? So trying out that technique against both a current "simple" import of a non-public ESLint module and the monkeypatching of code path analysis would seem like the next step here
Any update on this? Could you also fix the deprecated plugins such as babel-eslint and core-js? eslint-plugin-coffee also doesn't work with pnpm, and it requires using a flat node_modules.
Create a new Quasar project and it comes with Eslint 8, can't make coffee lint work with it
This issue is still relevant as of December 2023.
Thanks.
This issue is still relevant as of June 2024.
Thanks.
And now Eslint 9!