@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.cjs
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
|
|
@@ -1257,7 +1257,7 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
1257
1257
|
}
|
|
1258
1258
|
};
|
|
1259
1259
|
var versions = {
|
|
1260
|
-
qwik: "2.0.0-beta.
|
|
1260
|
+
qwik: "2.0.0-beta.6-dev+c42693f"
|
|
1261
1261
|
};
|
|
1262
1262
|
async function getSystem() {
|
|
1263
1263
|
const sysEnv = getEnv();
|
|
@@ -1300,6 +1300,10 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
1300
1300
|
sys.path = await sys.dynamicImport("node:path");
|
|
1301
1301
|
sys.cwd = () => process.cwd();
|
|
1302
1302
|
sys.os = process.platform;
|
|
1303
|
+
} else if ("deno" === sysEnv) {
|
|
1304
|
+
sys.path = await sys.dynamicImport("node:path");
|
|
1305
|
+
sys.cwd = () => Deno.cwd();
|
|
1306
|
+
sys.os = Deno.platform();
|
|
1303
1307
|
}
|
|
1304
1308
|
return sys;
|
|
1305
1309
|
}
|
|
@@ -2122,15 +2126,16 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2122
2126
|
target: "client",
|
|
2123
2127
|
buildMode: "development",
|
|
2124
2128
|
debug: false,
|
|
2125
|
-
rootDir:
|
|
2129
|
+
rootDir: void 0,
|
|
2126
2130
|
tsconfigFileNames: [ "./tsconfig.json" ],
|
|
2127
|
-
input:
|
|
2128
|
-
outDir:
|
|
2129
|
-
assetsDir:
|
|
2131
|
+
input: void 0,
|
|
2132
|
+
outDir: void 0,
|
|
2133
|
+
assetsDir: void 0,
|
|
2130
2134
|
resolveQwikBuild: true,
|
|
2131
|
-
entryStrategy:
|
|
2132
|
-
srcDir:
|
|
2133
|
-
|
|
2135
|
+
entryStrategy: void 0,
|
|
2136
|
+
srcDir: void 0,
|
|
2137
|
+
ssrOutDir: void 0,
|
|
2138
|
+
clientOutDir: void 0,
|
|
2134
2139
|
sourcemap: !!optimizerOptions.sourcemap,
|
|
2135
2140
|
manifestInput: null,
|
|
2136
2141
|
manifestOutput: null,
|
|
@@ -2145,10 +2150,14 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2145
2150
|
experimental: void 0
|
|
2146
2151
|
};
|
|
2147
2152
|
let lazyNormalizePath;
|
|
2153
|
+
let maybeFs;
|
|
2148
2154
|
const init2 = async () => {
|
|
2149
2155
|
if (!internalOptimizer) {
|
|
2150
2156
|
internalOptimizer = await createOptimizer(optimizerOptions);
|
|
2151
2157
|
lazyNormalizePath = makeNormalizePath(internalOptimizer.sys);
|
|
2158
|
+
try {
|
|
2159
|
+
maybeFs = await internalOptimizer.sys.dynamicImport("node:fs");
|
|
2160
|
+
} catch {}
|
|
2152
2161
|
}
|
|
2153
2162
|
};
|
|
2154
2163
|
const getOptimizer = () => {
|
|
@@ -2169,7 +2178,7 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2169
2178
|
const configureServer = server => {
|
|
2170
2179
|
devServer = server;
|
|
2171
2180
|
};
|
|
2172
|
-
const normalizeOptions = inputOpts => {
|
|
2181
|
+
const normalizeOptions = async inputOpts => {
|
|
2173
2182
|
const updatedOpts = Object.assign({}, inputOpts);
|
|
2174
2183
|
const optimizer2 = getOptimizer();
|
|
2175
2184
|
const path = optimizer2.sys.path;
|
|
@@ -2196,59 +2205,59 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2196
2205
|
if ("string" === typeof updatedOpts.srcDir) {
|
|
2197
2206
|
opts.srcDir = normalizePath(path.resolve(opts.rootDir, updatedOpts.srcDir));
|
|
2198
2207
|
srcDir = opts.srcDir;
|
|
2199
|
-
opts.srcInputs = null;
|
|
2200
|
-
} else if (Array.isArray(updatedOpts.srcInputs)) {
|
|
2201
|
-
opts.srcInputs = [ ...updatedOpts.srcInputs ];
|
|
2202
|
-
opts.srcDir = null;
|
|
2203
2208
|
} else {
|
|
2204
2209
|
opts.srcDir ||= srcDir;
|
|
2205
2210
|
}
|
|
2211
|
+
opts.srcDir = normalizePath(path.resolve(opts.rootDir, normalizePath(opts.srcDir)));
|
|
2206
2212
|
Array.isArray(updatedOpts.tsconfigFileNames) && updatedOpts.tsconfigFileNames.length > 0 && (opts.tsconfigFileNames = updatedOpts.tsconfigFileNames);
|
|
2207
|
-
|
|
2208
|
-
i.path = normalizePath(path.resolve(opts.rootDir, i.path));
|
|
2209
|
-
}) : "string" === typeof opts.srcDir && (opts.srcDir = normalizePath(path.resolve(opts.rootDir, normalizePath(opts.srcDir))));
|
|
2213
|
+
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);
|
|
2210
2214
|
if (!updatedOpts.csr) {
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2215
|
+
updatedOpts.outDir && (opts.outDir = normalizePath(path.resolve(opts.rootDir, normalizePath(updatedOpts.outDir))));
|
|
2216
|
+
opts.clientOutDir = normalizePath(path.resolve(opts.rootDir, updatedOpts.clientOutDir || CLIENT_OUT_DIR));
|
|
2217
|
+
opts.ssrOutDir = normalizePath(path.resolve(opts.rootDir, updatedOpts.ssrOutDir || SSR_OUT_DIR));
|
|
2218
|
+
"ssr" === opts.target ? opts.outDir ||= opts.ssrOutDir : "lib" === opts.target ? opts.outDir ||= normalizePath(path.resolve(opts.rootDir, LIB_OUT_DIR)) : opts.outDir ||= opts.clientOutDir;
|
|
2219
|
+
}
|
|
2220
|
+
"function" === typeof updatedOpts.manifestOutput && (opts.manifestOutput = updatedOpts.manifestOutput);
|
|
2221
|
+
updatedOpts.manifestInput && (opts.manifestInput = getValidManifest(updatedOpts.manifestInput) || null);
|
|
2222
|
+
if (!opts.manifestInput && "ssr" === opts.target && "production" === opts.buildMode && maybeFs) {
|
|
2223
|
+
let clientManifestPath = normalizePath(path.resolve(opts.clientOutDir, Q_MANIFEST_FILENAME));
|
|
2224
|
+
await maybeFs.promises.stat(clientManifestPath).catch(() => false) || (clientManifestPath = normalizePath(path.resolve(opts.rootDir, CLIENT_OUT_DIR, Q_MANIFEST_FILENAME)));
|
|
2225
|
+
try {
|
|
2226
|
+
const clientManifestStr = await maybeFs.promises.readFile(clientManifestPath, "utf-8");
|
|
2227
|
+
opts.manifestInput = getValidManifest(JSON.parse(clientManifestStr)) || null;
|
|
2228
|
+
console.info("Read client manifest from", clientManifestPath);
|
|
2229
|
+
} catch (e) {
|
|
2230
|
+
console.warn(`could not read Qwik client manifest ${clientManifestPath}, ignoring. Make sure you provide it to the SSR renderer. (${e})`);
|
|
2231
|
+
}
|
|
2232
|
+
}
|
|
2233
|
+
"function" === typeof updatedOpts.transformedModuleOutput && (opts.transformedModuleOutput = updatedOpts.transformedModuleOutput);
|
|
2234
|
+
if (void 0 !== updatedOpts.scope) {
|
|
2235
|
+
opts.scope = updatedOpts.scope;
|
|
2236
|
+
} else if (!opts.scope && maybeFs) {
|
|
2237
|
+
let pkgPath = "";
|
|
2238
|
+
try {
|
|
2239
|
+
let pkgDir = opts.rootDir;
|
|
2240
|
+
while (true) {
|
|
2241
|
+
pkgPath = path.resolve(pkgDir, "package.json");
|
|
2242
|
+
if (await maybeFs.promises.stat(pkgPath).catch(() => false)) {
|
|
2243
|
+
break;
|
|
2232
2244
|
}
|
|
2233
|
-
|
|
2234
|
-
|
|
2245
|
+
const parent = path.resolve(pkgDir, "..");
|
|
2246
|
+
if (parent === pkgDir) {
|
|
2247
|
+
break;
|
|
2248
|
+
}
|
|
2249
|
+
pkgDir = parent;
|
|
2250
|
+
pkgPath = "";
|
|
2235
2251
|
}
|
|
2236
|
-
|
|
2237
|
-
|
|
2252
|
+
if (pkgPath) {
|
|
2253
|
+
const pkgString = await maybeFs.promises.readFile(pkgPath, "utf-8");
|
|
2254
|
+
const pkg = JSON.parse(pkgString);
|
|
2255
|
+
"string" === typeof pkg.name && (opts.scope = pkg.name);
|
|
2256
|
+
}
|
|
2257
|
+
} catch (e) {
|
|
2258
|
+
console.warn(`could not read ${pkgPath || "package.json"} to determine package name, ignoring. (${e})`);
|
|
2238
2259
|
}
|
|
2239
|
-
Array.isArray(opts.input) && (opts.input = opts.input.reduce((inputs, i) => {
|
|
2240
|
-
let input = i;
|
|
2241
|
-
i.startsWith("@") || i.startsWith("~") || i.startsWith("#") || (input = normalizePath(path.resolve(opts.rootDir, i)));
|
|
2242
|
-
inputs.includes(input) || inputs.push(input);
|
|
2243
|
-
return inputs;
|
|
2244
|
-
}, []));
|
|
2245
|
-
"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)));
|
|
2246
2260
|
}
|
|
2247
|
-
"function" === typeof updatedOpts.manifestOutput && (opts.manifestOutput = updatedOpts.manifestOutput);
|
|
2248
|
-
const clientManifest = getValidManifest(updatedOpts.manifestInput);
|
|
2249
|
-
clientManifest && (opts.manifestInput = clientManifest);
|
|
2250
|
-
"function" === typeof updatedOpts.transformedModuleOutput && (opts.transformedModuleOutput = updatedOpts.transformedModuleOutput);
|
|
2251
|
-
void 0 !== updatedOpts.scope && (opts.scope = updatedOpts.scope);
|
|
2252
2261
|
"boolean" === typeof updatedOpts.resolveQwikBuild && (opts.resolveQwikBuild = updatedOpts.resolveQwikBuild);
|
|
2253
2262
|
if ("object" === typeof updatedOpts.devTools) {
|
|
2254
2263
|
"imageDevTools" in updatedOpts.devTools && (opts.devTools.imageDevTools = updatedOpts.devTools.imageDevTools);
|
|
@@ -2263,9 +2272,12 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2263
2272
|
ExperimentalFeatures[feature] ? (opts.experimental ||= {})[feature] = true : console.error(`Qwik plugin: Unknown experimental feature: ${feature}`);
|
|
2264
2273
|
}
|
|
2265
2274
|
}
|
|
2266
|
-
|
|
2275
|
+
const out = {
|
|
2267
2276
|
...opts
|
|
2268
2277
|
};
|
|
2278
|
+
opts.input ||= updatedOpts.input;
|
|
2279
|
+
opts.input && "string" === typeof opts.input && (opts.input = [ opts.input ]);
|
|
2280
|
+
return out;
|
|
2269
2281
|
};
|
|
2270
2282
|
let hasValidatedSource = false;
|
|
2271
2283
|
const validateSource = async resolver => {
|
|
@@ -2300,17 +2312,6 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2300
2312
|
linter = await createLinter(optimizer.sys, opts.rootDir, opts.tsconfigFileNames);
|
|
2301
2313
|
} catch {}
|
|
2302
2314
|
}
|
|
2303
|
-
const path = getPath();
|
|
2304
|
-
if (Array.isArray(opts.srcInputs)) {
|
|
2305
|
-
optimizer.sys.getInputFiles = async rootDir => opts.srcInputs.map(i => {
|
|
2306
|
-
const relInput = {
|
|
2307
|
-
path: normalizePath(path.relative(rootDir, i.path)),
|
|
2308
|
-
code: i.code
|
|
2309
|
-
};
|
|
2310
|
-
return relInput;
|
|
2311
|
-
});
|
|
2312
|
-
debug(`buildStart() opts.srcInputs (${opts.srcInputs.length} files)`);
|
|
2313
|
-
}
|
|
2314
2315
|
debug("transformedOutputs.clear()");
|
|
2315
2316
|
clientTransformedOutputs.clear();
|
|
2316
2317
|
serverTransformedOutputs.clear();
|
|
@@ -2577,18 +2578,11 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2577
2578
|
parentIds.set(key, id2);
|
|
2578
2579
|
currentOutputs.set(key, [ mod, id2 ]);
|
|
2579
2580
|
deps.add(key);
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
ctx.emitFile({
|
|
2586
|
-
id: key,
|
|
2587
|
-
type: "chunk",
|
|
2588
|
-
preserveSignature: "allow-extension"
|
|
2589
|
-
});
|
|
2590
|
-
}
|
|
2591
|
-
}
|
|
2581
|
+
"client" !== opts.target || devServer || ctx.emitFile({
|
|
2582
|
+
id: key,
|
|
2583
|
+
type: "chunk",
|
|
2584
|
+
preserveSignature: "allow-extension"
|
|
2585
|
+
});
|
|
2592
2586
|
}
|
|
2593
2587
|
}
|
|
2594
2588
|
for (const id3 of deps.values()) {
|
|
@@ -2650,8 +2644,8 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2650
2644
|
};
|
|
2651
2645
|
const normalizePath = id2 => lazyNormalizePath(id2);
|
|
2652
2646
|
function getQwikBuildModule(isServer, _target) {
|
|
2653
|
-
const
|
|
2654
|
-
return `// @qwik.dev/core/build\nexport const isServer = ${JSON.stringify(isServer)};\nexport const isBrowser = ${JSON.stringify(!isServer)};\nexport const isDev = ${JSON.stringify(
|
|
2647
|
+
const isDev = "development" === opts.buildMode;
|
|
2648
|
+
return `// @qwik.dev/core/build\nexport const isServer = ${JSON.stringify(isServer)};\nexport const isBrowser = ${JSON.stringify(!isServer)};\nexport const isDev = ${JSON.stringify(isDev)};\n`;
|
|
2655
2649
|
}
|
|
2656
2650
|
async function getQwikServerManifestModule(isServer) {
|
|
2657
2651
|
const manifest = isServer ? opts.manifestInput : null;
|
|
@@ -2746,7 +2740,6 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2746
2740
|
});
|
|
2747
2741
|
"function" === typeof opts.manifestOutput && await opts.manifestOutput(manifest);
|
|
2748
2742
|
"function" === typeof opts.transformedModuleOutput && await opts.transformedModuleOutput(getTransformedOutputs());
|
|
2749
|
-
return manifestStr;
|
|
2750
2743
|
}
|
|
2751
2744
|
return {
|
|
2752
2745
|
buildStart: buildStart,
|
|
@@ -2847,8 +2840,9 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2847
2840
|
lint: qwikRollupOpts.lint,
|
|
2848
2841
|
experimental: qwikRollupOpts.experimental
|
|
2849
2842
|
};
|
|
2850
|
-
|
|
2851
|
-
|
|
2843
|
+
await qwikPlugin.normalizeOptions(pluginOpts);
|
|
2844
|
+
const {input: input} = qwikPlugin.getOptions();
|
|
2845
|
+
inputOpts.input = input;
|
|
2852
2846
|
return inputOpts;
|
|
2853
2847
|
},
|
|
2854
2848
|
outputOptions: rollupOutputOpts => normalizeRollupOutputOptionsObject(qwikPlugin, rollupOutputOpts, false),
|
|
@@ -2899,6 +2893,18 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2899
2893
|
dir: outDir || (null == rollupOutputOpts ? void 0 : rollupOutputOpts.dir)
|
|
2900
2894
|
};
|
|
2901
2895
|
}
|
|
2896
|
+
var getChunkFileName = (prefix, opts, optimizer) => "production" !== opts.buildMode || opts.debug ? chunkInfo => {
|
|
2897
|
+
var _a, _b;
|
|
2898
|
+
if (null == (_a = chunkInfo.moduleIds) ? void 0 : _a.some(id => id.endsWith("core.prod.mjs"))) {
|
|
2899
|
+
return `${prefix}build/core.js`;
|
|
2900
|
+
}
|
|
2901
|
+
if (null == (_b = chunkInfo.moduleIds) ? void 0 : _b.some(id => id.endsWith("qwik-router/lib/index.qwik.mjs"))) {
|
|
2902
|
+
return `${prefix}build/qwik-router.js`;
|
|
2903
|
+
}
|
|
2904
|
+
const relativePath = optimizer.sys.path.relative(optimizer.sys.cwd(), chunkInfo.name);
|
|
2905
|
+
const sanitized = relativePath.replace(/^(\.\.\/)+/, "").replace(/^\/+/, "").replace(/\//g, "-");
|
|
2906
|
+
return `${prefix}build/${sanitized}.js`;
|
|
2907
|
+
} : `${prefix}build/q-[hash].js`;
|
|
2902
2908
|
function normalizeRollupOutputOptionsObject(qwikPlugin, rollupOutputOptsObj, useAssetsDir) {
|
|
2903
2909
|
const outputOpts = {
|
|
2904
2910
|
...rollupOutputOptsObj
|
|
@@ -2906,39 +2912,19 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
2906
2912
|
const opts = qwikPlugin.getOptions();
|
|
2907
2913
|
const optimizer = qwikPlugin.getOptimizer();
|
|
2908
2914
|
const manualChunks = qwikPlugin.manualChunks;
|
|
2915
|
+
outputOpts.assetFileNames || (outputOpts.assetFileNames = (useAssetsDir ? `${opts.assetsDir}/` : "") + "assets/[hash]-[name].[ext]");
|
|
2916
|
+
const chunkFileName = getChunkFileName(useAssetsDir ? `${opts.assetsDir}` : "", opts, optimizer);
|
|
2909
2917
|
if ("client" === opts.target) {
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
outputOpts.assetFileNames = useAssetsDir ? `${opts.assetsDir}/${assetFileNames}` : assetFileNames;
|
|
2913
|
-
}
|
|
2914
|
-
let fileName;
|
|
2915
|
-
fileName = "production" !== opts.buildMode || opts.debug ? chunkInfo => {
|
|
2916
|
-
var _a, _b;
|
|
2917
|
-
if (null == (_a = chunkInfo.moduleIds) ? void 0 : _a.some(id => id.endsWith("core.prod.mjs"))) {
|
|
2918
|
-
return "build/core.js";
|
|
2919
|
-
}
|
|
2920
|
-
if (null == (_b = chunkInfo.moduleIds) ? void 0 : _b.some(id => id.endsWith("qwik-router/lib/index.qwik.mjs"))) {
|
|
2921
|
-
return "build/qwik-router.js";
|
|
2922
|
-
}
|
|
2923
|
-
const path = optimizer.sys.path;
|
|
2924
|
-
const relativePath = path.relative(optimizer.sys.cwd(), chunkInfo.name);
|
|
2925
|
-
const sanitized = relativePath.replace(/^(\.\.\/)+/, "").replace(/^\/+/, "").replace(/\//g, "-");
|
|
2926
|
-
return `build/${sanitized}.js`;
|
|
2927
|
-
} : "build/q-[hash].js";
|
|
2928
|
-
const getFilePath = fileNamePattern => "string" === typeof fileNamePattern ? useAssetsDir ? `${opts.assetsDir}/${fileNamePattern}` : fileNamePattern : useAssetsDir ? chunkInfo => `${opts.assetsDir}/${fileNamePattern(chunkInfo)}` : chunkInfo => fileNamePattern(chunkInfo);
|
|
2929
|
-
outputOpts.entryFileNames || (outputOpts.entryFileNames = getFilePath(fileName));
|
|
2930
|
-
outputOpts.chunkFileNames || (outputOpts.chunkFileNames = getFilePath(fileName));
|
|
2931
|
-
} else {
|
|
2932
|
-
"production" === opts.buildMode && (outputOpts.chunkFileNames || (outputOpts.chunkFileNames = "q-[hash].js"));
|
|
2933
|
-
}
|
|
2934
|
-
outputOpts.assetFileNames || (outputOpts.assetFileNames = "assets/[hash]-[name].[ext]");
|
|
2935
|
-
if ("client" === opts.target) {
|
|
2918
|
+
outputOpts.entryFileNames || (outputOpts.entryFileNames = chunkFileName);
|
|
2919
|
+
outputOpts.chunkFileNames || (outputOpts.chunkFileNames = chunkFileName);
|
|
2936
2920
|
outputOpts.format = "es";
|
|
2937
2921
|
const prevManualChunks = outputOpts.manualChunks;
|
|
2938
2922
|
if (prevManualChunks && "function" !== typeof prevManualChunks) {
|
|
2939
2923
|
throw new Error("manualChunks must be a function");
|
|
2940
2924
|
}
|
|
2941
2925
|
outputOpts.manualChunks = prevManualChunks ? (id, meta) => prevManualChunks(id, meta) || manualChunks(id, meta) : manualChunks;
|
|
2926
|
+
} else {
|
|
2927
|
+
outputOpts.chunkFileNames || (outputOpts.chunkFileNames = chunkFileName);
|
|
2942
2928
|
}
|
|
2943
2929
|
outputOpts.dir || (outputOpts.dir = opts.outDir);
|
|
2944
2930
|
"cjs" === outputOpts.format && "string" !== typeof outputOpts.exports && (outputOpts.exports = "auto");
|
|
@@ -3228,7 +3214,6 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3228
3214
|
var image_size_runtime_default = "<style>\n [data-qwik-cls] {\n outline: 2px solid red;\n }\n [data-qwik-cls]::after {\n position: absolute;\n font-size: 12px;\n content: 'CLS ' attr(data-qwik-cls);\n font-family: monospace;\n font-weight: bold;\n background: red;\n color: white;\n margin: -2px;\n padding: 1px;\n line-height: 1;\n pointer-events: none;\n }\n #qwik-image-warning-container {\n position: absolute !important;\n top: 0 !important;\n left: 0 !important;\n width: 0 !important;\n overflow: visible !important;\n height: 0 !important;\n pointer-events: none !important;\n contain: size layout style content;\n z-index: 1;\n }\n</style>\n<template id=\"qwik-image-warning-template\">\n <style>\n :host {\n position: absolute;\n border: 1px solid red;\n pointer-events: none;\n z-index: 1;\n contain: layout size;\n }\n\n #icon {\n border: 0;\n margin: 5px;\n color: black;\n max-width: 100%;\n width: 20px;\n background: yellow;\n border-radius: 100%;\n height: 20px;\n padding: 3px;\n pointer-events: all;\n cursor: pointer;\n }\n\n #icon svg {\n width: 100%;\n height: auto;\n pointer-events: none;\n }\n\n dialog {\n padding: 0;\n border: 0;\n margin: 0 5px;\n background: #ffffe8;\n color: black;\n width: 250px;\n font-size: 11px;\n position: absolute;\n inset-inline-start: unset;\n inset-inline-end: unset;\n border-radius: 5px;\n pointer-events: all;\n overflow: hidden;\n box-shadow: 0px -2px 20px 0px #0000002e;\n z-index: 10000;\n }\n\n .top {\n bottom: calc(100% + 5px);\n }\n .bottom {\n top: 40px;\n }\n .right {\n inset-inline-start: 0;\n inset-inline-end: unset;\n }\n .left {\n inset-inline-start: unset;\n inset-inline-end: calc(100% - 40px);\n }\n\n .content {\n padding: 5px;\n }\n\n #loc {\n background: #2e3801;\n color: #d2d2d2;\n font-family: monospace;\n padding: 3px 5px;\n pointer-events: all;\n margin: 0;\n border: 0;\n cursor: pointer;\n font-size: 11px;\n width: calc(100% - 24px);\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n direction: rtl;\n text-align: right;\n }\n #loc:hover {\n background: #3a4a01;\n }\n\n pre {\n background: #f1fb8e;\n padding: 5px;\n margin: 5px 0;\n border-radius: 3px;\n user-select: none;\n }\n\n pre span {\n user-select: all;\n }\n\n a {\n text-decoration: underline;\n }\n\n #close {\n border: 0;\n width: 25px;\n height: 25px;\n position: absolute;\n right: 0;\n top: 0;\n background: #ffe14f;\n color: black;\n font-weight: 900;\n padding: 0;\n margin: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n cursor: pointer;\n }\n #close:hover {\n background: #ffeb6f;\n }\n\n #action-btn {\n border: 2px solid #18ae00;\n padding: 2px 4px;\n background: #50ff50;\n border-radius: 5px;\n color: #0c5500;\n font-weight: 800;\n font-size: 10px;\n cursor: pointer;\n }\n\n p {\n margin: 5px 0;\n }\n\n h2 {\n font-weight: 900;\n margin: 10px 0;\n }\n </style>\n <button id=\"icon\" type=\"button\" aria-label=\"Open image dev dialog\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\">\n <path\n fill=\"currentColor\"\n d=\"M2.725 21q-.275 0-.5-.138t-.35-.362q-.125-.225-.138-.488t.138-.512l9.25-16q.15-.25.388-.375T12 3q.25 0 .488.125t.387.375l9.25 16q.15.25.138.513t-.138.487q-.125.225-.35.363t-.5.137H2.725ZM12 18q.425 0 .713-.288T13 17q0-.425-.288-.713T12 16q-.425 0-.713.288T11 17q0 .425.288.713T12 18Zm0-3q.425 0 .713-.288T13 14v-3q0-.425-.288-.713T12 10q-.425 0-.713.288T11 11v3q0 .425.288.713T12 15Z\"\n />\n </svg>\n </button>\n <dialog>\n <form method=\"dialog\">\n <button id=\"close\" type=\"submit\" aria-label=\"Close\">X</button>\n </form>\n <button id=\"loc\"></button>\n <div class=\"content\">\n <h2 id=\"title\"></h2>\n <p id=\"message\"></p>\n <p class=\"action-container\"></p>\n </div>\n </dialog>\n</template>\n<div id=\"qwik-image-warning-container\"></div>\n<script>\n (function () {\n function getPositionClasses(target) {\n const { x, y } = target.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n let horizontal = 'right';\n let vertical = 'bottom';\n if (x > windowWidth - 260) {\n horizontal = 'left';\n }\n return `${vertical} ${horizontal}`;\n }\n class ImageWarning extends HTMLElement {\n #actionFn = null;\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n this.shadowRoot.appendChild(\n document.importNode(document.getElementById('qwik-image-warning-template').content, true)\n );\n const dialog = this.shadowRoot.querySelector('dialog');\n\n this.shadowRoot.addEventListener('click', async (ev) => {\n const target = ev.target;\n if (target.nodeName === 'BUTTON') {\n if (target.id === 'action-btn') {\n if (this.#actionFn) {\n this.#actionFn();\n dialog.close();\n }\n } else if (target.id === 'icon') {\n if (dialog.open) {\n dialog.close();\n } else {\n dialog.className = getPositionClasses(target);\n dialog.show();\n }\n } else if (target.id === 'loc' && target.dataset.url) {\n globalThis.qwikOpenInEditor(target.dataset.url);\n }\n }\n });\n }\n\n set loc(value) {\n const anchor = this.shadowRoot.querySelector('#loc');\n anchor.textContent = value;\n if (globalThis.qwikOpenInEditor) {\n anchor.dataset.url = value;\n }\n }\n\n set header(value) {\n this.shadowRoot.querySelector('#title').textContent = value;\n }\n\n set message(value) {\n this.shadowRoot.querySelector('#message').innerHTML = value;\n }\n\n set actionFn(value) {\n this.#actionFn = value;\n }\n set actionName(value) {\n if (value) {\n this.shadowRoot.querySelector('.action-container').innerHTML =\n `<button id=\"action-btn\" type=\"button\">${value}</button>`;\n }\n }\n }\n customElements.define('image-warning', ImageWarning);\n\n const shiftsMap = new Map();\n const visibleNodes = new Map();\n const imageContainer = document.querySelector('#qwik-image-warning-container');\n let skip = false;\n\n async function _getInfo(originalSrc) {\n // Put all supported protocols here, see also packages/qwik/src/optimizer/src/plugins/image-size-server.ts\n if (!/^(https?|file|capacitor):/.test(originalSrc)) {\n return undefined;\n }\n const url = new URL('/__image_info', location.href);\n url.searchParams.set('url', originalSrc);\n const res = await fetch(url);\n if (res.ok) {\n return await res.json();\n } else {\n return null;\n }\n }\n\n const map = new Map();\n function getInfo(originalSrc) {\n let p = map.get(originalSrc);\n if (typeof p === 'undefined') {\n p = _getInfo(originalSrc);\n map.set(originalSrc, p);\n }\n return p;\n }\n function isDefinedUnit(value) {\n return value.endsWith('px');\n }\n async function doImg(node) {\n const scrollX = window.scrollX;\n const scrollY = window.scrollY;\n const rect = node.getBoundingClientRect();\n const originalSrc = node.currentSrc;\n const info = await getInfo(originalSrc);\n let overlay = visibleNodes.get(node);\n const wideScreen = window.innerWidth > 500;\n if (info && wideScreen) {\n let layoutInvalidation = false;\n const loc = node.getAttribute('data-qwik-inspector');\n const browserArea = rect.width * rect.height;\n if (!node.hasAttribute('width') || !node.hasAttribute('height')) {\n skip = true;\n const computedStyles = getComputedStyle(node);\n const hasAspect = computedStyles.getPropertyValue('aspect-ratio').toString() !== 'auto';\n const hasWidth = isDefinedUnit(computedStyles.getPropertyValue('width').toString());\n const hasHeight = isDefinedUnit(computedStyles.getPropertyValue('height').toString());\n const isAbsolute = computedStyles.getPropertyValue('position').toString() === 'absolute';\n layoutInvalidation =\n browserArea > 1000 && !isAbsolute && !hasAspect && (!hasWidth || !hasHeight);\n }\n const realArea = info.width && info.height;\n const threshholdArea = realArea * 0.5;\n const tooBig = browserArea < threshholdArea && info.type !== 'svg';\n skip = false;\n if (layoutInvalidation || tooBig) {\n if (!overlay) {\n overlay = document.createElement('image-warning');\n imageContainer.appendChild(overlay);\n visibleNodes.set(node, overlay);\n }\n overlay.style.top = rect.top + scrollY + 'px';\n overlay.style.left = rect.left + scrollX + 'px';\n overlay.style.width = rect.width + 'px';\n overlay.style.height = rect.height + 'px';\n overlay.info = info;\n overlay.loc = loc;\n if (layoutInvalidation) {\n const clipBoard = `width=\"${info.width}\" height=\"${info.height}\"`;\n overlay.header = 'Perf: layout shift';\n overlay.message = `Image\\'s size is unknown until it\\'s loaded, <a href=\"https://web.dev/cls/\" target=\"_blank\" rel=\"noopener noreferrer\">causing layout shift</a>.</p><p>To solve this problem set the width/height in the img tag:</p><pre><img <span>${clipBoard}</span></pre>`;\n const uniqueLoc =\n document.querySelectorAll('[data-qwik-inspector=\"' + loc + '\"]').length === 1;\n if (loc) {\n if (uniqueLoc) {\n overlay.actionName = 'Auto fix';\n overlay.actionFn = async () => {\n const url = new URL('/__image_fix', location.href);\n url.searchParams.set('loc', loc);\n url.searchParams.set('width', info.width);\n url.searchParams.set('height', info.height);\n if (!node.srcset) {\n url.searchParams.set('src', node.currentSrc);\n url.searchParams.set('currentHref', location.href);\n }\n await fetch(url, {\n method: 'POST',\n });\n };\n } else {\n overlay.actionName = 'Open in editor';\n overlay.actionFn = async () => {\n await navigator.clipboard.writeText(clipBoard);\n globalThis.qwikOpenInEditor(loc);\n };\n }\n }\n } else if (tooBig) {\n overlay.header = 'Perf: properly size image';\n overlay.message = `The image is too big, <a href=\"https://developer.chrome.com/en/docs/lighthouse/performance/uses-responsive-images/\" target=\"_blank\" rel=\"noopener noreferrer\">hurting performance</a>, it should be resized to the size it\\'s displayed at. The image dimensions are ${info.width} x ${info.height} but it\\'s displayed at ${rect.width}x${rect.height}.</p>`;\n }\n return;\n }\n }\n\n if (overlay) {\n overlay.remove();\n visibleNodes.delete(node);\n }\n }\n\n async function updateImg(node) {\n const overlay = visibleNodes.get(node);\n if (!node.isConnected) {\n if (overlay) {\n overlay.remove();\n visibleNodes.delete(node);\n }\n } else if (node.complete) {\n doImg(node);\n }\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (!skip) {\n for (const entry of entries) {\n updateImg(entry.target);\n }\n }\n });\n\n const observer = new MutationObserver((entry) => {\n for (const mutation of entry) {\n for (const node of mutation.addedNodes) {\n if (node.nodeName === 'IMG') {\n resizeObserver.observe(node);\n } else if (node.nodeType === 1) {\n node.querySelectorAll('img').forEach((img) => {\n resizeObserver.observe(img);\n });\n }\n }\n for (const node of mutation.removedNodes) {\n if (node.nodeName === 'IMG') {\n updateImg(node);\n resizeObserver.unobserve(node);\n } else if (node.nodeType === 1) {\n node.querySelectorAll('img').forEach((img) => {\n updateImg(img);\n resizeObserver.unobserve(img);\n });\n }\n }\n }\n });\n let perfObserver;\n let DCLS = 0;\n const activate = () => {\n setTimeout(() => {\n if (perfObserver) {\n perfObserver.disconnect();\n if (DCLS > 0.005) {\n console.error('Detected Layout Shift during page load', DCLS);\n }\n }\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n document.body.querySelectorAll('img').forEach((node) => {\n resizeObserver.observe(node);\n });\n }, 100);\n };\n if (document.readyState === 'complete') {\n activate();\n } else {\n window.addEventListener('load', activate);\n }\n const pageAccessedByReload =\n performance?.navigation.type === 1 ||\n performance\n .getEntriesByType('navigation')\n .map((nav) => nav.type)\n .includes('reload');\n if (typeof PerformanceObserver !== 'undefined' && !pageAccessedByReload) {\n const shiftsMap = new Map();\n perfObserver = new PerformanceObserver((list) => {\n list.getEntries().forEach((entry) => {\n if (entry.hadRecentInput) {\n return; // Ignore shifts after recent input.\n }\n if (entry.value > 0.006) {\n for (const source of entry.sources) {\n if (\n source.node &&\n source.node.nodeType === 1 &&\n source.node.nodeName !== 'IMAGE-WARNING'\n ) {\n source.node.setAttribute('data-qwik-cls', Number(entry.value).toFixed(3));\n }\n }\n }\n DCLS += entry.value;\n });\n });\n perfObserver.observe({ type: 'layout-shift', buffered: true });\n }\n })();\n<\/script>\n";
|
|
3229
3215
|
var perf_warning_default = "<script>\n if (!window.__qwikViteLog) {\n window.__qwikViteLog = true;\n console.debug(\n '%c⭐️ Qwik Dev SSR Mode',\n 'background: #0c75d2; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;',\n \"App is running in SSR development mode!\\n - Additional JS is loaded by Vite for debugging and live reloading\\n - Rendering performance might not be optimal\\n - Delayed interactivity because prefetching is disabled\\n - Vite dev bundles do not represent production output\\n\\nProduction build can be tested running 'npm run preview'\"\n );\n }\n<\/script>\n";
|
|
3230
3216
|
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";
|
|
3231
|
-
var SYNC_QRL = "<sync>";
|
|
3232
3217
|
function getOrigin(req) {
|
|
3233
3218
|
const {PROTOCOL_HEADER: PROTOCOL_HEADER, HOST_HEADER: HOST_HEADER} = process.env;
|
|
3234
3219
|
const headers = req.headers;
|
|
@@ -3236,35 +3221,8 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3236
3221
|
const host = HOST_HEADER && headers[HOST_HEADER.toLowerCase()] || headers[":authority"] || headers.host;
|
|
3237
3222
|
return `${protocol}://${host}`;
|
|
3238
3223
|
}
|
|
3239
|
-
function
|
|
3240
|
-
return (symbolName, _mapper, parent) => {
|
|
3241
|
-
if (symbolName === SYNC_QRL) {
|
|
3242
|
-
return [ symbolName, "" ];
|
|
3243
|
-
}
|
|
3244
|
-
if (!parent) {
|
|
3245
|
-
if (symbolName.startsWith("_")) {
|
|
3246
|
-
return [ symbolName, `${base}${QWIK_HANDLERS_ID}` ];
|
|
3247
|
-
}
|
|
3248
|
-
console.error("qwik vite-dev-server symbolMapper: unknown qrl requested without parent:", symbolName);
|
|
3249
|
-
return [ symbolName, `${base}${symbolName}.js` ];
|
|
3250
|
-
}
|
|
3251
|
-
const qrlFile = `${base}${parent.startsWith("/") ? parent.slice(1) : parent}_${symbolName}.js`;
|
|
3252
|
-
return [ symbolName, qrlFile ];
|
|
3253
|
-
};
|
|
3254
|
-
}
|
|
3255
|
-
var lazySymbolMapper = null;
|
|
3256
|
-
var symbolMapper = (symbolName, mapper, parent) => {
|
|
3257
|
-
if (lazySymbolMapper) {
|
|
3258
|
-
return lazySymbolMapper(symbolName, mapper, parent);
|
|
3259
|
-
}
|
|
3260
|
-
throw new Error("symbolMapper not initialized");
|
|
3261
|
-
};
|
|
3262
|
-
async function configureDevServer(base, server, opts, sys, path, isClientDevOnly, clientDevInput, devSsrServer) {
|
|
3224
|
+
async function configureDevServer(base, server, opts, sys, path, isClientDevOnly, clientDevInput) {
|
|
3263
3225
|
var _a;
|
|
3264
|
-
symbolMapper = lazySymbolMapper = createSymbolMapper(base);
|
|
3265
|
-
if (!devSsrServer) {
|
|
3266
|
-
return;
|
|
3267
|
-
}
|
|
3268
3226
|
const hasQwikRouter = null == (_a = server.config.plugins) ? void 0 : _a.some(plugin => "vite-plugin-qwik-router" === plugin.name);
|
|
3269
3227
|
const cssImportedByCSS = new Set;
|
|
3270
3228
|
server.middlewares.use(async (req, res, next) => {
|
|
@@ -3301,6 +3259,14 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3301
3259
|
return;
|
|
3302
3260
|
}
|
|
3303
3261
|
const firstInput = opts.input && Object.values(opts.input)[0];
|
|
3262
|
+
if (!firstInput) {
|
|
3263
|
+
console.error("no entry found for dev server");
|
|
3264
|
+
res.statusCode ||= 404;
|
|
3265
|
+
res.setHeader("Content-Type", "text/plain");
|
|
3266
|
+
res.writeHead(res.statusCode);
|
|
3267
|
+
res.end("No entry found for dev server");
|
|
3268
|
+
return;
|
|
3269
|
+
}
|
|
3304
3270
|
const ssrModule = await server.ssrLoadModule(firstInput);
|
|
3305
3271
|
const render = ssrModule.default ?? ssrModule.render;
|
|
3306
3272
|
if ("function" === typeof render) {
|
|
@@ -3352,7 +3318,6 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3352
3318
|
stream: res,
|
|
3353
3319
|
snapshot: !isClientDevOnly,
|
|
3354
3320
|
manifest: isClientDevOnly ? void 0 : manifest,
|
|
3355
|
-
symbolMapper: isClientDevOnly ? void 0 : symbolMapper,
|
|
3356
3321
|
serverData: serverData,
|
|
3357
3322
|
containerAttributes: {
|
|
3358
3323
|
...serverData.containerAttributes
|
|
@@ -3516,7 +3481,6 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3516
3481
|
function qwikVite(qwikViteOpts = {}) {
|
|
3517
3482
|
let isClientDevOnly = false;
|
|
3518
3483
|
let clientDevInput;
|
|
3519
|
-
let tmpClientManifestPath;
|
|
3520
3484
|
let viteCommand = "serve";
|
|
3521
3485
|
let manifestInput = null;
|
|
3522
3486
|
let clientOutDir = null;
|
|
@@ -3546,7 +3510,7 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3546
3510
|
enforce: "pre",
|
|
3547
3511
|
api: api,
|
|
3548
3512
|
async config(viteConfig, viteEnv) {
|
|
3549
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
3513
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
3550
3514
|
await qwikPlugin.init();
|
|
3551
3515
|
const sys = qwikPlugin.getSys();
|
|
3552
3516
|
const path = qwikPlugin.getPath();
|
|
@@ -3564,8 +3528,12 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3564
3528
|
} : "lib" === target && (qwikViteOpts.entryStrategy = {
|
|
3565
3529
|
type: "inline"
|
|
3566
3530
|
});
|
|
3531
|
+
const ssrInput = "ssr" === target ? "string" === typeof (null == (_b = viteConfig.build) ? void 0 : _b.ssr) ? viteConfig.build.ssr : null == (_c = qwikViteOpts.ssr) ? void 0 : _c.input : void 0;
|
|
3532
|
+
const clientInput = "client" === target ? null == (_d = qwikViteOpts.client) ? void 0 : _d.input : void 0;
|
|
3533
|
+
let input = (null == (_f = null == (_e = viteConfig.build) ? void 0 : _e.rollupOptions) ? void 0 : _f.input) || clientInput || ssrInput;
|
|
3534
|
+
input && "string" === typeof input && (input = [ input ]);
|
|
3567
3535
|
const shouldFindVendors = !qwikViteOpts.disableVendorScan && ("lib" !== target || "serve" === viteCommand);
|
|
3568
|
-
viteAssetsDir = null == (
|
|
3536
|
+
viteAssetsDir = null == (_g = viteConfig.build) ? void 0 : _g.assetsDir;
|
|
3569
3537
|
const useAssetsDir = "client" === target && !!viteAssetsDir && "_astro" !== viteAssetsDir;
|
|
3570
3538
|
const pluginOpts = {
|
|
3571
3539
|
target: target,
|
|
@@ -3578,58 +3546,28 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3578
3546
|
tsconfigFileNames: qwikViteOpts.tsconfigFileNames,
|
|
3579
3547
|
resolveQwikBuild: true,
|
|
3580
3548
|
transformedModuleOutput: qwikViteOpts.transformedModuleOutput,
|
|
3581
|
-
outDir: null == (
|
|
3549
|
+
outDir: null == (_h = viteConfig.build) ? void 0 : _h.outDir,
|
|
3550
|
+
ssrOutDir: (null == (_i = qwikViteOpts.ssr) ? void 0 : _i.outDir) || (null == (_j = viteConfig.build) ? void 0 : _j.outDir),
|
|
3551
|
+
clientOutDir: (null == (_k = qwikViteOpts.client) ? void 0 : _k.outDir) || ((null == (_l = viteConfig.build) ? void 0 : _l.ssr) || null == (_m = viteConfig.build) ? void 0 : _m.outDir),
|
|
3582
3552
|
assetsDir: useAssetsDir ? viteAssetsDir : void 0,
|
|
3583
3553
|
devTools: qwikViteOpts.devTools,
|
|
3584
|
-
sourcemap: !!(null == (
|
|
3554
|
+
sourcemap: !!(null == (_n = viteConfig.build) ? void 0 : _n.sourcemap),
|
|
3585
3555
|
lint: qwikViteOpts.lint,
|
|
3586
|
-
experimental: qwikViteOpts.experimental
|
|
3556
|
+
experimental: qwikViteOpts.experimental,
|
|
3557
|
+
input: input,
|
|
3558
|
+
manifestInput: null == (_o = qwikViteOpts.ssr) ? void 0 : _o.manifestInput,
|
|
3559
|
+
manifestOutput: null == (_p = qwikViteOpts.client) ? void 0 : _p.manifestOutput
|
|
3587
3560
|
};
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
(null == (_g = qwikViteOpts.ssr) ? void 0 : _g.outDir) && (pluginOpts.outDir = qwikViteOpts.ssr.outDir);
|
|
3592
|
-
pluginOpts.manifestInput = null == (_h = qwikViteOpts.ssr) ? void 0 : _h.manifestInput;
|
|
3593
|
-
} else if ("client" === target) {
|
|
3594
|
-
pluginOpts.input = null == (_i = qwikViteOpts.client) ? void 0 : _i.input;
|
|
3595
|
-
(null == (_j = qwikViteOpts.client) ? void 0 : _j.outDir) && (pluginOpts.outDir = qwikViteOpts.client.outDir);
|
|
3596
|
-
pluginOpts.manifestOutput = null == (_k = qwikViteOpts.client) ? void 0 : _k.manifestOutput;
|
|
3597
|
-
} else {
|
|
3598
|
-
"object" === typeof (null == (_l = viteConfig.build) ? void 0 : _l.lib) && (pluginOpts.input = null == (_m = viteConfig.build) ? void 0 : _m.lib.entry);
|
|
3599
|
-
}
|
|
3600
|
-
if ("node" === sys.env || "bun" === sys.env) {
|
|
3601
|
-
const fs = await sys.dynamicImport("node:fs");
|
|
3602
|
-
try {
|
|
3603
|
-
const rootDir2 = pluginOpts.rootDir ?? sys.cwd();
|
|
3604
|
-
const packageJsonPath = sys.path.join(rootDir2, "package.json");
|
|
3605
|
-
const pkgString = await fs.promises.readFile(packageJsonPath, "utf-8");
|
|
3606
|
-
try {
|
|
3607
|
-
const data = JSON.parse(pkgString);
|
|
3608
|
-
"string" === typeof data.name && (pluginOpts.scope = data.name);
|
|
3609
|
-
} catch (e) {
|
|
3610
|
-
console.error(e);
|
|
3611
|
-
}
|
|
3612
|
-
} catch {}
|
|
3613
|
-
const nodeOs = await sys.dynamicImport("node:os");
|
|
3614
|
-
const scopeSuffix = pluginOpts.scope ? `-${pluginOpts.scope.replace(/\//g, "--")}` : "";
|
|
3615
|
-
tmpClientManifestPath = path.join(nodeOs.tmpdir(), `vite-plugin-qwik-q-manifest${scopeSuffix}.json`);
|
|
3616
|
-
if ("ssr" === target && !pluginOpts.manifestInput) {
|
|
3617
|
-
try {
|
|
3618
|
-
const clientManifestStr = await fs.promises.readFile(tmpClientManifestPath, "utf-8");
|
|
3619
|
-
pluginOpts.manifestInput = JSON.parse(clientManifestStr);
|
|
3620
|
-
} catch {}
|
|
3621
|
-
}
|
|
3622
|
-
}
|
|
3623
|
-
}
|
|
3624
|
-
const opts = qwikPlugin.normalizeOptions(pluginOpts);
|
|
3625
|
-
manifestInput = pluginOpts.manifestInput || null;
|
|
3561
|
+
const opts = await qwikPlugin.normalizeOptions(pluginOpts);
|
|
3562
|
+
input ||= opts.input;
|
|
3563
|
+
manifestInput = opts.manifestInput;
|
|
3626
3564
|
srcDir = opts.srcDir;
|
|
3627
3565
|
rootDir = opts.rootDir;
|
|
3628
3566
|
if (!qwikViteOpts.csr) {
|
|
3629
|
-
clientOutDir =
|
|
3567
|
+
clientOutDir = opts.clientOutDir;
|
|
3630
3568
|
clientPublicOutDir = viteConfig.base ? path.join(clientOutDir, viteConfig.base) : clientOutDir;
|
|
3631
|
-
ssrOutDir =
|
|
3632
|
-
clientDevInput = "string" === typeof (null == (
|
|
3569
|
+
ssrOutDir = opts.ssrOutDir;
|
|
3570
|
+
clientDevInput = "string" === typeof (null == (_q = qwikViteOpts.client) ? void 0 : _q.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);
|
|
3633
3571
|
clientDevInput = qwikPlugin.normalizePath(clientDevInput);
|
|
3634
3572
|
}
|
|
3635
3573
|
const vendorRoots = shouldFindVendors ? await findQwikRoots(sys, sys.cwd()) : [];
|
|
@@ -3639,9 +3577,9 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3639
3577
|
const qTestKey = "globalThis.qTest";
|
|
3640
3578
|
const qInspectorKey = "globalThis.qInspector";
|
|
3641
3579
|
const qSerializeKey = "globalThis.qSerialize";
|
|
3642
|
-
const qDev = (null == (
|
|
3643
|
-
const qInspector = (null == (
|
|
3644
|
-
const qSerialize = (null == (
|
|
3580
|
+
const qDev = (null == (_r = null == viteConfig ? void 0 : viteConfig.define) ? void 0 : _r[qDevKey]) ?? isDevelopment;
|
|
3581
|
+
const qInspector = (null == (_s = null == viteConfig ? void 0 : viteConfig.define) ? void 0 : _s[qInspectorKey]) ?? isDevelopment;
|
|
3582
|
+
const qSerialize = (null == (_t = null == viteConfig ? void 0 : viteConfig.define) ? void 0 : _t[qSerializeKey]) ?? isDevelopment;
|
|
3645
3583
|
const updatedViteConfig = {
|
|
3646
3584
|
ssr: {
|
|
3647
3585
|
noExternal: [ QWIK_CORE_ID, QWIK_CORE_INTERNAL_ID, QWIK_CORE_SERVER, QWIK_BUILD_ID, ...vendorIds ]
|
|
@@ -3677,6 +3615,7 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3677
3615
|
},
|
|
3678
3616
|
rollupOptions: {
|
|
3679
3617
|
maxParallelFileOps: 1,
|
|
3618
|
+
input: input,
|
|
3680
3619
|
output: {
|
|
3681
3620
|
manualChunks: qwikPlugin.manualChunks
|
|
3682
3621
|
}
|
|
@@ -3693,10 +3632,10 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3693
3632
|
const buildOutputDir = "client" === target && viteConfig.base ? path.join(opts.outDir, viteConfig.base) : opts.outDir;
|
|
3694
3633
|
updatedViteConfig.build.cssCodeSplit = false;
|
|
3695
3634
|
updatedViteConfig.build.outDir = buildOutputDir;
|
|
3696
|
-
const origOnwarn = null == (
|
|
3635
|
+
const origOnwarn = null == (_u = updatedViteConfig.build.rollupOptions) ? void 0 : _u.onwarn;
|
|
3697
3636
|
updatedViteConfig.build.rollupOptions = {
|
|
3698
|
-
|
|
3699
|
-
output: normalizeRollupOutputOptions(qwikPlugin, null == (
|
|
3637
|
+
...updatedViteConfig.build.rollupOptions,
|
|
3638
|
+
output: normalizeRollupOutputOptions(qwikPlugin, null == (_w = null == (_v = viteConfig.build) ? void 0 : _v.rollupOptions) ? void 0 : _w.output, useAssetsDir, buildOutputDir),
|
|
3700
3639
|
preserveEntrySignatures: "exports-only",
|
|
3701
3640
|
onwarn: (warning, warn) => {
|
|
3702
3641
|
if ("typescript" === warning.plugin && warning.message.includes("outputToFilesystem")) {
|
|
@@ -3709,7 +3648,7 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3709
3648
|
if ("build" === viteCommand) {
|
|
3710
3649
|
updatedViteConfig.publicDir = false;
|
|
3711
3650
|
updatedViteConfig.build.ssr = true;
|
|
3712
|
-
null == (null == (
|
|
3651
|
+
null == (null == (_x = viteConfig.build) ? void 0 : _x.minify) && "production" === buildMode && (updatedViteConfig.build.minify = true);
|
|
3713
3652
|
}
|
|
3714
3653
|
} else if ("client" === opts.target) {
|
|
3715
3654
|
isClientDevOnly && !opts.csr && (updatedViteConfig.build.rollupOptions.input = clientDevInput);
|
|
@@ -3741,6 +3680,7 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3741
3680
|
qwikPlugin.normalizeOptions(qwikViteOpts);
|
|
3742
3681
|
},
|
|
3743
3682
|
async buildStart() {
|
|
3683
|
+
injections.length = 0;
|
|
3744
3684
|
const resolver = this.resolve.bind(this);
|
|
3745
3685
|
await qwikPlugin.validateSource(resolver);
|
|
3746
3686
|
qwikPlugin.onDiagnostics((diagnostics, optimizer, srcDir2) => {
|
|
@@ -3830,17 +3770,12 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3830
3770
|
}
|
|
3831
3771
|
}
|
|
3832
3772
|
}
|
|
3833
|
-
|
|
3773
|
+
await qwikPlugin.generateManifest(this, rollupBundle, bundleGraphAdders, {
|
|
3834
3774
|
injections: injections,
|
|
3835
3775
|
platform: {
|
|
3836
3776
|
vite: ""
|
|
3837
3777
|
}
|
|
3838
3778
|
});
|
|
3839
|
-
const sys = qwikPlugin.getSys();
|
|
3840
|
-
if (tmpClientManifestPath && ("node" === sys.env || "bun" === sys.env)) {
|
|
3841
|
-
const fs = await sys.dynamicImport("node:fs");
|
|
3842
|
-
await fs.promises.writeFile(tmpClientManifestPath, clientManifestStr);
|
|
3843
|
-
}
|
|
3844
3779
|
}
|
|
3845
3780
|
}
|
|
3846
3781
|
},
|
|
@@ -3880,15 +3815,15 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
3880
3815
|
},
|
|
3881
3816
|
configureServer(server) {
|
|
3882
3817
|
qwikPlugin.configureServer(server);
|
|
3883
|
-
const devSsrServer = !("devSsrServer" in qwikViteOpts) || !!qwikViteOpts.devSsrServer;
|
|
3818
|
+
const devSsrServer = !qwikViteOpts.csr && (!("devSsrServer" in qwikViteOpts) || !!qwikViteOpts.devSsrServer);
|
|
3884
3819
|
const imageDevTools = !qwikViteOpts.devTools || !("imageDevTools" in qwikViteOpts.devTools) || qwikViteOpts.devTools.imageDevTools;
|
|
3885
3820
|
imageDevTools && server.middlewares.use(getImageSizeServer(qwikPlugin.getSys(), rootDir, srcDir));
|
|
3886
|
-
if (
|
|
3821
|
+
if (devSsrServer) {
|
|
3887
3822
|
const plugin = async () => {
|
|
3888
3823
|
const opts = qwikPlugin.getOptions();
|
|
3889
3824
|
const sys = qwikPlugin.getSys();
|
|
3890
3825
|
const path = qwikPlugin.getPath();
|
|
3891
|
-
await configureDevServer(basePathname, server, opts, sys, path, isClientDevOnly, clientDevInput
|
|
3826
|
+
await configureDevServer(basePathname, server, opts, sys, path, isClientDevOnly, clientDevInput);
|
|
3892
3827
|
};
|
|
3893
3828
|
const isNEW = true === globalThis.__qwikRouterNew || true === globalThis.__qwikCityNew || server.config.build.lib;
|
|
3894
3829
|
return isNEW ? plugin : plugin();
|
|
@@ -4014,6 +3949,7 @@ globalThis.qwikOptimizer = function(module) {
|
|
|
4014
3949
|
};
|
|
4015
3950
|
var VITE_CLIENT_MODULE = "@qwik.dev/core/vite-client";
|
|
4016
3951
|
var CLIENT_DEV_INPUT = "entry.dev";
|
|
3952
|
+
var symbolMapper = void 0;
|
|
4017
3953
|
return module.exports;
|
|
4018
3954
|
}("object" === typeof module && module.exports ? module : {
|
|
4019
3955
|
exports: {}
|