@ankhorage/zora 2.8.0 → 2.8.2
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 +12 -0
- package/README.md +1 -1
- package/package.json +3 -9
- package/src/nativePeerContract.test.ts +24 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.8.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 4be3f5b: Require the native modules that are always reachable from the root Zora entrypoint instead of describing them as optional integrations.
|
|
8
|
+
|
|
9
|
+
## 2.8.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 65f2008: Tmp installation of expo-linear-gradient package before extraction of gradient plugin
|
|
14
|
+
|
|
3
15
|
## 2.8.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# ZORA
|
|
5
5
|
|
|
6
|
-
         
|
|
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.
|
|
4
|
+
"version": "2.8.2",
|
|
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.
|
|
45
|
+
"@ankhorage/contracts": "^1.18.3",
|
|
52
46
|
"@ankhorage/surface": "^2.0.2"
|
|
53
47
|
},
|
|
54
48
|
"files": [
|
|
@@ -103,7 +97,7 @@
|
|
|
103
97
|
"@types/bun": "^1.3.13",
|
|
104
98
|
"@types/node": "^25.6.0",
|
|
105
99
|
"@types/react": "^19.2.14",
|
|
106
|
-
"expo-linear-gradient": "^
|
|
100
|
+
"expo-linear-gradient": "^56.0.4",
|
|
107
101
|
"react": "19.1.0",
|
|
108
102
|
"react-native": "0.81.5",
|
|
109
103
|
"typescript": "^5.9.3"
|
|
@@ -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
|
+
});
|