loopbackio / loopbackio/loopback-next
@loopback/build: `lb-eslint` throws "Package subpath './bin/eslint' is not defined by 'exports'" when in npm workspaces environment
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 5.1k
- Fork
- 1.1k
- Merge medio
- 2g 21h
- PR unite (30g)
- 27
Descrizione
Describe the bug
Running lb-eslint command from a package in npm workspaces environment throws following error:
Full Command: lb-eslint --report-unused-disable-directives .
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './bin/eslint' is not defined by "exports" in /Users/shubham.prajapat/repos/my-mono-repo/node_modules/eslint/package.json
Logs
loopback:build /Users/shubham.prajapat/repos/sourcefuse/loopback4-microservice-catalog/packages/cache/.eslintrc.js found +0ms
loopback:build /Users/shubham.prajapat/repos/sourcefuse/loopback4-microservice-catalog/packages/cache/.eslintignore found +1ms
loopback:build Trying to resolve CLI module 'eslint' from /Users/shubham.prajapat/repos/sourcefuse/loopback4-microservice-catalog/packages/cache +0ms
loopback:build CLI module 'eslint' is not found in dependencies +0ms
node:internal/modules/cjs/loader:571
throw e;
^
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './bin/eslint' is not defined by "exports" in /Users/shubham.prajapat/repos/sourcefuse/loopback4-microservice-catalog/node_modules/eslint/package.json
at new NodeError (node:internal/errors:399:5)
at exportsNotFound (node:internal/modules/esm/resolve:361:10)
at packageExportsResolve (node:internal/modules/esm/resolve:697:9)
at resolveExports (node:internal/modules/cjs/loader:565:36)
at Module._findPath (node:internal/modules/cjs/loader:634:31)
at Module._resolveFilename (node:internal/modules/cjs/loader:1061:27)
at Function.resolve (node:internal/modules/cjs/helpers:116:19)
at resolveCLI (/Users/shubham.prajapat/repos/sourcefuse/loopback4-microservice-catalog/node_modules/@loopback/build/bin/utils.js:76:18)
at Object.runCLI (/Users/shubham.prajapat/repos/sourcefuse/loopback4-microservice-catalog/node_modules/@loopback/build/bin/utils.js:128:9)
at run (/Users/shubham.prajapat/repos/sourcefuse/loopback4-microservice-catalog/node_modules/@loopback/build/bin/run-eslint.js:45:16) {
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}
Node.js v18.16.0
Additional information
Reproduction
https://codesandbox.io/p/github/shubhamp-sf/eslint-17321-reproduction/main
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da @loopback/build/bin/utils.js, in particolare da resolveCLI, e da bin/run-eslint.js, che compaiono nello stack trace. Esegui lb-eslint --report-unused-disable-directives . nella riproduzione collegata di npm-workspaces e verifica come viene risolto il modulo CLI. Il lavoro è completato quando il comando viene eseguito correttamente in questa configurazione del workspace senza l’errore ERR_PACKAGE_PATH_NOT_EXPORTED.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- eslint, nodejs, typescript
- Ambito
- build-system, cli, tooling
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100