@qwik.dev/core 2.0.0-beta.4 → 2.0.0-beta.41

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 (151) hide show
  1. package/dist/backpatch/index.d.ts +2 -0
  2. package/dist/backpatch/index.mjs +5 -0
  3. package/dist/backpatch/package.json +8 -0
  4. package/dist/backpatch-executor.debug.js +59 -0
  5. package/dist/backpatch-executor.js +1 -0
  6. package/dist/build/package.json +1 -1
  7. package/dist/cli.mjs +12974 -0
  8. package/dist/core-internal.d.ts +1579 -818
  9. package/dist/core.min.mjs +9 -1
  10. package/dist/core.mjs +14777 -9194
  11. package/dist/core.mjs.map +1 -1
  12. package/dist/core.prod.mjs +10480 -5372
  13. package/dist/insights/index.qwik.mjs +82 -71
  14. package/dist/insights/vite/index.mjs +79 -81
  15. package/dist/loader/index.mjs +2 -2
  16. package/dist/loader/package.json +1 -1
  17. package/dist/optimizer.d.ts +78 -295
  18. package/dist/optimizer.mjs +2948 -4088
  19. package/dist/out-of-order-executor.debug.js +140 -0
  20. package/dist/out-of-order-executor.js +1 -0
  21. package/dist/preloader.mjs +172 -192
  22. package/dist/qwikloader.debug.js +403 -244
  23. package/dist/qwikloader.js +1 -1
  24. package/dist/server-modules.d.ts +1 -0
  25. package/dist/server.d.ts +54 -249
  26. package/dist/server.mjs +2332 -1407
  27. package/dist/server.prod.mjs +3844 -0
  28. package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/{vite.config.mts → vite.config.ts} +3 -3
  29. package/dist/starters/adapters/aws-lambda/package.json +3 -2
  30. package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +2 -6
  31. package/dist/starters/adapters/azure-swa/adapters/azure-swa/{vite.config.mts → vite.config.ts} +3 -3
  32. package/dist/starters/adapters/azure-swa/package.json +3 -2
  33. package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +2 -3
  34. package/dist/starters/adapters/bun/adapters/bun/{vite.config.mts → vite.config.ts} +4 -4
  35. package/dist/starters/adapters/bun/package.json +3 -2
  36. package/dist/starters/adapters/bun/src/entry.bun.ts +37 -10
  37. package/dist/starters/adapters/cloud-run/adapters/cloud-run/{vite.config.mts → vite.config.ts} +3 -3
  38. package/dist/starters/adapters/cloud-run/package.json +3 -2
  39. package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +23 -7
  40. package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/{vite.config.mts → vite.config.ts} +3 -3
  41. package/dist/starters/adapters/cloudflare-pages/package.json +3 -2
  42. package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +2 -3
  43. package/dist/starters/adapters/cloudflare-workers/README.md +52 -0
  44. package/dist/starters/adapters/cloudflare-workers/adapters/cloudflare-workers/vite.config.ts +15 -0
  45. package/dist/starters/adapters/cloudflare-workers/gitignore +3 -0
  46. package/dist/starters/adapters/cloudflare-workers/package.json +31 -0
  47. package/dist/starters/adapters/cloudflare-workers/public/.assetsignore +4 -0
  48. package/dist/starters/adapters/cloudflare-workers/public/_headers +11 -0
  49. package/dist/starters/adapters/cloudflare-workers/public/_redirects +1 -0
  50. package/dist/starters/adapters/cloudflare-workers/src/entry.cloudflare-pages.tsx +22 -0
  51. package/dist/starters/adapters/cloudflare-workers/worker-configuration.d.ts +5 -0
  52. package/dist/starters/adapters/cloudflare-workers/wrangler.jsonc +41 -0
  53. package/dist/starters/adapters/deno/adapters/deno/{vite.config.mts → vite.config.ts} +3 -3
  54. package/dist/starters/adapters/deno/package.json +3 -2
  55. package/dist/starters/adapters/deno/src/entry.deno.ts +43 -10
  56. package/dist/starters/adapters/express/adapters/express/{vite.config.mts → vite.config.ts} +3 -3
  57. package/dist/starters/adapters/express/package.json +4 -3
  58. package/dist/starters/adapters/express/src/entry.express.tsx +22 -7
  59. package/dist/starters/adapters/fastify/adapters/fastify/{vite.config.mts → vite.config.ts} +3 -3
  60. package/dist/starters/adapters/fastify/package.json +5 -4
  61. package/dist/starters/adapters/fastify/src/entry.fastify.tsx +21 -1
  62. package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +11 -4
  63. package/dist/starters/adapters/firebase/adapters/firebase/{vite.config.mts → vite.config.ts} +3 -3
  64. package/dist/starters/adapters/firebase/package.json +3 -2
  65. package/dist/starters/adapters/firebase/src/entry-firebase.tsx +2 -3
  66. package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/{vite.config.mts → vite.config.ts} +3 -3
  67. package/dist/starters/adapters/netlify-edge/package.json +5 -4
  68. package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +2 -3
  69. package/dist/starters/adapters/node-server/adapters/node-server/{vite.config.mts → vite.config.ts} +3 -3
  70. package/dist/starters/adapters/node-server/package.json +3 -2
  71. package/dist/starters/adapters/node-server/src/entry.node-server.tsx +22 -6
  72. package/dist/starters/adapters/{static/adapters/static/vite.config.mts → ssg/adapters/ssg/vite.config.ts} +4 -4
  73. package/dist/starters/adapters/ssg/package.json +20 -0
  74. package/dist/starters/adapters/vercel-edge/README.md +2 -2
  75. package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/{vite.config.mts → vite.config.ts} +3 -3
  76. package/dist/starters/adapters/vercel-edge/package.json +3 -2
  77. package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +2 -3
  78. package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
  79. package/dist/starters/features/auth/package.json +1 -1
  80. package/dist/starters/features/compiled-i18n/package.json +37 -0
  81. package/dist/starters/features/compiled-i18n/src/components/locale-selector/locale-selector.tsx +30 -0
  82. package/dist/starters/features/compiled-i18n/src/entry.ssr.tsx +31 -0
  83. package/dist/starters/features/compiled-i18n/src/routes/plugin@compiled-i18n.ts +28 -0
  84. package/dist/starters/features/csr/index.html +27 -0
  85. package/dist/starters/features/csr/package.json +29 -0
  86. package/dist/starters/features/csr/src/root.tsx +15 -0
  87. package/dist/starters/features/csr/vite.config.ts +13 -0
  88. package/dist/starters/features/cypress/src/actions/example.action.ts +5 -0
  89. package/dist/starters/features/cypress/src/components/example/example.cy.tsx +50 -8
  90. package/dist/starters/features/cypress/src/components/example/example.tsx +13 -3
  91. package/dist/starters/features/cypress/src/loaders/example.loader.ts +5 -0
  92. package/dist/starters/features/drizzle/package.json +1 -1
  93. package/dist/starters/features/pandacss/package.json +1 -1
  94. package/dist/starters/features/postcss/postcss.config.js +1 -1
  95. package/dist/starters/features/storybook/.storybook/tsconfig.json +0 -1
  96. package/dist/starters/features/styled-vanilla-extract/package.json +2 -1
  97. package/dist/starters/features/tailwind/package.json +2 -2
  98. package/dist/starters/features/tailwind/prettier.config.js +10 -0
  99. package/dist/starters/features/tailwind-v3/package.json +1 -1
  100. package/dist/starters/features/tailwind-v3/prettier.config.js +10 -0
  101. package/dist/starters/features/vitest/package.json +1 -1
  102. package/dist/testing/index.d.ts +1000 -7
  103. package/dist/testing/index.mjs +16487 -11656
  104. package/dist/testing/package.json +1 -1
  105. package/dist/worker/index.d.mts +21 -0
  106. package/dist/worker/index.mjs +251 -0
  107. package/dist/worker/package.json +9 -0
  108. package/dist/worker/worker.js +13 -0
  109. package/dist/worker/worker.node.js +15 -0
  110. package/dist/worker/worker.shared.js +63 -0
  111. package/handlers.mjs +21 -1
  112. package/package.json +40 -56
  113. package/public.d.ts +12 -2
  114. package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
  115. package/server.d.ts +2 -0
  116. package/worker.d.ts +2 -0
  117. package/bindings/qwik.darwin-arm64.node +0 -0
  118. package/bindings/qwik.darwin-x64.node +0 -0
  119. package/bindings/qwik.linux-x64-gnu.node +0 -0
  120. package/bindings/qwik.wasm.cjs +0 -471
  121. package/bindings/qwik.wasm.mjs +0 -464
  122. package/bindings/qwik.win32-x64-msvc.node +0 -0
  123. package/bindings/qwik_wasm_bg.wasm +0 -0
  124. package/dist/build/index.cjs +0 -35
  125. package/dist/build/index.cjs.map +0 -7
  126. package/dist/build/index.dev.cjs +0 -37
  127. package/dist/build/index.dev.cjs.map +0 -7
  128. package/dist/build/index.prod.cjs +0 -37
  129. package/dist/build/index.prod.cjs.map +0 -7
  130. package/dist/cli.cjs +0 -5545
  131. package/dist/core.cjs +0 -11870
  132. package/dist/core.cjs.map +0 -1
  133. package/dist/core.prod.cjs +0 -5723
  134. package/dist/insights/index.qwik.cjs +0 -1
  135. package/dist/insights/vite/index.cjs +0 -1
  136. package/dist/loader/index.cjs +0 -4
  137. package/dist/optimizer.cjs +0 -4020
  138. package/dist/preloader.cjs +0 -269
  139. package/dist/server.cjs +0 -3040
  140. package/dist/starters/adapters/static/package.json +0 -19
  141. package/dist/starters/features/localize/package.json +0 -37
  142. package/dist/starters/features/localize/src/entry.ssr.tsx +0 -30
  143. package/dist/starters/features/localize/src/locales/message.en.json +0 -8
  144. package/dist/starters/features/localize/src/locales/message.it.json +0 -8
  145. package/dist/starters/features/localize/src/routes/[locale]/i18n-utils.ts +0 -94
  146. package/dist/starters/features/localize/src/routes/[locale]/index.tsx +0 -52
  147. package/dist/starters/features/localize/src/routes/[locale]/layout.tsx +0 -12
  148. package/dist/starters/features/playwright/playwright-report/index.html +0 -22026
  149. package/dist/starters/features/tailwind/.prettierrc.js +0 -3
  150. package/dist/testing/index.cjs +0 -33388
  151. /package/dist/starters/adapters/{static → ssg}/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwik.dev/core/testing",
3
- "version": "2.0.0-beta.4-dev+9849dcf",
3
+ "version": "2.0.0-beta.41-dev+4d04076",
4
4
  "main": "index.mjs",
5
5
  "types": "index.d.ts",
6
6
  "private": true,
@@ -0,0 +1,21 @@
1
+ /** @packageDocumentation */
2
+
3
+ import { QRL } from '../core-internal.js';
4
+
5
+ /** @public */
6
+ export declare const worker$: <T extends WorkerFunction>(qrl: T) => QRL<T>;
7
+
8
+ /** @public */
9
+ export declare interface WorkerConstructorQRL {
10
+ <T extends WorkerFunction>(fnQrl: QRL<T>): QRL<T>;
11
+ }
12
+
13
+ /** @public */
14
+ export declare interface WorkerFunction {
15
+ (...args: any[]): any;
16
+ }
17
+
18
+ /** @public */
19
+ export declare const workerQrl: WorkerConstructorQRL;
20
+
21
+ export { }
@@ -0,0 +1,251 @@
1
+ import { _captures, implicit$FirstArg, inlinedQrl } from "@qwik.dev/core";
2
+ import workerUrl from "./worker.js?worker&url";
3
+ import { _serialize } from "@qwik.dev/core/internal";
4
+ import nodeWorkerAssetUrl from "./worker.node.js?worker&url";
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 };
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "@qwik.dev/core/worker",
3
+ "version": "2.0.0-beta.41-dev+4d04076",
4
+ "main": "index.mjs",
5
+ "types": "index.d.mts",
6
+ "private": true,
7
+ "type": "module",
8
+ "qwik": "index.mjs"
9
+ }
@@ -0,0 +1,13 @@
1
+ import { runWorkerMessage, setBrowserWorkerPlatform } from './worker.shared.js';
2
+
3
+ setBrowserWorkerPlatform(import.meta.url);
4
+
5
+ globalThis.onmessage = ({ data }) => {
6
+ return runWorkerMessage(
7
+ data,
8
+ (response) => {
9
+ self.postMessage(response);
10
+ },
11
+ globalThis
12
+ );
13
+ };
@@ -0,0 +1,15 @@
1
+ import { runWorkerMessage, setNodeWorkerPlatform } from './worker.shared.js';
2
+
3
+ const workerThreadsModule = process.getBuiltinModule?.('node:worker_threads');
4
+ const parentPort = workerThreadsModule?.parentPort;
5
+ setNodeWorkerPlatform(workerThreadsModule?.workerData?.qrlBaseUrl);
6
+
7
+ parentPort?.on('message', (data) => {
8
+ return runWorkerMessage(
9
+ data,
10
+ (response) => {
11
+ parentPort.postMessage(response);
12
+ },
13
+ globalThis
14
+ );
15
+ });
@@ -0,0 +1,63 @@
1
+ import { setPlatform } from '@qwik.dev/core';
2
+ import { _deserialize } from '@qwik.dev/core/internal';
3
+
4
+ const getSymbolHash = (symbolName) => {
5
+ const index = symbolName.lastIndexOf('_');
6
+ return index > -1 ? symbolName.slice(index + 1) : symbolName;
7
+ };
8
+
9
+ const createWorkerPlatform = (qrlBaseUrl) => {
10
+ return {
11
+ isServer: true,
12
+ async importSymbol(_containerEl, url, symbolName) {
13
+ const hash = getSymbolHash(symbolName);
14
+ const regSym = globalThis.__qwik_reg_symbols?.get(hash);
15
+ if (regSym) {
16
+ return regSym;
17
+ }
18
+
19
+ if (!url || !qrlBaseUrl) {
20
+ throw new Error(`Dynamic import ${symbolName} not found`);
21
+ }
22
+
23
+ const module = await import(/* @vite-ignore */ new URL(url, qrlBaseUrl).href);
24
+ const symbol = module[symbolName] ?? globalThis.__qwik_reg_symbols?.get(hash);
25
+ if (symbol === undefined) {
26
+ throw new Error(`Dynamic import ${symbolName} not found`);
27
+ }
28
+ return symbol;
29
+ },
30
+ raf: () => Promise.resolve(),
31
+ chunkForSymbol(symbolName, chunk) {
32
+ return [symbolName, chunk ?? '_'];
33
+ },
34
+ };
35
+ };
36
+
37
+ export const createBrowserWorkerPlatform = (qrlBaseUrl) => {
38
+ return createWorkerPlatform(qrlBaseUrl);
39
+ };
40
+
41
+ export const createNodeWorkerPlatform = (qrlBaseUrl) => {
42
+ return createWorkerPlatform(qrlBaseUrl);
43
+ };
44
+
45
+ export const setBrowserWorkerPlatform = (qrlBaseUrl) => {
46
+ setPlatform(createBrowserWorkerPlatform(qrlBaseUrl));
47
+ };
48
+
49
+ export const setNodeWorkerPlatform = (qrlBaseUrl) => {
50
+ setPlatform(createNodeWorkerPlatform(qrlBaseUrl));
51
+ };
52
+
53
+ export const runWorkerMessage = async (data, postMessage, invokeThis) => {
54
+ const requestId = data[0];
55
+ try {
56
+ const [qrl, ...args] = await _deserialize(data[1]);
57
+
58
+ const output = await qrl.apply(invokeThis ?? null, args);
59
+ postMessage([requestId, true, output]);
60
+ } catch (err) {
61
+ postMessage([requestId, false, err]);
62
+ }
63
+ };
package/handlers.mjs CHANGED
@@ -6,4 +6,24 @@
6
6
  *
7
7
  * Make sure that these handlers are listed in manifest.ts
8
8
  */
9
- export { _run, _task } from '@qwik.dev/core';
9
+ export {
10
+ _chk,
11
+ _rsc,
12
+ _res,
13
+ _run,
14
+ _task,
15
+ _val,
16
+ // Each
17
+ _eaC,
18
+ _eaT,
19
+ // Show
20
+ _shC,
21
+ _shT,
22
+ // Suspense
23
+ _suC,
24
+ _suT,
25
+ // Reveal
26
+ _reR,
27
+ _reC,
28
+ _reT,
29
+ } from '@qwik.dev/core/internal';
package/package.json CHANGED
@@ -1,28 +1,32 @@
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.4",
4
+ "version": "2.0.0-beta.41",
5
5
  "author": "Qwik Team",
6
6
  "bin": {
7
- "qwik": "./qwik-cli.cjs"
7
+ "qwik": "./qwik-cli.mjs"
8
8
  },
9
9
  "bugs": "https://github.com/QwikDev/qwik/issues",
10
10
  "dependencies": {
11
- "csstype": "^3.1",
12
- "rollup": "^4.44.0"
11
+ "csstype": "^3.2.3",
12
+ "launch-editor": "^2.14.1",
13
+ "magic-string": "0.30.21",
14
+ "@qwik.dev/optimizer": "2.1.0-beta.7"
13
15
  },
14
16
  "devDependencies": {
17
+ "@croct/json5-parser": "0.2.2",
18
+ "domino": "2.1.6",
15
19
  "ignore": "5.3.1",
16
- "image-size": "1.1.1",
20
+ "image-size": "2.0.2",
17
21
  "kleur": "4.1.5",
18
- "prettier": "3.5.3",
19
- "ts-morph": "23.0.0",
20
- "vitest": "3.2.4",
21
- "@qwik.dev/core": "2.0.0-beta.4",
22
+ "prettier": "3.7.4",
23
+ "rolldown": "1.2.4",
24
+ "vitest": "4.1.10",
25
+ "@qwik.dev/core": "2.0.0-beta.41",
22
26
  "@qwik.dev/dom": "2.1.19"
23
27
  },
24
28
  "engines": {
25
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
29
+ "node": "^20.3.0 || >=21.0.0"
26
30
  },
27
31
  "exports": {
28
32
  ".": {
@@ -32,15 +36,10 @@
32
36
  "production": "./dist/core.prod.mjs",
33
37
  "min": "./dist/core.min.mjs",
34
38
  "default": "./dist/core.prod.mjs"
35
- },
36
- "require": {
37
- "development": "./dist/core.cjs",
38
- "production": "./dist/core.prod.cjs",
39
- "default": "./dist/core.prod.cjs"
40
39
  }
41
40
  },
42
41
  "./cli": {
43
- "require": "./dist/cli.cjs"
42
+ "require": "./dist/cli.mjs"
44
43
  },
45
44
  "./handlers.mjs": "./handlers.mjs",
46
45
  "./internal": {
@@ -50,11 +49,6 @@
50
49
  "production": "./dist/core.prod.mjs",
51
50
  "min": "./dist/core.min.mjs",
52
51
  "default": "./dist/core.prod.mjs"
53
- },
54
- "require": {
55
- "development": "./dist/core.cjs",
56
- "production": "./dist/core.prod.cjs",
57
- "default": "./dist/core.prod.cjs"
58
52
  }
59
53
  },
60
54
  "./jsx-runtime": {
@@ -64,11 +58,6 @@
64
58
  "production": "./dist/core.prod.mjs",
65
59
  "min": "./dist/core.min.mjs",
66
60
  "default": "./dist/core.prod.mjs"
67
- },
68
- "require": {
69
- "development": "./dist/core.cjs",
70
- "production": "./dist/core.prod.cjs",
71
- "default": "./dist/core.prod.cjs"
72
61
  }
73
62
  },
74
63
  "./jsx-dev-runtime": {
@@ -78,11 +67,6 @@
78
67
  "production": "./dist/core.prod.mjs",
79
68
  "min": "./dist/core.min.mjs",
80
69
  "default": "./dist/core.mjs"
81
- },
82
- "require": {
83
- "development": "./dist/core.cjs",
84
- "production": "./dist/core.prod.cjs",
85
- "default": "./dist/core.cjs"
86
70
  }
87
71
  },
88
72
  "./build": {
@@ -91,53 +75,49 @@
91
75
  "development": "./dist/build/index.dev.mjs",
92
76
  "production": "./dist/build/index.prod.mjs",
93
77
  "default": "./dist/build/index.mjs"
94
- },
95
- "require": {
96
- "development": "./dist/build/index.dev.cjs",
97
- "production": "./dist/build/index.prod.cjs",
98
- "default": "./dist/build/index.cjs"
99
78
  }
100
79
  },
101
80
  "./loader": {
102
81
  "types": "./dist/loader/index.d.ts",
103
- "import": "./dist/loader/index.mjs",
104
- "require": "./dist/loader/index.cjs"
82
+ "import": "./dist/loader/index.mjs"
105
83
  },
106
84
  "./insights": {
107
85
  "types": "./dist/insights.d.ts",
108
- "import": "./dist/insights/index.qwik.mjs",
109
- "require": "./dist/insights/index.qwik.cjs"
86
+ "import": "./dist/insights/index.qwik.mjs"
110
87
  },
111
88
  "./insights/vite": {
112
89
  "types": "./dist/insights/vite.d.ts",
113
- "import": "./dist/insights/vite/index.mjs",
114
- "require": "./dist/insights/vite/index.cjs"
90
+ "import": "./dist/insights/vite/index.mjs"
115
91
  },
116
- "./optimizer.cjs": "./dist/optimizer.cjs",
117
92
  "./optimizer.mjs": "./dist/optimizer.mjs",
118
93
  "./optimizer": {
119
94
  "types": "./dist/optimizer.d.ts",
120
- "import": "./dist/optimizer.mjs",
121
- "require": "./dist/optimizer.cjs"
95
+ "import": "./dist/optimizer.mjs"
122
96
  },
123
97
  "./preloader": {
124
- "import": "./dist/preloader.mjs",
125
- "require": "./dist/preloader.cjs"
98
+ "import": "./dist/preloader.mjs"
126
99
  },
127
- "./server.cjs": "./dist/server.cjs",
128
100
  "./server.mjs": "./dist/server.mjs",
129
101
  "./server": {
130
102
  "types": "./server.d.ts",
131
- "import": "./dist/server.mjs",
132
- "require": "./dist/server.cjs"
103
+ "import": {
104
+ "development": "./dist/server.mjs",
105
+ "production": "./dist/server.prod.mjs",
106
+ "default": "./dist/server.prod.mjs"
107
+ }
133
108
  },
134
109
  "./testing": {
135
110
  "types": "./dist/testing/index.d.ts",
136
- "import": "./dist/testing/index.mjs",
137
- "require": "./dist/testing/index.cjs"
111
+ "import": "./dist/testing/index.mjs"
112
+ },
113
+ "./worker": {
114
+ "types": "./worker.d.ts",
115
+ "import": "./dist/worker/index.mjs"
138
116
  },
139
117
  "./qwikloader.js": "./dist/qwikloader.js",
140
118
  "./qwikloader.debug.js": "./dist/qwikloader.debug.js",
119
+ "./backpatch-executor.js": "./dist/backpatch-executor.js",
120
+ "./backpatch-executor.debug.js": "./dist/backpatch-executor.debug.js",
141
121
  "./package.json": "./package.json"
142
122
  },
143
123
  "exports_annotation": "We use the build for the optimizer because esbuild doesn't like the html?raw imports in the server plugin and it's only used in the vite configs",
@@ -145,7 +125,6 @@
145
125
  "README.md",
146
126
  "LICENSE",
147
127
  "dist",
148
- "bindings",
149
128
  "build.d.ts",
150
129
  "cli.d.ts",
151
130
  "handlers.mjs",
@@ -156,7 +135,8 @@
156
135
  "public.d.ts",
157
136
  "server.d.ts",
158
137
  "testing.d.ts",
159
- "qwik-cli.cjs"
138
+ "worker.d.ts",
139
+ "qwik-cli.mjs"
160
140
  ],
161
141
  "homepage": "https://qwik.dev/",
162
142
  "keywords": [
@@ -181,8 +161,8 @@
181
161
  "main": "./src/index.ts",
182
162
  "peerDependencies": {
183
163
  "prettier": "*",
184
- "vite": ">=5 <8",
185
- "vitest": ">=2 <3"
164
+ "vite": ">=8 <9",
165
+ "vitest": ">=2 <5"
186
166
  },
187
167
  "peerDependenciesMeta": {
188
168
  "vitest": {
@@ -200,6 +180,10 @@
200
180
  "url": "https://github.com/QwikDev/qwik.git",
201
181
  "directory": "packages/qwik"
202
182
  },
183
+ "sideEffects": [
184
+ "./src/testing/vdom-diff.unit-util.ts",
185
+ "./src/testing/mocks.ts"
186
+ ],
203
187
  "type": "module",
204
188
  "types": "./public.d.ts",
205
189
  "scripts": {
package/public.d.ts CHANGED
@@ -1,24 +1,27 @@
1
1
  export {
2
2
  $,
3
+ AsyncSignal,
3
4
  ClassList,
4
5
  Component,
5
6
  component$,
6
7
  ComputedSignal,
7
8
  ContextId,
8
9
  createComputed$,
9
- createAsyncComputed$,
10
10
  createSerializer$,
11
11
  createContextId,
12
12
  createSignal,
13
13
  CSSProperties,
14
+ Each,
14
15
  // TODO remove this
15
16
  event$,
16
17
  EventHandler,
17
18
  Fragment,
18
19
  FunctionComponent,
20
+ getClientManifest,
19
21
  getLocale,
20
22
  getPlatform,
21
23
  implicit$FirstArg,
24
+ inlinedQrl,
22
25
  isBrowser,
23
26
  isDev,
24
27
  isServer,
@@ -51,14 +54,21 @@ export {
51
54
  RenderOptions,
52
55
  Resource,
53
56
  ResourceReturn,
57
+ Reveal,
58
+ RevealOrder,
59
+ RevealProps,
60
+ Show,
61
+ ShowComponent,
62
+ ShowProps,
54
63
  Signal,
55
64
  SkipRender,
56
65
  Slot,
66
+ Suspense,
67
+ SuspenseProps,
57
68
  sync$,
58
69
  TaskCtx,
59
70
  // TODO do we really want to export this?
60
71
  untrack,
61
- useAsyncComputed$,
62
72
  useComputed$,
63
73
  useConstant,
64
74
  useContext,
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
2
  // This requires the build to be run first.
3
- const qwik = require('./dist/cli.cjs');
3
+ import * as qwik from './dist/cli.mjs';
4
4
  qwik.runCli();
package/server.d.ts CHANGED
@@ -12,5 +12,7 @@ export {
12
12
  RenderToStreamResult,
13
13
  RenderToStringOptions,
14
14
  RenderToStringResult,
15
+ RenderToString,
16
+ RenderToStream,
15
17
  versions,
16
18
  } from './dist/server';
package/worker.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ // re-export for typescript in old resolution mode
2
+ export * from './dist/worker/index.mjs';