eslint-plugin-coffee icon indicating copy to clipboard operation
eslint-plugin-coffee copied to clipboard

Eslint 8/9 support

Open aminya opened this issue 3 years ago • 6 comments

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

aminya avatar Oct 22 '21 01:10 aminya

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

helixbass avatar Oct 22 '21 06:10 helixbass

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.

aminya avatar Feb 20 '22 23:02 aminya

Create a new Quasar project and it comes with Eslint 8, can't make coffee lint work with it

dseeker avatar Nov 02 '22 11:11 dseeker

This issue is still relevant as of December 2023.

Thanks.

Kristinita avatar Dec 17 '23 13:12 Kristinita

This issue is still relevant as of June 2024.

Thanks.

n-rodriguez avatar Jun 14 '24 01:06 n-rodriguez

And now Eslint 9!

aminya avatar Jun 14 '24 05:06 aminya