jspm / jspm-cli

ES Module Package Manager
https://jspm.org
Apache License 2.0
3.77k stars 274 forks source link

`jspm install twind` fails #2566

Open schlichtanders opened 5 months ago

schlichtanders commented 5 months ago

I first installed twind via npm (which works) and then tried to install it also to jspm with jspm install twind. But it fails

file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:1824
                throw new Error(`Invalid exports target ${target} resolving ./${subpath} in ${packageUrl}`);
                      ^

Error: Invalid exports target import resolving ./ in https://esm.sh/*style-vendorizer@2.2.3/
    at Resolver.resolvePackageTarget (file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:1824:23)
    at Resolver.resolvePackageTarget (file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:1838:43)
    at Resolver.resolveExport (file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:1705:71)
    at async TraceMap.resolve (file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:2935:59)
    at async TraceMap.visit (file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:2717:26)
    at async file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:2754:13
    at async Promise.all (index 0)
    at async TraceMap.visit (file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:2749:9)
    at async file:///home/myhome/.npm-packages/lib/node_modules/jspm/node_modules/@jspm/generator/dist/generator-a8fe28f4.js:2754:13
    at async Promise.all (index 0)

Node.js v20.11.1
guybedford commented 5 months ago

Thanks for posting, this is an esm.sh provider-specific issue because the esm.sh provider treats subpaths of packages as their exports paths and not their file paths, and as a result JSPM must delegate to its resolution.

Fixed some bugs in https://github.com/jspm/generator/pull/346, which should resolve this when released.