bozana-expo-version-json 6.1.0 → 6.1.1
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/README.md +7 -1
- package/dist/probe.d.ts +3 -3
- package/dist/probe.js +10 -4
- package/dist/probe.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -100,6 +100,12 @@ writes usage events; the projection itself is `nativeDescriptorFromText` /
|
|
|
100
100
|
`assertVersionData` + native-projection rules (no consumer transform or
|
|
101
101
|
serializer) so CI never restates them.
|
|
102
102
|
|
|
103
|
+
Installation captures the collector's protocol, projection contract and
|
|
104
|
+
`readNative` function as own data properties, then freezes the collector. Its
|
|
105
|
+
object identity stays the same for CI's ownership check; config code cannot
|
|
106
|
+
replace, delete or redefine the installed capability. Uninstalling with
|
|
107
|
+
`installVersionUsageProbe(undefined)` remains supported.
|
|
108
|
+
|
|
103
109
|
`loadVersionData` and `withVersionJson(..., { toExtra: true })` read the whole
|
|
104
110
|
payload through ordinary `node:fs`, which is what CI classifies as full
|
|
105
111
|
exposure — by observation, not declaration. When no compatible collector is
|
|
@@ -114,7 +120,7 @@ seeding. This protocol is evidence about the helper and observed Node reads; it
|
|
|
114
120
|
does not certify arbitrary plugin behavior or other native inputs.
|
|
115
121
|
|
|
116
122
|
The CI-278 delivery treats this as cooperative instrumentation. It accepts the
|
|
117
|
-
remaining startup,
|
|
123
|
+
remaining startup, collection-prototype, child-delegation and report-write
|
|
118
124
|
gaps described in the [Maestro observation boundary](../../docs/maestro-rebundle.md#accepted-observation-boundary).
|
|
119
125
|
[PR #829](https://bitbucket.org/infopuls/ci-artifacts/pull-requests/829) remains open
|
|
120
126
|
for that hardening; a supported protocol response alone does not establish a
|
package/dist/probe.d.ts
CHANGED
|
@@ -27,14 +27,14 @@ export declare const VERSION_USAGE_GLOBAL: unique symbol;
|
|
|
27
27
|
*/
|
|
28
28
|
export declare const NATIVE_PROJECTION_CONTRACT: "expo-native-version-v1";
|
|
29
29
|
export type VersionUsageCollector = {
|
|
30
|
-
protocol: typeof VERSION_USAGE_PROTOCOL;
|
|
31
|
-
nativeContract: typeof NATIVE_PROJECTION_CONTRACT;
|
|
30
|
+
readonly protocol: typeof VERSION_USAGE_PROTOCOL;
|
|
31
|
+
readonly nativeContract: typeof NATIVE_PROJECTION_CONTRACT;
|
|
32
32
|
/**
|
|
33
33
|
* Read `versionPath` and return ONLY its native projection, detached. The
|
|
34
34
|
* collector — not its caller — performs the read, so the payload never
|
|
35
35
|
* reaches config code through this API.
|
|
36
36
|
*/
|
|
37
|
-
readNative: (versionPath: string) => NativeVersionDescriptor;
|
|
37
|
+
readonly readNative: (versionPath: string) => NativeVersionDescriptor;
|
|
38
38
|
};
|
|
39
39
|
/**
|
|
40
40
|
* The installed collector, or `undefined` when none is compatible.
|
package/dist/probe.js
CHANGED
|
@@ -92,9 +92,10 @@ export function installVersionUsageProbe(value) {
|
|
|
92
92
|
}
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
const { protocol, nativeContract, readNative } = value;
|
|
96
|
+
if (protocol !== VERSION_USAGE_PROTOCOL ||
|
|
97
|
+
nativeContract !== NATIVE_PROJECTION_CONTRACT ||
|
|
98
|
+
typeof readNative !== "function") {
|
|
98
99
|
throw new Error(`version usage probe protocol must be ${VERSION_USAGE_PROTOCOL} ` +
|
|
99
100
|
`for ${NATIVE_PROJECTION_CONTRACT}`);
|
|
100
101
|
}
|
|
@@ -103,7 +104,12 @@ export function installVersionUsageProbe(value) {
|
|
|
103
104
|
"installVersionUsageProbe(undefined) before installing another");
|
|
104
105
|
}
|
|
105
106
|
const previous = installed;
|
|
106
|
-
|
|
107
|
+
Object.defineProperties(value, {
|
|
108
|
+
protocol: { value: protocol },
|
|
109
|
+
nativeContract: { value: nativeContract },
|
|
110
|
+
readNative: { value: readNative },
|
|
111
|
+
});
|
|
112
|
+
installed = Object.freeze(value);
|
|
107
113
|
try {
|
|
108
114
|
claimSlot();
|
|
109
115
|
}
|
package/dist/probe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GAEzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAgC,MAAM,YAAY,CAAC;AAEnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAU,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAC5C,oCAAoC,CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAalE;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,KAAK,GAAI,UAA2C,CACxD,oBAAoB,CACrB,CAAC;IACF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAuC,CAAC;IAC1D,OAAO,SAAS,CAAC,QAAQ,KAAK,sBAAsB;QAChD,SAAS,CAAC,cAAc,KAAK,0BAA0B;QACvD,OAAO,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QAC7C,SAAmC,CAAC,CAAC;QACtC,SAAS,CAAC;AACd,CAAC;AAED,6EAA6E;AAC7E;;;;;GAKG;AACH,IAAI,SAA4C,CAAC;AACjD,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB;;;;;GAKG;AACH,SAAS,SAAS;IAChB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,oBAAoB,EAAE;YACtD,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,6FAA6F,EAC7F,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAwC;IAExC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,SAAS,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAQ,UAA2C,CAAC,oBAAoB,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO;IACT,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bozana-expo-version-json",
|
|
3
3
|
"license": "UNLICENSED",
|
|
4
|
-
"version": "6.1.
|
|
4
|
+
"version": "6.1.1",
|
|
5
5
|
"description": "Consumer-side version.json contract for ci-artifacts Expo version-state — strict read/validate/types. Zero runtime deps.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|