Commit a560d5a
committed
Add {set_exports} script for {ergo-lib-wasm}
When {wasm-pack} is run with browser target, it generates a {package.json}
in which there is a {module} field, but no {main}, {type} or {exports}
field is present. This causes some of the modern tools which run in Node
be unable to use the package (Vitest is an example).
Although it may seem irrational to use the browser package in Node, but
it makes sense when we want to write tests. Many test tools such as Jest
and Vitest run in Node.
Add a {set_exports} script to be run after {wasm-pack}, updating the
generated {package.json} as follows:
- Add an {exports} field to enable new Node entry resolution feature
- Add {"type": "module"} to indicate that this is an ESM module
- Remove {module}, as it's no longer needed
{wasm-pack} may fix the issue in the future or new module entry resolution
mechanisms may be introduced in the future. Until then, this script will
enable the use of the package without getting browser environment related
issues when run in Node.
Related {wasm-pack} PR:
drager/wasm-pack#10611 parent 41150b6 commit a560d5a
2 files changed
+21
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
0 commit comments