@spacesops/wdk-react-native-core 1.0.0-beta.54 → 1.0.0-beta.55
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 +23 -0
- package/package.json +4 -3
package/AGENTS.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# AGENTS.md — @spacesops/wdk-react-native-core
|
|
2
|
+
|
|
3
|
+
The single package consuming apps install. It owns provider/hook/lifecycle code and, just as importantly, **pins the versions of `@spacesops/pear-wrk-wdk` and `@spacesops/react-native-bare-kit` that are known to work together**. Consumers must not install those directly.
|
|
4
|
+
|
|
5
|
+
## Release order
|
|
6
|
+
|
|
7
|
+
Publish upstream first, then bump here, then the app: `wdk-wallet-btc` → `pear-wrk-wdk` → `react-native-bare-kit` → **this** → app. Both `@spacesops/*` dependencies are exact pins, so **publishing this package before an upstream version exists makes it uninstallable** (`ETARGET / notarget`) — verify each pin resolves on npm before publishing.
|
|
8
|
+
|
|
9
|
+
Regenerate `package-lock.json` from scratch when bumping either pin. npm preserves existing lock entries instead of re-resolving, so an incremental install keeps an old addon version hoisted and nests the correct one beneath it — two copies, and two `.so` files in every consumer APK.
|
|
10
|
+
|
|
11
|
+
## Non-obvious invariants
|
|
12
|
+
|
|
13
|
+
**No Expo config plugin can live here.** This package is `"type": "module"` and Expo does a plain `require()` of `app.plugin.js`, so a CJS plugin throws `ERR_REQUIRE_ESM` at prebuild. The Android packaging plugin lives in `react-native-bare-kit`, which is CJS; consumers reference `"@spacesops/react-native-bare-kit"` in `plugins`. `bin/verify-addons.mjs` is fine as ESM.
|
|
14
|
+
|
|
15
|
+
**Do not add `@expo/*` packages as dependencies.** They use Expo-SDK-aligned versions (`@expo/config-plugins` is `54.x`, not `10.x`), so a guessed range installs a second incompatible copy. Use optional peers.
|
|
16
|
+
|
|
17
|
+
**Some things genuinely cannot be fixed from here.** npm `overrides` only work from the root manifest, so a bad transitive range in a dependency is the *app's* problem to override — document it in the README rather than attempting a fix. `@tetherto/wdk-react-native-secure-storage` targets Expo SDK 55 while apps on SDK 54 must override `expo-crypto` and `expo-local-authentication`.
|
|
18
|
+
|
|
19
|
+
**Never add a `postinstall` that builds.** It runs in every consumer install, needs TypeScript present, and `dist` already ships.
|
|
20
|
+
|
|
21
|
+
## Triage
|
|
22
|
+
|
|
23
|
+
Native addon failures (`ADDON_NOT_FOUND`, release-only crashes) belong to `react-native-bare-kit` — see its `TROUBLESHOOTING.md`. Failures scoped to one chain (a wrong or `undefined` address, `MODULE_NOT_FOUND` for a wallet file) come from the versions packed inside pear's bundle and need a pear release; the copies in an app's `node_modules` never execute.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spacesops/wdk-react-native-core",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.55",
|
|
4
4
|
"description": "Core functionality for React Native wallets - wallet management, balance fetching, and worklet operations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"src",
|
|
12
12
|
"README.md",
|
|
13
13
|
"LICENSE",
|
|
14
|
-
"bin"
|
|
14
|
+
"bin",
|
|
15
|
+
"AGENTS.md"
|
|
15
16
|
],
|
|
16
17
|
"exports": {
|
|
17
18
|
".": {
|
|
@@ -52,7 +53,7 @@
|
|
|
52
53
|
"author": "Spacesops",
|
|
53
54
|
"license": "Apache-2.0",
|
|
54
55
|
"dependencies": {
|
|
55
|
-
"@spacesops/pear-wrk-wdk": "1.1.1-beta.
|
|
56
|
+
"@spacesops/pear-wrk-wdk": "1.1.1-beta.44",
|
|
56
57
|
"@spacesops/react-native-bare-kit": "0.11.0-beta.49",
|
|
57
58
|
"@tanstack/react-query": "^5.0.0",
|
|
58
59
|
"@tetherto/wdk-react-native-secure-storage": "1.0.0-beta.5",
|