vike 0.4.216 → 0.4.217-commit-99ea561
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/build.js +4 -2
- package/dist/cjs/node/api/prepareViteApiCall.js +14 -4
- package/dist/cjs/node/plugin/index.js +5 -7
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +15 -12
- package/dist/cjs/node/plugin/plugins/baseUrls.js +17 -12
- package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
- package/dist/cjs/node/plugin/plugins/buildConfig.js +4 -5
- package/dist/cjs/node/plugin/plugins/commonConfig.js +14 -1
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +4 -7
- package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
- package/dist/cjs/node/plugin/plugins/importBuild/index.js +8 -6
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +9 -13
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +15 -102
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +128 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +42 -28
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
- package/dist/cjs/node/plugin/plugins/previewConfig.js +4 -3
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +4 -1
- package/dist/cjs/node/prerender/runPrerender.js +2 -4
- package/dist/cjs/node/runtime/globalContext.js +16 -8
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/cjs/node/shared/resolveBase.js +41 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/node/api/build.js +4 -2
- package/dist/esm/node/api/prepareViteApiCall.d.ts +1 -1
- package/dist/esm/node/api/prepareViteApiCall.js +14 -4
- package/dist/esm/node/plugin/index.d.ts +3 -3
- package/dist/esm/node/plugin/index.js +3 -5
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +15 -12
- package/dist/esm/node/plugin/plugins/baseUrls.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/baseUrls.js +17 -12
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
- package/dist/esm/node/plugin/plugins/buildConfig.js +4 -5
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +7 -1
- package/dist/esm/node/plugin/plugins/commonConfig.js +15 -2
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/esm/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +4 -7
- package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +3 -2
- package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
- package/dist/esm/node/plugin/plugins/importBuild/index.js +8 -6
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +11 -15
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +15 -102
- package/dist/esm/{shared/ConfigVike.d.ts → node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts} +14 -12
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +123 -0
- 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 +43 -29
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
- package/dist/esm/node/plugin/plugins/previewConfig.js +4 -3
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +5 -2
- package/dist/esm/node/plugin/shared/getEnvVarObject.d.ts +1 -1
- package/dist/esm/node/prerender/runPrerender.js +2 -4
- package/dist/esm/node/runtime/globalContext.d.ts +6 -2
- package/dist/esm/node/runtime/globalContext.js +16 -8
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/esm/node/shared/resolveBase.d.ts +11 -0
- package/dist/esm/node/shared/resolveBase.js +36 -0
- package/dist/esm/shared/page-configs/Config.d.ts +2 -2
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/node/plugin/plugins/config/assertVikeConfig.js +0 -75
- package/dist/cjs/node/plugin/plugins/config/index.js +0 -81
- package/dist/cjs/node/plugin/plugins/config/pickFirst.js +0 -6
- package/dist/cjs/node/plugin/plugins/config/resolveBase.js +0 -47
- package/dist/cjs/node/shared/getConfigVike.js +0 -10
- package/dist/cjs/shared/ConfigVike.js +0 -2
- package/dist/esm/node/plugin/plugins/config/assertVikeConfig.d.ts +0 -7
- package/dist/esm/node/plugin/plugins/config/assertVikeConfig.js +0 -73
- package/dist/esm/node/plugin/plugins/config/index.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/config/index.js +0 -76
- package/dist/esm/node/plugin/plugins/config/pickFirst.d.ts +0 -1
- package/dist/esm/node/plugin/plugins/config/pickFirst.js +0 -3
- package/dist/esm/node/plugin/plugins/config/resolveBase.d.ts +0 -10
- package/dist/esm/node/plugin/plugins/config/resolveBase.js +0 -42
- package/dist/esm/node/shared/getConfigVike.d.ts +0 -4
- package/dist/esm/node/shared/getConfigVike.js +0 -8
- package/dist/esm/shared/ConfigVike.js +0 -1
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.resolveVikeConfig = resolveVikeConfig;
|
|
7
|
-
const assertVikeConfig_js_1 = require("./assertVikeConfig.js");
|
|
8
|
-
const utils_js_1 = require("../../utils.js");
|
|
9
|
-
const pickFirst_js_1 = require("./pickFirst.js");
|
|
10
|
-
const resolveBase_js_1 = require("./resolveBase.js");
|
|
11
|
-
const getVikeConfig_js_1 = require("../importUserCode/v1-design/getVikeConfig.js");
|
|
12
|
-
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
13
|
-
function resolveVikeConfig(vikeConfig) {
|
|
14
|
-
let isDev;
|
|
15
|
-
return {
|
|
16
|
-
name: 'vike:resolveVikeConfig',
|
|
17
|
-
enforce: 'pre',
|
|
18
|
-
apply(_config, env) {
|
|
19
|
-
isDev = (0, utils_js_1.isDevCheck)(env);
|
|
20
|
-
return true;
|
|
21
|
-
},
|
|
22
|
-
async configResolved(config) {
|
|
23
|
-
(0, utils_js_1.assert)(typeof isDev === 'boolean');
|
|
24
|
-
const promise = getConfigVikPromise(vikeConfig, config, isDev);
|
|
25
|
-
config.configVikePromise = promise;
|
|
26
|
-
await promise;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
async function getConfigVikPromise(vikeConfig, config, isDev) {
|
|
31
|
-
const fromPluginOptions = (vikeConfig ?? {});
|
|
32
|
-
const fromViteConfig = (config.vike ?? {});
|
|
33
|
-
const configs = [fromPluginOptions, fromViteConfig];
|
|
34
|
-
(0, assertVikeConfig_js_1.assertVikeConfig)(fromViteConfig, ({ prop, errMsg }) => `vite.config.js#vike.${prop} ${errMsg}`);
|
|
35
|
-
// TODO/v1-release: deprecate this
|
|
36
|
-
(0, assertVikeConfig_js_1.assertVikeConfig)(fromPluginOptions, ({ prop, errMsg }) => `vite.config.js > vike option ${prop} ${errMsg}`);
|
|
37
|
-
const crawlWithGit = fromPluginOptions.crawl?.git ?? null;
|
|
38
|
-
const { globalVikeConfig: fromPlusConfigFile } = await (0, getVikeConfig_js_1.getVikeConfig)(config, isDev, { crawlWithGit });
|
|
39
|
-
configs.push(fromPlusConfigFile);
|
|
40
|
-
(0, assertVikeConfig_js_1.assertVikeConfig)(fromPlusConfigFile, ({ prop, errMsg }) => {
|
|
41
|
-
// TODO: add config file path ?
|
|
42
|
-
return `config ${picocolors_1.default.cyan(prop)} ${errMsg}`;
|
|
43
|
-
});
|
|
44
|
-
const { baseServer, baseAssets } = (0, resolveBase_js_1.resolveBase)(configs, config);
|
|
45
|
-
const configVike = {
|
|
46
|
-
disableAutoFullBuild: (0, pickFirst_js_1.pickFirst)(configs.map((c) => c.disableAutoFullBuild)) ?? null,
|
|
47
|
-
prerender: resolvePrerenderOptions(configs),
|
|
48
|
-
includeAssetsImportedByServer: (0, pickFirst_js_1.pickFirst)(configs.map((c) => c.includeAssetsImportedByServer)) ?? true,
|
|
49
|
-
baseServer,
|
|
50
|
-
baseAssets,
|
|
51
|
-
redirects: merge(configs.map((c) => c.redirects)) ?? {},
|
|
52
|
-
disableUrlNormalization: (0, pickFirst_js_1.pickFirst)(configs.map((c) => c.disableUrlNormalization)) ?? false,
|
|
53
|
-
trailingSlash: (0, pickFirst_js_1.pickFirst)(configs.map((c) => c.trailingSlash)) ?? false,
|
|
54
|
-
crawl: {
|
|
55
|
-
git: crawlWithGit
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
return configVike;
|
|
59
|
-
}
|
|
60
|
-
function resolvePrerenderOptions(configs) {
|
|
61
|
-
if (!configs.some((c) => c.prerender)) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
const configsPrerender = configs.map((c) => c.prerender).filter(isObject);
|
|
65
|
-
return {
|
|
66
|
-
partial: (0, pickFirst_js_1.pickFirst)(configsPrerender.map((c) => c.partial)) ?? false,
|
|
67
|
-
noExtraDir: (0, pickFirst_js_1.pickFirst)(configsPrerender.map((c) => c.noExtraDir)) ?? false,
|
|
68
|
-
parallel: (0, pickFirst_js_1.pickFirst)(configsPrerender.map((c) => c.parallel)) ?? true,
|
|
69
|
-
disableAutoRun: (0, pickFirst_js_1.pickFirst)(configsPrerender.map((c) => c.disableAutoRun)) ?? false
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
function isObject(p) {
|
|
73
|
-
return typeof p === 'object';
|
|
74
|
-
}
|
|
75
|
-
function merge(objs) {
|
|
76
|
-
const obj = {};
|
|
77
|
-
objs.forEach((e) => {
|
|
78
|
-
Object.assign(obj, e);
|
|
79
|
-
});
|
|
80
|
-
return obj;
|
|
81
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.resolveBase = resolveBase;
|
|
7
|
-
exports.resolveBaseFromUserConfig = resolveBaseFromUserConfig;
|
|
8
|
-
const utils_js_1 = require("../../utils.js");
|
|
9
|
-
const pickFirst_js_1 = require("./pickFirst.js");
|
|
10
|
-
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
11
|
-
function resolveBase(configs, config) {
|
|
12
|
-
const baseServer = (0, pickFirst_js_1.pickFirst)(configs.map((c) => c.baseServer)) ?? null;
|
|
13
|
-
const baseAssets = (0, pickFirst_js_1.pickFirst)(configs.map((c) => c.baseAssets)) ?? null;
|
|
14
|
-
let baseOriginal = config._baseOriginal;
|
|
15
|
-
if (baseOriginal === '/__UNSET__')
|
|
16
|
-
baseOriginal = null;
|
|
17
|
-
(0, utils_js_1.assert)(baseOriginal === null || typeof baseOriginal == 'string');
|
|
18
|
-
return resolve(baseOriginal, baseServer, baseAssets);
|
|
19
|
-
}
|
|
20
|
-
function resolveBaseFromUserConfig(config, configVike) {
|
|
21
|
-
return resolve(config.base ?? null, configVike?.baseServer ?? null, configVike?.baseAssets ?? null);
|
|
22
|
-
}
|
|
23
|
-
function resolve(base, baseServer_, baseAssets_) {
|
|
24
|
-
{
|
|
25
|
-
const wrongBase = (val) => `should start with ${picocolors_1.default.cyan('/')}, ${picocolors_1.default.cyan('http://')}, or ${picocolors_1.default.cyan('https://')} (it's ${picocolors_1.default.cyan(val)} instead)`;
|
|
26
|
-
(0, utils_js_1.assertUsage)(base === null || (0, utils_js_1.isBaseAssets)(base), `vite.config.js#base ${wrongBase(base)}`);
|
|
27
|
-
(0, utils_js_1.assertUsage)(baseAssets_ === null || (0, utils_js_1.isBaseAssets)(baseAssets_), `Config ${picocolors_1.default.cyan('baseAssets')} ${wrongBase(baseAssets_)}`);
|
|
28
|
-
(0, utils_js_1.assertUsage)(baseServer_ === null || baseServer_.startsWith('/'), `Config ${picocolors_1.default.cyan('baseServer')} should start with a leading slash ${picocolors_1.default.cyan('/')} (it's ${picocolors_1.default.cyan(String(baseServer_))} instead)`);
|
|
29
|
-
}
|
|
30
|
-
if (base) {
|
|
31
|
-
if (base.startsWith('http')) {
|
|
32
|
-
baseAssets_ = baseAssets_ ?? base;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
baseAssets_ = baseAssets_ ?? base;
|
|
36
|
-
baseServer_ = baseServer_ ?? base;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const baseServer = baseServer_ ?? '/';
|
|
40
|
-
const baseAssets = baseAssets_ ?? '/';
|
|
41
|
-
(0, utils_js_1.assert)((0, utils_js_1.isBaseAssets)(baseAssets));
|
|
42
|
-
(0, utils_js_1.assert)((0, utils_js_1.isBaseServer)(baseServer));
|
|
43
|
-
return {
|
|
44
|
-
baseServer,
|
|
45
|
-
baseAssets
|
|
46
|
-
};
|
|
47
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getConfigVike = getConfigVike;
|
|
4
|
-
const utils_js_1 = require("./utils.js");
|
|
5
|
-
async function getConfigVike(config) {
|
|
6
|
-
const { configVikePromise } = config;
|
|
7
|
-
(0, utils_js_1.assert)(configVikePromise);
|
|
8
|
-
const configVike = await configVikePromise;
|
|
9
|
-
return configVike;
|
|
10
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { assertVikeConfig };
|
|
2
|
-
import type { ConfigVikeUserProvided } from '../../../../shared/ConfigVike.js';
|
|
3
|
-
type WrongUsage = {
|
|
4
|
-
prop: string;
|
|
5
|
-
errMsg: `should be a${string}`;
|
|
6
|
-
};
|
|
7
|
-
declare function assertVikeConfig(vikeConfig: unknown, wrongUsageMsg: (wrongUsage: WrongUsage) => string): asserts vikeConfig is ConfigVikeUserProvided;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
export { assertVikeConfig };
|
|
2
|
-
import { assert, assertUsage, hasProp, isObject } from '../../utils.js';
|
|
3
|
-
function assertVikeConfig(vikeConfig, wrongUsageMsg) {
|
|
4
|
-
const wrongUsageError = checkConfigVike(vikeConfig);
|
|
5
|
-
if (wrongUsageError) {
|
|
6
|
-
assertUsage(false, wrongUsageMsg(wrongUsageError));
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
function checkConfigVike(configVike) {
|
|
10
|
-
assert(isObject(configVike));
|
|
11
|
-
{
|
|
12
|
-
const prop = 'disableUrlNormalization';
|
|
13
|
-
if (!hasProp(configVike, prop, 'boolean') && !hasProp(configVike, prop, 'undefined'))
|
|
14
|
-
return { prop, errMsg: 'should be a boolean' };
|
|
15
|
-
}
|
|
16
|
-
{
|
|
17
|
-
const prop = 'trailingSlash';
|
|
18
|
-
if (!hasProp(configVike, prop, 'boolean') && !hasProp(configVike, prop, 'undefined'))
|
|
19
|
-
return { prop, errMsg: 'should be a boolean' };
|
|
20
|
-
}
|
|
21
|
-
{
|
|
22
|
-
const prop = 'redirects';
|
|
23
|
-
const { redirects } = configVike;
|
|
24
|
-
if (!(redirects === undefined ||
|
|
25
|
-
(isObject(redirects) && Object.values(redirects).every((v) => typeof v === 'string'))))
|
|
26
|
-
return { prop, errMsg: 'should be an object of strings' };
|
|
27
|
-
}
|
|
28
|
-
{
|
|
29
|
-
const prop = 'disableAutoFullBuild';
|
|
30
|
-
if (!hasProp(configVike, prop, 'boolean') &&
|
|
31
|
-
!hasProp(configVike, prop, 'undefined') &&
|
|
32
|
-
!(configVike[prop] === 'prerender'))
|
|
33
|
-
return { prop, errMsg: "should be a boolean or 'prerender'" };
|
|
34
|
-
}
|
|
35
|
-
{
|
|
36
|
-
const prop = 'includeAssetsImportedByServer';
|
|
37
|
-
if (!hasProp(configVike, prop, 'boolean') && !hasProp(configVike, prop, 'undefined'))
|
|
38
|
-
return { prop, errMsg: 'should be a boolean' };
|
|
39
|
-
}
|
|
40
|
-
{
|
|
41
|
-
const prop = 'prerender';
|
|
42
|
-
if (!hasProp(configVike, prop, 'object') &&
|
|
43
|
-
!hasProp(configVike, prop, 'boolean') &&
|
|
44
|
-
!hasProp(configVike, prop, 'undefined'))
|
|
45
|
-
return { prop, errMsg: 'should be an object or a boolean' };
|
|
46
|
-
}
|
|
47
|
-
const configVikePrerender = configVike.prerender;
|
|
48
|
-
if (typeof configVikePrerender === 'object') {
|
|
49
|
-
{
|
|
50
|
-
const p = 'partial';
|
|
51
|
-
if (!hasProp(configVikePrerender, p, 'boolean') && !hasProp(configVikePrerender, p, 'undefined'))
|
|
52
|
-
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
53
|
-
}
|
|
54
|
-
{
|
|
55
|
-
const p = 'noExtraDir';
|
|
56
|
-
if (!hasProp(configVikePrerender, p, 'boolean') && !hasProp(configVikePrerender, p, 'undefined'))
|
|
57
|
-
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
58
|
-
}
|
|
59
|
-
{
|
|
60
|
-
const p = 'disableAutoRun';
|
|
61
|
-
if (!hasProp(configVikePrerender, p, 'boolean') && !hasProp(configVikePrerender, p, 'undefined'))
|
|
62
|
-
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
63
|
-
}
|
|
64
|
-
{
|
|
65
|
-
const p = 'parallel';
|
|
66
|
-
if (!hasProp(configVikePrerender, p, 'boolean') &&
|
|
67
|
-
!hasProp(configVikePrerender, p, 'number') &&
|
|
68
|
-
!hasProp(configVikePrerender, p, 'undefined'))
|
|
69
|
-
return { prop: `prerender.${p}`, errMsg: 'should be a boolean or a number' };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
export { resolveVikeConfig };
|
|
2
|
-
import { assertVikeConfig } from './assertVikeConfig.js';
|
|
3
|
-
import { assert, isDevCheck } from '../../utils.js';
|
|
4
|
-
import { pickFirst } from './pickFirst.js';
|
|
5
|
-
import { resolveBase } from './resolveBase.js';
|
|
6
|
-
import { getVikeConfig } from '../importUserCode/v1-design/getVikeConfig.js';
|
|
7
|
-
import pc from '@brillout/picocolors';
|
|
8
|
-
function resolveVikeConfig(vikeConfig) {
|
|
9
|
-
let isDev;
|
|
10
|
-
return {
|
|
11
|
-
name: 'vike:resolveVikeConfig',
|
|
12
|
-
enforce: 'pre',
|
|
13
|
-
apply(_config, env) {
|
|
14
|
-
isDev = isDevCheck(env);
|
|
15
|
-
return true;
|
|
16
|
-
},
|
|
17
|
-
async configResolved(config) {
|
|
18
|
-
assert(typeof isDev === 'boolean');
|
|
19
|
-
const promise = getConfigVikPromise(vikeConfig, config, isDev);
|
|
20
|
-
config.configVikePromise = promise;
|
|
21
|
-
await promise;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
async function getConfigVikPromise(vikeConfig, config, isDev) {
|
|
26
|
-
const fromPluginOptions = (vikeConfig ?? {});
|
|
27
|
-
const fromViteConfig = (config.vike ?? {});
|
|
28
|
-
const configs = [fromPluginOptions, fromViteConfig];
|
|
29
|
-
assertVikeConfig(fromViteConfig, ({ prop, errMsg }) => `vite.config.js#vike.${prop} ${errMsg}`);
|
|
30
|
-
// TODO/v1-release: deprecate this
|
|
31
|
-
assertVikeConfig(fromPluginOptions, ({ prop, errMsg }) => `vite.config.js > vike option ${prop} ${errMsg}`);
|
|
32
|
-
const crawlWithGit = fromPluginOptions.crawl?.git ?? null;
|
|
33
|
-
const { globalVikeConfig: fromPlusConfigFile } = await getVikeConfig(config, isDev, { crawlWithGit });
|
|
34
|
-
configs.push(fromPlusConfigFile);
|
|
35
|
-
assertVikeConfig(fromPlusConfigFile, ({ prop, errMsg }) => {
|
|
36
|
-
// TODO: add config file path ?
|
|
37
|
-
return `config ${pc.cyan(prop)} ${errMsg}`;
|
|
38
|
-
});
|
|
39
|
-
const { baseServer, baseAssets } = resolveBase(configs, config);
|
|
40
|
-
const configVike = {
|
|
41
|
-
disableAutoFullBuild: pickFirst(configs.map((c) => c.disableAutoFullBuild)) ?? null,
|
|
42
|
-
prerender: resolvePrerenderOptions(configs),
|
|
43
|
-
includeAssetsImportedByServer: pickFirst(configs.map((c) => c.includeAssetsImportedByServer)) ?? true,
|
|
44
|
-
baseServer,
|
|
45
|
-
baseAssets,
|
|
46
|
-
redirects: merge(configs.map((c) => c.redirects)) ?? {},
|
|
47
|
-
disableUrlNormalization: pickFirst(configs.map((c) => c.disableUrlNormalization)) ?? false,
|
|
48
|
-
trailingSlash: pickFirst(configs.map((c) => c.trailingSlash)) ?? false,
|
|
49
|
-
crawl: {
|
|
50
|
-
git: crawlWithGit
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
return configVike;
|
|
54
|
-
}
|
|
55
|
-
function resolvePrerenderOptions(configs) {
|
|
56
|
-
if (!configs.some((c) => c.prerender)) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
const configsPrerender = configs.map((c) => c.prerender).filter(isObject);
|
|
60
|
-
return {
|
|
61
|
-
partial: pickFirst(configsPrerender.map((c) => c.partial)) ?? false,
|
|
62
|
-
noExtraDir: pickFirst(configsPrerender.map((c) => c.noExtraDir)) ?? false,
|
|
63
|
-
parallel: pickFirst(configsPrerender.map((c) => c.parallel)) ?? true,
|
|
64
|
-
disableAutoRun: pickFirst(configsPrerender.map((c) => c.disableAutoRun)) ?? false
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
function isObject(p) {
|
|
68
|
-
return typeof p === 'object';
|
|
69
|
-
}
|
|
70
|
-
function merge(objs) {
|
|
71
|
-
const obj = {};
|
|
72
|
-
objs.forEach((e) => {
|
|
73
|
-
Object.assign(obj, e);
|
|
74
|
-
});
|
|
75
|
-
return obj;
|
|
76
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function pickFirst<T>(arr: T[]): T | undefined;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { resolveBase };
|
|
2
|
-
export { resolveBaseFromUserConfig };
|
|
3
|
-
import type { ResolvedConfig, UserConfig } from 'vite';
|
|
4
|
-
import type { ConfigVikeUserProvided } from '../../../../shared/ConfigVike.js';
|
|
5
|
-
type BaseServers = {
|
|
6
|
-
baseServer: string;
|
|
7
|
-
baseAssets: string;
|
|
8
|
-
};
|
|
9
|
-
declare function resolveBase(configs: ConfigVikeUserProvided[], config: ResolvedConfig): BaseServers;
|
|
10
|
-
declare function resolveBaseFromUserConfig(config: UserConfig, configVike: undefined | ConfigVikeUserProvided): BaseServers;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export { resolveBase };
|
|
2
|
-
export { resolveBaseFromUserConfig };
|
|
3
|
-
import { assert, assertUsage, isBaseServer, isBaseAssets } from '../../utils.js';
|
|
4
|
-
import { pickFirst } from './pickFirst.js';
|
|
5
|
-
import pc from '@brillout/picocolors';
|
|
6
|
-
function resolveBase(configs, config) {
|
|
7
|
-
const baseServer = pickFirst(configs.map((c) => c.baseServer)) ?? null;
|
|
8
|
-
const baseAssets = pickFirst(configs.map((c) => c.baseAssets)) ?? null;
|
|
9
|
-
let baseOriginal = config._baseOriginal;
|
|
10
|
-
if (baseOriginal === '/__UNSET__')
|
|
11
|
-
baseOriginal = null;
|
|
12
|
-
assert(baseOriginal === null || typeof baseOriginal == 'string');
|
|
13
|
-
return resolve(baseOriginal, baseServer, baseAssets);
|
|
14
|
-
}
|
|
15
|
-
function resolveBaseFromUserConfig(config, configVike) {
|
|
16
|
-
return resolve(config.base ?? null, configVike?.baseServer ?? null, configVike?.baseAssets ?? null);
|
|
17
|
-
}
|
|
18
|
-
function resolve(base, baseServer_, baseAssets_) {
|
|
19
|
-
{
|
|
20
|
-
const wrongBase = (val) => `should start with ${pc.cyan('/')}, ${pc.cyan('http://')}, or ${pc.cyan('https://')} (it's ${pc.cyan(val)} instead)`;
|
|
21
|
-
assertUsage(base === null || isBaseAssets(base), `vite.config.js#base ${wrongBase(base)}`);
|
|
22
|
-
assertUsage(baseAssets_ === null || isBaseAssets(baseAssets_), `Config ${pc.cyan('baseAssets')} ${wrongBase(baseAssets_)}`);
|
|
23
|
-
assertUsage(baseServer_ === null || baseServer_.startsWith('/'), `Config ${pc.cyan('baseServer')} should start with a leading slash ${pc.cyan('/')} (it's ${pc.cyan(String(baseServer_))} instead)`);
|
|
24
|
-
}
|
|
25
|
-
if (base) {
|
|
26
|
-
if (base.startsWith('http')) {
|
|
27
|
-
baseAssets_ = baseAssets_ ?? base;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
baseAssets_ = baseAssets_ ?? base;
|
|
31
|
-
baseServer_ = baseServer_ ?? base;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const baseServer = baseServer_ ?? '/';
|
|
35
|
-
const baseAssets = baseAssets_ ?? '/';
|
|
36
|
-
assert(isBaseAssets(baseAssets));
|
|
37
|
-
assert(isBaseServer(baseServer));
|
|
38
|
-
return {
|
|
39
|
-
baseServer,
|
|
40
|
-
baseAssets
|
|
41
|
-
};
|
|
42
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|