on-zero 0.16.17 → 0.16.19
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/dist/cjs/createZeroClient.cjs +44 -11
- package/dist/cjs/createZeroClient.native.js +54 -17
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroClient.recovery.test.cjs +49 -0
- package/dist/cjs/createZeroClient.recovery.test.native.js +53 -0
- package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/cjs/generate-helpers.cjs +28 -0
- package/dist/cjs/generate-helpers.native.js +36 -0
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-layout.cjs +62 -53
- package/dist/cjs/generate-layout.native.js +62 -54
- package/dist/cjs/generate-layout.native.js.map +1 -1
- package/dist/cjs/generate-lite.cjs +28 -0
- package/dist/cjs/generate-lite.native.js +89 -33
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +46 -0
- package/dist/cjs/generate-lite.test.native.js +46 -0
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +237 -243
- package/dist/cjs/generate.native.js +352 -353
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +35 -0
- package/dist/cjs/generate.test.native.js +35 -0
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.cjs +2 -1
- package/dist/cjs/helpers/createMutators.native.js +3 -1
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.cjs +8 -2
- package/dist/cjs/helpers/recoverZeroClient.native.js +10 -2
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.test.cjs +53 -0
- package/dist/cjs/helpers/recoverZeroClient.test.native.js +55 -0
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/cjs/native-typescript.cjs +190 -0
- package/dist/cjs/native-typescript.native.js +255 -0
- package/dist/cjs/native-typescript.native.js.map +1 -0
- package/dist/esm/createZeroClient.mjs +44 -11
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +54 -17
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.mjs +50 -1
- package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +54 -1
- package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/esm/generate-helpers.mjs +27 -1
- package/dist/esm/generate-helpers.mjs.map +1 -1
- package/dist/esm/generate-helpers.native.js +35 -1
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-layout.mjs +52 -54
- package/dist/esm/generate-layout.mjs.map +1 -1
- package/dist/esm/generate-layout.native.js +52 -55
- package/dist/esm/generate-layout.native.js.map +1 -1
- package/dist/esm/generate-lite.mjs +29 -1
- package/dist/esm/generate-lite.mjs.map +1 -1
- package/dist/esm/generate-lite.native.js +90 -34
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +46 -0
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +46 -0
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +238 -244
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +353 -354
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +35 -0
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +35 -0
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +2 -1
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +3 -1
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.mjs +8 -2
- package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js +10 -2
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.mjs +53 -0
- package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js +55 -0
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/native-typescript.mjs +164 -0
- package/dist/esm/native-typescript.mjs.map +1 -0
- package/dist/esm/native-typescript.native.js +226 -0
- package/dist/esm/native-typescript.native.js.map +1 -0
- package/package.json +4 -3
- package/src/createZeroClient.recovery.test.tsx +56 -1
- package/src/createZeroClient.tsx +54 -15
- package/src/generate-helpers.ts +79 -0
- package/src/generate-layout.ts +64 -108
- package/src/generate-lite.test.ts +49 -0
- package/src/generate-lite.ts +44 -0
- package/src/generate.test.ts +52 -0
- package/src/generate.ts +313 -366
- package/src/helpers/createMutators.ts +14 -3
- package/src/helpers/recoverZeroClient.test.ts +50 -0
- package/src/helpers/recoverZeroClient.ts +12 -2
- package/src/native-typescript.ts +176 -0
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/generate-helpers.d.ts +13 -0
- package/types/generate-helpers.d.ts.map +1 -1
- package/types/generate-layout.d.ts +2 -1
- package/types/generate-layout.d.ts.map +1 -1
- package/types/generate-lite.d.ts +1 -0
- package/types/generate-lite.d.ts.map +1 -1
- package/types/generate.d.ts.map +1 -1
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/helpers/recoverZeroClient.d.ts.map +1 -1
- package/types/native-typescript.d.ts +11 -0
- package/types/native-typescript.d.ts.map +1 -0
|
@@ -34,7 +34,13 @@ function defaultGuardStorage() {
|
|
|
34
34
|
}
|
|
35
35
|
function recoveryGuardOpen(reasonKey, guardStorage) {
|
|
36
36
|
var _inMemoryGuard_get;
|
|
37
|
-
var
|
|
37
|
+
var documentScope = "";
|
|
38
|
+
try {
|
|
39
|
+
var _ref;
|
|
40
|
+
var _globalThis_location;
|
|
41
|
+
documentScope = (_ref = (_globalThis_location = globalThis.location) === null || _globalThis_location === void 0 ? void 0 : _globalThis_location.href) !== null && _ref !== void 0 ? _ref : "";
|
|
42
|
+
} catch (unused) {}
|
|
43
|
+
var key = `on-zero-recover-${documentScope}-${reasonKey}`;
|
|
38
44
|
var now = Date.now();
|
|
39
45
|
var memLast = (_inMemoryGuard_get = inMemoryGuard.get(key)) !== null && _inMemoryGuard_get !== void 0 ? _inMemoryGuard_get : 0;
|
|
40
46
|
if (memLast > 0 && now - memLast < RECOVER_GUARD_MS) return false;
|
|
@@ -118,7 +124,9 @@ function recover(deps, reasonKey, message, dropLocalState) {
|
|
|
118
124
|
return Promise.resolve().then(deps.deleteLocalState);
|
|
119
125
|
});
|
|
120
126
|
}
|
|
121
|
-
if (deps.recoverInPlace
|
|
127
|
+
if (deps.recoverInPlace && !pendingInPlaceRecoveries.includes(deps.recoverInPlace)) {
|
|
128
|
+
pendingInPlaceRecoveries.push(deps.recoverInPlace);
|
|
129
|
+
}
|
|
122
130
|
if (reloadScheduled) return;
|
|
123
131
|
if (!recoveryGuardOpen(reasonKey, deps.guardStorage)) {
|
|
124
132
|
console.error(`[on-zero] ${message} \u2014 already recovered once, not reloading`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","RECOVER_GUARD_MS","RELOAD_LATCH_TIMEOUT_MS","LOCAL_STORE_LOST","SQLITE_ERROR_NAME","SQLITE_STATEMENT_FINALIZED","STORE_CLOSED","STORE_CLOSED_REPEAT_MIN_MS","STORE_CLOSED_REPEAT_MAX_MS","reloadScheduled","reloadInProgress","reloadLatchTimer","pendingDeletes","pendingInPlaceRecoveries","inMemoryGuard","Map","defaultGuardStorage","window","sessionStorage","unused","recoveryGuardOpen","reasonKey","guardStorage","_inMemoryGuard_get","key","now","Date","memLast","get","storage","rawLast","getItem","last","Number","setItem","String","set","lastStoreClosedAtMs","armReloadLatchTimeout","setTimeout","clearTimeout","unref","disarmReloadLatchTimeout","performReload","deps","_deps_reload","Promise","resolve","doReload","reload","
|
|
1
|
+
{"version":3,"names":["_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","RECOVER_GUARD_MS","RELOAD_LATCH_TIMEOUT_MS","LOCAL_STORE_LOST","SQLITE_ERROR_NAME","SQLITE_STATEMENT_FINALIZED","STORE_CLOSED","STORE_CLOSED_REPEAT_MIN_MS","STORE_CLOSED_REPEAT_MAX_MS","reloadScheduled","reloadInProgress","reloadLatchTimer","pendingDeletes","pendingInPlaceRecoveries","inMemoryGuard","Map","defaultGuardStorage","window","sessionStorage","unused","recoveryGuardOpen","reasonKey","guardStorage","_inMemoryGuard_get","documentScope","_ref","_globalThis_location","globalThis","location","href","key","now","Date","memLast","get","storage","rawLast","getItem","last","Number","setItem","String","set","lastStoreClosedAtMs","armReloadLatchTimeout","setTimeout","clearTimeout","unref","disarmReloadLatchTimeout","performReload","deps","_deps_reload","Promise","resolve","doReload","reload","call","inPlaceRecoveries","then","splice","allSettled","map","run","_deps_beforeReload","beforeReload","catch","reloadStarted","results","all","recover2","length","some","recovered","console","error","recover","message","dropLocalState","_deps_onRecovery","onRecovery","push","deleteLocalState","recoverInPlace","includes","zeroEvents","emit","type","reason","_globalThis_dispatchEvent","_globalThis","dispatchEvent","CustomEvent","detail","warn","runReload","runReload2","scheduleReload","makeZeroRecovery","onUpdateNeeded","onClientStateNotFound","logToConsole","level","context","_len","arguments","args","Array","_key","prefix","Object","entries","param","value","join","method","logArgText","arg","Error","name","stack","isBenignStoreClosedLog","text","test","classifyMutationDesync","classifyZeroRecoveryLog","nowMs","desync","prevMs"],"sources":["../../../src/helpers/recoverZeroClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -117,6 +117,38 @@ describe("zero recovery", () => {
|
|
|
117
117
|
expect(recoverA).toHaveBeenCalledTimes(1);
|
|
118
118
|
expect(recoverB).toHaveBeenCalledTimes(1);
|
|
119
119
|
});
|
|
120
|
+
test("duplicate native recovery signals remint one client once", async () => {
|
|
121
|
+
const {
|
|
122
|
+
deps
|
|
123
|
+
} = setup();
|
|
124
|
+
deps.reload = void 0;
|
|
125
|
+
const recoverInPlace = vi.fn().mockResolvedValueOnce(true).mockResolvedValue(false);
|
|
126
|
+
deps.recoverInPlace = recoverInPlace;
|
|
127
|
+
const consoleError = vi.spyOn(console, "error").mockImplementation(() => {});
|
|
128
|
+
const originalLocation = globalThis.location;
|
|
129
|
+
Object.defineProperty(globalThis, "location", {
|
|
130
|
+
configurable: true,
|
|
131
|
+
value: void 0
|
|
132
|
+
});
|
|
133
|
+
try {
|
|
134
|
+
const recovery = makeZeroRecovery(deps);
|
|
135
|
+
recovery.onUpdateNeeded({
|
|
136
|
+
type: UpdateNeededReasonType.NewClientGroup
|
|
137
|
+
});
|
|
138
|
+
recovery.onUpdateNeeded({
|
|
139
|
+
type: UpdateNeededReasonType.NewClientGroup
|
|
140
|
+
});
|
|
141
|
+
await flush();
|
|
142
|
+
expect(recoverInPlace).toHaveBeenCalledTimes(1);
|
|
143
|
+
expect(consoleError).not.toHaveBeenCalledWith("[on-zero] recovery could not reload or reconstruct the client");
|
|
144
|
+
} finally {
|
|
145
|
+
Object.defineProperty(globalThis, "location", {
|
|
146
|
+
configurable: true,
|
|
147
|
+
value: originalLocation
|
|
148
|
+
});
|
|
149
|
+
consoleError.mockRestore();
|
|
150
|
+
}
|
|
151
|
+
});
|
|
120
152
|
test("a second trigger in the same page-load adds no extra reload or fatal", async () => {
|
|
121
153
|
const {
|
|
122
154
|
deps,
|
|
@@ -162,6 +194,27 @@ describe("zero recovery", () => {
|
|
|
162
194
|
await flush();
|
|
163
195
|
expect(reload).toHaveBeenCalledTimes(2);
|
|
164
196
|
});
|
|
197
|
+
test("same-origin sibling documents do not share a recovery guard", async () => {
|
|
198
|
+
const {
|
|
199
|
+
deps,
|
|
200
|
+
reload,
|
|
201
|
+
events
|
|
202
|
+
} = setup();
|
|
203
|
+
const originalUrl = window.location.href;
|
|
204
|
+
try {
|
|
205
|
+
window.history.replaceState({}, "", "/preview/first");
|
|
206
|
+
makeZeroRecovery(deps).onClientStateNotFound();
|
|
207
|
+
await flush();
|
|
208
|
+
resetRecoveryStateForTests();
|
|
209
|
+
window.history.replaceState({}, "", "/preview/second");
|
|
210
|
+
makeZeroRecovery(deps).onClientStateNotFound();
|
|
211
|
+
await flush();
|
|
212
|
+
} finally {
|
|
213
|
+
window.history.replaceState({}, "", originalUrl);
|
|
214
|
+
}
|
|
215
|
+
expect(reload).toHaveBeenCalledTimes(2);
|
|
216
|
+
expect(events.filter(event => event.type === "fatal")).toEqual([]);
|
|
217
|
+
});
|
|
165
218
|
test("logSink recovers on local-store-lost and forwards to the consumer sink", async () => {
|
|
166
219
|
const {
|
|
167
220
|
deps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UpdateNeededReasonType","beforeEach","describe","expect","test","vi","createEmitter","classifyZeroRecoveryLog","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","resetRecoveryStateForTests","emitterSeq","setup","events","zeroEvents","listen","event","push","deleteLocalState","fn","Promise","resolve","reload","deps","flush","setTimeout","window","sessionStorage","clear","onUpdateNeeded","type","SchemaVersionNotSupported","toEqual","reasonKey","reason","stringContaining","toHaveBeenCalledTimes","recovery","NewClientGroup","VersionNotSupported","not","toHaveBeenCalled","onClientStateNotFound","a","b","mock","calls","length","toBe","recoverA","recoverB","recoverInPlace","originalLocation","globalThis","location","Object","defineProperty","configurable","value","filter","some","consumer","log","sink","sqliteError","Error","name","bgIntervalProcess","nowSpy","spyOn","Date","mockReturnValue","mockRestore","infoSpy","console","mockImplementation","worker","toHaveBeenCalledWith","ClassSink","flushed","toMatchObject","dropLocalState","message","toBeUndefined","toContainEqual","captured","scheduleReload","ctx","performReload","nativeReload","beforeReload","useFakeTimers","toBeDefined","advanceTimersByTimeAsync","useRealTimers","releaseBeforeReload","store","Map","guardStorage","getItem","key","get","setItem","set","cases","args","benignLogPatterns"],"sources":["../../../src/helpers/recoverZeroClient.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["UpdateNeededReasonType","beforeEach","describe","expect","test","vi","createEmitter","classifyZeroRecoveryLog","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","resetRecoveryStateForTests","emitterSeq","setup","events","zeroEvents","listen","event","push","deleteLocalState","fn","Promise","resolve","reload","deps","flush","setTimeout","window","sessionStorage","clear","onUpdateNeeded","type","SchemaVersionNotSupported","toEqual","reasonKey","reason","stringContaining","toHaveBeenCalledTimes","recovery","NewClientGroup","VersionNotSupported","not","toHaveBeenCalled","onClientStateNotFound","a","b","mock","calls","length","toBe","recoverA","recoverB","recoverInPlace","originalLocation","globalThis","location","Object","defineProperty","configurable","value","mockResolvedValueOnce","mockResolvedValue","consoleError","spyOn","console","mockImplementation","toHaveBeenCalledWith","mockRestore","filter","some","originalUrl","href","history","replaceState","consumer","log","sink","sqliteError","Error","name","bgIntervalProcess","nowSpy","Date","mockReturnValue","infoSpy","worker","ClassSink","flushed","toMatchObject","dropLocalState","message","toBeUndefined","toContainEqual","captured","scheduleReload","ctx","performReload","nativeReload","beforeReload","useFakeTimers","toBeDefined","advanceTimersByTimeAsync","useRealTimers","releaseBeforeReload","store","Map","guardStorage","getItem","key","get","setItem","set","cases","args","benignLogPatterns"],"sources":["../../../src/helpers/recoverZeroClient.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -153,6 +153,38 @@ describe("zero recovery", function () {
|
|
|
153
153
|
expect(recoverA).toHaveBeenCalledTimes(1);
|
|
154
154
|
expect(recoverB).toHaveBeenCalledTimes(1);
|
|
155
155
|
});
|
|
156
|
+
test("duplicate native recovery signals remint one client once", async function () {
|
|
157
|
+
var {
|
|
158
|
+
deps
|
|
159
|
+
} = setup();
|
|
160
|
+
deps.reload = void 0;
|
|
161
|
+
var recoverInPlace = vi.fn().mockResolvedValueOnce(true).mockResolvedValue(false);
|
|
162
|
+
deps.recoverInPlace = recoverInPlace;
|
|
163
|
+
var consoleError = vi.spyOn(console, "error").mockImplementation(function () {});
|
|
164
|
+
var originalLocation = globalThis.location;
|
|
165
|
+
Object.defineProperty(globalThis, "location", {
|
|
166
|
+
configurable: true,
|
|
167
|
+
value: void 0
|
|
168
|
+
});
|
|
169
|
+
try {
|
|
170
|
+
var recovery = makeZeroRecovery(deps);
|
|
171
|
+
recovery.onUpdateNeeded({
|
|
172
|
+
type: UpdateNeededReasonType.NewClientGroup
|
|
173
|
+
});
|
|
174
|
+
recovery.onUpdateNeeded({
|
|
175
|
+
type: UpdateNeededReasonType.NewClientGroup
|
|
176
|
+
});
|
|
177
|
+
await flush();
|
|
178
|
+
expect(recoverInPlace).toHaveBeenCalledTimes(1);
|
|
179
|
+
expect(consoleError).not.toHaveBeenCalledWith("[on-zero] recovery could not reload or reconstruct the client");
|
|
180
|
+
} finally {
|
|
181
|
+
Object.defineProperty(globalThis, "location", {
|
|
182
|
+
configurable: true,
|
|
183
|
+
value: originalLocation
|
|
184
|
+
});
|
|
185
|
+
consoleError.mockRestore();
|
|
186
|
+
}
|
|
187
|
+
});
|
|
156
188
|
test("a second trigger in the same page-load adds no extra reload or fatal", async function () {
|
|
157
189
|
var {
|
|
158
190
|
deps,
|
|
@@ -202,6 +234,29 @@ describe("zero recovery", function () {
|
|
|
202
234
|
await flush();
|
|
203
235
|
expect(reload).toHaveBeenCalledTimes(2);
|
|
204
236
|
});
|
|
237
|
+
test("same-origin sibling documents do not share a recovery guard", async function () {
|
|
238
|
+
var {
|
|
239
|
+
deps,
|
|
240
|
+
reload,
|
|
241
|
+
events
|
|
242
|
+
} = setup();
|
|
243
|
+
var originalUrl = window.location.href;
|
|
244
|
+
try {
|
|
245
|
+
window.history.replaceState({}, "", "/preview/first");
|
|
246
|
+
makeZeroRecovery(deps).onClientStateNotFound();
|
|
247
|
+
await flush();
|
|
248
|
+
resetRecoveryStateForTests();
|
|
249
|
+
window.history.replaceState({}, "", "/preview/second");
|
|
250
|
+
makeZeroRecovery(deps).onClientStateNotFound();
|
|
251
|
+
await flush();
|
|
252
|
+
} finally {
|
|
253
|
+
window.history.replaceState({}, "", originalUrl);
|
|
254
|
+
}
|
|
255
|
+
expect(reload).toHaveBeenCalledTimes(2);
|
|
256
|
+
expect(events.filter(function (event) {
|
|
257
|
+
return event.type === "fatal";
|
|
258
|
+
})).toEqual([]);
|
|
259
|
+
});
|
|
205
260
|
test("logSink recovers on local-store-lost and forwards to the consumer sink", async function () {
|
|
206
261
|
var {
|
|
207
262
|
deps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UpdateNeededReasonType","beforeEach","describe","expect","test","vi","createEmitter","classifyZeroRecoveryLog","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","resetRecoveryStateForTests","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","emitterSeq","setup","events","zeroEvents","listen","event","push","deleteLocalState","fn","Promise","resolve","reload","deps","flush","setTimeout","window","sessionStorage","clear","onUpdateNeeded","type","SchemaVersionNotSupported","toEqual","reasonKey","reason","stringContaining","toHaveBeenCalledTimes","recovery","NewClientGroup","VersionNotSupported","not","toHaveBeenCalled","onClientStateNotFound","a","b","mock","calls","toBe","recoverA","recoverB","recoverInPlace","originalLocation","globalThis","location","filter","some","consumer","log","sink","sqliteError","Error","name","bgIntervalProcess","nowSpy","spyOn","Date","mockReturnValue","mockRestore","infoSpy","console","mockImplementation","worker","toHaveBeenCalledWith","_sink_flush","ClassSink","ClassSink2","flush2","flushed","call","toMatchObject","dropLocalState","message","toBeUndefined","toContainEqual","captured","scheduleReload","ctx","performReload","nativeReload","beforeReload","useFakeTimers","toBeDefined","advanceTimersByTimeAsync","useRealTimers","releaseBeforeReload","releaseBeforeReload2"],"sources":["../../../src/helpers/recoverZeroClient.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["UpdateNeededReasonType","beforeEach","describe","expect","test","vi","createEmitter","classifyZeroRecoveryLog","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","resetRecoveryStateForTests","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","emitterSeq","setup","events","zeroEvents","listen","event","push","deleteLocalState","fn","Promise","resolve","reload","deps","flush","setTimeout","window","sessionStorage","clear","onUpdateNeeded","type","SchemaVersionNotSupported","toEqual","reasonKey","reason","stringContaining","toHaveBeenCalledTimes","recovery","NewClientGroup","VersionNotSupported","not","toHaveBeenCalled","onClientStateNotFound","a","b","mock","calls","toBe","recoverA","recoverB","recoverInPlace","originalLocation","globalThis","location","mockResolvedValueOnce","mockResolvedValue","consoleError","spyOn","console","mockImplementation","toHaveBeenCalledWith","mockRestore","filter","some","originalUrl","href","history","replaceState","consumer","log","sink","sqliteError","Error","name","bgIntervalProcess","nowSpy","Date","mockReturnValue","infoSpy","worker","_sink_flush","ClassSink","ClassSink2","flush2","flushed","call","toMatchObject","dropLocalState","message","toBeUndefined","toContainEqual","captured","scheduleReload","ctx","performReload","nativeReload","beforeReload","useFakeTimers","toBeDefined","advanceTimersByTimeAsync","useRealTimers","releaseBeforeReload","releaseBeforeReload2"],"sources":["../../../src/helpers/recoverZeroClient.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","createZeroClient","setRunner","defineConfig","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError","classifyZeroRecoveryLog","makeZeroRecovery","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","isStaleGenerationError","mutationErrorMessage","MutationResultError","MutationTimeoutError","StaleGenerationError"],"sources":["index.
|
|
1
|
+
{"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","createZeroClient","setRunner","defineConfig","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError","classifyZeroRecoveryLog","makeZeroRecovery","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","isStaleGenerationError","mutationErrorMessage","MutationResultError","MutationTimeoutError","StaleGenerationError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,SAAAC,gBAAA;AAAA,cACE;AAAA,cAOK;AACP,cAAc;AACd,SAAAC,SAAc;AACd,cAAc;AACd,cAAS;AACT,cAAc;AACd,cAAc;AACd,SAAAC,YAAc;AACd,SAAAC,WAAc,EAAAC,aAAA;AACd,SAASC,mBAAA,QAA8D;AACvE,SAASC,uBAAa,EAAAC,yBAAqB;AAQ3C,SAAAC,uBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,iCAAA;AAAA,SACEC,sBAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,oBAAA;AAAA,SAGFF,mBAAA,EACEC,oBAAA,EACAC,oBAAA,EAAAR,uBAGK,EACPH,mBAAA,EACEK,sBAAA,EACAV,gBAAA,EACAE,YAAA,EACAE,aAAA,EAAAD,WAMK,EAEPP,UAAA,EACEC,OAAA,EACAc,iCAAA,EACAC,sBAAA,EACAH,gBAAA,EACAI,oBAAA,EAAAN,yBAOK,E","ignoreList":[]}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { parse } from "@babel/parser";
|
|
4
|
+
import { API } from "typescript/unstable/async";
|
|
5
|
+
process.env.GOMAXPROCS ??= "2";
|
|
6
|
+
let compiler = null;
|
|
7
|
+
let compilerClose = null;
|
|
8
|
+
let compilerCloseTimer = null;
|
|
9
|
+
let compilerTurn = Promise.resolve();
|
|
10
|
+
async function closeCompiler(session) {
|
|
11
|
+
try {
|
|
12
|
+
if (session.paths.size > 0) {
|
|
13
|
+
const snapshot = await session.api.updateSnapshot({
|
|
14
|
+
closeFiles: [...session.paths]
|
|
15
|
+
});
|
|
16
|
+
await snapshot.dispose();
|
|
17
|
+
}
|
|
18
|
+
} finally {
|
|
19
|
+
await session.api.close();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
async function acquireCompiler(root, sourcePaths) {
|
|
23
|
+
const previousTurn = compilerTurn;
|
|
24
|
+
let releaseTurn = () => {};
|
|
25
|
+
compilerTurn = new Promise(resolveTurn => {
|
|
26
|
+
releaseTurn = resolveTurn;
|
|
27
|
+
});
|
|
28
|
+
await previousTurn;
|
|
29
|
+
if (compilerCloseTimer) {
|
|
30
|
+
clearTimeout(compilerCloseTimer);
|
|
31
|
+
compilerCloseTimer = null;
|
|
32
|
+
}
|
|
33
|
+
if (compilerClose) await compilerClose;
|
|
34
|
+
if (compiler && compiler.root !== root) {
|
|
35
|
+
const previous = compiler;
|
|
36
|
+
compiler = null;
|
|
37
|
+
await closeCompiler(previous);
|
|
38
|
+
}
|
|
39
|
+
compiler ??= {
|
|
40
|
+
api: new API({
|
|
41
|
+
cwd: root
|
|
42
|
+
}),
|
|
43
|
+
paths: /* @__PURE__ */new Set(),
|
|
44
|
+
root
|
|
45
|
+
};
|
|
46
|
+
compiler.api.clearSourceFileCache();
|
|
47
|
+
const previousPaths = compiler.paths;
|
|
48
|
+
const nextPaths = new Set(sourcePaths);
|
|
49
|
+
compiler.paths = nextPaths;
|
|
50
|
+
if (previousPaths.size > 0) {
|
|
51
|
+
const closedSnapshot = await compiler.api.updateSnapshot({
|
|
52
|
+
closeFiles: [...previousPaths],
|
|
53
|
+
fileChanges: {
|
|
54
|
+
invalidateAll: true
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
await closedSnapshot.dispose();
|
|
58
|
+
compiler.api.clearSourceFileCache();
|
|
59
|
+
}
|
|
60
|
+
const snapshot = await compiler.api.updateSnapshot({
|
|
61
|
+
openFiles: sourcePaths,
|
|
62
|
+
fileChanges: {
|
|
63
|
+
invalidateAll: true
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
compiler.api.clearSourceFileCache();
|
|
67
|
+
return {
|
|
68
|
+
session: compiler,
|
|
69
|
+
snapshot,
|
|
70
|
+
releaseTurn
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function releaseCompiler(session, releaseTurn) {
|
|
74
|
+
releaseTurn();
|
|
75
|
+
compilerCloseTimer = setTimeout(() => {
|
|
76
|
+
compilerCloseTimer = null;
|
|
77
|
+
if (compiler !== session) return;
|
|
78
|
+
compiler = null;
|
|
79
|
+
compilerClose = closeCompiler(session).finally(() => {
|
|
80
|
+
compilerClose = null;
|
|
81
|
+
});
|
|
82
|
+
}, 25);
|
|
83
|
+
compilerCloseTimer.unref?.();
|
|
84
|
+
}
|
|
85
|
+
function collectTypeScriptSourcePaths(roots) {
|
|
86
|
+
const paths = /* @__PURE__ */new Set();
|
|
87
|
+
const visited = /* @__PURE__ */new Set();
|
|
88
|
+
const walk = dir => {
|
|
89
|
+
if (visited.has(dir) || !existsSync(dir)) return;
|
|
90
|
+
visited.add(dir);
|
|
91
|
+
for (const entry of readdirSync(dir, {
|
|
92
|
+
withFileTypes: true
|
|
93
|
+
})) {
|
|
94
|
+
if (entry.name === "node_modules") continue;
|
|
95
|
+
const path = resolve(dir, entry.name);
|
|
96
|
+
if (entry.isDirectory()) {
|
|
97
|
+
walk(path);
|
|
98
|
+
} else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx"))) {
|
|
99
|
+
paths.add(path);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
for (const root of roots) walk(resolve(root));
|
|
104
|
+
return [...paths].sort();
|
|
105
|
+
}
|
|
106
|
+
async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
107
|
+
if (sourcePaths.length === 0) {
|
|
108
|
+
throw new Error(`[on-zero] no TypeScript source files found under ${root}`);
|
|
109
|
+
}
|
|
110
|
+
const {
|
|
111
|
+
session,
|
|
112
|
+
snapshot,
|
|
113
|
+
releaseTurn
|
|
114
|
+
} = await acquireCompiler(root, sourcePaths);
|
|
115
|
+
const sources = /* @__PURE__ */new Map();
|
|
116
|
+
const projectsByFile = /* @__PURE__ */new Map();
|
|
117
|
+
const parseErrors = /* @__PURE__ */new Set();
|
|
118
|
+
try {
|
|
119
|
+
for (const path of sourcePaths) {
|
|
120
|
+
const project = await snapshot.getDefaultProjectForFile(path);
|
|
121
|
+
if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`);
|
|
122
|
+
const source = await project.program.getSourceFile(path);
|
|
123
|
+
if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path}`);
|
|
124
|
+
sources.set(path, source);
|
|
125
|
+
projectsByFile.set(path, project);
|
|
126
|
+
try {
|
|
127
|
+
parse(readFileSync(path, "utf8"), {
|
|
128
|
+
plugins: ["jsx", "typescript"],
|
|
129
|
+
sourceType: "module"
|
|
130
|
+
});
|
|
131
|
+
} catch {
|
|
132
|
+
parseErrors.add(path);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
} catch (error) {
|
|
136
|
+
await snapshot.dispose();
|
|
137
|
+
releaseCompiler(session, releaseTurn);
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
let closed = false;
|
|
141
|
+
return {
|
|
142
|
+
projectForFile(path) {
|
|
143
|
+
const project = projectsByFile.get(resolve(path));
|
|
144
|
+
if (!project) throw new Error(`[on-zero] TypeScript project does not contain ${path}`);
|
|
145
|
+
return project;
|
|
146
|
+
},
|
|
147
|
+
sourceFile(path) {
|
|
148
|
+
const source = sources.get(resolve(path));
|
|
149
|
+
if (!source) throw new Error(`[on-zero] TypeScript project does not contain ${path}`);
|
|
150
|
+
return source;
|
|
151
|
+
},
|
|
152
|
+
hasParseErrors(path) {
|
|
153
|
+
return parseErrors.has(resolve(path));
|
|
154
|
+
},
|
|
155
|
+
async close() {
|
|
156
|
+
if (closed) return;
|
|
157
|
+
closed = true;
|
|
158
|
+
await snapshot.dispose();
|
|
159
|
+
releaseCompiler(session, releaseTurn);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
export { collectTypeScriptSourcePaths, createNativeTypeScriptProject };
|
|
164
|
+
//# sourceMappingURL=native-typescript.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["existsSync","readFileSync","readdirSync","resolve","parse","API","process","env","GOMAXPROCS","compiler","compilerClose","compilerCloseTimer","compilerTurn","Promise","closeCompiler","session","paths","size","snapshot","api","updateSnapshot","closeFiles","dispose","close","acquireCompiler","root","sourcePaths","previousTurn","releaseTurn","resolveTurn","clearTimeout","previous","cwd","Set","clearSourceFileCache","previousPaths","nextPaths","closedSnapshot","fileChanges","invalidateAll","openFiles","releaseCompiler","setTimeout","finally","unref","collectTypeScriptSourcePaths","roots","visited","walk","dir","has","add","entry","withFileTypes","name","path","isDirectory","isFile","endsWith","sort","createNativeTypeScriptProject","length","Error","sources","Map","projectsByFile","parseErrors","project","getDefaultProjectForFile","source","program","getSourceFile","set","plugins","sourceType","error","closed","projectForFile","get","sourceFile","hasParseErrors"],"sources":["../../src/native-typescript.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|