@crossbind/example-lib-prebuilt-matrix 2.0.0-beta.62 → 2.0.0-beta.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/AGENTS.md +3 -0
  2. package/README.md +22 -10
  3. package/crossbind-example-lib-prebuilt-matrix.xcframework/ios-arm64/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  4. package/crossbind-example-lib-prebuilt-matrix.xcframework/ios-arm64-simulator/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  5. package/dist/crossbind-example-lib-prebuilt-matrix-wasi-wasm32-st-release.wasm +0 -0
  6. package/dist/crossbind-example-lib-prebuilt-matrix-wasm-wasm32-mt-release.browser.js +106 -64
  7. package/dist/crossbind-example-lib-prebuilt-matrix-wasm-wasm32-mt-release.node.js +12 -1
  8. package/dist/crossbind-example-lib-prebuilt-matrix-wasm-wasm32-st-release.browser.js +106 -64
  9. package/dist/crossbind-example-lib-prebuilt-matrix-wasm-wasm32-st-release.edge.js +12 -1
  10. package/dist/crossbind-example-lib-prebuilt-matrix-wasm-wasm32-st-release.node.js +12 -1
  11. package/dist/crossbind-example-lib-prebuilt-matrix.darwin-arm64.node +0 -0
  12. package/dist/crossbind-example-lib-prebuilt-matrix.darwin-x64.node +0 -0
  13. package/dist/crossbind-example-lib-prebuilt-matrix.linux-arm64.node +0 -0
  14. package/dist/crossbind-example-lib-prebuilt-matrix.linux-x64.node +0 -0
  15. package/dist/crossbind-example-lib-prebuilt-matrix.linuxmusl-arm64.node +0 -0
  16. package/dist/crossbind-example-lib-prebuilt-matrix.linuxmusl-x64.node +0 -0
  17. package/dist/crossbind-example-lib-prebuilt-matrix.native.cjs +3884 -0
  18. package/dist/crossbind-example-lib-prebuilt-matrix.win32-arm64.node +0 -0
  19. package/dist/crossbind-example-lib-prebuilt-matrix.win32-x64.node +0 -0
  20. package/dist/edge/wasm.d.mts +10 -0
  21. package/dist/edge/wasm.mjs +18 -0
  22. package/dist/node/napi.d.mts +10 -0
  23. package/dist/node/napi.mjs +18 -0
  24. package/dist/node/wasm.d.mts +10 -0
  25. package/dist/node/wasm.mjs +18 -0
  26. package/dist/package.json +3 -0
  27. package/dist/prebuilt/CMakeLists.txt +3 -2
  28. package/dist/prebuilt/android-arm64-v8a-mt-release/lib.sources +1 -0
  29. package/dist/prebuilt/android-x86_64-mt-release/lib.sources +1 -0
  30. package/dist/prebuilt/darwin-arm64-mt-release/crossbind-emccflags.fingerprint +1 -0
  31. package/dist/prebuilt/darwin-arm64-mt-release/include/Matrix.h +12 -0
  32. package/dist/prebuilt/darwin-arm64-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  33. package/dist/prebuilt/darwin-arm64-mt-release/lib.sources +1 -0
  34. package/dist/prebuilt/darwin-x64-mt-release/crossbind-emccflags.fingerprint +1 -0
  35. package/dist/prebuilt/darwin-x64-mt-release/include/Matrix.h +12 -0
  36. package/dist/prebuilt/darwin-x64-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  37. package/dist/prebuilt/darwin-x64-mt-release/lib.sources +1 -0
  38. package/dist/prebuilt/ios-iphoneos-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  39. package/dist/prebuilt/ios-iphoneos-mt-release/lib.sources +1 -0
  40. package/dist/prebuilt/ios-iphonesimulator-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  41. package/dist/prebuilt/ios-iphonesimulator-mt-release/lib.sources +1 -0
  42. package/dist/prebuilt/linux-arm64-mt-release/crossbind-emccflags.fingerprint +1 -0
  43. package/dist/prebuilt/linux-arm64-mt-release/include/Matrix.h +12 -0
  44. package/dist/prebuilt/linux-arm64-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  45. package/dist/prebuilt/linux-arm64-mt-release/lib.sources +1 -0
  46. package/dist/prebuilt/linux-x64-mt-release/crossbind-emccflags.fingerprint +1 -0
  47. package/dist/prebuilt/linux-x64-mt-release/include/Matrix.h +12 -0
  48. package/dist/prebuilt/linux-x64-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  49. package/dist/prebuilt/linux-x64-mt-release/lib.sources +1 -0
  50. package/dist/prebuilt/linuxmusl-arm64-mt-release/crossbind-emccflags.fingerprint +1 -0
  51. package/dist/prebuilt/linuxmusl-arm64-mt-release/include/Matrix.h +12 -0
  52. package/dist/prebuilt/linuxmusl-arm64-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  53. package/dist/prebuilt/linuxmusl-arm64-mt-release/lib.sources +1 -0
  54. package/dist/prebuilt/linuxmusl-x64-mt-release/crossbind-emccflags.fingerprint +1 -0
  55. package/dist/prebuilt/linuxmusl-x64-mt-release/include/Matrix.h +12 -0
  56. package/dist/prebuilt/linuxmusl-x64-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  57. package/dist/prebuilt/linuxmusl-x64-mt-release/lib.sources +1 -0
  58. package/dist/prebuilt/wasi-wasm32-st-release/lib.sources +1 -0
  59. package/dist/prebuilt/wasm-wasm32-mt-release/lib.sources +1 -0
  60. package/dist/prebuilt/wasm-wasm32-st-release/lib.sources +1 -0
  61. package/dist/prebuilt/win32-arm64-mt-release/crossbind-emccflags.fingerprint +1 -0
  62. package/dist/prebuilt/win32-arm64-mt-release/include/Matrix.h +12 -0
  63. package/dist/prebuilt/win32-arm64-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  64. package/dist/prebuilt/win32-arm64-mt-release/lib.sources +1 -0
  65. package/dist/prebuilt/win32-x64-mt-release/crossbind-emccflags.fingerprint +1 -0
  66. package/dist/prebuilt/win32-x64-mt-release/include/Matrix.h +12 -0
  67. package/dist/prebuilt/win32-x64-mt-release/lib/libcrossbind-example-lib-prebuilt-matrix.a +0 -0
  68. package/dist/prebuilt/win32-x64-mt-release/lib.sources +1 -0
  69. package/edge/wasm +1 -0
  70. package/edge/wasm.d.ts +1 -0
  71. package/node/napi +1 -0
  72. package/node/napi.d.ts +1 -0
  73. package/node/wasm +1 -0
  74. package/node/wasm.d.ts +1 -0
  75. package/package.json +15 -3
package/AGENTS.md CHANGED
@@ -41,8 +41,11 @@ pnpm --filter=@crossbind/example-lib-prebuilt-matrix run build
41
41
  pnpm --filter=@crossbind/example-lib-prebuilt-matrix run build:wasm
42
42
  pnpm --filter=@crossbind/example-lib-prebuilt-matrix run build:android
43
43
  pnpm --filter=@crossbind/example-lib-prebuilt-matrix run build:ios # macOS only
44
+ pnpm --filter=@crossbind/example-lib-prebuilt-matrix run build:desktop # darwin on macOS; linux, linuxmusl, win32 in Docker
44
45
  ```
45
46
 
47
+ The desktop archives are what `examples/backend-nodejs-native`, `examples/desktop-electron` and `examples/native-executable` link. `build:desktop` also builds the package's own Node-API addons, which `node/napi` loads (`examples/backend-nodejs-standalone`); `node/wasm` and `edge/wasm` load its WebAssembly builds. The release train builds the archives on the runners of their platforms and the addons on its node runners.
48
+
46
49
  `prepublishOnly` runs `crossbind build` so `pnpm publish` always ships fresh artifacts.
47
50
 
48
51
  ## Common pitfalls
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  **Simple matrix multiplier**
3
3
 
4
4
  <a href="https://www.npmjs.com/package/@crossbind/example-lib-prebuilt-matrix">
5
- <img alt="NPM version" src="https://img.shields.io/npm/v/@crossbind/example-lib-prebuilt-matrix?style=for-the-badge" />
5
+ <img alt="NPM version" src="https://img.shields.io/npm/v/@crossbind/example-lib-prebuilt-matrix/beta?style=for-the-badge" />
6
6
  </a>
7
7
  <a href="https://github.com/crossbind/crossbind/blob/main/LICENSE">
8
8
  <img alt="License" src="https://img.shields.io/github/license/crossbind/crossbind?style=for-the-badge" />
@@ -12,7 +12,7 @@
12
12
  Start by installing these package with the following command:
13
13
 
14
14
  ```sh
15
- npm install @crossbind/example-lib-prebuilt-matrix
15
+ npm install @crossbind/example-lib-prebuilt-matrix@beta
16
16
  ```
17
17
 
18
18
  To enable the library, modify the crossbind.config.js file as shown below.
@@ -68,14 +68,26 @@ initNative({ path: 'node_modules/@crossbind/example-lib-prebuilt-matrix/dist' })
68
68
  });
69
69
  ```
70
70
 
71
- ### Usage in JavaScript Code (node.js)
71
+ ### Usage in JavaScript Code (Node.js)
72
+ The package ships prebuilt Node-API addons for macOS, Linux (glibc and musl) and Windows, and a WebAssembly build for Node.js. Each entry exports `Matrix` once `initNative()` resolves; `require()` of an entry needs Node.js 22.12 or later.
72
73
  ```js
73
- import 'node_modules/@crossbind/example-lib-prebuilt-matrix/dist/crossbind-example-lib-prebuilt-matrix.node.js';
74
+ import { initNative, Matrix } from '@crossbind/example-lib-prebuilt-matrix/node/napi'; // or '/node/wasm'
74
75
 
75
- initNative().then(({ Matrix }) => {
76
- const a = new Matrix(1210000, 1);
77
- const b = new Matrix(1210000, 2);
78
- const result = a.multiple(b);
79
- console.log(result.get(0));
80
- });
76
+ await initNative();
77
+ const a = new Matrix(1210000, 1);
78
+ const b = new Matrix(1210000, 2);
79
+ console.log(a.multiple(b).get(0));
80
+ ```
81
+
82
+ ### Usage in JavaScript Code (Cloudflare Workers)
83
+ Wrangler bundles the WebAssembly module the entry imports.
84
+ ```js
85
+ import { initNative, Matrix } from '@crossbind/example-lib-prebuilt-matrix/edge/wasm';
86
+
87
+ export default {
88
+ async fetch() {
89
+ await initNative();
90
+ return new Response(String(new Matrix(4, 2).get(0)));
91
+ },
92
+ };
81
93
  ```