8000 Let code that calls init() run on Node.js, so that the types match the build loaded at run time by dominion525 · Pull Request #179 · dominion525/jetdb · GitHub
[go: up one dir, main page]

Skip to content

Let code that calls init() run on Node.js, so that the types match the build loaded at run time - #179

Merged
dominion525 merged 1 commit into
mainfrom
fix/wasm-node-init
Oct 26, 2026
Merged

dominion525 merged 1 commit into
mainfrom
fix/wasm-node-init

Conversation

@dominion525
Copy link
Copy Markdown
Owner

Summary

  • The top-level "types" points to the web types, which TypeScript picks for moduleResolution node10 and bundler (Next.js, tsx, Vite SSR), so import init, { Database } from "jetdb-wasm"; await init(); type-checked but failed on Node.js with TypeError: init is not a function.
  • The Node.js build now has a default init and an initSync that do nothing, since it is ready when loaded; an ES module entry, node/jetdb_wasm.mjs, gives init as the default export to import, re-exporting the CommonJS build. Their types do not use the types of the browser.
  • The smoke and type tests call init and initSync through both import and require. The README and docs/wasm (English and Japanese) state that the types need TypeScript 5.2 or later.

🤖 Generated with Claude Code

…e build loaded at run time

- Give the Node.js build a default init and an initSync that do nothing, as the web build has
- Add an ES module entry for Node.js, so that import gets init as the default export
- Check init and initSync through import and require in the smoke and type tests
- State in the README and docs/wasm that the types need TypeScript 5.2 or later

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Coverage

For 36e6e8e.

Filename                       Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
jetdb-cli/src/export.rs            127                10    92.13%           6                 0   100.00%          67                 4    94.03%           0                 0         -
jetdb-cli/src/form.rs              239                19    92.05%          24                 5    79.17%         151                 6    96.03%           0                 0         -
jetdb-cli/src/macro_cmd.rs         117                10    91.45%           7                 2    71.43%          62                 4    93.55%           0                 0         -
jetdb-cli/src/main.rs              909                30    96.70%          82                 3    96.34%         582                21    96.39%           0                 0         -
jetdb-cli/src/prop.rs              332                20    93.98%          38                 2    94.74%         194                 9    95.36%           0                 0         -
jetdb-cli/src/query.rs              65                 3    95.38%           5                 0   100.00%          32                 0   100.00%           0                 0         -
jetdb-cli/src/vba.rs                59                 3    94.92%           5                 0   100.00%          28                 0   100.00%           0                 0         -
jetdb-wasm/src/lib.rs             3917               103    97.37%         257                 4    98.44%        2064                29    98.59%           0                 0         -
jetdb/src/catalog.rs               509                14    97.25%          46                 0   100.00%         299                 3    99.00%           0                 0         -
jetdb/src/complex.rs               924                32    96.54%          73                 0   100.00%         605                15    97.52%           0                 0         -
jetdb/src/crypto.rs               2300               112    95.13%         127                10    92.13%        1315                60    95.44%           0                 0         -
jetdb/src/csv.rs                   867                24    97.23%          73                 0   100.00%         492                 6    98.78%           0                 0         -
jetdb/src/data.rs                 4753                89    98.13%         297                 3    98.99%        2680                50    98.13%           0                 0         -
jetdb/src/ddl/access.rs             70                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/mod.rs              2771                 8    99.71%         208                 2    99.04%        1501                 6    99.60%           0                 0         -
jetdb/src/ddl/mysql.rs              70                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/postgres.rs           71                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/sqlite.rs             69                 0   100.00%           7                 0   100.00%          48                 0   100.00%           0                 0         -
jetdb/src/encoding.rs              284                 0   100.00%          30                 0   100.00%         153                 0   100.00%           0                 0         -
jetdb/src/file.rs                 1915                65    96.61%         117                 0   100.00%         983                18    98.17%           0                 0         -
jetdb/src/form.rs                 3212               128    96.01%         238                10    95.80%        1730                49    97.17%           0                 0         -
jetdb/src/form2000.rs              800                20    97.50%          62                 1    98.39%         425                 4    99.06%           0                 0         -
jetdb/src/format.rs                616                 2    99.68%          45                 0   100.00%         388                 2    99.48%           0                 0         -
jetdb/src/lib.rs                    10                 3    70.00%           1                 0   100.00%           7                 2    71.43%           0                 0         -
jetdb/src/macro_action.rs          299                19    93.65%          27                 3    88.89%         165                24    85.45%           0                 0         -
jetdb/src/macro_def.rs            2440                88    96.39%         196                 9    95.41%        1596                36    97.74%           0                 0         -
jetdb/src/macro_text.rs            804                24    97.01%          54                 2    96.30%         451                20    95.57%           0                 0         -
jetdb/src/map.rs                   416                13    96.88%          27                 0   100.00%         221                 5    97.74%           0                 0         -
jetdb/src/money.rs                 296                 0   100.00%          28                 0   100.00%         190                 0   100.00%           0                 0         -
jetdb/src/prop.rs                 1375                18    98.69%          90                 0   100.00%         695                10    98.56%           0                 0         -
jetdb/src/query.rs                2514                62    97.53%         200                 1    99.50%        1550                18    98.84%           0                 0         -
jetdb/src/relationship.rs          249                26    89.56%          22                 0   100.00%         177                10    94.35%           0                 0         -
jetdb/src/save_as_text.rs          574                27    95.30%          52                 3    94.23%         341                27    92.08%           0                 0         -
jetdb/src/storage.rs               764                32    95.81%          57                 0   100.00%         434                 6    98.62%           0                 0         -
jetdb/src/table.rs                1679                67    96.01%         109                 2    98.17%        1017                18    98.23%           0                 0         -
jetdb/src/timestamp.rs             491                 0   100.00%          51                 0   100.00%         285                 0   100.00%           0                 0         -
jetdb/src/vba.rs                   949                57    93.99%          82                11    86.59%         540                21    96.11%           0                 0         -
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                            37856              1128    97.02%        2764                73    97.36%       21606               483    97.76%           0                 0         -

@dominion525
dominion525 merged commit b27dee2 into main Oct 26, 2026
11 checks passed
@dominion525
dominion525 deleted the fix/wasm-node-init branch October 26, 2026 18:09
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

Successfully merging this pull request may close these issues.

1 participant

0