jspm / generator

JSPM Import Map Generator
Apache License 2.0
166 stars 21 forks source link

Should install `rimraf` as its primary dependency #209

Closed soma-ryo closed 1 year ago

soma-ryo commented 1 year ago

This package use rimraf as a module in this file. But rimraf is not installed via dependencies in own package.json

Now, rimraf is installed from other dependency's dependency like below.

~/d/generator (main)> git log --oneline -n 1
4e9dbcf (HEAD -> main, origin/main, origin/HEAD) fix: bug when tracing/uninstalling the base package. (#206)
~/d/generator (main)> npm i --omit=dev
~/d/generator (main)> npm ls rimraf
@jspm/generator@1.0.2
└─┬ make-fetch-happen@8.0.14
  └─┬ cacache@15.3.0
    ├─┬ @npmcli/move-file@1.1.2
    │ └── rimraf@3.0.2 deduped
    └── rimraf@3.0.2
~/d/generator (main)>

In some cases, failing to run fetch-node.js missing rimraf.

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'rimraf' imported from node_modules/@jspm/generator/dist/fetch-node.js
    at new NodeError (node:internal/errors:372:5)
    at packageResolve (node:internal/modules/esm/resolve:954:9)
    at moduleResolve (node:internal/modules/esm/resolve:1003:20)
    at defaultResolve (node:internal/modules/esm/resolve:1218:11)
    at ESMLoader.resolve (node:internal/modules/esm/loader:580:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:294:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:80:40)
    at link (node:internal/modules/esm/module_job:78:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}
Bubblyworld commented 1 year ago

Yep, looks like depcheck shows a bunch of depenency issues:

bubblyworld $ depcheck
Unused dependencies
* @jspm/core
Unused devDependencies
* @swc/cli
* @swc/core
* chalk
* cross-env
* kleur
* lit-element
* mocha
* open
* rollup
* typedoc
Missing dependencies
* @jspm/generator: ./test/runMochaTests.js
* #test: ./test/deno/babel.test.js
* #fetch: ./src/generator.ts
* rimraf: ./src/common/fetch-node.ts
* vscode: ./src/common/fetch-vscode.ts

I think some of the devdependencies are needed for the chomp build, but I'll fix up the rest 🙏