vike 0.4.220-commit-5c7810f → 0.4.220-commit-af5c91f
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/cjs/node/api/utils.js +1 -1
- package/dist/cjs/node/plugin/index.js +1 -1
- package/dist/cjs/node/plugin/onLoad.js +1 -1
- package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +5 -3
- package/dist/cjs/node/plugin/plugins/buildConfig.js +7 -5
- package/dist/cjs/node/plugin/plugins/buildEntry/index.js +2 -1
- package/dist/cjs/node/plugin/plugins/commonConfig.js +1 -2
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +3 -2
- package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +10 -8
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +32 -41
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +9 -64
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +11 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +281 -313
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +2 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +7 -6
- package/dist/cjs/node/plugin/plugins/packageJsonFile.js +2 -2
- package/dist/cjs/node/plugin/plugins/previewConfig.js +4 -3
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +2 -1
- package/dist/cjs/node/plugin/shared/findPageFiles.js +2 -1
- package/dist/cjs/node/plugin/{getOutDirs.js → shared/getOutDirs.js} +24 -27
- package/dist/cjs/node/plugin/{resolveClientEntriesDev.js → shared/resolveClientEntriesDev.js} +5 -8
- package/dist/cjs/{utils → node/plugin/shared}/viteIsSSR.js +2 -2
- package/dist/cjs/node/plugin/utils.js +0 -1
- package/dist/cjs/node/prerender/context.js +8 -3
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +26 -5
- package/dist/cjs/node/prerender/runPrerender.js +6 -11
- package/dist/cjs/node/prerender/utils.js +1 -2
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +9 -4
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +2 -27
- package/dist/cjs/node/runtime/renderPage/isFontFallback.js +29 -0
- package/dist/cjs/node/runtime/utils.js +1 -3
- package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -1
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -3
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -5
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +69 -18
- package/dist/cjs/shared/utils.js +0 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/findFile.js +3 -3
- package/dist/cjs/utils/isDev.js +2 -5
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +2 -2
- package/dist/cjs/utils/path.js +48 -0
- package/dist/cjs/utils/requireResolve.js +3 -3
- package/dist/esm/node/api/utils.d.ts +1 -1
- package/dist/esm/node/api/utils.js +1 -1
- package/dist/esm/node/plugin/index.js +1 -1
- package/dist/esm/node/plugin/onLoad.js +1 -1
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +3 -1
- package/dist/esm/node/plugin/plugins/buildConfig.js +3 -1
- package/dist/esm/node/plugin/plugins/buildEntry/index.js +2 -1
- package/dist/esm/node/plugin/plugins/commonConfig.js +2 -3
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +2 -1
- package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -1
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +9 -7
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.d.ts +14 -11
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +35 -44
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.d.ts +8 -18
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +10 -65
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +6 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +12 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +284 -316
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +2 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +7 -6
- package/dist/esm/node/plugin/plugins/packageJsonFile.js +1 -1
- package/dist/esm/node/plugin/plugins/previewConfig.js +2 -1
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +2 -1
- package/dist/esm/node/plugin/shared/findPageFiles.js +2 -1
- package/dist/esm/node/plugin/{getOutDirs.js → shared/getOutDirs.js} +2 -5
- package/dist/esm/node/plugin/{resolveClientEntriesDev.js → shared/resolveClientEntriesDev.js} +5 -8
- package/dist/esm/{utils → node/plugin/shared}/viteIsSSR.js +2 -2
- package/dist/esm/node/plugin/utils.d.ts +0 -1
- package/dist/esm/node/plugin/utils.js +0 -1
- package/dist/esm/node/prerender/context.d.ts +2 -0
- package/dist/esm/node/prerender/context.js +8 -3
- package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +8 -1
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +26 -5
- package/dist/esm/node/prerender/runPrerender.js +7 -12
- package/dist/esm/node/prerender/utils.d.ts +1 -2
- package/dist/esm/node/prerender/utils.js +1 -2
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +9 -4
- package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -26
- package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/isFontFallback.d.ts +3 -0
- package/dist/esm/node/runtime/renderPage/isFontFallback.js +27 -0
- package/dist/esm/node/runtime/utils.d.ts +1 -3
- package/dist/esm/node/runtime/utils.js +1 -3
- package/dist/esm/shared/getPageFiles/fileTypes.js +1 -2
- package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +0 -3
- package/dist/esm/shared/getPageFiles/getPageFileObject.js +0 -5
- package/dist/esm/shared/page-configs/PageConfig.d.ts +0 -1
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +7 -1
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +70 -19
- package/dist/esm/shared/utils.d.ts +0 -1
- package/dist/esm/shared/utils.js +0 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/findFile.js +1 -1
- package/dist/esm/utils/isDev.js +3 -6
- package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -1
- package/dist/esm/utils/path.d.ts +14 -0
- package/dist/esm/utils/path.js +46 -0
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/dist/esm/utils/requireResolve.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/addImportStatement.js +0 -29
- package/dist/cjs/shared/assertPageFilePath.js +0 -11
- package/dist/cjs/utils/path-shim.js +0 -19
- package/dist/cjs/utils/toPosixPath.js +0 -18
- package/dist/esm/node/plugin/plugins/importUserCode/addImportStatement.d.ts +0 -14
- package/dist/esm/node/plugin/plugins/importUserCode/addImportStatement.js +0 -27
- package/dist/esm/shared/assertPageFilePath.d.ts +0 -2
- package/dist/esm/shared/assertPageFilePath.js +0 -9
- package/dist/esm/utils/path-shim.d.ts +0 -2
- package/dist/esm/utils/path-shim.js +0 -17
- package/dist/esm/utils/toPosixPath.d.ts +0 -4
- package/dist/esm/utils/toPosixPath.js +0 -16
- /package/dist/esm/node/plugin/{getOutDirs.d.ts → shared/getOutDirs.d.ts} +0 -0
- /package/dist/esm/node/plugin/{resolveClientEntriesDev.d.ts → shared/resolveClientEntriesDev.d.ts} +0 -0
- /package/dist/esm/{utils → node/plugin/shared}/viteIsSSR.d.ts +0 -0
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js
CHANGED
|
@@ -33,9 +33,10 @@ async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
|
33
33
|
function getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, includeAssetsImportedByServer, isDev) {
|
|
34
34
|
const lines = [];
|
|
35
35
|
const importStatements = [];
|
|
36
|
+
const filesEnv = new Map();
|
|
36
37
|
const isClientRouting = (0, getConfigValueBuildTime_js_1.getConfigValueBuildTime)(pageConfig, 'clientRouting', 'boolean')?.value ?? false;
|
|
37
38
|
lines.push('export const configValuesSerialized = {');
|
|
38
|
-
lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), '', false));
|
|
39
|
+
lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, filesEnv, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), '', false));
|
|
39
40
|
lines.push('};');
|
|
40
41
|
if (!(0, fixServerAssets_js_1.fixServerAssets_isEnabled)() && includeAssetsImportedByServer && isForClientSide && !isDev) {
|
|
41
42
|
importStatements.push(`import '${(0, extractAssetsQuery_js_1.extractAssetsAddQuery)((0, virtualFilePageConfigValuesAll_js_1.getVirtualFileIdPageConfigValuesAll)(pageId, false))}'`);
|
|
@@ -14,17 +14,18 @@ async function getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRou
|
|
|
14
14
|
function getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting) {
|
|
15
15
|
const lines = [];
|
|
16
16
|
const importStatements = [];
|
|
17
|
+
const filesEnv = new Map();
|
|
17
18
|
lines.push('export const pageConfigsSerialized = [');
|
|
18
|
-
lines.push(getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRouting, isDev, importStatements));
|
|
19
|
+
lines.push(getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRouting, isDev, importStatements, filesEnv));
|
|
19
20
|
lines.push('];');
|
|
20
21
|
lines.push('export const pageConfigGlobalSerialized = {');
|
|
21
|
-
lines.push(getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements));
|
|
22
|
+
lines.push(getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements, filesEnv));
|
|
22
23
|
lines.push('};');
|
|
23
24
|
const code = [...importStatements, ...lines].join('\n');
|
|
24
25
|
(0, debug_js_1.debug)(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
|
|
25
26
|
return code;
|
|
26
27
|
}
|
|
27
|
-
function getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRouting, isDev, importStatements) {
|
|
28
|
+
function getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRouting, isDev, importStatements, filesEnv) {
|
|
28
29
|
const lines = [];
|
|
29
30
|
pageConfigs.forEach((pageConfig) => {
|
|
30
31
|
const { pageId, routeFilesystem, isErrorPage } = pageConfig;
|
|
@@ -36,17 +37,17 @@ function getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRout
|
|
|
36
37
|
const load = `() => ({ moduleId: ${virtualFileId}, moduleExports: import(${virtualFileId}) })`;
|
|
37
38
|
lines.push(` loadConfigValuesAll: ${load},`);
|
|
38
39
|
lines.push(` configValuesSerialized: {`);
|
|
39
|
-
lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', true));
|
|
40
|
+
lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, filesEnv, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', true));
|
|
40
41
|
lines.push(` },`);
|
|
41
42
|
lines.push(` },`);
|
|
42
43
|
});
|
|
43
44
|
const code = lines.join('\n');
|
|
44
45
|
return code;
|
|
45
46
|
}
|
|
46
|
-
function getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements) {
|
|
47
|
+
function getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements, filesEnv) {
|
|
47
48
|
const lines = [];
|
|
48
49
|
lines.push(` configValuesSerialized: {`);
|
|
49
|
-
lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfigGlobal, importStatements, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', null));
|
|
50
|
+
lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfigGlobal, importStatements, filesEnv, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', null));
|
|
50
51
|
lines.push(` },`);
|
|
51
52
|
const code = lines.join('\n');
|
|
52
53
|
return code;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.packageJsonFile = packageJsonFile;
|
|
12
12
|
const rollupIsEsm_js_1 = require("../shared/rollupIsEsm.js");
|
|
13
|
-
const
|
|
13
|
+
const viteIsSSR_js_1 = require("../shared/viteIsSSR.js");
|
|
14
14
|
function packageJsonFile() {
|
|
15
15
|
let config;
|
|
16
16
|
return {
|
|
@@ -20,7 +20,7 @@ function packageJsonFile() {
|
|
|
20
20
|
config = config_;
|
|
21
21
|
},
|
|
22
22
|
generateBundle(options, bundle) {
|
|
23
|
-
if (!(0,
|
|
23
|
+
if (!(0, viteIsSSR_js_1.viteIsSSR)(config))
|
|
24
24
|
return;
|
|
25
25
|
const isEsm = (0, rollupIsEsm_js_1.rollupIsEsm)(options);
|
|
26
26
|
const fileName = 'package.json';
|
|
@@ -10,6 +10,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
10
10
|
const addSsrMiddleware_js_1 = require("../shared/addSsrMiddleware.js");
|
|
11
11
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
12
12
|
const index_js_1 = require("./devConfig/index.js");
|
|
13
|
+
const getOutDirs_js_1 = require("../shared/getOutDirs.js");
|
|
13
14
|
function previewConfig() {
|
|
14
15
|
let config;
|
|
15
16
|
// let vikeConfig: VikeConfigObject
|
|
@@ -20,7 +21,7 @@ function previewConfig() {
|
|
|
20
21
|
return {
|
|
21
22
|
appType: 'custom',
|
|
22
23
|
build: {
|
|
23
|
-
outDir: (0,
|
|
24
|
+
outDir: (0, getOutDirs_js_1.resolveOutDir)(config)
|
|
24
25
|
}
|
|
25
26
|
};
|
|
26
27
|
},
|
|
@@ -48,13 +49,13 @@ function previewConfig() {
|
|
|
48
49
|
}
|
|
49
50
|
};
|
|
50
51
|
function assertDist() {
|
|
51
|
-
let { outDirRoot, outDirClient, outDirServer } = (0,
|
|
52
|
+
let { outDirRoot, outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
52
53
|
[outDirRoot, outDirClient, outDirServer].forEach((outDirAny) => {
|
|
53
54
|
(0, utils_js_1.assertUsage)(fs_1.default.existsSync(outDirAny), `Cannot run ${picocolors_1.default.cyan('$ vike preview')}: your app isn't built (the build directory ${picocolors_1.default.cyan(outDirAny)} is missing). Make sure to run ${picocolors_1.default.cyan('$ vike build')} before running ${picocolors_1.default.cyan('$ vike preview')}.`);
|
|
54
55
|
});
|
|
55
56
|
}
|
|
56
57
|
function addStatic404Middleware(middlewares) {
|
|
57
|
-
const { outDirClient } = (0,
|
|
58
|
+
const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
58
59
|
middlewares.use(config.base, (_, res, next) => {
|
|
59
60
|
const file = path_1.default.posix.join(outDirClient, './404.html');
|
|
60
61
|
if (fs_1.default.existsSync(file)) {
|
|
@@ -4,6 +4,7 @@ exports.setGlobalContext = setGlobalContext;
|
|
|
4
4
|
const globalContext_js_1 = require("../../runtime/globalContext.js");
|
|
5
5
|
const utils_js_1 = require("../utils.js");
|
|
6
6
|
const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
|
|
7
|
+
const getOutDirs_js_1 = require("../shared/getOutDirs.js");
|
|
7
8
|
function setGlobalContext() {
|
|
8
9
|
return [
|
|
9
10
|
{
|
|
@@ -34,7 +35,7 @@ function setGlobalContext() {
|
|
|
34
35
|
configResolved: {
|
|
35
36
|
order: 'post',
|
|
36
37
|
async handler(config) {
|
|
37
|
-
const { outDirRoot } = (0,
|
|
38
|
+
const { outDirRoot } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
38
39
|
(0, utils_js_1.assertFilePathAbsoluteFilesystem)(outDirRoot); // Needed for `importServerProductionEntry({ outDir })` of @brillout/vite-plugin-server-entry
|
|
39
40
|
(0, globalContext_js_1.setGlobalContext_viteConfig)(config, outDirRoot);
|
|
40
41
|
const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config);
|
|
@@ -7,9 +7,10 @@ exports.findPageFiles = findPageFiles;
|
|
|
7
7
|
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
8
8
|
const utils_js_1 = require("../utils.js");
|
|
9
9
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
10
|
+
const getOutDirs_js_1 = require("./getOutDirs.js");
|
|
10
11
|
async function findPageFiles(config, fileTypes, isDev) {
|
|
11
12
|
const cwd = config.root;
|
|
12
|
-
const { outDirRoot } = (0,
|
|
13
|
+
const { outDirRoot } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
13
14
|
const timeBase = new Date().getTime();
|
|
14
15
|
let pageFiles = await (0, fast_glob_1.default)(fileTypes.map((fileType) => `**/*${fileType}.${utils_js_1.scriptFileExtensions}`), { ignore: ['**/node_modules/**', `${outDirRoot}/**`], cwd, dot: false });
|
|
15
16
|
pageFiles = pageFiles.map((p) => '/' + (0, utils_js_1.toPosixPath)(p));
|
|
@@ -5,13 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getOutDirs = getOutDirs;
|
|
7
7
|
exports.resolveOutDir = resolveOutDir;
|
|
8
|
-
const viteIsSSR_js_1 = require("../../utils/viteIsSSR.js");
|
|
9
|
-
const assert_js_1 = require("../../utils/assert.js");
|
|
10
|
-
const path_shim_js_1 = require("../../utils/path-shim.js");
|
|
11
|
-
const toPosixPath_js_1 = require("../../utils/toPosixPath.js");
|
|
12
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
13
|
-
const
|
|
14
|
-
const
|
|
9
|
+
const utils_js_1 = require("../utils.js");
|
|
10
|
+
const viteIsSSR_js_1 = require("./viteIsSSR.js");
|
|
11
|
+
const debug = (0, utils_js_1.createDebugger)('vike:outDir');
|
|
15
12
|
function getOutDirs(config) {
|
|
16
13
|
debug('getOutDirs()', new Error().stack);
|
|
17
14
|
let outDirRoot;
|
|
@@ -22,8 +19,8 @@ function getOutDirs(config) {
|
|
|
22
19
|
}
|
|
23
20
|
else {
|
|
24
21
|
assertOutDirResolved(outDir, config);
|
|
25
|
-
(0,
|
|
26
|
-
(0,
|
|
22
|
+
(0, utils_js_1.assert)(outDir.endsWith('/server') || outDir.endsWith('/client'));
|
|
23
|
+
(0, utils_js_1.assert)('/client'.length === '/server'.length);
|
|
27
24
|
outDirRoot = outDir.slice(0, -1 * '/client'.length);
|
|
28
25
|
}
|
|
29
26
|
}
|
|
@@ -55,20 +52,20 @@ function resolveOutDir(config) {
|
|
|
55
52
|
}
|
|
56
53
|
}
|
|
57
54
|
function determineOutDirs(outDirRoot) {
|
|
58
|
-
(0,
|
|
59
|
-
(0,
|
|
60
|
-
(0,
|
|
61
|
-
const outDirClient = (0,
|
|
62
|
-
const outDirServer = (0,
|
|
55
|
+
(0, utils_js_1.assertPosixPath)(outDirRoot);
|
|
56
|
+
(0, utils_js_1.assert)(!outDirRoot.endsWith('/'));
|
|
57
|
+
(0, utils_js_1.assert)(isOutDirRoot(outDirRoot));
|
|
58
|
+
const outDirClient = (0, utils_js_1.pathJoin)(outDirRoot, 'client');
|
|
59
|
+
const outDirServer = (0, utils_js_1.pathJoin)(outDirRoot, 'server');
|
|
63
60
|
assertIsNotOutDirRoot(outDirClient);
|
|
64
61
|
assertIsNotOutDirRoot(outDirServer);
|
|
65
62
|
return { outDirClient, outDirServer };
|
|
66
63
|
}
|
|
67
64
|
function getOutDirsAll(outDirRoot, root) {
|
|
68
65
|
if (!outDirIsAbsolutePath(outDirRoot)) {
|
|
69
|
-
(0,
|
|
70
|
-
(0,
|
|
71
|
-
outDirRoot = (0,
|
|
66
|
+
(0, utils_js_1.assertPosixPath)(outDirRoot);
|
|
67
|
+
(0, utils_js_1.assertPosixPath)(root);
|
|
68
|
+
outDirRoot = (0, utils_js_1.pathJoin)(root, outDirRoot);
|
|
72
69
|
}
|
|
73
70
|
let { outDirClient, outDirServer } = determineOutDirs(outDirRoot);
|
|
74
71
|
outDirRoot = outDirRoot + '/';
|
|
@@ -80,10 +77,10 @@ function getOutDirsAll(outDirRoot, root) {
|
|
|
80
77
|
return { outDirRoot, outDirClient, outDirServer };
|
|
81
78
|
}
|
|
82
79
|
function assertNormalization(outDirAny) {
|
|
83
|
-
(0,
|
|
84
|
-
(0,
|
|
85
|
-
(0,
|
|
86
|
-
(0,
|
|
80
|
+
(0, utils_js_1.assertPosixPath)(outDirAny);
|
|
81
|
+
(0, utils_js_1.assert)(outDirIsAbsolutePath(outDirAny));
|
|
82
|
+
(0, utils_js_1.assert)(outDirAny.endsWith('/'));
|
|
83
|
+
(0, utils_js_1.assert)(!outDirAny.endsWith('//'));
|
|
87
84
|
}
|
|
88
85
|
function isOutDirRoot(outDirRot) {
|
|
89
86
|
const p = outDirRot.split('/').filter(Boolean);
|
|
@@ -91,20 +88,20 @@ function isOutDirRoot(outDirRot) {
|
|
|
91
88
|
return lastDir !== 'client' && lastDir !== 'server';
|
|
92
89
|
}
|
|
93
90
|
function assertIsNotOutDirRoot(outDir) {
|
|
94
|
-
(0,
|
|
91
|
+
(0, utils_js_1.assert)(outDir.endsWith('/client') || outDir.endsWith('/server'));
|
|
95
92
|
}
|
|
96
93
|
/** `outDir` ends with `/server` or `/client` */
|
|
97
94
|
function assertOutDirResolved(outDir, config) {
|
|
98
|
-
(0,
|
|
95
|
+
(0, utils_js_1.assertPosixPath)(outDir);
|
|
99
96
|
assertIsNotOutDirRoot(outDir);
|
|
100
|
-
(0,
|
|
97
|
+
(0, utils_js_1.assert)('/client'.length === '/server'.length);
|
|
101
98
|
const outDirCorrected = outDir.slice(0, -1 * '/client'.length);
|
|
102
99
|
const wrongUsage = `You've set Vite's config.build.outDir to ${picocolors_1.default.cyan(outDir)} but you should set it to ${picocolors_1.default.cyan(outDirCorrected)} instead.`;
|
|
103
100
|
if ((0, viteIsSSR_js_1.viteIsSSR)(config)) {
|
|
104
|
-
(0,
|
|
101
|
+
(0, utils_js_1.assertUsage)(outDir.endsWith('/server'), wrongUsage);
|
|
105
102
|
}
|
|
106
103
|
else {
|
|
107
|
-
(0,
|
|
104
|
+
(0, utils_js_1.assertUsage)(outDir.endsWith('/client'), wrongUsage);
|
|
108
105
|
}
|
|
109
106
|
}
|
|
110
107
|
function getOutDirFromViteUserConfig(config) {
|
|
@@ -116,12 +113,12 @@ function getOutDirFromViteUserConfig(config) {
|
|
|
116
113
|
}
|
|
117
114
|
function getOutDirFromViteResolvedConfig(config) {
|
|
118
115
|
let outDir = config.build.outDir;
|
|
119
|
-
(0,
|
|
116
|
+
(0, utils_js_1.assert)(outDir);
|
|
120
117
|
outDir = normalize(outDir);
|
|
121
118
|
return outDir;
|
|
122
119
|
}
|
|
123
120
|
function normalize(outDir) {
|
|
124
|
-
outDir = (0,
|
|
121
|
+
outDir = (0, utils_js_1.toPosixPath)(outDir);
|
|
125
122
|
outDir = outDir.replace(/\/+$/, ''); // remove trailing slashes
|
|
126
123
|
return outDir;
|
|
127
124
|
}
|
package/dist/cjs/node/plugin/{resolveClientEntriesDev.js → shared/resolveClientEntriesDev.js}
RENAMED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveClientEntriesDev = resolveClientEntriesDev;
|
|
4
|
-
const utils_js_1 = require("
|
|
4
|
+
const utils_js_1 = require("../utils.js");
|
|
5
5
|
const module_1 = require("module");
|
|
6
|
-
const path_1 = require("path");
|
|
7
|
-
const url_1 = require("url");
|
|
8
6
|
// @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
|
|
9
7
|
const importMetaUrl = `file://${__filename}`;
|
|
10
8
|
const require_ = (0, module_1.createRequire)(importMetaUrl);
|
|
11
|
-
const __dirname_ = (0, path_1.dirname)((0, url_1.fileURLToPath)(importMetaUrl));
|
|
12
9
|
(0, utils_js_1.assertIsNotProductionRuntime)();
|
|
13
10
|
async function resolveClientEntriesDev(clientEntry, viteDevServer) {
|
|
14
11
|
let root = viteDevServer.config.root;
|
|
@@ -34,13 +31,13 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer) {
|
|
|
34
31
|
(0, utils_js_1.assert)(clientEntry.endsWith('.js'));
|
|
35
32
|
try {
|
|
36
33
|
// For Vitest (which doesn't resolve vike to its dist but to its source files)
|
|
37
|
-
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/plugin/resolveClientEntriesDev.js
|
|
38
|
-
filePath = (0, utils_js_1.toPosixPath)(require_.resolve(clientEntry.replace('@@vike/dist/esm/client/', '
|
|
34
|
+
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/plugin/shared/resolveClientEntriesDev.js
|
|
35
|
+
filePath = (0, utils_js_1.toPosixPath)(require_.resolve(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts')));
|
|
39
36
|
}
|
|
40
37
|
catch {
|
|
41
38
|
// For users
|
|
42
|
-
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/resolveClientEntriesDev.js
|
|
43
|
-
filePath = (0, utils_js_1.toPosixPath)(require_.resolve(clientEntry.replace('@@vike/dist/esm/client/', '
|
|
39
|
+
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/shared/resolveClientEntriesDev.js
|
|
40
|
+
filePath = (0, utils_js_1.toPosixPath)(require_.resolve(clientEntry.replace('@@vike/dist/esm/client/', '../../../../../dist/esm/client/')));
|
|
44
41
|
}
|
|
45
42
|
}
|
|
46
43
|
else {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.viteIsSSR = viteIsSSR;
|
|
4
4
|
exports.viteIsSSR_options = viteIsSSR_options;
|
|
5
|
-
const assert_js_1 = require("
|
|
6
|
-
const isObject_js_1 = require("
|
|
5
|
+
const assert_js_1 = require("../../../utils/assert.js");
|
|
6
|
+
const isObject_js_1 = require("../../../utils/isObject.js");
|
|
7
7
|
function viteIsSSR(config) {
|
|
8
8
|
return !!config?.build?.ssr;
|
|
9
9
|
}
|
|
@@ -21,7 +21,6 @@ const onLoad_js_1 = require("./onLoad.js");
|
|
|
21
21
|
// It's common practice for Vike's Vite plugin to import from Vike's sever runtime
|
|
22
22
|
__exportStar(require("../runtime/utils.js"), exports);
|
|
23
23
|
// Utils only needed by `plugin/*`
|
|
24
|
-
__exportStar(require("../../utils/viteIsSSR.js"), exports);
|
|
25
24
|
__exportStar(require("../../utils/requireResolve.js"), exports);
|
|
26
25
|
__exportStar(require("../../utils/includes.js"), exports);
|
|
27
26
|
__exportStar(require("../../utils/isDev.js"), exports);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPrerenderEnabled = isPrerenderEnabled;
|
|
3
4
|
exports.isPrerenderAutoRunEnabled = isPrerenderAutoRunEnabled;
|
|
4
5
|
exports.temp_disablePrerenderAutoRun = temp_disablePrerenderAutoRun;
|
|
5
6
|
exports.isPrerendering = isPrerendering;
|
|
@@ -7,10 +8,14 @@ exports.setContextIsPrerendering = setContextIsPrerendering;
|
|
|
7
8
|
const getGlobalObject_js_1 = require("../../utils/getGlobalObject.js");
|
|
8
9
|
const resolvePrerenderConfig_js_1 = require("./resolvePrerenderConfig.js");
|
|
9
10
|
const globalObject = (0, getGlobalObject_js_1.getGlobalObject)('prerender/context.ts', {});
|
|
11
|
+
function isPrerenderEnabled(vikeConfig) {
|
|
12
|
+
const prerenderConfig = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfig)(vikeConfig);
|
|
13
|
+
return !!prerenderConfig;
|
|
14
|
+
}
|
|
10
15
|
function isPrerenderAutoRunEnabled(vikeConfig) {
|
|
11
|
-
const prerenderConfig = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfig)(vikeConfig
|
|
12
|
-
return (
|
|
13
|
-
!prerenderConfig.disableAutoRun &&
|
|
16
|
+
const prerenderConfig = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfig)(vikeConfig);
|
|
17
|
+
return (isPrerenderEnabled(vikeConfig) &&
|
|
18
|
+
!(prerenderConfig || {}).disableAutoRun &&
|
|
14
19
|
!globalObject.isDisabled &&
|
|
15
20
|
vikeConfig.global.config.disableAutoFullBuild !== 'prerender');
|
|
16
21
|
}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolvePrerenderConfig = resolvePrerenderConfig;
|
|
4
|
+
exports.resolvePrerenderConfigLocal = resolvePrerenderConfigLocal;
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
6
|
+
const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
|
|
7
|
+
const helpers_js_1 = require("../../shared/page-configs/helpers.js");
|
|
4
8
|
// TODO/now:
|
|
5
9
|
// - prerender.value
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (!prerenderConfigs
|
|
10
|
+
function resolvePrerenderConfig(vikeConfig) {
|
|
11
|
+
const prerenderConfigs = vikeConfig.global.config.prerender;
|
|
12
|
+
if (!prerenderConfigs &&
|
|
13
|
+
!vikeConfig.pageConfigs.some((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value)) {
|
|
9
14
|
return false;
|
|
10
15
|
}
|
|
11
|
-
|
|
16
|
+
let prerenderSettings = prerenderConfigs || [];
|
|
17
|
+
// Needed because of backwards compatibility of `vike({prerender:true})` in `vite.config.js`; after we remove it we can remove this line.
|
|
18
|
+
prerenderSettings = prerenderSettings.filter(isObject2);
|
|
19
|
+
(0, utils_js_1.assert)(prerenderSettings.every(isObject2));
|
|
12
20
|
const prerenderConfig = {
|
|
13
21
|
partial: pickFirst(prerenderSettings.map((c) => c.partial)) ?? false,
|
|
14
22
|
noExtraDir: pickFirst(prerenderSettings.map((c) => c.noExtraDir)) ?? false,
|
|
@@ -17,8 +25,21 @@ function resolvePrerenderConfig(prerenderConfigs) {
|
|
|
17
25
|
};
|
|
18
26
|
return prerenderConfig;
|
|
19
27
|
}
|
|
28
|
+
function resolvePrerenderConfigLocal(pageConfig) {
|
|
29
|
+
const configValue = (0, getConfigValueBuildTime_js_1.getConfigValueBuildTime)(pageConfig, 'prerender');
|
|
30
|
+
if (!configValue)
|
|
31
|
+
return null;
|
|
32
|
+
const values = configValue.value;
|
|
33
|
+
(0, utils_js_1.assert)((0, utils_js_1.isArray)(values));
|
|
34
|
+
const value = values[0];
|
|
35
|
+
(0, utils_js_1.assert)(typeof value === 'boolean');
|
|
36
|
+
(0, utils_js_1.assert)((0, utils_js_1.isArray)(configValue.definedAtData));
|
|
37
|
+
const configValueFilePathToShowToUser = (0, helpers_js_1.getConfigValueFilePathToShowToUser)(configValue.definedAtData[0]);
|
|
38
|
+
(0, utils_js_1.assert)(configValueFilePathToShowToUser);
|
|
39
|
+
return { value, configValueFilePathToShowToUser };
|
|
40
|
+
}
|
|
20
41
|
function isObject2(p) {
|
|
21
|
-
return typeof p === 'object';
|
|
42
|
+
return typeof p === 'object' && p !== null;
|
|
22
43
|
}
|
|
23
44
|
function pickFirst(arr) {
|
|
24
45
|
return arr.filter((v) => v !== undefined)[0];
|
|
@@ -51,7 +51,6 @@ const vite_1 = require("vite");
|
|
|
51
51
|
const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
|
|
52
52
|
const getPageContextRequestUrl_js_1 = require("../../shared/getPageContextRequestUrl.js");
|
|
53
53
|
const resolveRouteString_js_1 = require("../../shared/route/resolveRouteString.js");
|
|
54
|
-
const helpers_js_1 = require("../../shared/page-configs/helpers.js");
|
|
55
54
|
const getConfigValueRuntime_js_1 = require("../../shared/page-configs/getConfigValueRuntime.js");
|
|
56
55
|
const loadConfigValues_js_1 = require("../../shared/page-configs/loadConfigValues.js");
|
|
57
56
|
const error_page_js_1 = require("../../shared/error-page.js");
|
|
@@ -63,10 +62,10 @@ const noRouteMatch_js_1 = require("../../shared/route/noRouteMatch.js");
|
|
|
63
62
|
const getVikeConfig_js_1 = require("../plugin/plugins/importUserCode/v1-design/getVikeConfig.js");
|
|
64
63
|
const logErrorHint_js_1 = require("../runtime/renderPage/logErrorHint.js");
|
|
65
64
|
const executeHook_js_1 = require("../../shared/hooks/executeHook.js");
|
|
66
|
-
const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
|
|
67
65
|
const prepareViteApiCall_js_1 = require("../api/prepareViteApiCall.js");
|
|
68
66
|
const context_js_1 = require("./context.js");
|
|
69
67
|
const resolvePrerenderConfig_js_1 = require("./resolvePrerenderConfig.js");
|
|
68
|
+
const getOutDirs_js_1 = require("../plugin/shared/getOutDirs.js");
|
|
70
69
|
async function runPrerenderFromAPI(options = {}) {
|
|
71
70
|
return await runPrerender(options, 'prerender()');
|
|
72
71
|
// - We purposely propagate the error to the user land, so that the error interrupts the user land. It's also, I guess, a nice-to-have that the user has control over the error.
|
|
@@ -111,9 +110,9 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
111
110
|
await disableReactStreaming();
|
|
112
111
|
const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'build', 'production');
|
|
113
112
|
const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig);
|
|
114
|
-
const { outDirClient } = (0,
|
|
113
|
+
const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(viteConfig);
|
|
115
114
|
const { root } = viteConfig;
|
|
116
|
-
const prerenderConfig = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfig)(vikeConfig
|
|
115
|
+
const prerenderConfig = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfig)(vikeConfig);
|
|
117
116
|
validatePrerenderConfig(prerenderConfig);
|
|
118
117
|
if (!prerenderConfig) {
|
|
119
118
|
(0, utils_js_1.assert)(standaloneTrigger);
|
|
@@ -160,15 +159,11 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
160
159
|
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit) {
|
|
161
160
|
// V1 design
|
|
162
161
|
pageConfigs.forEach((pageConfig) => {
|
|
163
|
-
const
|
|
164
|
-
const configValue = (0, getConfigValueBuildTime_js_1.getConfigValueBuildTime)(pageConfig, configName);
|
|
162
|
+
const configValue = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigLocal)(pageConfig);
|
|
165
163
|
if (!configValue)
|
|
166
164
|
return;
|
|
167
|
-
|
|
168
|
-
if (
|
|
169
|
-
(0, utils_js_1.assert)((0, utils_js_1.isArray)(configValue.definedAtData));
|
|
170
|
-
const configValueFilePathToShowToUser = (0, helpers_js_1.getConfigValueFilePathToShowToUser)(configValue.definedAtData[0]);
|
|
171
|
-
(0, utils_js_1.assert)(configValueFilePathToShowToUser);
|
|
165
|
+
const { value, configValueFilePathToShowToUser } = configValue;
|
|
166
|
+
if (value === false) {
|
|
172
167
|
doNotPrerenderList.push({
|
|
173
168
|
pageId: pageConfig.pageId,
|
|
174
169
|
setByConfigName: 'prerender',
|
|
@@ -22,9 +22,8 @@ __exportStar(require("../../utils/projectInfo.js"), exports);
|
|
|
22
22
|
__exportStar(require("../../utils/objectAssign.js"), exports);
|
|
23
23
|
__exportStar(require("../../utils/isObjectWithKeys.js"), exports);
|
|
24
24
|
__exportStar(require("../../utils/isCallable.js"), exports);
|
|
25
|
-
__exportStar(require("../plugin/getOutDirs.js"), exports);
|
|
26
25
|
__exportStar(require("../../utils/isPropertyGetter.js"), exports);
|
|
27
|
-
__exportStar(require("../../utils/
|
|
26
|
+
__exportStar(require("../../utils/path.js"), exports);
|
|
28
27
|
__exportStar(require("../../utils/urlToFile.js"), exports);
|
|
29
28
|
__exportStar(require("../../utils/isPlainObject.js"), exports);
|
|
30
29
|
__exportStar(require("../../utils/assertSetup.js"), exports);
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getHtmlTags = getHtmlTags;
|
|
7
|
+
const isFontFallback_js_1 = require("../../renderPage/isFontFallback.js");
|
|
7
8
|
const utils_js_1 = require("../../utils.js");
|
|
8
9
|
const serializePageContextClientSide_js_1 = require("../serializePageContextClientSide.js");
|
|
9
10
|
const sanitizeJson_js_1 = require("./sanitizeJson.js");
|
|
@@ -20,7 +21,8 @@ function getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter,
|
|
|
20
21
|
const isHtmlOnly = pageContext._isHtmlOnly;
|
|
21
22
|
const { isProduction } = (0, globalContext_js_1.getGlobalContext)();
|
|
22
23
|
const injectScriptsAt = getInjectScriptsAt(pageContext.pageId, pageContext._pageConfigs);
|
|
23
|
-
const injectFilterEntries =
|
|
24
|
+
const injectFilterEntries = [];
|
|
25
|
+
pageAssets
|
|
24
26
|
.filter((asset) => {
|
|
25
27
|
if (asset.isEntry && asset.assetType === 'script') {
|
|
26
28
|
// We could allow the user to change the position of <script> but we currently don't:
|
|
@@ -31,15 +33,18 @@ function getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter,
|
|
|
31
33
|
}
|
|
32
34
|
return true;
|
|
33
35
|
})
|
|
34
|
-
.
|
|
36
|
+
.forEach((asset) => {
|
|
35
37
|
const inject = (() => {
|
|
36
38
|
if (!isProduction) {
|
|
37
39
|
// In development, we should always load assets as soon as possible, in order to eagerly process assets (e.g. applying the transform() hooks of Vite plugins) which are lazily discovered.
|
|
38
40
|
return 'HTML_BEGIN';
|
|
39
41
|
}
|
|
40
|
-
if (asset.assetType === 'style'
|
|
42
|
+
if (asset.assetType === 'style') {
|
|
41
43
|
return 'HTML_BEGIN';
|
|
42
44
|
}
|
|
45
|
+
if (asset.assetType === 'font') {
|
|
46
|
+
return !(0, isFontFallback_js_1.isFontFallback)(asset, injectFilterEntries) ? 'HTML_BEGIN' : false;
|
|
47
|
+
}
|
|
43
48
|
if (asset.assetType === 'script') {
|
|
44
49
|
if (isHtmlOnly)
|
|
45
50
|
return false;
|
|
@@ -53,7 +58,7 @@ function getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter,
|
|
|
53
58
|
// @ts-ignore
|
|
54
59
|
[stamp]: true
|
|
55
60
|
};
|
|
56
|
-
|
|
61
|
+
injectFilterEntries.push(entry);
|
|
57
62
|
});
|
|
58
63
|
assertInjectFilterEntries(injectFilterEntries);
|
|
59
64
|
// ==============
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getEarlyHints = getEarlyHints;
|
|
4
|
+
const isFontFallback_js_1 = require("./isFontFallback.js");
|
|
4
5
|
const inferHtmlTags_js_1 = require("../html/injectAssets/inferHtmlTags.js");
|
|
5
|
-
const utils_js_1 = require("../utils.js");
|
|
6
6
|
function getEarlyHints(assets) {
|
|
7
7
|
const earlyHints = [];
|
|
8
8
|
{
|
|
9
9
|
assets.forEach((asset) => {
|
|
10
10
|
// Don't early hint fallback fonts, https://github.com/vikejs/vike/issues/624
|
|
11
|
-
if (isFontFallback(asset, earlyHints))
|
|
11
|
+
if ((0, isFontFallback_js_1.isFontFallback)(asset, earlyHints))
|
|
12
12
|
return;
|
|
13
13
|
earlyHints.push({
|
|
14
14
|
...asset,
|
|
@@ -18,28 +18,3 @@ function getEarlyHints(assets) {
|
|
|
18
18
|
}
|
|
19
19
|
return earlyHints;
|
|
20
20
|
}
|
|
21
|
-
function isFontFallback(asset, earlyHints) {
|
|
22
|
-
if (asset.assetType !== 'font') {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
const fontUrlBase = removeFileExtentionAndHash(asset.src);
|
|
26
|
-
return earlyHints.some((hint) => {
|
|
27
|
-
return hint.assetType === 'font' && removeFileExtentionAndHash(hint.src) === fontUrlBase;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
function removeFileExtentionAndHash(assetUrl) {
|
|
31
|
-
(0, utils_js_1.assert)(!assetUrl.includes('\\'));
|
|
32
|
-
// The logic below doesn't work for '/assets/chunk-0e184ced.js'
|
|
33
|
-
(0, utils_js_1.assert)(!assetUrl.endsWith('.js'));
|
|
34
|
-
const paths = assetUrl.split('/');
|
|
35
|
-
{
|
|
36
|
-
const filename = paths[paths.length - 1];
|
|
37
|
-
const filenameParts = filename.split('.');
|
|
38
|
-
(0, utils_js_1.assert)(filenameParts.length >= 2);
|
|
39
|
-
// User may set config.build.rollupOptions.output.assetFileNames => we can't assume the filename to be `*.${hash}.${ext}`
|
|
40
|
-
const filenameBase = filenameParts.slice(0, filenameParts.length === 2 ? -1 : -2);
|
|
41
|
-
(0, utils_js_1.assert)(filenameBase.length >= 1);
|
|
42
|
-
paths[paths.length - 1] = filenameBase.join('.');
|
|
43
|
-
}
|
|
44
|
-
return paths.join('/');
|
|
45
|
-
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isFontFallback = isFontFallback;
|
|
4
|
+
const assert_js_1 = require("../../../utils/assert.js");
|
|
5
|
+
function isFontFallback(asset, pageAssets) {
|
|
6
|
+
if (asset.assetType !== 'font') {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const fontUrlBase = removeFileExtentionAndHash(asset.src);
|
|
10
|
+
return pageAssets.some((assetOther) => {
|
|
11
|
+
return assetOther.assetType === 'font' && removeFileExtentionAndHash(assetOther.src) === fontUrlBase;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function removeFileExtentionAndHash(assetUrl) {
|
|
15
|
+
(0, assert_js_1.assert)(!assetUrl.includes('\\'));
|
|
16
|
+
// The logic below doesn't work for '/assets/chunk-0e184ced.js'
|
|
17
|
+
(0, assert_js_1.assert)(!assetUrl.endsWith('.js'));
|
|
18
|
+
const paths = assetUrl.split('/');
|
|
19
|
+
{
|
|
20
|
+
const filename = paths[paths.length - 1];
|
|
21
|
+
const filenameParts = filename.split('.');
|
|
22
|
+
(0, assert_js_1.assert)(filenameParts.length >= 2);
|
|
23
|
+
// User may set config.build.rollupOptions.output.assetFileNames => we can't assume the filename to be `*.${hash}.${ext}`
|
|
24
|
+
const filenameBase = filenameParts.slice(0, filenameParts.length === 2 ? -1 : -2);
|
|
25
|
+
(0, assert_js_1.assert)(filenameBase.length >= 1);
|
|
26
|
+
paths[paths.length - 1] = filenameBase.join('.');
|
|
27
|
+
}
|
|
28
|
+
return paths.join('/');
|
|
29
|
+
}
|
|
@@ -41,8 +41,6 @@ __exportStar(require("../../utils/compareString.js"), exports);
|
|
|
41
41
|
__exportStar(require("../../utils/isObjectWithKeys.js"), exports);
|
|
42
42
|
__exportStar(require("../../utils/stringifyStringArray.js"), exports);
|
|
43
43
|
__exportStar(require("../../utils/unique.js"), exports);
|
|
44
|
-
__exportStar(require("../../utils/toPosixPath.js"), exports);
|
|
45
|
-
__exportStar(require("../plugin/getOutDirs.js"), exports);
|
|
46
44
|
__exportStar(require("../../utils/capitalizeFirstLetter.js"), exports);
|
|
47
45
|
__exportStar(require("../../utils/debugGlob.js"), exports);
|
|
48
46
|
__exportStar(require("../../utils/isSameErrorMessage.js"), exports);
|
|
@@ -61,7 +59,7 @@ __exportStar(require("../../utils/objectEntries.js"), exports);
|
|
|
61
59
|
__exportStar(require("../../utils/objectFromEntries.js"), exports);
|
|
62
60
|
__exportStar(require("../../utils/getFileExtension.js"), exports);
|
|
63
61
|
__exportStar(require("../../utils/assertSetup.js"), exports);
|
|
64
|
-
__exportStar(require("../../utils/path
|
|
62
|
+
__exportStar(require("../../utils/path.js"), exports);
|
|
65
63
|
__exportStar(require("../../utils/isHtml.js"), exports);
|
|
66
64
|
__exportStar(require("../../utils/warnIfErrorIsNotObject.js"), exports);
|
|
67
65
|
__exportStar(require("../../utils/stripAnsi.js"), exports);
|
|
@@ -21,7 +21,6 @@ function isValidFileType(filePath) {
|
|
|
21
21
|
return ['.js', '.mjs', '.cjs', '.css'].some((ext) => filePath.endsWith(ext));
|
|
22
22
|
}
|
|
23
23
|
function determineFileType(filePath) {
|
|
24
|
-
(0, utils_js_1.assertPosixPath)(filePath);
|
|
25
24
|
{
|
|
26
25
|
const isCSS = filePath.endsWith('.css');
|
|
27
26
|
if (isCSS) {
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.getPageFilesClientSide = getPageFilesClientSide;
|
|
5
5
|
exports.getPageFilesServerSide = getPageFilesServerSide;
|
|
6
6
|
const utils_js_1 = require("../utils.js");
|
|
7
|
-
const assertPageFilePath_js_1 = require("../assertPageFilePath.js");
|
|
8
7
|
function getPageFilesClientSide(pageFilesAll, pageId) {
|
|
9
8
|
return determine(pageFilesAll, pageId, true);
|
|
10
9
|
}
|
|
@@ -88,8 +87,6 @@ function getPageFilesSorter(envIsClient, pageId) {
|
|
|
88
87
|
};
|
|
89
88
|
}
|
|
90
89
|
function getPathDistance(pathA, pathB) {
|
|
91
|
-
(0, assertPageFilePath_js_1.assertPageFilePath)(pathA);
|
|
92
|
-
(0, assertPageFilePath_js_1.assertPageFilePath)(pathB);
|
|
93
90
|
// Index of first different character
|
|
94
91
|
let idx = 0;
|
|
95
92
|
for (; idx < pathA.length && idx < pathB.length; idx++) {
|