@ankhorage/zora 2.8.1 → 2.8.3

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,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.8.3
4
+
5
+ ### Patch Changes
6
+
7
+ - f443bc1: update DEVTOOLS
8
+
9
+ ## 2.8.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 4be3f5b: Require the native modules that are always reachable from the root Zora entrypoint instead of describing them as optional integrations.
14
+
3
15
  ## 2.8.1
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # ZORA
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v2.8.0](././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) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v2.8.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) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.
9
9
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ankhorage/zora",
3
3
  "type": "module",
4
- "version": "2.8.1",
4
+ "version": "2.8.3",
5
5
  "description": "Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.",
6
6
  "homepage": "https://github.com/ankhorage/zora#readme",
7
7
  "bugs": {
@@ -36,19 +36,13 @@
36
36
  "@expo/vector-icons": {
37
37
  "optional": true
38
38
  },
39
- "@react-native-picker/picker": {
40
- "optional": true
41
- },
42
39
  "expo-font": {
43
40
  "optional": true
44
- },
45
- "expo-linear-gradient": {
46
- "optional": true
47
41
  }
48
42
  },
49
43
  "dependencies": {
50
44
  "@ankhorage/color-theory": "^0.0.7",
51
- "@ankhorage/contracts": "^1.18.0",
45
+ "@ankhorage/contracts": "^2.1.0",
52
46
  "@ankhorage/surface": "^2.0.2"
53
47
  },
54
48
  "files": [
@@ -95,7 +89,7 @@
95
89
  "version-packages": "changeset version"
96
90
  },
97
91
  "devDependencies": {
98
- "@ankhorage/devtools": "^1.0.6",
92
+ "@ankhorage/devtools": "^1.3.3",
99
93
  "@ankhorage/paradox": "^0.1.10",
100
94
  "@changesets/cli": "^2.31.0",
101
95
  "@expo/vector-icons": "^15.1.1",
@@ -0,0 +1,24 @@
1
+ import { readFile } from 'node:fs/promises';
2
+
3
+ import { expect, test } from 'bun:test';
4
+
5
+ function isRecord(value: unknown): value is Record<string, unknown> {
6
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
7
+ }
8
+
9
+ function isOptionalPeer(metadata: unknown, packageName: string): boolean {
10
+ if (!isRecord(metadata)) return false;
11
+ const peerMetadata = metadata[packageName];
12
+ return isRecord(peerMetadata) && peerMetadata.optional === true;
13
+ }
14
+
15
+ test('root-entry native imports are required peers', async () => {
16
+ const packageJson = JSON.parse(
17
+ await readFile(new URL('../package.json', import.meta.url), 'utf8'),
18
+ ) as unknown;
19
+ if (!isRecord(packageJson)) throw new Error('Expected package.json to contain an object.');
20
+
21
+ const { peerDependenciesMeta } = packageJson;
22
+ expect(isOptionalPeer(peerDependenciesMeta, 'expo-linear-gradient')).toBe(false);
23
+ expect(isOptionalPeer(peerDependenciesMeta, '@react-native-picker/picker')).toBe(false);
24
+ });