@qwik.dev/core 2.0.0-beta.5 → 2.0.0-beta.6
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/build/package.json +1 -1
- package/dist/cli.cjs +2 -2
- package/dist/core-internal.d.ts +49 -11
- package/dist/core.cjs +239 -105
- package/dist/core.cjs.map +1 -1
- package/dist/core.min.mjs +1 -1
- package/dist/core.mjs +224 -105
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.cjs +117 -63
- package/dist/core.prod.mjs +113 -58
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.cjs +138 -202
- package/dist/optimizer.d.ts +9 -15
- package/dist/optimizer.mjs +129 -195
- package/dist/server.cjs +33 -16
- package/dist/server.mjs +32 -16
- package/dist/starters/adapters/aws-lambda/adapters/aws-lambda/vite.config.mts +1 -1
- package/dist/starters/adapters/aws-lambda/src/entry_aws-lambda.tsx +1 -5
- package/dist/starters/adapters/azure-swa/adapters/azure-swa/vite.config.mts +1 -1
- package/dist/starters/adapters/azure-swa/src/entry.azure-swa.tsx +1 -2
- package/dist/starters/adapters/bun/adapters/bun/vite.config.mts +1 -1
- package/dist/starters/adapters/bun/src/entry.bun.ts +0 -2
- package/dist/starters/adapters/cloud-run/adapters/cloud-run/vite.config.mts +1 -1
- package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +0 -2
- package/dist/starters/adapters/cloudflare-pages/adapters/cloudflare-pages/vite.config.mts +1 -1
- package/dist/starters/adapters/cloudflare-pages/src/entry.cloudflare-pages.tsx +1 -2
- package/dist/starters/adapters/deno/adapters/deno/vite.config.mts +1 -1
- package/dist/starters/adapters/deno/src/entry.deno.ts +0 -2
- package/dist/starters/adapters/express/adapters/express/vite.config.mts +1 -1
- package/dist/starters/adapters/express/src/entry.express.tsx +0 -2
- package/dist/starters/adapters/fastify/adapters/fastify/vite.config.mts +1 -1
- package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +1 -2
- package/dist/starters/adapters/firebase/adapters/firebase/vite.config.mts +1 -1
- package/dist/starters/adapters/firebase/src/entry-firebase.tsx +1 -2
- package/dist/starters/adapters/netlify-edge/adapters/netlify-edge/vite.config.mts +1 -1
- package/dist/starters/adapters/netlify-edge/src/entry.netlify-edge.tsx +1 -2
- package/dist/starters/adapters/node-server/adapters/node-server/vite.config.mts +1 -1
- package/dist/starters/adapters/node-server/src/entry.node-server.tsx +0 -2
- package/dist/starters/adapters/{static/adapters/static → ssg/adapters/ssg}/vite.config.mts +2 -2
- package/dist/starters/adapters/ssg/package.json +19 -0
- package/dist/starters/adapters/vercel-edge/adapters/vercel-edge/vite.config.mts +1 -1
- package/dist/starters/adapters/vercel-edge/src/entry.vercel-edge.tsx +1 -2
- package/dist/starters/adapters/vercel-edge/vercel.json +1 -1
- package/dist/testing/index.cjs +183 -121
- package/dist/testing/index.mjs +176 -115
- package/dist/testing/package.json +1 -1
- package/package.json +2 -2
- package/dist/starters/adapters/static/package.json +0 -19
- /package/dist/starters/adapters/{static → ssg}/README.md +0 -0
package/dist/optimizer.d.ts
CHANGED
|
@@ -19,8 +19,6 @@ export declare interface ComponentEntryStrategy {
|
|
|
19
19
|
/** @public */
|
|
20
20
|
export declare const createOptimizer: (optimizerOptions?: OptimizerOptions) => Promise<Optimizer>;
|
|
21
21
|
|
|
22
|
-
declare function createSymbolMapper(base: string): SymbolMapperFn;
|
|
23
|
-
|
|
24
22
|
/** @public */
|
|
25
23
|
export declare interface Diagnostic {
|
|
26
24
|
scope: string;
|
|
@@ -60,7 +58,7 @@ export declare enum ExperimentalFeatures {
|
|
|
60
58
|
enableRequestRewrite = "enableRequestRewrite",
|
|
61
59
|
/** Enable worker$ */
|
|
62
60
|
webWorker = "webWorker",
|
|
63
|
-
/** Enable the ability to use the Qwik Insights vite plugin and
|
|
61
|
+
/** Enable the ability to use the Qwik Insights vite plugin and `<Insights/>` component */
|
|
64
62
|
insights = "insights"
|
|
65
63
|
}
|
|
66
64
|
|
|
@@ -92,11 +90,11 @@ export declare interface InlineEntryStrategy {
|
|
|
92
90
|
/** @public */
|
|
93
91
|
export declare type MinifyMode = 'simplify' | 'none';
|
|
94
92
|
|
|
95
|
-
declare interface NormalizedQwikPluginOptions extends Omit<Required<QwikPluginOptions>, 'vendorRoots' | 'experimental'> {
|
|
93
|
+
declare interface NormalizedQwikPluginOptions extends Omit<Required<QwikPluginOptions>, 'input' | 'vendorRoots' | 'srcInputs' | 'experimental'> {
|
|
96
94
|
input: string[] | {
|
|
97
95
|
[entry: string]: string;
|
|
98
|
-
};
|
|
99
|
-
experimental
|
|
96
|
+
} | undefined;
|
|
97
|
+
experimental: Record<keyof typeof ExperimentalFeatures, boolean> | undefined;
|
|
100
98
|
}
|
|
101
99
|
|
|
102
100
|
/** @public */
|
|
@@ -285,9 +283,12 @@ declare interface QwikPluginOptions {
|
|
|
285
283
|
[entry: string]: string;
|
|
286
284
|
};
|
|
287
285
|
outDir?: string;
|
|
286
|
+
ssrOutDir?: string;
|
|
287
|
+
clientOutDir?: string;
|
|
288
288
|
assetsDir?: string;
|
|
289
289
|
srcDir?: string | null;
|
|
290
290
|
scope?: string | null;
|
|
291
|
+
/** @deprecated Not used */
|
|
291
292
|
srcInputs?: TransformModuleInput[] | null;
|
|
292
293
|
sourcemap?: boolean;
|
|
293
294
|
resolveQwikBuild?: boolean;
|
|
@@ -702,15 +703,8 @@ export declare type SourceMapsOption = 'external' | 'inline' | undefined | null;
|
|
|
702
703
|
/** @public */
|
|
703
704
|
export declare type SymbolMapper = Record<string, readonly [symbol: string, chunk: string]>;
|
|
704
705
|
|
|
705
|
-
/**
|
|
706
|
-
|
|
707
|
-
* For a given symbol (QRL such as `onKeydown$`) the server needs to know which bundle the symbol is in.
|
|
708
|
-
*
|
|
709
|
-
* Normally this is provided by Qwik's `q-manifest` . But `q-manifest` only exists after a full client build.
|
|
710
|
-
*
|
|
711
|
-
* This would be a problem in dev mode. So in dev mode the symbol is mapped to the expected URL using the symbolMapper function below. For Vite the given path is fixed for a given symbol.
|
|
712
|
-
*/
|
|
713
|
-
export declare let symbolMapper: ReturnType<typeof createSymbolMapper>;
|
|
706
|
+
/** @alpha @deprecated No longer needed, it is automatic now */
|
|
707
|
+
export declare const symbolMapper: undefined;
|
|
714
708
|
|
|
715
709
|
/** @public */
|
|
716
710
|
export declare type SymbolMapperFn = (symbolName: string, mapper: SymbolMapper | undefined, parent?: string) => readonly [symbol: string, chunk: string] | undefined;
|
package/dist/optimizer.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core/optimizer 2.0.0-beta.
|
|
3
|
+
* @qwik.dev/core/optimizer 2.0.0-beta.6-dev+c42693f
|
|
4
4
|
* Copyright QwikDev. All Rights Reserved.
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://github.com/QwikDev/qwik/blob/main/LICENSE
|
|
@@ -1282,7 +1282,7 @@ var QWIK_BINDING_MAP = {
|
|
|
1282
1282
|
};
|
|
1283
1283
|
|
|
1284
1284
|
var versions = {
|
|
1285
|
-
qwik: "2.0.0-beta.
|
|
1285
|
+
qwik: "2.0.0-beta.6-dev+c42693f"
|
|
1286
1286
|
};
|
|
1287
1287
|
|
|
1288
1288
|
async function getSystem() {
|
|
@@ -1306,6 +1306,10 @@ async function getSystem() {
|
|
|
1306
1306
|
sys.path = await sys.dynamicImport("node:path");
|
|
1307
1307
|
sys.cwd = () => process.cwd();
|
|
1308
1308
|
sys.os = process.platform;
|
|
1309
|
+
} else if ("deno" === sysEnv) {
|
|
1310
|
+
sys.path = await sys.dynamicImport("node:path");
|
|
1311
|
+
sys.cwd = () => Deno.cwd();
|
|
1312
|
+
sys.os = Deno.platform();
|
|
1309
1313
|
}
|
|
1310
1314
|
return sys;
|
|
1311
1315
|
}
|
|
@@ -2141,15 +2145,16 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2141
2145
|
target: "client",
|
|
2142
2146
|
buildMode: "development",
|
|
2143
2147
|
debug: false,
|
|
2144
|
-
rootDir:
|
|
2148
|
+
rootDir: void 0,
|
|
2145
2149
|
tsconfigFileNames: [ "./tsconfig.json" ],
|
|
2146
|
-
input:
|
|
2147
|
-
outDir:
|
|
2148
|
-
assetsDir:
|
|
2150
|
+
input: void 0,
|
|
2151
|
+
outDir: void 0,
|
|
2152
|
+
assetsDir: void 0,
|
|
2149
2153
|
resolveQwikBuild: true,
|
|
2150
|
-
entryStrategy:
|
|
2151
|
-
srcDir:
|
|
2152
|
-
|
|
2154
|
+
entryStrategy: void 0,
|
|
2155
|
+
srcDir: void 0,
|
|
2156
|
+
ssrOutDir: void 0,
|
|
2157
|
+
clientOutDir: void 0,
|
|
2153
2158
|
sourcemap: !!optimizerOptions.sourcemap,
|
|
2154
2159
|
manifestInput: null,
|
|
2155
2160
|
manifestOutput: null,
|
|
@@ -2164,10 +2169,14 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2164
2169
|
experimental: void 0
|
|
2165
2170
|
};
|
|
2166
2171
|
let lazyNormalizePath;
|
|
2172
|
+
let maybeFs;
|
|
2167
2173
|
const init2 = async () => {
|
|
2168
2174
|
if (!internalOptimizer) {
|
|
2169
2175
|
internalOptimizer = await createOptimizer(optimizerOptions);
|
|
2170
2176
|
lazyNormalizePath = makeNormalizePath(internalOptimizer.sys);
|
|
2177
|
+
try {
|
|
2178
|
+
maybeFs = await internalOptimizer.sys.dynamicImport("node:fs");
|
|
2179
|
+
} catch {}
|
|
2171
2180
|
}
|
|
2172
2181
|
};
|
|
2173
2182
|
const getOptimizer = () => {
|
|
@@ -2188,7 +2197,7 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2188
2197
|
const configureServer = server => {
|
|
2189
2198
|
devServer = server;
|
|
2190
2199
|
};
|
|
2191
|
-
const normalizeOptions = inputOpts => {
|
|
2200
|
+
const normalizeOptions = async inputOpts => {
|
|
2192
2201
|
const updatedOpts = Object.assign({}, inputOpts);
|
|
2193
2202
|
const optimizer2 = getOptimizer();
|
|
2194
2203
|
const path = optimizer2.sys.path;
|
|
@@ -2215,59 +2224,59 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2215
2224
|
if ("string" === typeof updatedOpts.srcDir) {
|
|
2216
2225
|
opts.srcDir = normalizePath(path.resolve(opts.rootDir, updatedOpts.srcDir));
|
|
2217
2226
|
srcDir = opts.srcDir;
|
|
2218
|
-
opts.srcInputs = null;
|
|
2219
|
-
} else if (Array.isArray(updatedOpts.srcInputs)) {
|
|
2220
|
-
opts.srcInputs = [ ...updatedOpts.srcInputs ];
|
|
2221
|
-
opts.srcDir = null;
|
|
2222
2227
|
} else {
|
|
2223
2228
|
opts.srcDir || (opts.srcDir = srcDir);
|
|
2224
2229
|
}
|
|
2230
|
+
opts.srcDir = normalizePath(path.resolve(opts.rootDir, normalizePath(opts.srcDir)));
|
|
2225
2231
|
Array.isArray(updatedOpts.tsconfigFileNames) && updatedOpts.tsconfigFileNames.length > 0 && (opts.tsconfigFileNames = updatedOpts.tsconfigFileNames);
|
|
2226
|
-
|
|
2227
|
-
i.path = normalizePath(path.resolve(opts.rootDir, i.path));
|
|
2228
|
-
}) : "string" === typeof opts.srcDir && (opts.srcDir = normalizePath(path.resolve(opts.rootDir, normalizePath(opts.srcDir))));
|
|
2232
|
+
updatedOpts.input || opts.input || ("ssr" === opts.target ? opts.input = [ path.resolve(srcDir, "entry.ssr") ] : "client" === opts.target ? opts.input = [ path.resolve(srcDir, "root") ] : opts.input = void 0);
|
|
2229
2233
|
if (!updatedOpts.csr) {
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2234
|
+
updatedOpts.outDir && (opts.outDir = normalizePath(path.resolve(opts.rootDir, normalizePath(updatedOpts.outDir))));
|
|
2235
|
+
opts.clientOutDir = normalizePath(path.resolve(opts.rootDir, updatedOpts.clientOutDir || CLIENT_OUT_DIR));
|
|
2236
|
+
opts.ssrOutDir = normalizePath(path.resolve(opts.rootDir, updatedOpts.ssrOutDir || SSR_OUT_DIR));
|
|
2237
|
+
"ssr" === opts.target ? opts.outDir || (opts.outDir = opts.ssrOutDir) : "lib" === opts.target ? opts.outDir || (opts.outDir = normalizePath(path.resolve(opts.rootDir, LIB_OUT_DIR))) : opts.outDir || (opts.outDir = opts.clientOutDir);
|
|
2238
|
+
}
|
|
2239
|
+
"function" === typeof updatedOpts.manifestOutput && (opts.manifestOutput = updatedOpts.manifestOutput);
|
|
2240
|
+
updatedOpts.manifestInput && (opts.manifestInput = getValidManifest(updatedOpts.manifestInput) || null);
|
|
2241
|
+
if (!opts.manifestInput && "ssr" === opts.target && "production" === opts.buildMode && maybeFs) {
|
|
2242
|
+
let clientManifestPath = normalizePath(path.resolve(opts.clientOutDir, Q_MANIFEST_FILENAME));
|
|
2243
|
+
await maybeFs.promises.stat(clientManifestPath).catch(() => false) || (clientManifestPath = normalizePath(path.resolve(opts.rootDir, CLIENT_OUT_DIR, Q_MANIFEST_FILENAME)));
|
|
2244
|
+
try {
|
|
2245
|
+
const clientManifestStr = await maybeFs.promises.readFile(clientManifestPath, "utf-8");
|
|
2246
|
+
opts.manifestInput = getValidManifest(JSON.parse(clientManifestStr)) || null;
|
|
2247
|
+
console.info("Read client manifest from", clientManifestPath);
|
|
2248
|
+
} catch (e) {
|
|
2249
|
+
console.warn(`could not read Qwik client manifest ${clientManifestPath}, ignoring. Make sure you provide it to the SSR renderer. (${e})`);
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
"function" === typeof updatedOpts.transformedModuleOutput && (opts.transformedModuleOutput = updatedOpts.transformedModuleOutput);
|
|
2253
|
+
if (void 0 !== updatedOpts.scope) {
|
|
2254
|
+
opts.scope = updatedOpts.scope;
|
|
2255
|
+
} else if (!opts.scope && maybeFs) {
|
|
2256
|
+
let pkgPath = "";
|
|
2257
|
+
try {
|
|
2258
|
+
let pkgDir = opts.rootDir;
|
|
2259
|
+
while (true) {
|
|
2260
|
+
pkgPath = path.resolve(pkgDir, "package.json");
|
|
2261
|
+
if (await maybeFs.promises.stat(pkgPath).catch(() => false)) {
|
|
2262
|
+
break;
|
|
2251
2263
|
}
|
|
2252
|
-
|
|
2253
|
-
|
|
2264
|
+
const parent = path.resolve(pkgDir, "..");
|
|
2265
|
+
if (parent === pkgDir) {
|
|
2266
|
+
break;
|
|
2267
|
+
}
|
|
2268
|
+
pkgDir = parent;
|
|
2269
|
+
pkgPath = "";
|
|
2254
2270
|
}
|
|
2255
|
-
|
|
2256
|
-
|
|
2271
|
+
if (pkgPath) {
|
|
2272
|
+
const pkgString = await maybeFs.promises.readFile(pkgPath, "utf-8");
|
|
2273
|
+
const pkg = JSON.parse(pkgString);
|
|
2274
|
+
"string" === typeof pkg.name && (opts.scope = pkg.name);
|
|
2275
|
+
}
|
|
2276
|
+
} catch (e) {
|
|
2277
|
+
console.warn(`could not read ${pkgPath || "package.json"} to determine package name, ignoring. (${e})`);
|
|
2257
2278
|
}
|
|
2258
|
-
Array.isArray(opts.input) && (opts.input = opts.input.reduce((inputs, i) => {
|
|
2259
|
-
let input = i;
|
|
2260
|
-
i.startsWith("@") || i.startsWith("~") || i.startsWith("#") || (input = normalizePath(path.resolve(opts.rootDir, i)));
|
|
2261
|
-
inputs.includes(input) || inputs.push(input);
|
|
2262
|
-
return inputs;
|
|
2263
|
-
}, []));
|
|
2264
|
-
"string" === typeof updatedOpts.outDir ? opts.outDir = normalizePath(path.resolve(opts.rootDir, normalizePath(updatedOpts.outDir))) : opts.outDir || ("ssr" === opts.target ? opts.outDir = normalizePath(path.resolve(opts.rootDir, SSR_OUT_DIR)) : "lib" === opts.target ? opts.outDir = normalizePath(path.resolve(opts.rootDir, LIB_OUT_DIR)) : opts.outDir = normalizePath(path.resolve(opts.rootDir, CLIENT_OUT_DIR)));
|
|
2265
2279
|
}
|
|
2266
|
-
"function" === typeof updatedOpts.manifestOutput && (opts.manifestOutput = updatedOpts.manifestOutput);
|
|
2267
|
-
const clientManifest = getValidManifest(updatedOpts.manifestInput);
|
|
2268
|
-
clientManifest && (opts.manifestInput = clientManifest);
|
|
2269
|
-
"function" === typeof updatedOpts.transformedModuleOutput && (opts.transformedModuleOutput = updatedOpts.transformedModuleOutput);
|
|
2270
|
-
void 0 !== updatedOpts.scope && (opts.scope = updatedOpts.scope);
|
|
2271
2280
|
"boolean" === typeof updatedOpts.resolveQwikBuild && (opts.resolveQwikBuild = updatedOpts.resolveQwikBuild);
|
|
2272
2281
|
if ("object" === typeof updatedOpts.devTools) {
|
|
2273
2282
|
"imageDevTools" in updatedOpts.devTools && (opts.devTools.imageDevTools = updatedOpts.devTools.imageDevTools);
|
|
@@ -2282,9 +2291,12 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2282
2291
|
ExperimentalFeatures[feature] ? (opts.experimental || (opts.experimental = {}))[feature] = true : console.error(`Qwik plugin: Unknown experimental feature: ${feature}`);
|
|
2283
2292
|
}
|
|
2284
2293
|
}
|
|
2285
|
-
|
|
2294
|
+
const out = {
|
|
2286
2295
|
...opts
|
|
2287
2296
|
};
|
|
2297
|
+
opts.input || (opts.input = updatedOpts.input);
|
|
2298
|
+
opts.input && "string" === typeof opts.input && (opts.input = [ opts.input ]);
|
|
2299
|
+
return out;
|
|
2288
2300
|
};
|
|
2289
2301
|
let hasValidatedSource = false;
|
|
2290
2302
|
const validateSource = async resolver => {
|
|
@@ -2319,17 +2331,6 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2319
2331
|
linter = await createLinter(optimizer.sys, opts.rootDir, opts.tsconfigFileNames);
|
|
2320
2332
|
} catch {}
|
|
2321
2333
|
}
|
|
2322
|
-
const path = getPath();
|
|
2323
|
-
if (Array.isArray(opts.srcInputs)) {
|
|
2324
|
-
optimizer.sys.getInputFiles = async rootDir => opts.srcInputs.map(i => {
|
|
2325
|
-
const relInput = {
|
|
2326
|
-
path: normalizePath(path.relative(rootDir, i.path)),
|
|
2327
|
-
code: i.code
|
|
2328
|
-
};
|
|
2329
|
-
return relInput;
|
|
2330
|
-
});
|
|
2331
|
-
debug(`buildStart() opts.srcInputs (${opts.srcInputs.length} files)`);
|
|
2332
|
-
}
|
|
2333
2334
|
debug("transformedOutputs.clear()");
|
|
2334
2335
|
clientTransformedOutputs.clear();
|
|
2335
2336
|
serverTransformedOutputs.clear();
|
|
@@ -2593,18 +2594,11 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2593
2594
|
parentIds.set(key, id2);
|
|
2594
2595
|
currentOutputs.set(key, [ mod, id2 ]);
|
|
2595
2596
|
deps.add(key);
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
ctx.emitFile({
|
|
2602
|
-
id: key,
|
|
2603
|
-
type: "chunk",
|
|
2604
|
-
preserveSignature: "allow-extension"
|
|
2605
|
-
});
|
|
2606
|
-
}
|
|
2607
|
-
}
|
|
2597
|
+
"client" !== opts.target || devServer || ctx.emitFile({
|
|
2598
|
+
id: key,
|
|
2599
|
+
type: "chunk",
|
|
2600
|
+
preserveSignature: "allow-extension"
|
|
2601
|
+
});
|
|
2608
2602
|
}
|
|
2609
2603
|
}
|
|
2610
2604
|
for (const id3 of deps.values()) {
|
|
@@ -2666,8 +2660,8 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2666
2660
|
};
|
|
2667
2661
|
const normalizePath = id2 => lazyNormalizePath(id2);
|
|
2668
2662
|
function getQwikBuildModule(isServer, _target) {
|
|
2669
|
-
const
|
|
2670
|
-
return `// @qwik.dev/core/build\nexport const isServer = ${JSON.stringify(isServer)};\nexport const isBrowser = ${JSON.stringify(!isServer)};\nexport const isDev = ${JSON.stringify(
|
|
2663
|
+
const isDev = "development" === opts.buildMode;
|
|
2664
|
+
return `// @qwik.dev/core/build\nexport const isServer = ${JSON.stringify(isServer)};\nexport const isBrowser = ${JSON.stringify(!isServer)};\nexport const isDev = ${JSON.stringify(isDev)};\n`;
|
|
2671
2665
|
}
|
|
2672
2666
|
async function getQwikServerManifestModule(isServer) {
|
|
2673
2667
|
const manifest = isServer ? opts.manifestInput : null;
|
|
@@ -2760,7 +2754,6 @@ function createQwikPlugin(optimizerOptions = {}) {
|
|
|
2760
2754
|
});
|
|
2761
2755
|
"function" === typeof opts.manifestOutput && await opts.manifestOutput(manifest);
|
|
2762
2756
|
"function" === typeof opts.transformedModuleOutput && await opts.transformedModuleOutput(getTransformedOutputs());
|
|
2763
|
-
return manifestStr;
|
|
2764
2757
|
}
|
|
2765
2758
|
return {
|
|
2766
2759
|
buildStart: buildStart,
|
|
@@ -2879,8 +2872,9 @@ function qwikRollup(qwikRollupOpts = {}) {
|
|
|
2879
2872
|
lint: qwikRollupOpts.lint,
|
|
2880
2873
|
experimental: qwikRollupOpts.experimental
|
|
2881
2874
|
};
|
|
2882
|
-
|
|
2883
|
-
|
|
2875
|
+
await qwikPlugin.normalizeOptions(pluginOpts);
|
|
2876
|
+
const {input: input} = qwikPlugin.getOptions();
|
|
2877
|
+
inputOpts.input = input;
|
|
2884
2878
|
return inputOpts;
|
|
2885
2879
|
},
|
|
2886
2880
|
outputOptions: rollupOutputOpts => normalizeRollupOutputOptionsObject(qwikPlugin, rollupOutputOpts, false),
|
|
@@ -2933,6 +2927,18 @@ function normalizeRollupOutputOptions(qwikPlugin, rollupOutputOpts, useAssetsDir
|
|
|
2933
2927
|
};
|
|
2934
2928
|
}
|
|
2935
2929
|
|
|
2930
|
+
var getChunkFileName = (prefix, opts, optimizer) => "production" !== opts.buildMode || opts.debug ? chunkInfo => {
|
|
2931
|
+
if (chunkInfo.moduleIds?.some(id => id.endsWith("core.prod.mjs"))) {
|
|
2932
|
+
return `${prefix}build/core.js`;
|
|
2933
|
+
}
|
|
2934
|
+
if (chunkInfo.moduleIds?.some(id => id.endsWith("qwik-router/lib/index.qwik.mjs"))) {
|
|
2935
|
+
return `${prefix}build/qwik-router.js`;
|
|
2936
|
+
}
|
|
2937
|
+
const relativePath = optimizer.sys.path.relative(optimizer.sys.cwd(), chunkInfo.name);
|
|
2938
|
+
const sanitized = relativePath.replace(/^(\.\.\/)+/, "").replace(/^\/+/, "").replace(/\//g, "-");
|
|
2939
|
+
return `${prefix}build/${sanitized}.js`;
|
|
2940
|
+
} : `${prefix}build/q-[hash].js`;
|
|
2941
|
+
|
|
2936
2942
|
function normalizeRollupOutputOptionsObject(qwikPlugin, rollupOutputOptsObj, useAssetsDir) {
|
|
2937
2943
|
const outputOpts = {
|
|
2938
2944
|
...rollupOutputOptsObj
|
|
@@ -2940,38 +2946,19 @@ function normalizeRollupOutputOptionsObject(qwikPlugin, rollupOutputOptsObj, use
|
|
|
2940
2946
|
const opts = qwikPlugin.getOptions();
|
|
2941
2947
|
const optimizer = qwikPlugin.getOptimizer();
|
|
2942
2948
|
const manualChunks = qwikPlugin.manualChunks;
|
|
2949
|
+
outputOpts.assetFileNames || (outputOpts.assetFileNames = (useAssetsDir ? `${opts.assetsDir}/` : "") + "assets/[hash]-[name].[ext]");
|
|
2950
|
+
const chunkFileName = getChunkFileName(useAssetsDir ? `${opts.assetsDir}` : "", opts, optimizer);
|
|
2943
2951
|
if ("client" === opts.target) {
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
outputOpts.assetFileNames = useAssetsDir ? `${opts.assetsDir}/${assetFileNames}` : assetFileNames;
|
|
2947
|
-
}
|
|
2948
|
-
let fileName;
|
|
2949
|
-
fileName = "production" !== opts.buildMode || opts.debug ? chunkInfo => {
|
|
2950
|
-
if (chunkInfo.moduleIds?.some(id => id.endsWith("core.prod.mjs"))) {
|
|
2951
|
-
return "build/core.js";
|
|
2952
|
-
}
|
|
2953
|
-
if (chunkInfo.moduleIds?.some(id => id.endsWith("qwik-router/lib/index.qwik.mjs"))) {
|
|
2954
|
-
return "build/qwik-router.js";
|
|
2955
|
-
}
|
|
2956
|
-
const path = optimizer.sys.path;
|
|
2957
|
-
const relativePath = path.relative(optimizer.sys.cwd(), chunkInfo.name);
|
|
2958
|
-
const sanitized = relativePath.replace(/^(\.\.\/)+/, "").replace(/^\/+/, "").replace(/\//g, "-");
|
|
2959
|
-
return `build/${sanitized}.js`;
|
|
2960
|
-
} : "build/q-[hash].js";
|
|
2961
|
-
const getFilePath = fileNamePattern => "string" === typeof fileNamePattern ? useAssetsDir ? `${opts.assetsDir}/${fileNamePattern}` : fileNamePattern : useAssetsDir ? chunkInfo => `${opts.assetsDir}/${fileNamePattern(chunkInfo)}` : chunkInfo => fileNamePattern(chunkInfo);
|
|
2962
|
-
outputOpts.entryFileNames || (outputOpts.entryFileNames = getFilePath(fileName));
|
|
2963
|
-
outputOpts.chunkFileNames || (outputOpts.chunkFileNames = getFilePath(fileName));
|
|
2964
|
-
} else {
|
|
2965
|
-
"production" === opts.buildMode && (outputOpts.chunkFileNames || (outputOpts.chunkFileNames = "q-[hash].js"));
|
|
2966
|
-
}
|
|
2967
|
-
outputOpts.assetFileNames || (outputOpts.assetFileNames = "assets/[hash]-[name].[ext]");
|
|
2968
|
-
if ("client" === opts.target) {
|
|
2952
|
+
outputOpts.entryFileNames || (outputOpts.entryFileNames = chunkFileName);
|
|
2953
|
+
outputOpts.chunkFileNames || (outputOpts.chunkFileNames = chunkFileName);
|
|
2969
2954
|
outputOpts.format = "es";
|
|
2970
2955
|
const prevManualChunks = outputOpts.manualChunks;
|
|
2971
2956
|
if (prevManualChunks && "function" !== typeof prevManualChunks) {
|
|
2972
2957
|
throw new Error("manualChunks must be a function");
|
|
2973
2958
|
}
|
|
2974
2959
|
outputOpts.manualChunks = prevManualChunks ? (id, meta) => prevManualChunks(id, meta) || manualChunks(id, meta) : manualChunks;
|
|
2960
|
+
} else {
|
|
2961
|
+
outputOpts.chunkFileNames || (outputOpts.chunkFileNames = chunkFileName);
|
|
2975
2962
|
}
|
|
2976
2963
|
outputOpts.dir || (outputOpts.dir = opts.outDir);
|
|
2977
2964
|
"cjs" === outputOpts.format && "string" !== typeof outputOpts.exports && (outputOpts.exports = "auto");
|
|
@@ -3329,8 +3316,6 @@ var perf_warning_default = "<script>\n if (!window.__qwikViteLog) {\n window
|
|
|
3329
3316
|
|
|
3330
3317
|
var VITE_ERROR_OVERLAY_STYLES = "\nvite-error-overlay {\n --color-bright: rgba(255, 255, 255, 0.8);\n --color-yellow: rgba(255,246,85,0.8);\n --qwik-dark-blue: #006ce9;\n --qwik-light-blue: #3ec2f7;\n --qwik-light-purple: #ac7ff4;\n --qwik-dark-purple: #713fc2;\n --yellow: #fff; /* override vite yellow */\n --purple: var(--color-bright); /* override vite purple */\n --red: var(--qwik-light-blue); /* override vite red */\n\n --vertical-box-spacing: 15px;\n --box-padding: 20px;\n --box-margin: 0 0 var(--vertical-box-spacing) 0;\n --box-background: rgba(0, 0, 0, 0.5);\n --box-border-radius: 8px;\n}\n\nvite-error-overlay::part(backdrop) {\n background: rgb(2 11 17 / 60%);\n}\n\nvite-error-overlay::part(window) {\n background: transparent;\n border: none;\n box-shadow: none;\n box-sizing: border-box;\n margin: 50px auto;\n max-width: 1200px;\n padding: var(--box-padding);\n width: 90%;\n}\n\nvite-error-overlay::part(message) {\n display: flex;\n flex-direction: column;\n font-size: 1.6rem;\n line-height: 1.7;\n margin-bottom: 30px;\n}\n\nvite-error-overlay::part(plugin) {\n font-size: 0.8rem;\n font-weight: 100;\n}\n\nvite-error-overlay::part(file),\nvite-error-overlay::part(frame),\nvite-error-overlay::part(stack),\nvite-error-overlay::part(tip) {\n background: var(--box-background);\n border-left: 5px solid transparent;\n border-radius: var(--box-border-radius);\n margin: var(--box-margin);\n min-height: 50px;\n padding: var(--box-padding);\n position: relative;\n}\n\nvite-error-overlay::part(file) {\n border-left-color: rgb(25 182 246);\n color: var(--color-bright);\n}\n\nvite-error-overlay::part(frame) {\n border-left-color: var(--color-yellow);\n color: var(--color-yellow);\n}\n\nvite-error-overlay::part(stack) {\n border-left-color: #FF5722;\n}\n\n\nvite-error-overlay::part(tip) {\n border-top: none;\n border-left-color: rgb(172, 127, 244);\n}\n\nvite-error-overlay::part(file):before,\nvite-error-overlay::part(frame):before,\nvite-error-overlay::part(stack):before {\n border-bottom: 1px solid #222;\n color: var(--color-bright);\n display: block;\n margin-bottom: 15px;\n padding-bottom: 5px;\n padding-left: 30px; /* space for icon */\n font-size: .8rem;\n}\n\nvite-error-overlay::part(file):before {\n content: 'File';\n}\n\nvite-error-overlay::part(frame):before {\n content: 'Frame';\n}\n\nvite-error-overlay::part(stack):before {\n content: 'Stack Trace';\n}\n\nvite-error-overlay::part(file):after,\nvite-error-overlay::part(frame):after,\nvite-error-overlay::part(stack):after {\n content: '';\n display: block;\n height: 20px;\n position: absolute;\n left: var(--box-padding);\n top: var(--box-padding);\n width: 20px;\n}\n\nvite-error-overlay::part(file):after {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20px' height='20px' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EFile-Generic%3C/title%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='File-Generic'%3E%3Crect id='Rectangle' fill-rule='nonzero' x='0' y='0' width='24' height='24'%3E%3C/rect%3E%3Cpath d='M4 5 C4 3.89543 4.89543 3 6 3 L15.1716 3 C15.702 3 16.2107 3.21071 16.5858 3.58579 L19.4142 6.41421 C19.7893 6.78929 20 7.29799 20 7.82843 L20 19 C20 20.1046 19.1046 21 18 21 L6 21 C4.89543 21 4 20.1046 4 19 L4 5 Z' id='Path' stroke='rgba(255,255,255,0.7)' stroke-width='1' stroke-linecap='round'%3E%3C/path%3E%3Cpath d='M15 4 L15 6 C15 7.10457 15.8954 8 17 8 L19 8' id='Path' stroke='rgba(255,255,255,0.7)' stroke-width='1' stroke-linecap='round'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n}\n\nvite-error-overlay::part(frame):after {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20px' height='20px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.6602 2.84952H19.1516C20.2555 2.84952 21.1504 3.74444 21.1504 4.84839V8.3398' stroke='rgba(255,255,255,0.7)' stroke-width='1.69904' stroke-linecap='round'/%3E%3Cpath d='M2.84949 8.33981L2.84949 4.8484C2.84949 3.74446 3.74441 2.84953 4.84836 2.84953L8.33977 2.84953' stroke='rgba(255,255,255,0.7)' stroke-width='1.69904' stroke-linecap='round'/%3E%3Cpath d='M21.1505 15.6602L21.1505 19.1516C21.1505 20.2555 20.2556 21.1505 19.1516 21.1505L15.6602 21.1505' stroke='rgba(255,255,255,0.7)' stroke-width='1.69904' stroke-linecap='round'/%3E%3Cpath d='M8.33984 21.1505L4.84843 21.1505C3.74449 21.1505 2.84956 20.2555 2.84956 19.1516L2.84956 15.6602' stroke='rgba(255,255,255,0.7)' stroke-width='1.69904' stroke-linecap='round'/%3E%3C/svg%3E\");\n}\n\nvite-error-overlay::part(stack):after {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20px' height='20px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.78 20H9.78C7.98 20 4.58 19.09 4.58 15.64C4.58 12.19 7.98 11.28 9.78 11.28H14.22C14.37 11.28 17.92 11.23 17.92 8.42C17.92 5.61 14.37 5.56 14.22 5.56H9.22C9.02109 5.56 8.83032 5.48098 8.68967 5.34033C8.54902 5.19968 8.47 5.00891 8.47 4.81C8.47 4.61109 8.54902 4.42032 8.68967 4.27967C8.83032 4.13902 9.02109 4.06 9.22 4.06H14.22C16.02 4.06 19.42 4.97 19.42 8.42C19.42 11.87 16.02 12.78 14.22 12.78H9.78C9.63 12.78 6.08 12.83 6.08 15.64C6.08 18.45 9.63 18.5 9.78 18.5H14.78C14.9789 18.5 15.1697 18.579 15.3103 18.7197C15.451 18.8603 15.53 19.0511 15.53 19.25C15.53 19.4489 15.451 19.6397 15.3103 19.7803C15.1697 19.921 14.9789 20 14.78 20Z' fill='rgba(255,255,255,0.7)'/%3E%3Cpath d='M6.44 8.31C5.74314 8.30407 5.06363 8.09202 4.48708 7.70056C3.91054 7.30909 3.46276 6.75573 3.20018 6.11021C2.93759 5.46469 2.87195 4.75589 3.01153 4.07312C3.1511 3.39036 3.48965 2.76418 3.9845 2.2735C4.47935 1.78281 5.10837 1.44958 5.79229 1.31579C6.47622 1.182 7.18444 1.25363 7.82771 1.52167C8.47099 1.78971 9.02054 2.24215 9.40711 2.82199C9.79368 3.40182 9.99998 4.08311 10 4.78C10 5.2461 9.90773 5.70759 9.72846 6.13783C9.54919 6.56808 9.28648 6.95856 8.95551 7.28675C8.62453 7.61494 8.23184 7.87433 7.80009 8.04995C7.36834 8.22558 6.90609 8.31396 6.44 8.31ZM6.44 2.75C6.04444 2.75 5.65776 2.86729 5.32886 3.08706C4.99996 3.30682 4.74362 3.61918 4.59224 3.98463C4.44087 4.35008 4.40126 4.75221 4.47843 5.14018C4.5556 5.52814 4.74609 5.8845 5.02579 6.16421C5.3055 6.44391 5.66186 6.6344 6.04982 6.71157C6.43779 6.78874 6.83992 6.74913 7.20537 6.59776C7.57082 6.44638 7.88318 6.19003 8.10294 5.86114C8.32271 5.53224 8.44 5.14556 8.44 4.75C8.44 4.48735 8.38827 4.22728 8.28776 3.98463C8.18725 3.74198 8.03993 3.5215 7.85422 3.33578C7.6685 3.15007 7.44802 3.00275 7.20537 2.90224C6.96272 2.80173 6.70265 2.75 6.44 2.75Z' fill='rgba(255,255,255,0.7)'/%3E%3Cpath d='M17.56 22.75C16.8614 22.752 16.1779 22.5466 15.5961 22.1599C15.0143 21.7733 14.5603 21.2227 14.2916 20.5778C14.0229 19.933 13.9515 19.2229 14.0866 18.5375C14.2217 17.8521 14.5571 17.2221 15.0504 16.7275C15.5437 16.2328 16.1726 15.8956 16.8577 15.7586C17.5427 15.6215 18.253 15.6909 18.8986 15.9577C19.5442 16.2246 20.0961 16.6771 20.4844 17.2578C20.8727 17.8385 21.08 18.5214 21.08 19.22C21.08 20.1545 20.7095 21.0508 20.0496 21.7125C19.3898 22.3743 18.4945 22.7473 17.56 22.75ZM17.56 17.19C17.1644 17.19 16.7778 17.3073 16.4489 17.5271C16.12 17.7468 15.8636 18.0592 15.7122 18.4246C15.5609 18.7901 15.5213 19.1922 15.5984 19.5802C15.6756 19.9681 15.8661 20.3245 16.1458 20.6042C16.4255 20.8839 16.7819 21.0744 17.1698 21.1516C17.5578 21.2287 17.9599 21.1891 18.3254 21.0377C18.6908 20.8864 19.0032 20.63 19.2229 20.3011C19.4427 19.9722 19.56 19.5856 19.56 19.19C19.56 18.6596 19.3493 18.1508 18.9742 17.7758C18.5991 17.4007 18.0904 17.19 17.56 17.19Z' fill='rgba(255,255,255,0.7)'/%3E%3C/svg%3E\");\n}\n\nvite-error-overlay::part(tip):before {\n content: \"Not sure how to solve this? Visit https://qwik.dev or connect with the community on Discord.\";\n display: block;\n margin-bottom: 1em;\n}\n";
|
|
3331
3318
|
|
|
3332
|
-
var SYNC_QRL = "<sync>";
|
|
3333
|
-
|
|
3334
3319
|
function getOrigin(req) {
|
|
3335
3320
|
const {PROTOCOL_HEADER: PROTOCOL_HEADER, HOST_HEADER: HOST_HEADER} = process.env;
|
|
3336
3321
|
const headers = req.headers;
|
|
@@ -3339,37 +3324,7 @@ function getOrigin(req) {
|
|
|
3339
3324
|
return `${protocol}://${host}`;
|
|
3340
3325
|
}
|
|
3341
3326
|
|
|
3342
|
-
function
|
|
3343
|
-
return (symbolName, _mapper, parent) => {
|
|
3344
|
-
if (symbolName === SYNC_QRL) {
|
|
3345
|
-
return [ symbolName, "" ];
|
|
3346
|
-
}
|
|
3347
|
-
if (!parent) {
|
|
3348
|
-
if (symbolName.startsWith("_")) {
|
|
3349
|
-
return [ symbolName, `${base}${QWIK_HANDLERS_ID}` ];
|
|
3350
|
-
}
|
|
3351
|
-
console.error("qwik vite-dev-server symbolMapper: unknown qrl requested without parent:", symbolName);
|
|
3352
|
-
return [ symbolName, `${base}${symbolName}.js` ];
|
|
3353
|
-
}
|
|
3354
|
-
const qrlFile = `${base}${parent.startsWith("/") ? parent.slice(1) : parent}_${symbolName}.js`;
|
|
3355
|
-
return [ symbolName, qrlFile ];
|
|
3356
|
-
};
|
|
3357
|
-
}
|
|
3358
|
-
|
|
3359
|
-
var lazySymbolMapper = null;
|
|
3360
|
-
|
|
3361
|
-
var symbolMapper = (symbolName, mapper, parent) => {
|
|
3362
|
-
if (lazySymbolMapper) {
|
|
3363
|
-
return lazySymbolMapper(symbolName, mapper, parent);
|
|
3364
|
-
}
|
|
3365
|
-
throw new Error("symbolMapper not initialized");
|
|
3366
|
-
};
|
|
3367
|
-
|
|
3368
|
-
async function configureDevServer(base, server, opts, sys, path, isClientDevOnly, clientDevInput, devSsrServer) {
|
|
3369
|
-
symbolMapper = lazySymbolMapper = createSymbolMapper(base);
|
|
3370
|
-
if (!devSsrServer) {
|
|
3371
|
-
return;
|
|
3372
|
-
}
|
|
3327
|
+
async function configureDevServer(base, server, opts, sys, path, isClientDevOnly, clientDevInput) {
|
|
3373
3328
|
const hasQwikRouter = server.config.plugins?.some(plugin => "vite-plugin-qwik-router" === plugin.name);
|
|
3374
3329
|
const cssImportedByCSS = new Set;
|
|
3375
3330
|
server.middlewares.use(async (req, res, next) => {
|
|
@@ -3406,6 +3361,14 @@ async function configureDevServer(base, server, opts, sys, path, isClientDevOnly
|
|
|
3406
3361
|
return;
|
|
3407
3362
|
}
|
|
3408
3363
|
const firstInput = opts.input && Object.values(opts.input)[0];
|
|
3364
|
+
if (!firstInput) {
|
|
3365
|
+
console.error("no entry found for dev server");
|
|
3366
|
+
res.statusCode || (res.statusCode = 404);
|
|
3367
|
+
res.setHeader("Content-Type", "text/plain");
|
|
3368
|
+
res.writeHead(res.statusCode);
|
|
3369
|
+
res.end("No entry found for dev server");
|
|
3370
|
+
return;
|
|
3371
|
+
}
|
|
3409
3372
|
const ssrModule = await server.ssrLoadModule(firstInput);
|
|
3410
3373
|
const render = ssrModule.default ?? ssrModule.render;
|
|
3411
3374
|
if ("function" === typeof render) {
|
|
@@ -3456,7 +3419,6 @@ async function configureDevServer(base, server, opts, sys, path, isClientDevOnly
|
|
|
3456
3419
|
stream: res,
|
|
3457
3420
|
snapshot: !isClientDevOnly,
|
|
3458
3421
|
manifest: isClientDevOnly ? void 0 : manifest,
|
|
3459
|
-
symbolMapper: isClientDevOnly ? void 0 : symbolMapper,
|
|
3460
3422
|
serverData: serverData,
|
|
3461
3423
|
containerAttributes: {
|
|
3462
3424
|
...serverData.containerAttributes
|
|
@@ -3638,7 +3600,6 @@ var FONTS = [ ".woff", ".woff2", ".ttf" ];
|
|
|
3638
3600
|
function qwikVite(qwikViteOpts = {}) {
|
|
3639
3601
|
let isClientDevOnly = false;
|
|
3640
3602
|
let clientDevInput;
|
|
3641
|
-
let tmpClientManifestPath;
|
|
3642
3603
|
let viteCommand = "serve";
|
|
3643
3604
|
let manifestInput = null;
|
|
3644
3605
|
let clientOutDir = null;
|
|
@@ -3685,6 +3646,10 @@ function qwikVite(qwikViteOpts = {}) {
|
|
|
3685
3646
|
} : "lib" === target && (qwikViteOpts.entryStrategy = {
|
|
3686
3647
|
type: "inline"
|
|
3687
3648
|
});
|
|
3649
|
+
const ssrInput = "ssr" === target ? "string" === typeof viteConfig.build?.ssr ? viteConfig.build.ssr : qwikViteOpts.ssr?.input : void 0;
|
|
3650
|
+
const clientInput = "client" === target ? qwikViteOpts.client?.input : void 0;
|
|
3651
|
+
let input = viteConfig.build?.rollupOptions?.input || clientInput || ssrInput;
|
|
3652
|
+
input && "string" === typeof input && (input = [ input ]);
|
|
3688
3653
|
const shouldFindVendors = !qwikViteOpts.disableVendorScan && ("lib" !== target || "serve" === viteCommand);
|
|
3689
3654
|
viteAssetsDir = viteConfig.build?.assetsDir;
|
|
3690
3655
|
const useAssetsDir = "client" === target && !!viteAssetsDir && "_astro" !== viteAssetsDir;
|
|
@@ -3700,56 +3665,26 @@ function qwikVite(qwikViteOpts = {}) {
|
|
|
3700
3665
|
resolveQwikBuild: true,
|
|
3701
3666
|
transformedModuleOutput: qwikViteOpts.transformedModuleOutput,
|
|
3702
3667
|
outDir: viteConfig.build?.outDir,
|
|
3668
|
+
ssrOutDir: qwikViteOpts.ssr?.outDir || viteConfig.build?.outDir,
|
|
3669
|
+
clientOutDir: qwikViteOpts.client?.outDir || (viteConfig.build?.ssr ? void 0 : viteConfig.build?.outDir),
|
|
3703
3670
|
assetsDir: useAssetsDir ? viteAssetsDir : void 0,
|
|
3704
3671
|
devTools: qwikViteOpts.devTools,
|
|
3705
3672
|
sourcemap: !!viteConfig.build?.sourcemap,
|
|
3706
3673
|
lint: qwikViteOpts.lint,
|
|
3707
|
-
experimental: qwikViteOpts.experimental
|
|
3674
|
+
experimental: qwikViteOpts.experimental,
|
|
3675
|
+
input: input,
|
|
3676
|
+
manifestInput: qwikViteOpts.ssr?.manifestInput,
|
|
3677
|
+
manifestOutput: qwikViteOpts.client?.manifestOutput
|
|
3708
3678
|
};
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
qwikViteOpts.ssr?.outDir && (pluginOpts.outDir = qwikViteOpts.ssr.outDir);
|
|
3713
|
-
pluginOpts.manifestInput = qwikViteOpts.ssr?.manifestInput;
|
|
3714
|
-
} else if ("client" === target) {
|
|
3715
|
-
pluginOpts.input = qwikViteOpts.client?.input;
|
|
3716
|
-
qwikViteOpts.client?.outDir && (pluginOpts.outDir = qwikViteOpts.client.outDir);
|
|
3717
|
-
pluginOpts.manifestOutput = qwikViteOpts.client?.manifestOutput;
|
|
3718
|
-
} else {
|
|
3719
|
-
"object" === typeof viteConfig.build?.lib && (pluginOpts.input = viteConfig.build?.lib.entry);
|
|
3720
|
-
}
|
|
3721
|
-
if ("node" === sys.env || "bun" === sys.env) {
|
|
3722
|
-
const fs = await sys.dynamicImport("node:fs");
|
|
3723
|
-
try {
|
|
3724
|
-
const rootDir2 = pluginOpts.rootDir ?? sys.cwd();
|
|
3725
|
-
const packageJsonPath = sys.path.join(rootDir2, "package.json");
|
|
3726
|
-
const pkgString = await fs.promises.readFile(packageJsonPath, "utf-8");
|
|
3727
|
-
try {
|
|
3728
|
-
const data = JSON.parse(pkgString);
|
|
3729
|
-
"string" === typeof data.name && (pluginOpts.scope = data.name);
|
|
3730
|
-
} catch (e) {
|
|
3731
|
-
console.error(e);
|
|
3732
|
-
}
|
|
3733
|
-
} catch {}
|
|
3734
|
-
const nodeOs = await sys.dynamicImport("node:os");
|
|
3735
|
-
const scopeSuffix = pluginOpts.scope ? `-${pluginOpts.scope.replace(/\//g, "--")}` : "";
|
|
3736
|
-
tmpClientManifestPath = path.join(nodeOs.tmpdir(), `vite-plugin-qwik-q-manifest${scopeSuffix}.json`);
|
|
3737
|
-
if ("ssr" === target && !pluginOpts.manifestInput) {
|
|
3738
|
-
try {
|
|
3739
|
-
const clientManifestStr = await fs.promises.readFile(tmpClientManifestPath, "utf-8");
|
|
3740
|
-
pluginOpts.manifestInput = JSON.parse(clientManifestStr);
|
|
3741
|
-
} catch {}
|
|
3742
|
-
}
|
|
3743
|
-
}
|
|
3744
|
-
}
|
|
3745
|
-
const opts = qwikPlugin.normalizeOptions(pluginOpts);
|
|
3746
|
-
manifestInput = pluginOpts.manifestInput || null;
|
|
3679
|
+
const opts = await qwikPlugin.normalizeOptions(pluginOpts);
|
|
3680
|
+
input || (input = opts.input);
|
|
3681
|
+
manifestInput = opts.manifestInput;
|
|
3747
3682
|
srcDir = opts.srcDir;
|
|
3748
3683
|
rootDir = opts.rootDir;
|
|
3749
3684
|
if (!qwikViteOpts.csr) {
|
|
3750
|
-
clientOutDir =
|
|
3685
|
+
clientOutDir = opts.clientOutDir;
|
|
3751
3686
|
clientPublicOutDir = viteConfig.base ? path.join(clientOutDir, viteConfig.base) : clientOutDir;
|
|
3752
|
-
ssrOutDir =
|
|
3687
|
+
ssrOutDir = opts.ssrOutDir;
|
|
3753
3688
|
clientDevInput = "string" === typeof qwikViteOpts.client?.devInput ? path.resolve(opts.rootDir, qwikViteOpts.client.devInput) : opts.srcDir ? path.resolve(opts.srcDir, CLIENT_DEV_INPUT) : path.resolve(opts.rootDir, "src", CLIENT_DEV_INPUT);
|
|
3754
3689
|
clientDevInput = qwikPlugin.normalizePath(clientDevInput);
|
|
3755
3690
|
}
|
|
@@ -3798,6 +3733,7 @@ function qwikVite(qwikViteOpts = {}) {
|
|
|
3798
3733
|
},
|
|
3799
3734
|
rollupOptions: {
|
|
3800
3735
|
maxParallelFileOps: 1,
|
|
3736
|
+
input: input,
|
|
3801
3737
|
output: {
|
|
3802
3738
|
manualChunks: qwikPlugin.manualChunks
|
|
3803
3739
|
}
|
|
@@ -3816,7 +3752,7 @@ function qwikVite(qwikViteOpts = {}) {
|
|
|
3816
3752
|
updatedViteConfig.build.outDir = buildOutputDir;
|
|
3817
3753
|
const origOnwarn = updatedViteConfig.build.rollupOptions?.onwarn;
|
|
3818
3754
|
updatedViteConfig.build.rollupOptions = {
|
|
3819
|
-
|
|
3755
|
+
...updatedViteConfig.build.rollupOptions,
|
|
3820
3756
|
output: normalizeRollupOutputOptions(qwikPlugin, viteConfig.build?.rollupOptions?.output, useAssetsDir, buildOutputDir),
|
|
3821
3757
|
preserveEntrySignatures: "exports-only",
|
|
3822
3758
|
onwarn: (warning, warn) => {
|
|
@@ -3830,7 +3766,7 @@ function qwikVite(qwikViteOpts = {}) {
|
|
|
3830
3766
|
if ("build" === viteCommand) {
|
|
3831
3767
|
updatedViteConfig.publicDir = false;
|
|
3832
3768
|
updatedViteConfig.build.ssr = true;
|
|
3833
|
-
null == viteConfig.build?.minify && "production" === buildMode && (updatedViteConfig.build.minify =
|
|
3769
|
+
null == viteConfig.build?.minify && "production" === buildMode && (updatedViteConfig.build.minify = true);
|
|
3834
3770
|
}
|
|
3835
3771
|
} else if ("client" === opts.target) {
|
|
3836
3772
|
isClientDevOnly && !opts.csr && (updatedViteConfig.build.rollupOptions.input = clientDevInput);
|
|
@@ -3861,6 +3797,7 @@ function qwikVite(qwikViteOpts = {}) {
|
|
|
3861
3797
|
qwikPlugin.normalizeOptions(qwikViteOpts);
|
|
3862
3798
|
},
|
|
3863
3799
|
async buildStart() {
|
|
3800
|
+
injections.length = 0;
|
|
3864
3801
|
const resolver = this.resolve.bind(this);
|
|
3865
3802
|
await qwikPlugin.validateSource(resolver);
|
|
3866
3803
|
qwikPlugin.onDiagnostics((diagnostics, optimizer, srcDir2) => {
|
|
@@ -3950,17 +3887,12 @@ function qwikVite(qwikViteOpts = {}) {
|
|
|
3950
3887
|
}
|
|
3951
3888
|
}
|
|
3952
3889
|
}
|
|
3953
|
-
|
|
3890
|
+
await qwikPlugin.generateManifest(this, rollupBundle, bundleGraphAdders, {
|
|
3954
3891
|
injections: injections,
|
|
3955
3892
|
platform: {
|
|
3956
3893
|
vite: ""
|
|
3957
3894
|
}
|
|
3958
3895
|
});
|
|
3959
|
-
const sys = qwikPlugin.getSys();
|
|
3960
|
-
if (tmpClientManifestPath && ("node" === sys.env || "bun" === sys.env)) {
|
|
3961
|
-
const fs = await sys.dynamicImport("node:fs");
|
|
3962
|
-
await fs.promises.writeFile(tmpClientManifestPath, clientManifestStr);
|
|
3963
|
-
}
|
|
3964
3896
|
}
|
|
3965
3897
|
}
|
|
3966
3898
|
},
|
|
@@ -4000,15 +3932,15 @@ function qwikVite(qwikViteOpts = {}) {
|
|
|
4000
3932
|
},
|
|
4001
3933
|
configureServer(server) {
|
|
4002
3934
|
qwikPlugin.configureServer(server);
|
|
4003
|
-
const devSsrServer = !("devSsrServer" in qwikViteOpts) || !!qwikViteOpts.devSsrServer;
|
|
3935
|
+
const devSsrServer = !qwikViteOpts.csr && (!("devSsrServer" in qwikViteOpts) || !!qwikViteOpts.devSsrServer);
|
|
4004
3936
|
const imageDevTools = !qwikViteOpts.devTools || !("imageDevTools" in qwikViteOpts.devTools) || qwikViteOpts.devTools.imageDevTools;
|
|
4005
3937
|
imageDevTools && server.middlewares.use(getImageSizeServer(qwikPlugin.getSys(), rootDir, srcDir));
|
|
4006
|
-
if (
|
|
3938
|
+
if (devSsrServer) {
|
|
4007
3939
|
const plugin = async () => {
|
|
4008
3940
|
const opts = qwikPlugin.getOptions();
|
|
4009
3941
|
const sys = qwikPlugin.getSys();
|
|
4010
3942
|
const path = qwikPlugin.getPath();
|
|
4011
|
-
await configureDevServer(basePathname, server, opts, sys, path, isClientDevOnly, clientDevInput
|
|
3943
|
+
await configureDevServer(basePathname, server, opts, sys, path, isClientDevOnly, clientDevInput);
|
|
4012
3944
|
};
|
|
4013
3945
|
const isNEW = true === globalThis.__qwikRouterNew || true === globalThis.__qwikCityNew || server.config.build.lib;
|
|
4014
3946
|
return isNEW ? plugin : plugin();
|
|
@@ -4142,4 +4074,6 @@ var VITE_CLIENT_MODULE = "@qwik.dev/core/vite-client";
|
|
|
4142
4074
|
|
|
4143
4075
|
var CLIENT_DEV_INPUT = "entry.dev";
|
|
4144
4076
|
|
|
4077
|
+
var symbolMapper = void 0;
|
|
4078
|
+
|
|
4145
4079
|
export { createOptimizer, qwikRollup, qwikVite, symbolMapper, versions };
|