@ankhorage/surface 9.4.2 → 9.4.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @ankhorage/surface
2
2
 
3
+ ## 9.4.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 0f9a15d: Declare `@ankhorage/capability` as a runtime dependency so packed catalog verification resolves from the installed package boundary.
8
+
9
+ ## 9.4.4
10
+
11
+ ### Patch Changes
12
+
13
+ - 72c6f1f: Use the singular Contracts capability declaration and standalone Capability validation toolkit.
14
+
15
+ ## 9.4.3
16
+
17
+ ### Patch Changes
18
+
19
+ - 56d88af: Restore the tested Expo SDK 57 peer tuple alongside the current React Native 0.87 development tuple.
20
+
3
21
  ## 9.4.2
4
22
 
5
23
  ### Patch Changes
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/surface
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v9.4.2](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![paradox: warnings](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v9.4.5](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![paradox: warnings](././paradox/badges/docs.svg)
7
7
 
8
8
  Cross-platform UI foundation for React Native and React Native Web. Provides theming, layout primitives, and core building blocks for modern apps.
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,CAAC,QAAQ,CAAC;SACvB;QACD,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;qBACxB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;CACuC,CAAC","sourcesContent":["import type { Capability } from '@ankhorage/contracts/capabilities';\n\nexport const CAPABILITIES = [\n {\n id: 'theme.setMode',\n owner: '@ankhorage/surface',\n access: ['invoke'],\n binding: {\n kind: 'action',\n bindableAs: ['target'],\n },\n input: {\n schema: {\n type: 'object',\n required: ['mode'],\n properties: {\n mode: {\n type: 'string',\n enum: ['light', 'dark'],\n },\n },\n additionalProperties: false,\n },\n },\n },\n] as const satisfies readonly Capability[];\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,CAAC,QAAQ,CAAC;SACvB;QACD,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;qBACxB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;CACuC,CAAC","sourcesContent":["import type { Capability } from '@ankhorage/contracts/capability';\n\nexport const CAPABILITIES = [\n {\n id: 'theme.setMode',\n owner: '@ankhorage/surface',\n access: ['invoke'],\n binding: {\n kind: 'action',\n bindableAs: ['target'],\n },\n input: {\n schema: {\n type: 'object',\n required: ['mode'],\n properties: {\n mode: {\n type: 'string',\n enum: ['light', 'dark'],\n },\n },\n additionalProperties: false,\n },\n },\n },\n] as const satisfies readonly Capability[];\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ankhorage/surface",
3
3
  "type": "module",
4
- "version": "9.4.2",
4
+ "version": "9.4.5",
5
5
  "description": "Stable UI foundation for React Native and React Native Web.",
6
6
  "homepage": "https://github.com/ankhorage/surface#readme",
7
7
  "bugs": {
@@ -33,18 +33,19 @@
33
33
  "@react-native-vector-icons/fontawesome6": "^13.1.3",
34
34
  "@react-native-vector-icons/ionicons": "^13.1.3",
35
35
  "@react-native-vector-icons/material-design-icons": "^13.1.3",
36
- "react": "19.3.0",
36
+ "react": "19.2.3 || 19.3.0",
37
37
  "react-native": "0.86.x || 0.87.x",
38
38
  "react-native-gesture-handler": "~2.32.0 || ~3.3.0",
39
39
  "react-native-reanimated": "4.5.1 || 4.7.0 || 4.7",
40
- "react-native-safe-area-context": "~5.10.0",
41
- "react-native-svg": "15.15.5",
40
+ "react-native-safe-area-context": "~5.7.0 || ~5.10.0",
41
+ "react-native-svg": "15.15.4 || 15.15.5",
42
42
  "react-native-web": "~0.21.0",
43
43
  "react-native-worklets": "0.10.1 || 0.13.0"
44
44
  },
45
45
  "dependencies": {
46
+ "@ankhorage/capability": "^0.2.1",
46
47
  "@ankhorage/color-theory": "^0.3.1",
47
- "@ankhorage/contracts": "^24.2.1",
48
+ "@ankhorage/contracts": "^26.0.0",
48
49
  "@ankhorage/utility": "^1.9.85",
49
50
  "@gorhom/bottom-sheet": "^5.2.14"
50
51
  },
@@ -112,7 +113,7 @@
112
113
  "version-packages": "ankhorage-changeset version"
113
114
  },
114
115
  "devDependencies": {
115
- "@ankhorage/devtools": "^2.2.2",
116
+ "@ankhorage/devtools": "^2.3.14",
116
117
  "@ankhorage/paradox": "^0.3.1",
117
118
  "@react-native-vector-icons/fontawesome": "^13.1.4",
118
119
  "@react-native-vector-icons/fontawesome5": "^13.1.4",
@@ -120,11 +121,11 @@
120
121
  "@react-native-vector-icons/ionicons": "^13.1.4",
121
122
  "@react-native-vector-icons/material-design-icons": "^13.1.4",
122
123
  "@types/bun": "^1.4.2",
123
- "@types/node": "^26.6.4",
124
+ "@types/node": "^26.6.5",
124
125
  "@types/react": "^19.3.0",
125
126
  "@types/react-dom": "^19.3.0",
126
127
  "@types/react-native-web": "^0.19.3",
127
- "happy-dom": "^20.14.5",
128
+ "happy-dom": "^20.14.6",
128
129
  "react": "19.3.0",
129
130
  "react-dom": "19.3.0",
130
131
  "react-native": "0.87.1",
@@ -1,6 +1,6 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
 
3
- import { isCapability } from '@ankhorage/contracts/capabilities';
3
+ import { isCapability } from '@ankhorage/capability';
4
4
  import { expect, test } from 'bun:test';
5
5
 
6
6
  import { CAPABILITIES } from './index';
@@ -1,4 +1,4 @@
1
- import type { Capability } from '@ankhorage/contracts/capabilities';
1
+ import type { Capability } from '@ankhorage/contracts/capability';
2
2
 
3
3
  export const CAPABILITIES = [
4
4
  {
package/src/index.test.ts CHANGED
@@ -157,15 +157,24 @@ describe('public package metadata contract', () => {
157
157
  './package.json': './package.json',
158
158
  });
159
159
  });
160
+ });
160
161
 
161
- it('preserves tested React Native peer compatibility while advancing the dev baseline', () => {
162
- expect(packageJson.peerDependencies['react-native']).toContain('0.86.x');
163
- expect(packageJson.peerDependencies['react-native']).toContain('0.87.x');
164
- expect(packageJson.devDependencies['react-native']).toMatch(/^\d+\.\d+\.\d+$/);
165
- expect(packageJson.peerDependencies['react-native-svg']).toMatch(/^\d+\.\d+\.\d+$/);
166
- expect(packageJson.devDependencies['react-native-svg']).toBe(
167
- packageJson.peerDependencies['react-native-svg'],
162
+ describe('native peer compatibility contract', () => {
163
+ it('preserves the independently tested Expo 57 and current native peer tuples', () => {
164
+ expect(packageJson.peerDependencies.react).toBe('19.2.3 || 19.3.0');
165
+ expect(packageJson.peerDependencies['react-native']).toBe('0.86.x || 0.87.x');
166
+ expect(packageJson.peerDependencies['react-native-web']).toBe('~0.21.0');
167
+ expect(packageJson.peerDependencies['react-native-safe-area-context']).toBe(
168
+ '~5.7.0 || ~5.10.0',
168
169
  );
170
+ expect(packageJson.peerDependencies['react-native-svg']).toBe('15.15.4 || 15.15.5');
171
+ expect(packageJson.peerDependencies['react-native-gesture-handler']).toBe('~2.32.0 || ~3.3.0');
172
+ expect(packageJson.peerDependencies['react-native-reanimated']).toBe('4.5.1 || 4.7.0 || 4.7');
173
+ expect(packageJson.peerDependencies['react-native-worklets']).toBe('0.10.1 || 0.13.0');
174
+ expect(packageJson.devDependencies.react).toBe('19.3.0');
175
+ expect(packageJson.devDependencies['react-native']).toBe('0.87.1');
176
+ expect(packageJson.devDependencies['react-native-safe-area-context']).toBe('~5.10.1');
177
+ expect(packageJson.devDependencies['react-native-svg']).toBe('15.15.5');
169
178
  });
170
179
  });
171
180