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.
Files changed (110) hide show
  1. package/dist/cjs/createZeroClient.cjs +44 -11
  2. package/dist/cjs/createZeroClient.native.js +54 -17
  3. package/dist/cjs/createZeroClient.native.js.map +1 -1
  4. package/dist/cjs/createZeroClient.recovery.test.cjs +49 -0
  5. package/dist/cjs/createZeroClient.recovery.test.native.js +53 -0
  6. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  7. package/dist/cjs/generate-helpers.cjs +28 -0
  8. package/dist/cjs/generate-helpers.native.js +36 -0
  9. package/dist/cjs/generate-helpers.native.js.map +1 -1
  10. package/dist/cjs/generate-layout.cjs +62 -53
  11. package/dist/cjs/generate-layout.native.js +62 -54
  12. package/dist/cjs/generate-layout.native.js.map +1 -1
  13. package/dist/cjs/generate-lite.cjs +28 -0
  14. package/dist/cjs/generate-lite.native.js +89 -33
  15. package/dist/cjs/generate-lite.native.js.map +1 -1
  16. package/dist/cjs/generate-lite.test.cjs +46 -0
  17. package/dist/cjs/generate-lite.test.native.js +46 -0
  18. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  19. package/dist/cjs/generate.cjs +237 -243
  20. package/dist/cjs/generate.native.js +352 -353
  21. package/dist/cjs/generate.native.js.map +1 -1
  22. package/dist/cjs/generate.test.cjs +35 -0
  23. package/dist/cjs/generate.test.native.js +35 -0
  24. package/dist/cjs/generate.test.native.js.map +1 -1
  25. package/dist/cjs/helpers/createMutators.cjs +2 -1
  26. package/dist/cjs/helpers/createMutators.native.js +3 -1
  27. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  28. package/dist/cjs/helpers/recoverZeroClient.cjs +8 -2
  29. package/dist/cjs/helpers/recoverZeroClient.native.js +10 -2
  30. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  31. package/dist/cjs/helpers/recoverZeroClient.test.cjs +53 -0
  32. package/dist/cjs/helpers/recoverZeroClient.test.native.js +55 -0
  33. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  34. package/dist/cjs/native-typescript.cjs +190 -0
  35. package/dist/cjs/native-typescript.native.js +255 -0
  36. package/dist/cjs/native-typescript.native.js.map +1 -0
  37. package/dist/esm/createZeroClient.mjs +44 -11
  38. package/dist/esm/createZeroClient.mjs.map +1 -1
  39. package/dist/esm/createZeroClient.native.js +54 -17
  40. package/dist/esm/createZeroClient.native.js.map +1 -1
  41. package/dist/esm/createZeroClient.recovery.test.mjs +50 -1
  42. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  43. package/dist/esm/createZeroClient.recovery.test.native.js +54 -1
  44. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  45. package/dist/esm/generate-helpers.mjs +27 -1
  46. package/dist/esm/generate-helpers.mjs.map +1 -1
  47. package/dist/esm/generate-helpers.native.js +35 -1
  48. package/dist/esm/generate-helpers.native.js.map +1 -1
  49. package/dist/esm/generate-layout.mjs +52 -54
  50. package/dist/esm/generate-layout.mjs.map +1 -1
  51. package/dist/esm/generate-layout.native.js +52 -55
  52. package/dist/esm/generate-layout.native.js.map +1 -1
  53. package/dist/esm/generate-lite.mjs +29 -1
  54. package/dist/esm/generate-lite.mjs.map +1 -1
  55. package/dist/esm/generate-lite.native.js +90 -34
  56. package/dist/esm/generate-lite.native.js.map +1 -1
  57. package/dist/esm/generate-lite.test.mjs +46 -0
  58. package/dist/esm/generate-lite.test.mjs.map +1 -1
  59. package/dist/esm/generate-lite.test.native.js +46 -0
  60. package/dist/esm/generate-lite.test.native.js.map +1 -1
  61. package/dist/esm/generate.mjs +238 -244
  62. package/dist/esm/generate.mjs.map +1 -1
  63. package/dist/esm/generate.native.js +353 -354
  64. package/dist/esm/generate.native.js.map +1 -1
  65. package/dist/esm/generate.test.mjs +35 -0
  66. package/dist/esm/generate.test.mjs.map +1 -1
  67. package/dist/esm/generate.test.native.js +35 -0
  68. package/dist/esm/generate.test.native.js.map +1 -1
  69. package/dist/esm/helpers/createMutators.mjs +2 -1
  70. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  71. package/dist/esm/helpers/createMutators.native.js +3 -1
  72. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  73. package/dist/esm/helpers/recoverZeroClient.mjs +8 -2
  74. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  75. package/dist/esm/helpers/recoverZeroClient.native.js +10 -2
  76. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  77. package/dist/esm/helpers/recoverZeroClient.test.mjs +53 -0
  78. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  79. package/dist/esm/helpers/recoverZeroClient.test.native.js +55 -0
  80. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  81. package/dist/esm/index.native.js.map +1 -1
  82. package/dist/esm/native-typescript.mjs +164 -0
  83. package/dist/esm/native-typescript.mjs.map +1 -0
  84. package/dist/esm/native-typescript.native.js +226 -0
  85. package/dist/esm/native-typescript.native.js.map +1 -0
  86. package/package.json +4 -3
  87. package/src/createZeroClient.recovery.test.tsx +56 -1
  88. package/src/createZeroClient.tsx +54 -15
  89. package/src/generate-helpers.ts +79 -0
  90. package/src/generate-layout.ts +64 -108
  91. package/src/generate-lite.test.ts +49 -0
  92. package/src/generate-lite.ts +44 -0
  93. package/src/generate.test.ts +52 -0
  94. package/src/generate.ts +313 -366
  95. package/src/helpers/createMutators.ts +14 -3
  96. package/src/helpers/recoverZeroClient.test.ts +50 -0
  97. package/src/helpers/recoverZeroClient.ts +12 -2
  98. package/src/native-typescript.ts +176 -0
  99. package/types/createZeroClient.d.ts.map +1 -1
  100. package/types/generate-helpers.d.ts +13 -0
  101. package/types/generate-helpers.d.ts.map +1 -1
  102. package/types/generate-layout.d.ts +2 -1
  103. package/types/generate-layout.d.ts.map +1 -1
  104. package/types/generate-lite.d.ts +1 -0
  105. package/types/generate-lite.d.ts.map +1 -1
  106. package/types/generate.d.ts.map +1 -1
  107. package/types/helpers/createMutators.d.ts.map +1 -1
  108. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  109. package/types/native-typescript.d.ts +11 -0
  110. package/types/native-typescript.d.ts.map +1 -0
@@ -117,6 +117,38 @@ async function flush() {
117
117
  (0, import_vitest.expect)(recoverA).toHaveBeenCalledTimes(1);
118
118
  (0, import_vitest.expect)(recoverB).toHaveBeenCalledTimes(1);
119
119
  });
120
+ (0, import_vitest.test)("duplicate native recovery signals remint one client once", async () => {
121
+ const {
122
+ deps
123
+ } = setup();
124
+ deps.reload = void 0;
125
+ const recoverInPlace = import_vitest.vi.fn().mockResolvedValueOnce(true).mockResolvedValue(false);
126
+ deps.recoverInPlace = recoverInPlace;
127
+ const consoleError = import_vitest.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 = (0, import_recoverZeroClient.makeZeroRecovery)(deps);
135
+ recovery.onUpdateNeeded({
136
+ type: import_zero.UpdateNeededReasonType.NewClientGroup
137
+ });
138
+ recovery.onUpdateNeeded({
139
+ type: import_zero.UpdateNeededReasonType.NewClientGroup
140
+ });
141
+ await flush();
142
+ (0, import_vitest.expect)(recoverInPlace).toHaveBeenCalledTimes(1);
143
+ (0, import_vitest.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
  (0, import_vitest.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 @@ async function flush() {
162
194
  await flush();
163
195
  (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(2);
164
196
  });
197
+ (0, import_vitest.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
+ (0, import_recoverZeroClient.makeZeroRecovery)(deps).onClientStateNotFound();
207
+ await flush();
208
+ (0, import_recoverZeroClient.resetRecoveryStateForTests)();
209
+ window.history.replaceState({}, "", "/preview/second");
210
+ (0, import_recoverZeroClient.makeZeroRecovery)(deps).onClientStateNotFound();
211
+ await flush();
212
+ } finally {
213
+ window.history.replaceState({}, "", originalUrl);
214
+ }
215
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(2);
216
+ (0, import_vitest.expect)(events.filter(event => event.type === "fatal")).toEqual([]);
217
+ });
165
218
  (0, import_vitest.test)("logSink recovers on local-store-lost and forwards to the consumer sink", async () => {
166
219
  const {
167
220
  deps,
@@ -155,6 +155,38 @@ async function flush() {
155
155
  (0, import_vitest.expect)(recoverA).toHaveBeenCalledTimes(1);
156
156
  (0, import_vitest.expect)(recoverB).toHaveBeenCalledTimes(1);
157
157
  });
158
+ (0, import_vitest.test)("duplicate native recovery signals remint one client once", async function () {
159
+ var {
160
+ deps
161
+ } = setup();
162
+ deps.reload = void 0;
163
+ var recoverInPlace = import_vitest.vi.fn().mockResolvedValueOnce(true).mockResolvedValue(false);
164
+ deps.recoverInPlace = recoverInPlace;
165
+ var consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(function () {});
166
+ var originalLocation = globalThis.location;
167
+ Object.defineProperty(globalThis, "location", {
168
+ configurable: true,
169
+ value: void 0
170
+ });
171
+ try {
172
+ var recovery = (0, import_recoverZeroClient.makeZeroRecovery)(deps);
173
+ recovery.onUpdateNeeded({
174
+ type: import_zero.UpdateNeededReasonType.NewClientGroup
175
+ });
176
+ recovery.onUpdateNeeded({
177
+ type: import_zero.UpdateNeededReasonType.NewClientGroup
178
+ });
179
+ await flush();
180
+ (0, import_vitest.expect)(recoverInPlace).toHaveBeenCalledTimes(1);
181
+ (0, import_vitest.expect)(consoleError).not.toHaveBeenCalledWith("[on-zero] recovery could not reload or reconstruct the client");
182
+ } finally {
183
+ Object.defineProperty(globalThis, "location", {
184
+ configurable: true,
185
+ value: originalLocation
186
+ });
187
+ consoleError.mockRestore();
188
+ }
189
+ });
158
190
  (0, import_vitest.test)("a second trigger in the same page-load adds no extra reload or fatal", async function () {
159
191
  var {
160
192
  deps,
@@ -204,6 +236,29 @@ async function flush() {
204
236
  await flush();
205
237
  (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(2);
206
238
  });
239
+ (0, import_vitest.test)("same-origin sibling documents do not share a recovery guard", async function () {
240
+ var {
241
+ deps,
242
+ reload,
243
+ events
244
+ } = setup();
245
+ var originalUrl = window.location.href;
246
+ try {
247
+ window.history.replaceState({}, "", "/preview/first");
248
+ (0, import_recoverZeroClient.makeZeroRecovery)(deps).onClientStateNotFound();
249
+ await flush();
250
+ (0, import_recoverZeroClient.resetRecoveryStateForTests)();
251
+ window.history.replaceState({}, "", "/preview/second");
252
+ (0, import_recoverZeroClient.makeZeroRecovery)(deps).onClientStateNotFound();
253
+ await flush();
254
+ } finally {
255
+ window.history.replaceState({}, "", originalUrl);
256
+ }
257
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(2);
258
+ (0, import_vitest.expect)(events.filter(function (event) {
259
+ return event.type === "fatal";
260
+ })).toEqual([]);
261
+ });
207
262
  (0, import_vitest.test)("logSink recovers on local-store-lost and forwards to the consumer sink", async function () {
208
263
  var {
209
264
  deps,
@@ -1 +1 @@
1
- {"version":3,"names":["import_zero","require","import_vitest","import_emitter","import_recoverZeroClient","_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","createEmitter","listen","event","push","deleteLocalState","vi","fn","Promise","resolve","reload","deps","flush","setTimeout","beforeEach","window","sessionStorage","clear","resetRecoveryStateForTests","describe","test","makeZeroRecovery","onUpdateNeeded","type","UpdateNeededReasonType","SchemaVersionNotSupported","expect","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","composeRecoveryLogSink","sqliteError","Error","name","bgIntervalProcess","nowSpy","spyOn","Date","mockReturnValue","mockRestore","infoSpy","console","mockImplementation","worker","toHaveBeenCalledWith","_sink_flush","ClassSink","ClassSink2","flush2","flushed","call","classifyZeroRecoveryLog","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":["import_zero","require","import_vitest","import_emitter","import_recoverZeroClient","_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","createEmitter","listen","event","push","deleteLocalState","vi","fn","Promise","resolve","reload","deps","flush","setTimeout","beforeEach","window","sessionStorage","clear","resetRecoveryStateForTests","describe","test","makeZeroRecovery","onUpdateNeeded","type","UpdateNeededReasonType","SchemaVersionNotSupported","expect","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","composeRecoveryLogSink","sqliteError","Error","name","bgIntervalProcess","nowSpy","Date","mockReturnValue","infoSpy","worker","_sink_flush","ClassSink","ClassSink2","flush2","flushed","call","classifyZeroRecoveryLog","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":[]}
@@ -0,0 +1,190 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var native_typescript_exports = {};
24
+ __export(native_typescript_exports, {
25
+ collectTypeScriptSourcePaths: () => collectTypeScriptSourcePaths,
26
+ createNativeTypeScriptProject: () => createNativeTypeScriptProject
27
+ });
28
+ module.exports = __toCommonJS(native_typescript_exports);
29
+ var import_node_fs = require("node:fs");
30
+ var import_node_path = require("node:path");
31
+ var import_parser = require("@babel/parser");
32
+ var import_async = require("typescript/unstable/async");
33
+ process.env.GOMAXPROCS ??= "2";
34
+ let compiler = null;
35
+ let compilerClose = null;
36
+ let compilerCloseTimer = null;
37
+ let compilerTurn = Promise.resolve();
38
+ async function closeCompiler(session) {
39
+ try {
40
+ if (session.paths.size > 0) {
41
+ const snapshot = await session.api.updateSnapshot({
42
+ closeFiles: [...session.paths]
43
+ });
44
+ await snapshot.dispose();
45
+ }
46
+ } finally {
47
+ await session.api.close();
48
+ }
49
+ }
50
+ async function acquireCompiler(root, sourcePaths) {
51
+ const previousTurn = compilerTurn;
52
+ let releaseTurn = () => {};
53
+ compilerTurn = new Promise(resolveTurn => {
54
+ releaseTurn = resolveTurn;
55
+ });
56
+ await previousTurn;
57
+ if (compilerCloseTimer) {
58
+ clearTimeout(compilerCloseTimer);
59
+ compilerCloseTimer = null;
60
+ }
61
+ if (compilerClose) await compilerClose;
62
+ if (compiler && compiler.root !== root) {
63
+ const previous = compiler;
64
+ compiler = null;
65
+ await closeCompiler(previous);
66
+ }
67
+ compiler ??= {
68
+ api: new import_async.API({
69
+ cwd: root
70
+ }),
71
+ paths: /* @__PURE__ */new Set(),
72
+ root
73
+ };
74
+ compiler.api.clearSourceFileCache();
75
+ const previousPaths = compiler.paths;
76
+ const nextPaths = new Set(sourcePaths);
77
+ compiler.paths = nextPaths;
78
+ if (previousPaths.size > 0) {
79
+ const closedSnapshot = await compiler.api.updateSnapshot({
80
+ closeFiles: [...previousPaths],
81
+ fileChanges: {
82
+ invalidateAll: true
83
+ }
84
+ });
85
+ await closedSnapshot.dispose();
86
+ compiler.api.clearSourceFileCache();
87
+ }
88
+ const snapshot = await compiler.api.updateSnapshot({
89
+ openFiles: sourcePaths,
90
+ fileChanges: {
91
+ invalidateAll: true
92
+ }
93
+ });
94
+ compiler.api.clearSourceFileCache();
95
+ return {
96
+ session: compiler,
97
+ snapshot,
98
+ releaseTurn
99
+ };
100
+ }
101
+ function releaseCompiler(session, releaseTurn) {
102
+ releaseTurn();
103
+ compilerCloseTimer = setTimeout(() => {
104
+ compilerCloseTimer = null;
105
+ if (compiler !== session) return;
106
+ compiler = null;
107
+ compilerClose = closeCompiler(session).finally(() => {
108
+ compilerClose = null;
109
+ });
110
+ }, 25);
111
+ compilerCloseTimer.unref?.();
112
+ }
113
+ function collectTypeScriptSourcePaths(roots) {
114
+ const paths = /* @__PURE__ */new Set();
115
+ const visited = /* @__PURE__ */new Set();
116
+ const walk = dir => {
117
+ if (visited.has(dir) || !(0, import_node_fs.existsSync)(dir)) return;
118
+ visited.add(dir);
119
+ for (const entry of (0, import_node_fs.readdirSync)(dir, {
120
+ withFileTypes: true
121
+ })) {
122
+ if (entry.name === "node_modules") continue;
123
+ const path = (0, import_node_path.resolve)(dir, entry.name);
124
+ if (entry.isDirectory()) {
125
+ walk(path);
126
+ } else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx"))) {
127
+ paths.add(path);
128
+ }
129
+ }
130
+ };
131
+ for (const root of roots) walk((0, import_node_path.resolve)(root));
132
+ return [...paths].sort();
133
+ }
134
+ async function createNativeTypeScriptProject(root, sourcePaths) {
135
+ if (sourcePaths.length === 0) {
136
+ throw new Error(`[on-zero] no TypeScript source files found under ${root}`);
137
+ }
138
+ const {
139
+ session,
140
+ snapshot,
141
+ releaseTurn
142
+ } = await acquireCompiler(root, sourcePaths);
143
+ const sources = /* @__PURE__ */new Map();
144
+ const projectsByFile = /* @__PURE__ */new Map();
145
+ const parseErrors = /* @__PURE__ */new Set();
146
+ try {
147
+ for (const path of sourcePaths) {
148
+ const project = await snapshot.getDefaultProjectForFile(path);
149
+ if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`);
150
+ const source = await project.program.getSourceFile(path);
151
+ if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path}`);
152
+ sources.set(path, source);
153
+ projectsByFile.set(path, project);
154
+ try {
155
+ (0, import_parser.parse)((0, import_node_fs.readFileSync)(path, "utf8"), {
156
+ plugins: ["jsx", "typescript"],
157
+ sourceType: "module"
158
+ });
159
+ } catch {
160
+ parseErrors.add(path);
161
+ }
162
+ }
163
+ } catch (error) {
164
+ await snapshot.dispose();
165
+ releaseCompiler(session, releaseTurn);
166
+ throw error;
167
+ }
168
+ let closed = false;
169
+ return {
170
+ projectForFile(path) {
171
+ const project = projectsByFile.get((0, import_node_path.resolve)(path));
172
+ if (!project) throw new Error(`[on-zero] TypeScript project does not contain ${path}`);
173
+ return project;
174
+ },
175
+ sourceFile(path) {
176
+ const source = sources.get((0, import_node_path.resolve)(path));
177
+ if (!source) throw new Error(`[on-zero] TypeScript project does not contain ${path}`);
178
+ return source;
179
+ },
180
+ hasParseErrors(path) {
181
+ return parseErrors.has((0, import_node_path.resolve)(path));
182
+ },
183
+ async close() {
184
+ if (closed) return;
185
+ closed = true;
186
+ await snapshot.dispose();
187
+ releaseCompiler(session, releaseTurn);
188
+ }
189
+ };
190
+ }
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var native_typescript_exports = {};
26
+ __export(native_typescript_exports, {
27
+ collectTypeScriptSourcePaths: () => collectTypeScriptSourcePaths,
28
+ createNativeTypeScriptProject: () => createNativeTypeScriptProject
29
+ });
30
+ module.exports = __toCommonJS(native_typescript_exports);
31
+ var import_fs = require("fs");
32
+ var import_path = require("path");
33
+ var import_parser = require("@babel/parser");
34
+ var import_async = require("typescript/unstable/async");
35
+ var _process_env;
36
+ var _GOMAXPROCS;
37
+ (_GOMAXPROCS = (_process_env = process.env).GOMAXPROCS) !== null && _GOMAXPROCS !== void 0 ? _GOMAXPROCS : _process_env.GOMAXPROCS = "2";
38
+ var compiler = null;
39
+ var compilerClose = null;
40
+ var compilerCloseTimer = null;
41
+ var compilerTurn = Promise.resolve();
42
+ async function closeCompiler(session) {
43
+ try {
44
+ if (session.paths.size > 0) {
45
+ var snapshot = await session.api.updateSnapshot({
46
+ closeFiles: [...session.paths]
47
+ });
48
+ await snapshot.dispose();
49
+ }
50
+ } finally {
51
+ await session.api.close();
52
+ }
53
+ }
54
+ async function acquireCompiler(root, sourcePaths) {
55
+ var previousTurn = compilerTurn;
56
+ var releaseTurn = function releaseTurn2() {};
57
+ compilerTurn = new Promise(function (resolveTurn) {
58
+ releaseTurn = resolveTurn;
59
+ });
60
+ await previousTurn;
61
+ if (compilerCloseTimer) {
62
+ clearTimeout(compilerCloseTimer);
63
+ compilerCloseTimer = null;
64
+ }
65
+ if (compilerClose) await compilerClose;
66
+ if (compiler && compiler.root !== root) {
67
+ var previous = compiler;
68
+ compiler = null;
69
+ await closeCompiler(previous);
70
+ }
71
+ compiler !== null && compiler !== void 0 ? compiler : compiler = {
72
+ api: new import_async.API({
73
+ cwd: root
74
+ }),
75
+ paths: /* @__PURE__ */new Set(),
76
+ root
77
+ };
78
+ compiler.api.clearSourceFileCache();
79
+ var previousPaths = compiler.paths;
80
+ var nextPaths = new Set(sourcePaths);
81
+ compiler.paths = nextPaths;
82
+ if (previousPaths.size > 0) {
83
+ var closedSnapshot = await compiler.api.updateSnapshot({
84
+ closeFiles: [...previousPaths],
85
+ fileChanges: {
86
+ invalidateAll: true
87
+ }
88
+ });
89
+ await closedSnapshot.dispose();
90
+ compiler.api.clearSourceFileCache();
91
+ }
92
+ var snapshot = await compiler.api.updateSnapshot({
93
+ openFiles: sourcePaths,
94
+ fileChanges: {
95
+ invalidateAll: true
96
+ }
97
+ });
98
+ compiler.api.clearSourceFileCache();
99
+ return {
100
+ session: compiler,
101
+ snapshot,
102
+ releaseTurn
103
+ };
104
+ }
105
+ function releaseCompiler(session, releaseTurn) {
106
+ var _compilerCloseTimer_unref;
107
+ releaseTurn();
108
+ compilerCloseTimer = setTimeout(function () {
109
+ compilerCloseTimer = null;
110
+ if (compiler !== session) return;
111
+ compiler = null;
112
+ compilerClose = closeCompiler(session).finally(function () {
113
+ compilerClose = null;
114
+ });
115
+ }, 25);
116
+ (_compilerCloseTimer_unref = compilerCloseTimer.unref) === null || _compilerCloseTimer_unref === void 0 ? void 0 : _compilerCloseTimer_unref.call(compilerCloseTimer);
117
+ }
118
+ function collectTypeScriptSourcePaths(roots) {
119
+ var paths = /* @__PURE__ */new Set();
120
+ var visited = /* @__PURE__ */new Set();
121
+ var walk = function walk1(dir) {
122
+ if (visited.has(dir) || !(0, import_fs.existsSync)(dir)) return;
123
+ visited.add(dir);
124
+ var _iteratorNormalCompletion2 = true,
125
+ _didIteratorError2 = false,
126
+ _iteratorError2 = void 0;
127
+ try {
128
+ for (var _iterator2 = (0, import_fs.readdirSync)(dir, {
129
+ withFileTypes: true
130
+ })[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
131
+ var entry = _step2.value;
132
+ if (entry.name === "node_modules") continue;
133
+ var path = (0, import_path.resolve)(dir, entry.name);
134
+ if (entry.isDirectory()) {
135
+ walk(path);
136
+ } else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx"))) {
137
+ paths.add(path);
138
+ }
139
+ }
140
+ } catch (err) {
141
+ _didIteratorError2 = true;
142
+ _iteratorError2 = err;
143
+ } finally {
144
+ try {
145
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
146
+ _iterator2.return();
147
+ }
148
+ } finally {
149
+ if (_didIteratorError2) {
150
+ throw _iteratorError2;
151
+ }
152
+ }
153
+ }
154
+ };
155
+ var _iteratorNormalCompletion = true,
156
+ _didIteratorError = false,
157
+ _iteratorError = void 0;
158
+ try {
159
+ for (var _iterator = roots[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
160
+ var root = _step.value;
161
+ walk((0, import_path.resolve)(root));
162
+ }
163
+ } catch (err) {
164
+ _didIteratorError = true;
165
+ _iteratorError = err;
166
+ } finally {
167
+ try {
168
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
169
+ _iterator.return();
170
+ }
171
+ } finally {
172
+ if (_didIteratorError) {
173
+ throw _iteratorError;
174
+ }
175
+ }
176
+ }
177
+ return [...paths].sort();
178
+ }
179
+ async function createNativeTypeScriptProject(root, sourcePaths) {
180
+ if (sourcePaths.length === 0) {
181
+ throw new Error(`[on-zero] no TypeScript source files found under ${root}`);
182
+ }
183
+ var {
184
+ session,
185
+ snapshot,
186
+ releaseTurn
187
+ } = await acquireCompiler(root, sourcePaths);
188
+ var sources = /* @__PURE__ */new Map();
189
+ var projectsByFile = /* @__PURE__ */new Map();
190
+ var parseErrors = /* @__PURE__ */new Set();
191
+ try {
192
+ var _iteratorNormalCompletion = true,
193
+ _didIteratorError = false,
194
+ _iteratorError = void 0;
195
+ try {
196
+ for (var _iterator = sourcePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
197
+ var path = _step.value;
198
+ var project = await snapshot.getDefaultProjectForFile(path);
199
+ if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`);
200
+ var source = await project.program.getSourceFile(path);
201
+ if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path}`);
202
+ sources.set(path, source);
203
+ projectsByFile.set(path, project);
204
+ try {
205
+ (0, import_parser.parse)((0, import_fs.readFileSync)(path, "utf8"), {
206
+ plugins: ["jsx", "typescript"],
207
+ sourceType: "module"
208
+ });
209
+ } catch (unused) {
210
+ parseErrors.add(path);
211
+ }
212
+ }
213
+ } catch (err) {
214
+ _didIteratorError = true;
215
+ _iteratorError = err;
216
+ } finally {
217
+ try {
218
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
219
+ _iterator.return();
220
+ }
221
+ } finally {
222
+ if (_didIteratorError) {
223
+ throw _iteratorError;
224
+ }
225
+ }
226
+ }
227
+ } catch (error) {
228
+ await snapshot.dispose();
229
+ releaseCompiler(session, releaseTurn);
230
+ throw error;
231
+ }
232
+ var closed = false;
233
+ return {
234
+ projectForFile(path2) {
235
+ var project2 = projectsByFile.get((0, import_path.resolve)(path2));
236
+ if (!project2) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);
237
+ return project2;
238
+ },
239
+ sourceFile(path2) {
240
+ var source2 = sources.get((0, import_path.resolve)(path2));
241
+ if (!source2) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);
242
+ return source2;
243
+ },
244
+ hasParseErrors(path2) {
245
+ return parseErrors.has((0, import_path.resolve)(path2));
246
+ },
247
+ async close() {
248
+ if (closed) return;
249
+ closed = true;
250
+ await snapshot.dispose();
251
+ releaseCompiler(session, releaseTurn);
252
+ }
253
+ };
254
+ }
255
+ //# sourceMappingURL=native-typescript.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","native_typescript_exports","__export","collectTypeScriptSourcePaths","createNativeTypeScriptProject","module","exports","import_fs","require","import_path","import_parser","import_async","_process_env","_GOMAXPROCS","process","env","GOMAXPROCS","compiler","compilerClose","compilerCloseTimer","compilerTurn","Promise","resolve","closeCompiler","session","paths","size","snapshot","api","updateSnapshot","closeFiles","dispose","close","acquireCompiler","root","sourcePaths","previousTurn","releaseTurn","releaseTurn2","resolveTurn","clearTimeout","previous","API","cwd","Set","clearSourceFileCache","previousPaths","nextPaths","closedSnapshot","fileChanges","invalidateAll","openFiles","releaseCompiler","_compilerCloseTimer_unref","setTimeout","finally","unref","call","roots","visited","walk","walk1","dir","has","existsSync","add","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","readdirSync","withFileTypes","Symbol","iterator","_step2","next","done","entry","name","path","isDirectory","isFile","endsWith","err","return","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step"],"sources":["../../src/native-typescript.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}