Closed vorcigernix closed 1 year ago
@vorcigernix thank you for opening the issue, you can maybe try using a custom deps.ts
and see if it helps... What error are you getting from using the import map?
Libraries that use .node
(native library) files can be tricky to get working correctly, as they typically contain platform-specific code. In your case it seems like a Windows-specific version of the library is being included, is that intended? Deno Deploy only uses Linux-based machines/containers if I'm not mistaken.
@jpaquim Thanks, will try the deps file. I think it completely ignores the import map during the npm build.
And sorry, I haven't included all the errors for brevity, it clearly tries to use all binaries (windows, mac, linux). Full error output is
✘ [ERROR] No loader is configured for ".node" files: node_modules/three-em-0-3-16/three_em_node.linux-x64-gnu.node
node_modules/three-em-0-3-16/index.js:172:38:
172 │ ... nativeBinding = require('./three_em_node.linux-x64-gnu.node')
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error during build:
Error: Build failed with 5 errors:
node_modules/three-em-0-3-16/index.js:1:45: ERROR: Could not resolve "fs"
node_modules/three-em-0-3-16/index.js:2:25: ERROR: Could not resolve "path"
node_modules/three-em-0-3-16/index.js:63:36: ERROR: No loader is configured for ".node" files: node_modules/three-em-0-3-16/three_em_node.win32-x64-msvc.node
node_modules/three-em-0-3-16/index.js:109:36: ERROR: No loader is configured for ".node" files: node_modules/three-em-0-3-16/three_em_node.darwin-x64.node
node_modules/three-em-0-3-16/index.js:172:38: ERROR: No loader is configured for ".node" files: node_modules/three-em-0-3-16/three_em_node.linux-x64-gnu.node
at failureErrorWithLog (/home/vorcigernix/develop/jdu2/node_modules/esbuild/lib/main.js:1596:15)
at /home/vorcigernix/develop/jdu2/node_modules/esbuild/lib/main.js:1052:28
at /home/vorcigernix/develop/jdu2/node_modules/esbuild/lib/main.js:997:67
at buildResponseToResult (/home/vorcigernix/develop/jdu2/node_modules/esbuild/lib/main.js:1050:7)
at /home/vorcigernix/develop/jdu2/node_modules/esbuild/lib/main.js:1162:14
at responseCallbacks.<computed> (/home/vorcigernix/develop/jdu2/node_modules/esbuild/lib/main.js:697:9)
at handleIncomingPacket (/home/vorcigernix/develop/jdu2/node_modules/esbuild/lib/main.js:752:9)
at Socket.readFromStdout (/home/vorcigernix/develop/jdu2/node_modules/esbuild/lib/main.js:673:7)
at Socket.emit (node:events:513:28)
at addChunk (node:internal/streams/readable:315:12)
It is probably not going to work. NPM build is not aware of deno substitutes (in either file), so it fails to build.
@vorcigernix If you're getting errors in the imports during the build, maybe you can try marking it as an external
package in the vite/rollup build config: https://rollupjs.org/guide/en/#external
Then it shouldn't touch the import, leaving it up to the runtime (Deno in this case) to resolve it.
I am trying to switch from Netlify to Deno Deploy and I am running into this issue:
which seems to be related to some deno/node incompatibility. Three_em fortunately do have a deno version of their library, but I don't know how to substitute it. I tried adding an import map
to no avail.