Skip to content

Commit

Permalink
Merge pull request #8 from rotemdan/add-node-module-export-path
Browse files Browse the repository at this point in the history
Add dedicated export paths for Node.js and web versions in package.json
  • Loading branch information
fengkx authored Jul 2, 2024
2 parents 6ab877d + 032dccc commit 15cce70
Show file tree
Hide file tree
Showing 9 changed files with 93 additions and 22 deletions.
9 changes: 7 additions & 2 deletions .github/workflows/demo.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Rust
name: Test and build demo

on:
push:
Expand All @@ -23,9 +23,14 @@ jobs:
npm i
- name: Build wasm
run: npm run build:cargo &&npm run build
- name: Test Node.js
run: |
cd cd ${GITHUB_WORKSPACE}/demo/node
npm install
npm test
- name: Build web
run: |
cd demo/web
cd ${GITHUB_WORKSPACE}/demo/web
npm install
PUBLIC_URL='/jieba-wasm/' npm run build
- name: Deploy
Expand Down
27 changes: 27 additions & 0 deletions demo/node/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions demo/node/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "node",
"private": true,
"version": "1.0.0",
"scripts": {
"test": "node tests/index.mjs"
},
"dependencies": {
"jieba-wasm": "file:../.."
},
"devDependencies": {}
}
2 changes: 2 additions & 0 deletions demo/node/tests/index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import "./node-require.js";
import "./node-import.mjs";
15 changes: 15 additions & 0 deletions demo/node/tests/node-import.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import test from "node:test";
import assert from "node:assert";
import { cut } from "jieba-wasm";

test("node", async (t) => {
await t.test("import", () => {
assert.strictEqual(typeof cut, "function");
assert.deepStrictEqual(cut("武汉市长江大桥"), ["武汉市", "长江大桥"]);
});
await t.test("dynamic import", async () => {
const { cut } = await import("jieba-wasm");
assert.strictEqual(typeof cut, "function");
assert.deepStrictEqual(cut("武汉市长江大桥"), ["武汉市", "长江大桥"]);
});
});
15 changes: 15 additions & 0 deletions demo/node/tests/node-require.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const test = require("node:test");
const assert = require("node:assert");

test("node", async (t) => {
await t.test("require", () => {
const { cut } = require("jieba-wasm");
assert.strictEqual(typeof cut, "function");
assert.deepStrictEqual(cut("武汉市长江大桥"), ["武汉市", "长江大桥"]);
});
await t.test("dynamic import", async () => {
const { cut } = await import("jieba-wasm");
assert.strictEqual(typeof cut, "function");
assert.deepStrictEqual(cut("武汉市长江大桥"), ["武汉市", "长江大桥"]);
});
});
2 changes: 1 addition & 1 deletion demo/web/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 14 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,30 @@
"types": "./pkg/nodejs/jieba_rs_wasm.d.ts",
"exports": {
".": {
"import": {
"node": {
"types": "./pkg/nodejs/jieba_rs_wasm.d.ts",
"default": "./pkg/nodejs/jieba_rs_wasm.js"
},
"browser": {
"types": "./pkg/web/jieba_rs_wasm.d.ts",
"default": "./pkg/web/jieba_rs_wasm.js"
},
"browser": {
"import": {
"types": "./pkg/web/jieba_rs_wasm.d.ts",
"default": "./pkg/web/jieba_rs_wasm.js"
},
"require": {
"types": "./pkg/nodejs/jieba_rs_wasm.d.ts",
"default": "./pkg/nodejs/jieba_rs_wasm.js"
},
"node": {
"types": "./pkg/nodejs/jieba_rs_wasm.d.ts",
"default": "./pkg/nodejs/jieba_rs_wasm.js"
}
},
"./web": {
"types": "./pkg/web/jieba_rs_wasm.d.ts",
"default": "./pkg/web/jieba_rs_wasm.js"
},
"./node": {
"types": "./pkg/nodejs/jieba_rs_wasm.d.ts",
"default": "./pkg/nodejs/jieba_rs_wasm.js"
}
},
"directories": {
Expand Down
13 changes: 0 additions & 13 deletions tests/web.rs

This file was deleted.

0 comments on commit 15cce70

Please sign in to comment.