@qwik.dev/core 2.0.0-beta.39 → 2.0.0-beta.40

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 (43) hide show
  1. package/dist/backpatch/index.mjs +2 -2
  2. package/dist/backpatch/package.json +1 -1
  3. package/dist/backpatch-executor.debug.js +55 -42
  4. package/dist/backpatch-executor.js +1 -1
  5. package/dist/build/package.json +1 -1
  6. package/dist/cli.mjs +2 -2
  7. package/dist/core-internal.d.ts +1 -1
  8. package/dist/core.min.mjs +6 -6
  9. package/dist/core.mjs +2 -2
  10. package/dist/core.prod.mjs +152 -152
  11. package/dist/insights/index.qwik.mjs +81 -93
  12. package/dist/insights/vite/index.mjs +79 -84
  13. package/dist/loader/index.mjs +2 -2
  14. package/dist/loader/package.json +1 -1
  15. package/dist/optimizer.d.ts +19 -3
  16. package/dist/optimizer.mjs +2992 -3624
  17. package/dist/out-of-order-executor.debug.js +138 -161
  18. package/dist/out-of-order-executor.js +1 -1
  19. package/dist/preloader.mjs +178 -1
  20. package/dist/qwikloader.debug.js +384 -433
  21. package/dist/qwikloader.js +1 -1
  22. package/dist/server.mjs +10 -216
  23. package/dist/server.prod.mjs +1046 -1046
  24. package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/vite.config.ts +1 -1
  25. package/dist/starters/adapters/azure-swa/adapters/azure-swa/vite.config.ts +1 -1
  26. package/dist/starters/adapters/bun/adapters/bun/vite.config.ts +1 -1
  27. package/dist/starters/adapters/cloud-run/adapters/cloud-run/vite.config.ts +1 -1
  28. package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/vite.config.ts +1 -1
  29. package/dist/starters/adapters/cloudflare-workers/adapters/cloudflare-workers/vite.config.ts +1 -1
  30. package/dist/starters/adapters/deno/adapters/deno/vite.config.ts +1 -1
  31. package/dist/starters/adapters/express/adapters/express/vite.config.ts +1 -1
  32. package/dist/starters/adapters/fastify/adapters/fastify/vite.config.ts +1 -1
  33. package/dist/starters/adapters/firebase/adapters/firebase/vite.config.ts +1 -1
  34. package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/vite.config.ts +1 -1
  35. package/dist/starters/adapters/node-server/adapters/node-server/vite.config.ts +1 -1
  36. package/dist/starters/adapters/ssg/adapters/ssg/vite.config.ts +1 -1
  37. package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/vite.config.ts +1 -1
  38. package/dist/starters/features/csr/package.json +1 -1
  39. package/dist/testing/index.mjs +3 -2
  40. package/dist/testing/package.json +1 -1
  41. package/dist/worker/index.mjs +248 -315
  42. package/dist/worker/package.json +1 -1
  43. package/package.json +5 -5
@@ -1,318 +1,251 @@
1
- import { inlinedQrl, _captures, implicit$FirstArg } from "@qwik.dev/core";
1
+ import { _captures, implicit$FirstArg, inlinedQrl } from "@qwik.dev/core";
2
2
  import workerUrl from "./worker.js?worker&url";
3
3
  import { _serialize } from "@qwik.dev/core/internal";
4
4
  import nodeWorkerAssetUrl from "./worker.node.js?worker&url";
5
- const browserGlobals$1 = globalThis;
6
- const sanitizeWorkerArgs = (args) => {
7
- const SubmitEventConstructor = browserGlobals$1.SubmitEvent;
8
- const HTMLFormElementConstructor = browserGlobals$1.HTMLFormElement;
9
- const EventConstructor = browserGlobals$1.Event;
10
- const NodeConstructor = browserGlobals$1.Node;
11
- const sanitizedArgs = new Array(args.length);
12
- for (let i = 0; i < args.length; i++) {
13
- const arg = args[i];
14
- if (SubmitEventConstructor && HTMLFormElementConstructor && arg instanceof SubmitEventConstructor && arg.target instanceof HTMLFormElementConstructor) {
15
- sanitizedArgs[i] = new FormData(arg.target);
16
- } else if (EventConstructor && arg instanceof EventConstructor) {
17
- sanitizedArgs[i] = null;
18
- } else if (NodeConstructor && arg instanceof NodeConstructor) {
19
- sanitizedArgs[i] = null;
20
- } else {
21
- sanitizedArgs[i] = arg;
22
- }
23
- }
24
- return sanitizedArgs;
25
- };
26
- const qwikWorkers = /* @__PURE__ */ new Map();
27
- const pendingWorkers = /* @__PURE__ */ new Map();
28
- let nextWorkerRequestId = 0;
29
- const getWorkerRequestId = () => ++nextWorkerRequestId;
30
- const getWorkerHash = (qrl) => qrl.getHash();
31
- const getWorkerName = (qrl) => `worker$(${qrl.getSymbol()})`;
32
- const getOrCreateWorker = (qrl, createWorker) => {
33
- const workerHash = getWorkerHash(qrl);
34
- const cachedWorker = qwikWorkers.get(workerHash);
35
- if (cachedWorker) {
36
- return Promise.resolve(cachedWorker);
37
- }
38
- const pendingWorker = pendingWorkers.get(workerHash);
39
- if (pendingWorker) {
40
- return pendingWorker;
41
- }
42
- const workerPromise = Promise.resolve(createWorker()).then((worker) => {
43
- if (worker) {
44
- qwikWorkers.set(workerHash, worker);
45
- }
46
- return worker;
47
- }).finally(() => {
48
- pendingWorkers.delete(workerHash);
49
- });
50
- pendingWorkers.set(workerHash, workerPromise);
51
- return workerPromise;
52
- };
53
- const isWorkerResponseMessage = (messageData, requestId) => Array.isArray(messageData) && messageData.length === 3 && messageData[0] === requestId;
54
- const invokeWorker = async (worker, qrl, args) => {
55
- const requestId = getWorkerRequestId();
56
- const data = await _serialize([
57
- qrl,
58
- ...args
59
- ]);
60
- return new Promise((resolve, reject) => {
61
- const cleanup = () => {
62
- worker.offError(errorHandler);
63
- worker.offMessage(messageHandler);
64
- };
65
- const errorHandler = (error) => {
66
- cleanup();
67
- reject(error);
68
- };
69
- const messageHandler = (messageData) => {
70
- if (isWorkerResponseMessage(messageData, requestId)) {
71
- cleanup();
72
- if (messageData[1]) {
73
- resolve(messageData[2]);
74
- } else {
75
- reject(messageData[2]);
76
- }
77
- }
78
- };
79
- worker.onError(errorHandler);
80
- worker.onMessage(messageHandler);
81
- worker.postMessage([
82
- requestId,
83
- data
84
- ]);
85
- });
86
- };
87
- const browserGlobals = globalThis;
88
- const createBrowserWorkerTransport = (worker) => {
89
- const errorListenerMap = /* @__PURE__ */ new Map();
90
- const listenerMap = /* @__PURE__ */ new Map();
91
- return {
92
- offError(handler) {
93
- const listener = errorListenerMap.get(handler);
94
- if (listener) {
95
- errorListenerMap.delete(handler);
96
- worker.removeEventListener("error", listener);
97
- }
98
- },
99
- offMessage(handler) {
100
- const listener = listenerMap.get(handler);
101
- if (listener) {
102
- listenerMap.delete(handler);
103
- worker.removeEventListener("message", listener);
104
- }
105
- },
106
- onError(handler) {
107
- const listener = (event) => handler(event.error ?? event);
108
- errorListenerMap.set(handler, listener);
109
- worker.addEventListener("error", listener);
110
- },
111
- onMessage(handler) {
112
- const listener = (event) => handler(event.data);
113
- listenerMap.set(handler, listener);
114
- worker.addEventListener("message", listener);
115
- },
116
- postMessage(data) {
117
- worker.postMessage(data);
118
- }
119
- };
120
- };
121
- const getBrowserWorker = (qrl) => {
122
- const WorkerConstructor = browserGlobals.Worker;
123
- if (!WorkerConstructor) {
124
- return Promise.resolve(null);
125
- }
126
- return getOrCreateWorker(qrl, () => createBrowserWorkerTransport(new WorkerConstructor(workerUrl, {
127
- name: getWorkerName(qrl),
128
- type: "module"
129
- })));
130
- };
131
- const tryParseUrl = (value) => {
132
- try {
133
- return new URL(value);
134
- } catch {
135
- return null;
136
- }
137
- };
138
- const getImportMetaDirUrl = (metaUrl) => {
139
- const moduleUrl = tryParseUrl(metaUrl);
140
- if (!moduleUrl || moduleUrl.protocol !== "file:") {
141
- return null;
142
- }
143
- moduleUrl.pathname = moduleUrl.pathname.slice(0, moduleUrl.pathname.lastIndexOf("/") + 1);
144
- return moduleUrl;
145
- };
146
- const getPublicBuildPath = (assetUrl) => {
147
- const assetsIndex = assetUrl.lastIndexOf("/assets/");
148
- if (assetsIndex === -1) {
149
- return null;
150
- }
151
- return `${assetUrl.slice(0, assetsIndex)}/build/`;
152
- };
153
- const getNodeDistUrl$1 = (metaUrl, fsModule) => {
154
- if (!fsModule?.existsSync) {
155
- return null;
156
- }
157
- let currentDirUrl = getImportMetaDirUrl(metaUrl);
158
- if (!currentDirUrl) {
159
- return null;
160
- }
161
- for (let i = 0; i < 8; i++) {
162
- const distUrl = new URL("dist/", currentDirUrl);
163
- if (fsModule.existsSync(distUrl)) {
164
- return distUrl;
165
- }
166
- const parentDirUrl = new URL("../", currentDirUrl);
167
- if (parentDirUrl.href === currentDirUrl.href) {
168
- break;
169
- }
170
- currentDirUrl = parentDirUrl;
171
- }
172
- return null;
173
- };
174
- const getNodeWorkerUrlFromDist = (assetUrl, distUrl) => {
175
- return new URL(`.${assetUrl}`, distUrl);
176
- };
177
- const getNodeWorkerQrlBaseUrlFromDist = (assetUrl, distUrl) => {
178
- const publicBuildPath = getPublicBuildPath(assetUrl);
179
- if (!publicBuildPath) {
180
- return null;
181
- }
182
- return new URL(`.${publicBuildPath}`, distUrl);
183
- };
184
- const runtimeGlobals$1 = globalThis;
185
- const runtimeImportMeta = import.meta;
186
- const nodeWorkerThreadsModuleId = "node:worker_threads";
187
- const nodeFsModuleId = "node:fs";
188
- let resolvedNodeWorkerUrl = void 0;
189
- let resolvedNodeDistUrl = void 0;
190
- const getNodeWorkerConstructor = () => {
191
- const workerThreadsModule = runtimeGlobals$1.process?.getBuiltinModule?.(nodeWorkerThreadsModuleId);
192
- return workerThreadsModule?.Worker;
193
- };
194
- const getNodeFsModule = () => {
195
- return runtimeGlobals$1.process?.getBuiltinModule?.(nodeFsModuleId);
196
- };
197
- const getResolvedNodeWorkerModuleUrl = () => {
198
- const resolvedUrl = runtimeImportMeta.resolve?.("./worker.node.js");
199
- if (!resolvedUrl) {
200
- return null;
201
- }
202
- const workerUrl2 = tryParseUrl(resolvedUrl);
203
- if (!workerUrl2) {
204
- return null;
205
- }
206
- const fsModule = getNodeFsModule();
207
- if (!fsModule?.existsSync?.(workerUrl2)) {
208
- return null;
209
- }
210
- return workerUrl2;
211
- };
212
- const getNodeDistUrl = () => {
213
- if (resolvedNodeDistUrl !== void 0) {
214
- return resolvedNodeDistUrl;
215
- }
216
- resolvedNodeDistUrl = getNodeDistUrl$1(import.meta.url, getNodeFsModule());
217
- return resolvedNodeDistUrl;
218
- };
219
- const getNodeWorkerUrl = () => {
220
- if (resolvedNodeWorkerUrl != void 0) {
221
- return resolvedNodeWorkerUrl;
222
- }
223
- const resolvedModuleUrl = getResolvedNodeWorkerModuleUrl();
224
- if (resolvedModuleUrl) {
225
- resolvedNodeWorkerUrl = resolvedModuleUrl;
226
- return resolvedNodeWorkerUrl;
227
- }
228
- if (nodeWorkerAssetUrl.startsWith("/")) {
229
- const distUrl = getNodeDistUrl();
230
- if (distUrl) {
231
- resolvedNodeWorkerUrl = getNodeWorkerUrlFromDist(nodeWorkerAssetUrl, distUrl);
232
- return resolvedNodeWorkerUrl;
233
- }
234
- }
235
- resolvedNodeWorkerUrl = new URL(nodeWorkerAssetUrl, import.meta.url);
236
- return resolvedNodeWorkerUrl;
237
- };
238
- const getNodeWorkerQrlBaseUrl = () => {
239
- const resolvedModuleUrl = getResolvedNodeWorkerModuleUrl();
240
- if (resolvedModuleUrl) {
241
- return new URL("../build/", resolvedModuleUrl);
242
- }
243
- if (nodeWorkerAssetUrl.startsWith("/")) {
244
- const distUrl = getNodeDistUrl();
245
- const qrlBaseUrl = distUrl && getNodeWorkerQrlBaseUrlFromDist(nodeWorkerAssetUrl, distUrl);
246
- if (qrlBaseUrl) {
247
- return qrlBaseUrl;
248
- }
249
- }
250
- return new URL("../build/", getNodeWorkerUrl());
251
- };
252
- const createNodeWorkerTransport = (worker) => {
253
- return {
254
- offError(handler) {
255
- worker.off("error", handler);
256
- },
257
- offMessage(handler) {
258
- worker.off("message", handler);
259
- },
260
- onError(handler) {
261
- worker.on("error", handler);
262
- },
263
- onMessage(handler) {
264
- worker.on("message", handler);
265
- },
266
- postMessage(data) {
267
- worker.postMessage(data);
268
- }
269
- };
270
- };
271
- const getNodeWorker = (qrl) => {
272
- return getOrCreateWorker(qrl, () => {
273
- const WorkerConstructor = getNodeWorkerConstructor();
274
- if (!WorkerConstructor) {
275
- return null;
276
- }
277
- const worker = new WorkerConstructor(getNodeWorkerUrl(), {
278
- name: getWorkerName(qrl),
279
- workerData: {
280
- qrlBaseUrl: getNodeWorkerQrlBaseUrl().href
281
- }
282
- });
283
- worker.unref();
284
- return createNodeWorkerTransport(worker);
285
- });
286
- };
287
- const runtimeGlobals = globalThis;
288
- const isBrowserRuntime = () => !!runtimeGlobals.document;
289
- const isBunRuntime = () => !!runtimeGlobals.process?.versions?.bun;
290
- const isDenoRuntime = () => !!runtimeGlobals.Deno?.version?.deno;
291
- const isNodeRuntime = () => !!runtimeGlobals.process?.versions?.node && !isBunRuntime() && !isDenoRuntime();
292
- const getWorkerTransport = async (qrl) => {
293
- if (isNodeRuntime()) {
294
- return getNodeWorker(qrl);
295
- }
296
- if (isBrowserRuntime()) {
297
- return getBrowserWorker(qrl);
298
- }
299
- return null;
300
- };
301
- const workerQrl = (qrl) => {
302
- return /* @__PURE__ */ inlinedQrl(async (...args) => {
303
- const qrl2 = _captures[0];
304
- const filtered = sanitizeWorkerArgs(args);
305
- const worker = await getWorkerTransport(qrl2);
306
- if (!worker) {
307
- return qrl2(...filtered);
308
- }
309
- return invokeWorker(worker, qrl2, filtered);
310
- }, "workerQrl_lGZKoP3eM7I", [
311
- qrl
312
- ]);
313
- };
314
- const worker$ = implicit$FirstArg(workerQrl);
315
- export {
316
- worker$,
317
- workerQrl
318
- };
5
+ var browserGlobals$1 = globalThis;
6
+ var sanitizeWorkerArgs = (args) => {
7
+ const SubmitEventConstructor = browserGlobals$1.SubmitEvent;
8
+ const HTMLFormElementConstructor = browserGlobals$1.HTMLFormElement;
9
+ const EventConstructor = browserGlobals$1.Event;
10
+ const NodeConstructor = browserGlobals$1.Node;
11
+ const sanitizedArgs = new Array(args.length);
12
+ for (let i = 0; i < args.length; i++) {
13
+ const arg = args[i];
14
+ if (SubmitEventConstructor && HTMLFormElementConstructor && arg instanceof SubmitEventConstructor && arg.target instanceof HTMLFormElementConstructor) sanitizedArgs[i] = new FormData(arg.target);
15
+ else if (EventConstructor && arg instanceof EventConstructor) sanitizedArgs[i] = null;
16
+ else if (NodeConstructor && arg instanceof NodeConstructor) sanitizedArgs[i] = null;
17
+ else sanitizedArgs[i] = arg;
18
+ }
19
+ return sanitizedArgs;
20
+ };
21
+ var qwikWorkers = /* @__PURE__ */ new Map();
22
+ var pendingWorkers = /* @__PURE__ */ new Map();
23
+ var nextWorkerRequestId = 0;
24
+ var getWorkerRequestId = () => ++nextWorkerRequestId;
25
+ var getWorkerHash = (qrl) => qrl.getHash();
26
+ var getWorkerName = (qrl) => `worker$(${qrl.getSymbol()})`;
27
+ var getOrCreateWorker = (qrl, createWorker) => {
28
+ const workerHash = getWorkerHash(qrl);
29
+ const cachedWorker = qwikWorkers.get(workerHash);
30
+ if (cachedWorker) return Promise.resolve(cachedWorker);
31
+ const pendingWorker = pendingWorkers.get(workerHash);
32
+ if (pendingWorker) return pendingWorker;
33
+ const workerPromise = Promise.resolve(createWorker()).then((worker) => {
34
+ if (worker) qwikWorkers.set(workerHash, worker);
35
+ return worker;
36
+ }).finally(() => {
37
+ pendingWorkers.delete(workerHash);
38
+ });
39
+ pendingWorkers.set(workerHash, workerPromise);
40
+ return workerPromise;
41
+ };
42
+ var isWorkerResponseMessage = (messageData, requestId) => Array.isArray(messageData) && messageData.length === 3 && messageData[0] === requestId;
43
+ var invokeWorker = async (worker, qrl, args) => {
44
+ const requestId = getWorkerRequestId();
45
+ const data = await _serialize([qrl, ...args]);
46
+ return new Promise((resolve, reject) => {
47
+ const cleanup = () => {
48
+ worker.offError(errorHandler);
49
+ worker.offMessage(messageHandler);
50
+ };
51
+ const errorHandler = (error) => {
52
+ cleanup();
53
+ reject(error);
54
+ };
55
+ const messageHandler = (messageData) => {
56
+ if (isWorkerResponseMessage(messageData, requestId)) {
57
+ cleanup();
58
+ if (messageData[1]) resolve(messageData[2]);
59
+ else reject(messageData[2]);
60
+ }
61
+ };
62
+ worker.onError(errorHandler);
63
+ worker.onMessage(messageHandler);
64
+ worker.postMessage([requestId, data]);
65
+ });
66
+ };
67
+ var browserGlobals = globalThis;
68
+ var createBrowserWorkerTransport = (worker) => {
69
+ const errorListenerMap = /* @__PURE__ */ new Map();
70
+ const listenerMap = /* @__PURE__ */ new Map();
71
+ return {
72
+ offError(handler) {
73
+ const listener = errorListenerMap.get(handler);
74
+ if (listener) {
75
+ errorListenerMap.delete(handler);
76
+ worker.removeEventListener("error", listener);
77
+ }
78
+ },
79
+ offMessage(handler) {
80
+ const listener = listenerMap.get(handler);
81
+ if (listener) {
82
+ listenerMap.delete(handler);
83
+ worker.removeEventListener("message", listener);
84
+ }
85
+ },
86
+ onError(handler) {
87
+ const listener = (event) => handler(event.error ?? event);
88
+ errorListenerMap.set(handler, listener);
89
+ worker.addEventListener("error", listener);
90
+ },
91
+ onMessage(handler) {
92
+ const listener = (event) => handler(event.data);
93
+ listenerMap.set(handler, listener);
94
+ worker.addEventListener("message", listener);
95
+ },
96
+ postMessage(data) {
97
+ worker.postMessage(data);
98
+ }
99
+ };
100
+ };
101
+ var getBrowserWorker = (qrl) => {
102
+ const WorkerConstructor = browserGlobals.Worker;
103
+ if (!WorkerConstructor) return Promise.resolve(null);
104
+ return getOrCreateWorker(qrl, () => createBrowserWorkerTransport(new WorkerConstructor(workerUrl, {
105
+ name: getWorkerName(qrl),
106
+ type: "module"
107
+ })));
108
+ };
109
+ var tryParseUrl = (value) => {
110
+ try {
111
+ return new URL(value);
112
+ } catch {
113
+ return null;
114
+ }
115
+ };
116
+ var getImportMetaDirUrl = (metaUrl) => {
117
+ const moduleUrl = tryParseUrl(metaUrl);
118
+ if (!moduleUrl || moduleUrl.protocol !== "file:") return null;
119
+ moduleUrl.pathname = moduleUrl.pathname.slice(0, moduleUrl.pathname.lastIndexOf("/") + 1);
120
+ return moduleUrl;
121
+ };
122
+ var getPublicBuildPath = (assetUrl) => {
123
+ const assetsIndex = assetUrl.lastIndexOf("/assets/");
124
+ if (assetsIndex === -1) return null;
125
+ return `${assetUrl.slice(0, assetsIndex)}/build/`;
126
+ };
127
+ var getNodeDistUrl$1 = (metaUrl, fsModule) => {
128
+ if (!fsModule?.existsSync) return null;
129
+ let currentDirUrl = getImportMetaDirUrl(metaUrl);
130
+ if (!currentDirUrl) return null;
131
+ for (let i = 0; i < 8; i++) {
132
+ const distUrl = new URL("dist/", currentDirUrl);
133
+ if (fsModule.existsSync(distUrl)) return distUrl;
134
+ const parentDirUrl = new URL("../", currentDirUrl);
135
+ if (parentDirUrl.href === currentDirUrl.href) break;
136
+ currentDirUrl = parentDirUrl;
137
+ }
138
+ return null;
139
+ };
140
+ var getNodeWorkerUrlFromDist = (assetUrl, distUrl) => {
141
+ return new URL(`.${assetUrl}`, distUrl);
142
+ };
143
+ var getNodeWorkerQrlBaseUrlFromDist = (assetUrl, distUrl) => {
144
+ const publicBuildPath = getPublicBuildPath(assetUrl);
145
+ if (!publicBuildPath) return null;
146
+ return new URL(`.${publicBuildPath}`, distUrl);
147
+ };
148
+ var runtimeGlobals$1 = globalThis;
149
+ var runtimeImportMeta = import.meta;
150
+ var nodeWorkerThreadsModuleId = "node:worker_threads";
151
+ var nodeFsModuleId = "node:fs";
152
+ var resolvedNodeWorkerUrl = void 0;
153
+ var resolvedNodeDistUrl = void 0;
154
+ var getNodeWorkerConstructor = () => {
155
+ return (runtimeGlobals$1.process?.getBuiltinModule?.(nodeWorkerThreadsModuleId))?.Worker;
156
+ };
157
+ var getNodeFsModule = () => {
158
+ return runtimeGlobals$1.process?.getBuiltinModule?.(nodeFsModuleId);
159
+ };
160
+ var getResolvedNodeWorkerModuleUrl = () => {
161
+ const resolvedUrl = runtimeImportMeta.resolve?.("./worker.node.js");
162
+ if (!resolvedUrl) return null;
163
+ const workerUrl = tryParseUrl(resolvedUrl);
164
+ if (!workerUrl) return null;
165
+ if (!getNodeFsModule()?.existsSync?.(workerUrl)) return null;
166
+ return workerUrl;
167
+ };
168
+ var getNodeDistUrl = () => {
169
+ if (resolvedNodeDistUrl !== void 0) return resolvedNodeDistUrl;
170
+ resolvedNodeDistUrl = getNodeDistUrl$1(import.meta.url, getNodeFsModule());
171
+ return resolvedNodeDistUrl;
172
+ };
173
+ var getNodeWorkerUrl = () => {
174
+ if (resolvedNodeWorkerUrl != void 0) return resolvedNodeWorkerUrl;
175
+ const resolvedModuleUrl = getResolvedNodeWorkerModuleUrl();
176
+ if (resolvedModuleUrl) {
177
+ resolvedNodeWorkerUrl = resolvedModuleUrl;
178
+ return resolvedNodeWorkerUrl;
179
+ }
180
+ if (nodeWorkerAssetUrl.startsWith("/")) {
181
+ const distUrl = getNodeDistUrl();
182
+ if (distUrl) {
183
+ resolvedNodeWorkerUrl = getNodeWorkerUrlFromDist(nodeWorkerAssetUrl, distUrl);
184
+ return resolvedNodeWorkerUrl;
185
+ }
186
+ }
187
+ resolvedNodeWorkerUrl = new URL(nodeWorkerAssetUrl, import.meta.url);
188
+ return resolvedNodeWorkerUrl;
189
+ };
190
+ var getNodeWorkerQrlBaseUrl = () => {
191
+ const resolvedModuleUrl = getResolvedNodeWorkerModuleUrl();
192
+ if (resolvedModuleUrl) return new URL("../build/", resolvedModuleUrl);
193
+ if (nodeWorkerAssetUrl.startsWith("/")) {
194
+ const distUrl = getNodeDistUrl();
195
+ const qrlBaseUrl = distUrl && getNodeWorkerQrlBaseUrlFromDist(nodeWorkerAssetUrl, distUrl);
196
+ if (qrlBaseUrl) return qrlBaseUrl;
197
+ }
198
+ return new URL("../build/", getNodeWorkerUrl());
199
+ };
200
+ var createNodeWorkerTransport = (worker) => {
201
+ return {
202
+ offError(handler) {
203
+ worker.off("error", handler);
204
+ },
205
+ offMessage(handler) {
206
+ worker.off("message", handler);
207
+ },
208
+ onError(handler) {
209
+ worker.on("error", handler);
210
+ },
211
+ onMessage(handler) {
212
+ worker.on("message", handler);
213
+ },
214
+ postMessage(data) {
215
+ worker.postMessage(data);
216
+ }
217
+ };
218
+ };
219
+ var getNodeWorker = (qrl) => {
220
+ return getOrCreateWorker(qrl, () => {
221
+ const WorkerConstructor = getNodeWorkerConstructor();
222
+ if (!WorkerConstructor) return null;
223
+ const worker = new WorkerConstructor(getNodeWorkerUrl(), {
224
+ name: getWorkerName(qrl),
225
+ workerData: { qrlBaseUrl: getNodeWorkerQrlBaseUrl().href }
226
+ });
227
+ worker.unref();
228
+ return createNodeWorkerTransport(worker);
229
+ });
230
+ };
231
+ var runtimeGlobals = globalThis;
232
+ var isBrowserRuntime = () => !!runtimeGlobals.document;
233
+ var isBunRuntime = () => !!runtimeGlobals.process?.versions?.bun;
234
+ var isDenoRuntime = () => !!runtimeGlobals.Deno?.version?.deno;
235
+ var isNodeRuntime = () => !!runtimeGlobals.process?.versions?.node && !isBunRuntime() && !isDenoRuntime();
236
+ var getWorkerTransport = async (qrl) => {
237
+ if (isNodeRuntime()) return getNodeWorker(qrl);
238
+ if (isBrowserRuntime()) return getBrowserWorker(qrl);
239
+ return null;
240
+ };
241
+ /** @public */ var workerQrl = (qrl) => {
242
+ return /*#__PURE__*/ inlinedQrl(async (...args) => {
243
+ const qrl = _captures[0];
244
+ const filtered = sanitizeWorkerArgs(args);
245
+ const worker = await getWorkerTransport(qrl);
246
+ if (!worker) return qrl(...filtered);
247
+ return invokeWorker(worker, qrl, filtered);
248
+ }, "workerQrl_lGZKoP3eM7I", [qrl]);
249
+ };
250
+ /** @public */ var worker$ = implicit$FirstArg(workerQrl);
251
+ export { worker$, workerQrl };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwik.dev/core/worker",
3
- "version": "2.0.0-beta.39-dev+6fb620f",
3
+ "version": "2.0.0-beta.40-dev+a459d55",
4
4
  "main": "index.mjs",
5
5
  "types": "index.d.mts",
6
6
  "private": true,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qwik.dev/core",
3
3
  "description": "An open source framework for building instant loading web apps at any scale, without the extra effort.",
4
- "version": "2.0.0-beta.39",
4
+ "version": "2.0.0-beta.40",
5
5
  "author": "Qwik Team",
6
6
  "bin": {
7
7
  "qwik": "./qwik-cli.mjs"
@@ -11,8 +11,7 @@
11
11
  "csstype": "^3.2.3",
12
12
  "launch-editor": "^2.14.1",
13
13
  "magic-string": "0.30.21",
14
- "rollup": "^4.61.0",
15
- "@qwik.dev/optimizer": "2.1.0-beta.6"
14
+ "@qwik.dev/optimizer": "2.1.0-beta.7"
16
15
  },
17
16
  "devDependencies": {
18
17
  "@croct/json5-parser": "0.2.2",
@@ -21,8 +20,9 @@
21
20
  "image-size": "2.0.2",
22
21
  "kleur": "4.1.5",
23
22
  "prettier": "3.7.4",
23
+ "rolldown": "1.2.4",
24
24
  "vitest": "4.1.10",
25
- "@qwik.dev/core": "2.0.0-beta.39",
25
+ "@qwik.dev/core": "2.0.0-beta.40",
26
26
  "@qwik.dev/dom": "2.1.19"
27
27
  },
28
28
  "engines": {
@@ -161,7 +161,7 @@
161
161
  "main": "./src/index.ts",
162
162
  "peerDependencies": {
163
163
  "prettier": "*",
164
- "vite": ">=6 <9",
164
+ "vite": ">=8 <9",
165
165
  "vitest": ">=2 <4"
166
166
  },
167
167
  "peerDependenciesMeta": {