Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] package.json should contain exports for usage in NodeJS #888

Open
3 tasks
keller-mark opened this issue Oct 10, 2023 · 0 comments
Open
3 tasks

[Bug] package.json should contain exports for usage in NodeJS #888

keller-mark opened this issue Oct 10, 2023 · 0 comments

Comments

@keller-mark
Copy link
Contributor

Describe the bug

Hi, I am using NebulaGL in my web application. I am running into issues when importing NebulaGL (directly or indirectly) in unit testing frameworks which execute code using NodeJS (vitest in particular) because the package.json for nebula.gl (as well as for @nebula.gl/*):

  • both does not contain "type": "module" and does not specify exports

This is also clear when checking nebula.gl in Publint: https://publint.dev/nebula.gl@1.1.0-alpha.5

Note: This issue is also related to this one in DeckGL visgl/deck.gl#8186

Actual Result

 FAIL  src/nebulagl.test.js [ src/nebulagl.test.js ]
Error: require() of ES Module /home/projects/vitejs-vite-csquxp/node_modules/@mapbox/tiny-sdf/index.js from /home/projects/vitejs-vite-csquxp/node_modules/@deck.gl/layers/dist/es5/text-layer/font-atlas-manager.js not supported.
Instead change the require of index.js in /home/projects/vitejs-vite-csquxp/node_modules/@deck.gl/layers/dist/es5/text-layer/font-atlas-manager.js to a dynamic import() which is available in all CommonJS modules.
 ❯ makeNodeErrorWithCode/< ../../../blitz.7a1fe16d.js:36:4174
 ❯ Module."] ../../../blitz.7a1fe16d.js:55:15296
 ❯ Module.prototype.load ../../../blitz.7a1fe16d.js:55:13469
 ❯ Module._load ../../../blitz.7a1fe16d.js:55:10541
 ❯ Module.prototype.require ../../../blitz.7a1fe16d.js:55:13787
 ❯ i ../../../blitz.7a1fe16d.js:98:2198
 ❯ _0x5b8ff6 ../../../blitz.7a1fe16d.js:355:176557
 ❯ function ../../../blitz.7a1fe16d.js:355:177359
 ❯ Module.prototype._compile ../../../blitz.7a1fe16d.js:55:14883
 ❯ Module."] ../../../blitz.7a1fe16d.js:55:15564
 ❯ Module.prototype.load ../../../blitz.7a1fe16d.js:55:13469
 ❯ Module._load ../../../blitz.7a1fe16d.js:55:10541
 ❯ Module.prototype.require ../../../blitz.7a1fe16d.js:55:13787
 ❯ i ../../../blitz.7a1fe16d.js:98:2198
 ❯ _0x5b8ff6 ../../../blitz.7a1fe16d.js:355:176557
 ❯ function ../../../blitz.7a1fe16d.js:355:177359
 ❯ Module.prototype._compile ../../../blitz.7a1fe16d.js:55:14883
 ❯ Module."] ../../../blitz.7a1fe16d.js:55:15564
 ❯ Module.prototype.load ../../../blitz.7a1fe16d.js:55:13469
 ❯ Module._load ../../../blitz.7a1fe16d.js:55:10541
 ❯ Module.prototype.require ../../../blitz.7a1fe16d.js:55:13787
 ❯ i ../../../blitz.7a1fe16d.js:98:2198
 ❯ _0x5b8ff6 ../../../blitz.7a1fe16d.js:355:176557
 ❯ function ../../../blitz.7a1fe16d.js:355:177359
 ❯ Module.prototype._compile ../../../blitz.7a1fe16d.js:55:14883
 ❯ Module."] ../../../blitz.7a1fe16d.js:55:15564
 ❯ Module.prototype.load ../../../blitz.7a1fe16d.js:55:13469
 ❯ Module._load ../../../blitz.7a1fe16d.js:55:10541
 ❯ Module.prototype.require ../../../blitz.7a1fe16d.js:55:13787
 ❯ i ../../../blitz.7a1fe16d.js:98:2198
 ❯ _0x5b8ff6 ../../../blitz.7a1fe16d.js:355:176557
 ❯ function ../../../blitz.7a1fe16d.js:355:177359
 ❯ Module.prototype._compile ../../../blitz.7a1fe16d.js:55:14883
 ❯ Module."] ../../../blitz.7a1fe16d.js:55:15564
 ❯ Module.prototype.load ../../../blitz.7a1fe16d.js:55:13469
 ❯ Module._load ../../../blitz.7a1fe16d.js:55:10541
 ❯ Module.prototype.require ../../../blitz.7a1fe16d.js:55:13787
 ❯ i ../../../blitz.7a1fe16d.js:98:2198
 ❯ _0x5b8ff6 ../../../blitz.7a1fe16d.js:355:176557
 ❯ function ../../../blitz.7a1fe16d.js:355:177359
 ❯ Module.prototype._compile ../../../blitz.7a1fe16d.js:55:14883
 ❯ Module."] ../../../blitz.7a1fe16d.js:55:15564
 ❯ Module.prototype.load ../../../blitz.7a1fe16d.js:55:13469
 ❯ Module._load ../../../blitz.7a1fe16d.js:55:10541
 ❯ Module.prototype.require ../../../blitz.7a1fe16d.js:55:13787
 ❯ i ../../../blitz.7a1fe16d.js:98:2198
 ❯ _0x5b8ff6 ../../../blitz.7a1fe16d.js:355:176557
 ❯ function ../../../blitz.7a1fe16d.js:355:177359
 ❯ Module.prototype._compile ../../../blitz.7a1fe16d.js:55:14883
 ❯ Module."] ../../../blitz.7a1fe16d.js:55:15564
 ❯ Module.prototype.load ../../../blitz.7a1fe16d.js:55:13469
 ❯ Module._load ../../../blitz.7a1fe16d.js:55:10541
 ❯ _evaluate ../../../blitz.7a1fe16d.js:355:352285
 ❯ evaluate ../../../blitz.7a1fe16d.js:355:351379
 ❯ run ../../../blitz.7a1fe16d.js:181:2390

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { fileName: 'https://vitejsvitecsquxp-q0nu.w-corp.staticblitz.com/blitz.7a1fe16d.js', lineNumber: 64, columnNumber: 14437, code: 'ERR_REQUIRE_ESM' }

Expected Result

Expect unit tests to pass when importing something from NebulaGL.

Reproduce Steps

https://stackblitz.com/edit/vitejs-vite-csquxp?file=package.json

Run npm run test in the terminal on Stackblitz

Screenshots

To Do List

  • Add label and assign to milestone
  • Coding
  • Test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant