vike 0.4.216 → 0.4.217

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/cjs/node/api/build.js +4 -2
  2. package/dist/cjs/node/api/prepareViteApiCall.js +14 -4
  3. package/dist/cjs/node/plugin/index.js +5 -7
  4. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +15 -12
  5. package/dist/cjs/node/plugin/plugins/baseUrls.js +17 -12
  6. package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
  7. package/dist/cjs/node/plugin/plugins/buildConfig.js +4 -5
  8. package/dist/cjs/node/plugin/plugins/commonConfig.js +14 -1
  9. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
  10. package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -1
  11. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +4 -7
  12. package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
  13. package/dist/cjs/node/plugin/plugins/importBuild/index.js +8 -6
  14. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
  15. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +9 -13
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +128 -0
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +40 -26
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
  19. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
  20. package/dist/cjs/node/plugin/plugins/previewConfig.js +4 -3
  21. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +4 -1
  22. package/dist/cjs/node/prerender/runPrerender.js +2 -4
  23. package/dist/cjs/node/runtime/globalContext.js +16 -8
  24. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
  25. package/dist/cjs/node/shared/resolveBase.js +41 -0
  26. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  27. package/dist/esm/node/api/build.js +4 -2
  28. package/dist/esm/node/api/prepareViteApiCall.d.ts +1 -1
  29. package/dist/esm/node/api/prepareViteApiCall.js +14 -4
  30. package/dist/esm/node/plugin/index.d.ts +3 -3
  31. package/dist/esm/node/plugin/index.js +3 -5
  32. package/dist/esm/node/plugin/plugins/autoFullBuild.js +15 -12
  33. package/dist/esm/node/plugin/plugins/baseUrls.d.ts +2 -2
  34. package/dist/esm/node/plugin/plugins/baseUrls.js +17 -12
  35. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
  36. package/dist/esm/node/plugin/plugins/buildConfig.js +4 -5
  37. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -1
  38. package/dist/esm/node/plugin/plugins/commonConfig.js +15 -2
  39. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.d.ts +1 -1
  40. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
  41. package/dist/esm/node/plugin/plugins/devConfig/index.js +1 -1
  42. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +4 -7
  43. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +3 -2
  44. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
  45. package/dist/esm/node/plugin/plugins/importBuild/index.js +8 -6
  46. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +2 -2
  47. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
  48. package/dist/esm/node/plugin/plugins/importUserCode/index.js +11 -15
  49. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
  50. package/dist/esm/{shared/ConfigVike.d.ts → node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts} +14 -12
  51. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +123 -0
  52. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
  53. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +41 -27
  54. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
  55. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
  56. package/dist/esm/node/plugin/plugins/previewConfig.js +4 -3
  57. package/dist/esm/node/plugin/plugins/setGlobalContext.js +5 -2
  58. package/dist/esm/node/prerender/runPrerender.js +2 -4
  59. package/dist/esm/node/runtime/globalContext.d.ts +6 -2
  60. package/dist/esm/node/runtime/globalContext.js +16 -8
  61. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
  62. package/dist/esm/node/shared/resolveBase.d.ts +11 -0
  63. package/dist/esm/node/shared/resolveBase.js +36 -0
  64. package/dist/esm/shared/page-configs/Config.d.ts +2 -2
  65. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  66. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  67. package/dist/esm/utils/projectInfo.d.ts +1 -1
  68. package/package.json +1 -1
  69. package/dist/cjs/node/plugin/plugins/config/assertVikeConfig.js +0 -75
  70. package/dist/cjs/node/plugin/plugins/config/index.js +0 -81
  71. package/dist/cjs/node/plugin/plugins/config/pickFirst.js +0 -6
  72. package/dist/cjs/node/plugin/plugins/config/resolveBase.js +0 -47
  73. package/dist/cjs/node/shared/getConfigVike.js +0 -10
  74. package/dist/cjs/shared/ConfigVike.js +0 -2
  75. package/dist/esm/node/plugin/plugins/config/assertVikeConfig.d.ts +0 -7
  76. package/dist/esm/node/plugin/plugins/config/assertVikeConfig.js +0 -73
  77. package/dist/esm/node/plugin/plugins/config/index.d.ts +0 -3
  78. package/dist/esm/node/plugin/plugins/config/index.js +0 -76
  79. package/dist/esm/node/plugin/plugins/config/pickFirst.d.ts +0 -1
  80. package/dist/esm/node/plugin/plugins/config/pickFirst.js +0 -3
  81. package/dist/esm/node/plugin/plugins/config/resolveBase.d.ts +0 -10
  82. package/dist/esm/node/plugin/plugins/config/resolveBase.js +0 -42
  83. package/dist/esm/node/shared/getConfigVike.d.ts +0 -4
  84. package/dist/esm/node/shared/getConfigVike.js +0 -8
  85. package/dist/esm/shared/ConfigVike.js +0 -1
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.216';
2
+ export const PROJECT_VERSION = '0.4.217';
@@ -1,4 +1,4 @@
1
1
  export declare const projectInfo: {
2
2
  projectName: "Vike";
3
- projectVersion: "0.4.216";
3
+ projectVersion: "0.4.217";
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.216",
3
+ "version": "0.4.217",
4
4
  "repository": "https://github.com/vikejs/vike",
5
5
  "exports": {
6
6
  "./server": {
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertVikeConfig = assertVikeConfig;
4
- const utils_js_1 = require("../../utils.js");
5
- function assertVikeConfig(vikeConfig, wrongUsageMsg) {
6
- const wrongUsageError = checkConfigVike(vikeConfig);
7
- if (wrongUsageError) {
8
- (0, utils_js_1.assertUsage)(false, wrongUsageMsg(wrongUsageError));
9
- }
10
- }
11
- function checkConfigVike(configVike) {
12
- (0, utils_js_1.assert)((0, utils_js_1.isObject)(configVike));
13
- {
14
- const prop = 'disableUrlNormalization';
15
- if (!(0, utils_js_1.hasProp)(configVike, prop, 'boolean') && !(0, utils_js_1.hasProp)(configVike, prop, 'undefined'))
16
- return { prop, errMsg: 'should be a boolean' };
17
- }
18
- {
19
- const prop = 'trailingSlash';
20
- if (!(0, utils_js_1.hasProp)(configVike, prop, 'boolean') && !(0, utils_js_1.hasProp)(configVike, prop, 'undefined'))
21
- return { prop, errMsg: 'should be a boolean' };
22
- }
23
- {
24
- const prop = 'redirects';
25
- const { redirects } = configVike;
26
- if (!(redirects === undefined ||
27
- ((0, utils_js_1.isObject)(redirects) && Object.values(redirects).every((v) => typeof v === 'string'))))
28
- return { prop, errMsg: 'should be an object of strings' };
29
- }
30
- {
31
- const prop = 'disableAutoFullBuild';
32
- if (!(0, utils_js_1.hasProp)(configVike, prop, 'boolean') &&
33
- !(0, utils_js_1.hasProp)(configVike, prop, 'undefined') &&
34
- !(configVike[prop] === 'prerender'))
35
- return { prop, errMsg: "should be a boolean or 'prerender'" };
36
- }
37
- {
38
- const prop = 'includeAssetsImportedByServer';
39
- if (!(0, utils_js_1.hasProp)(configVike, prop, 'boolean') && !(0, utils_js_1.hasProp)(configVike, prop, 'undefined'))
40
- return { prop, errMsg: 'should be a boolean' };
41
- }
42
- {
43
- const prop = 'prerender';
44
- if (!(0, utils_js_1.hasProp)(configVike, prop, 'object') &&
45
- !(0, utils_js_1.hasProp)(configVike, prop, 'boolean') &&
46
- !(0, utils_js_1.hasProp)(configVike, prop, 'undefined'))
47
- return { prop, errMsg: 'should be an object or a boolean' };
48
- }
49
- const configVikePrerender = configVike.prerender;
50
- if (typeof configVikePrerender === 'object') {
51
- {
52
- const p = 'partial';
53
- if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
54
- return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
55
- }
56
- {
57
- const p = 'noExtraDir';
58
- if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
59
- return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
60
- }
61
- {
62
- const p = 'disableAutoRun';
63
- if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
64
- return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
65
- }
66
- {
67
- const p = 'parallel';
68
- if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') &&
69
- !(0, utils_js_1.hasProp)(configVikePrerender, p, 'number') &&
70
- !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
71
- return { prop: `prerender.${p}`, errMsg: 'should be a boolean or a number' };
72
- }
73
- }
74
- return null;
75
- }
@@ -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,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pickFirst = pickFirst;
4
- function pickFirst(arr) {
5
- return arr.filter((v) => v !== undefined)[0];
6
- }
@@ -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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,3 +0,0 @@
1
- export { resolveVikeConfig };
2
- import type { Plugin } from 'vite';
3
- declare function resolveVikeConfig(vikeConfig: unknown): Plugin;
@@ -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,3 +0,0 @@
1
- export function pickFirst(arr) {
2
- return arr.filter((v) => v !== undefined)[0];
3
- }
@@ -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,4 +0,0 @@
1
- export { getConfigVike };
2
- import { ResolvedConfig } from 'vite';
3
- import type { ConfigVikeResolved } from '../../shared/ConfigVike.js';
4
- declare function getConfigVike(config: ResolvedConfig): Promise<ConfigVikeResolved>;
@@ -1,8 +0,0 @@
1
- export { getConfigVike };
2
- import { assert } from './utils.js';
3
- async function getConfigVike(config) {
4
- const { configVikePromise } = config;
5
- assert(configVikePromise);
6
- const configVike = await configVikePromise;
7
- return configVike;
8
- }
@@ -1 +0,0 @@
1
- export {};