@crossbind/example-lib-prebuilt-matrix 2.0.0-beta.50 → 2.0.0-beta.52

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.
package/AGENTS.md CHANGED
@@ -1,33 +1,32 @@
1
1
  # AGENTS.md — @crossbind/example-lib-prebuilt-matrix
2
2
 
3
- > Canonical minimal **C++ library packaging** reference. This is what `docs/playbooks/new-package.md` (Persona 3) and most other samples point at when they need a small `@crossbind/port-*`-shaped consumable.
3
+ > Canonical minimal **application-owned C++ library packaging** reference. This is a published example package, not a `ports/*` family template.
4
4
 
5
- ## What this sample is for
5
+ ## What this example is for
6
6
 
7
- - Smallest possible working example of "I have a tiny C++ project, package it for crossbind so other samples / RN apps / web apps can consume it."
8
- - Used by `examples/mobile-reactnative-cli`, `examples/backend-nodejs-wasm`, and a few playgrounds as their dependency.
7
+ - Smallest working example of “I have a tiny C++ project and want other examples or E2E fixtures to consume it.”
8
+ - Used by browser, Node and React Native examples and fixtures as a workspace dependency.
9
9
  - Reference for `crossbind.config.js` shape with `export.type: 'cmake'`.
10
10
 
11
11
  ## Layout
12
12
 
13
13
  ```
14
14
  examples/lib-prebuilt-matrix/
15
- ├── src/ ← C++ source (matrix multiplier)
15
+ ├── src/native/ ← C++ source (matrix multiplier)
16
16
  ├── playground/ ← optional standalone test
17
17
  ├── crossbind.config.js ← export.type cmake, base + output paths
18
- ├── examples/lib-prebuilt-matrix.podspec ← iOS package manifest
19
- ├── examples/lib-prebuilt-matrix.xcframework ← prebuilt iOS slices
20
- ├── dist/ ← built artifacts (committed for prebuilt consumption)
18
+ ├── crossbind-example-lib-prebuilt-matrix.podspec ← iOS package manifest
19
+ ├── dist/ ← generated package output; do not hand-edit
21
20
  ├── package.json
22
21
  └── README.md
23
22
  ```
24
23
 
25
- `dist/prebuilt/<target>/{lib,include}` is **committed** so consumers can `pnpm add @crossbind/example-lib-prebuilt-matrix` and link without rebuilding.
24
+ `prepublishOnly` rebuilds `dist/` before publication. The directory is generated and filtered out of create-app templates.
26
25
 
27
- ## Why a sample, not a real crossbind-package
26
+ ## Why an example, not a port family
28
27
 
29
28
  Two reasons:
30
- 1. The matrix-multiplier C++ is too small to justify a full `ports/*` family; sample status keeps the surface light.
29
+ 1. The matrix-multiplier C++ is application-owned demonstration code, not a versioned upstream dependency.
31
30
  2. Demonstrates the inline alternative to packaging: the user's own C++ wrapped in a `crossbind.config.js` and exported as a workspace dep.
32
31
 
33
32
  If you're looking at how a real prebuilt package is shaped, see `ports/zlib/` instead — that's the canonical for new `ports/*`.
@@ -48,11 +47,11 @@ pnpm --filter=@crossbind/example-lib-prebuilt-matrix run build:ios # ma
48
47
 
49
48
  ## Common pitfalls
50
49
 
51
- - **Treating this as a `ports/` template.** It's a sample first; for real package authoring follow `docs/playbooks/new-package.md` and mirror `ports/zlib/`.
52
- - **Deleting committed `dist/prebuilt/`.** Consumers (`examples/mobile-reactnative-cli`, etc.) link against these artifacts. Rebuild + recommit if you change the C++.
50
+ - **Treating this as a `ports/` template.** It is an example; for port authoring follow `docs/playbooks/new-port.md` and mirror `ports/zlib/`.
51
+ - **Editing `dist/prebuilt/` manually.** Rebuild the example after changing its native source or config.
53
52
  - **Forgetting `prepublishOnly`.** Without it, npm could publish a stale `dist/`. The script is the safety net.
54
53
  - **Adding a heavy native dep** (e.g. another package). Defeats the "smallest possible" purpose. Keep it tiny.
55
- - **Wrapping with extra plugins** (Metro, Vite, etc.). The sample is plugin-free; consumers add their own plugins.
54
+ - **Wrapping with extra plugins** (Metro, Vite, etc.). The example is plugin-free; consumers add their own plugins.
56
55
 
57
56
  ## Validation
58
57
 
@@ -61,7 +60,7 @@ pnpm --filter=@crossbind/example-lib-prebuilt-matrix run build:ios # ma
61
60
  pnpm --filter=@crossbind/example-lib-prebuilt-matrix run build
62
61
 
63
62
  # Verify prebuilt artifacts
64
- pnpm run check:dist | grep sample-lib-prebuilt-matrix
63
+ pnpm run check:dist | rg example-lib-prebuilt-matrix
65
64
 
66
65
  # Smoke a downstream consumer
67
66
  pnpm --filter=@crossbind/example-backend-nodejs-wasm run build
@@ -70,9 +69,9 @@ node examples/backend-nodejs-wasm/src/index.js
70
69
 
71
70
  ## Reference
72
71
 
73
- - Package author playbook (the real flow for `ports/*`): `docs/playbooks/new-package.md`
72
+ - Port-authoring playbook (the real flow for `ports/*`): `docs/playbooks/new-port.md`
74
73
  - Real-package canonical template: `ports/zlib/`
75
- - Downstream consumers of this sample:
74
+ - Representative downstream consumers of this example:
76
75
  - `examples/mobile-reactnative-cli/`
77
76
  - `examples/mobile-reactnative-expo/`
78
77
  - `examples/backend-nodejs-wasm/`
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @crossbind/example-lib-prebuilt-matrix
2
2
 
3
+ ## 2.0.0-beta.52
4
+
5
+ ### Patch Changes
6
+
7
+ - Aligned on the 2.0.0-beta.52 baseline. No source change; the version exists so every package in
8
+ the workspace names the same release.
9
+
3
10
  ## 2.0.0-beta.50
4
11
 
5
12
  ### Patch Changes
@@ -10,7 +10,7 @@
10
10
  <key>HeadersPath</key>
11
11
  <string>Headers</string>
12
12
  <key>LibraryIdentifier</key>
13
- <string>ios-arm64</string>
13
+ <string>ios-arm64-simulator</string>
14
14
  <key>LibraryPath</key>
15
15
  <string>libcrossbind-example-lib-prebuilt-matrix.a</string>
16
16
  <key>SupportedArchitectures</key>
@@ -19,6 +19,8 @@
19
19
  </array>
20
20
  <key>SupportedPlatform</key>
21
21
  <string>ios</string>
22
+ <key>SupportedPlatformVariant</key>
23
+ <string>simulator</string>
22
24
  </dict>
23
25
  <dict>
24
26
  <key>BinaryPath</key>
@@ -26,7 +28,7 @@
26
28
  <key>HeadersPath</key>
27
29
  <string>Headers</string>
28
30
  <key>LibraryIdentifier</key>
29
- <string>ios-arm64-simulator</string>
31
+ <string>ios-arm64</string>
30
32
  <key>LibraryPath</key>
31
33
  <string>libcrossbind-example-lib-prebuilt-matrix.a</string>
32
34
  <key>SupportedArchitectures</key>
@@ -35,8 +37,6 @@
35
37
  </array>
36
38
  <key>SupportedPlatform</key>
37
39
  <string>ios</string>
38
- <key>SupportedPlatformVariant</key>
39
- <string>simulator</string>
40
40
  </dict>
41
41
  </array>
42
42
  <key>CFBundlePackageType</key>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossbind/example-lib-prebuilt-matrix",
3
- "version": "2.0.0-beta.50",
3
+ "version": "2.0.0-beta.52",
4
4
  "description": "crossbind sample prebuilt library: matrix multiplier",
5
5
  "homepage": "https://github.com/crossbind/crossbind/tree/main/examples/lib-prebuilt-matrix#readme",
6
6
  "repository": {
@@ -10,7 +10,7 @@
10
10
  "license": "MIT",
11
11
  "type": "module",
12
12
  "devDependencies": {
13
- "crossbind": "^2.0.0-beta.50"
13
+ "crossbind": "^2.0.0-beta.52"
14
14
  },
15
15
  "keywords": [
16
16
  "crossbind-sample",