vike 0.4.215 → 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 (143) hide show
  1. package/dist/cjs/__internal/index.js +2 -2
  2. package/dist/cjs/node/api/build.js +10 -3
  3. package/dist/cjs/node/api/context.js +8 -6
  4. package/dist/cjs/node/api/dev.js +7 -2
  5. package/dist/cjs/node/api/{prepareApiCall.js → prepareViteApiCall.js} +16 -6
  6. package/dist/cjs/node/api/prerender.js +7 -2
  7. package/dist/cjs/node/api/preview.js +7 -2
  8. package/dist/cjs/node/api/utils.js +1 -0
  9. package/dist/cjs/node/plugin/index.js +7 -10
  10. package/dist/cjs/node/plugin/onLoad.js +2 -2
  11. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +15 -12
  12. package/dist/cjs/node/plugin/plugins/baseUrls.js +17 -12
  13. package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
  14. package/dist/cjs/node/plugin/plugins/buildConfig.js +10 -10
  15. package/dist/cjs/node/plugin/plugins/commonConfig.js +35 -4
  16. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
  17. package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -4
  18. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +4 -7
  19. package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
  20. package/dist/cjs/node/plugin/plugins/importBuild/index.js +8 -6
  21. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
  22. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +9 -13
  23. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +8 -4
  24. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +128 -0
  25. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +40 -26
  26. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
  27. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
  28. package/dist/cjs/node/plugin/plugins/previewConfig.js +4 -4
  29. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +35 -17
  30. package/dist/cjs/node/prerender/runPrerender.js +5 -7
  31. package/dist/cjs/node/prerender/utils.js +1 -1
  32. package/dist/cjs/node/runtime/globalContext.js +21 -13
  33. package/dist/cjs/node/runtime/index-common.js +3 -1
  34. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
  35. package/dist/cjs/node/runtime/renderPage.js +4 -2
  36. package/dist/cjs/node/runtime/utils.js +1 -2
  37. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +25 -0
  38. package/dist/cjs/node/runtime-dev/index.js +32 -0
  39. package/dist/cjs/node/shared/resolveBase.js +41 -0
  40. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +2 -2
  41. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +2 -2
  42. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  43. package/dist/cjs/utils/assertSetup.js +135 -0
  44. package/dist/cjs/utils/isDocker.js +2 -2
  45. package/dist/cjs/utils/requireResolve.js +2 -2
  46. package/dist/esm/__internal/index.js +2 -2
  47. package/dist/esm/node/api/build.d.ts +5 -0
  48. package/dist/esm/node/api/build.js +10 -3
  49. package/dist/esm/node/api/context.js +9 -7
  50. package/dist/esm/node/api/dev.d.ts +5 -0
  51. package/dist/esm/node/api/dev.js +7 -2
  52. package/dist/esm/node/api/prepareViteApiCall.d.ts +7 -0
  53. package/dist/esm/node/api/{prepareApiCall.js → prepareViteApiCall.js} +16 -6
  54. package/dist/esm/node/api/prerender.d.ts +5 -0
  55. package/dist/esm/node/api/prerender.js +7 -2
  56. package/dist/esm/node/api/preview.d.ts +5 -0
  57. package/dist/esm/node/api/preview.js +7 -2
  58. package/dist/esm/node/api/utils.d.ts +1 -0
  59. package/dist/esm/node/api/utils.js +1 -0
  60. package/dist/esm/node/cli/parseCli.d.ts +1 -1
  61. package/dist/esm/node/plugin/index.d.ts +3 -3
  62. package/dist/esm/node/plugin/index.js +6 -9
  63. package/dist/esm/node/plugin/onLoad.js +1 -1
  64. package/dist/esm/node/plugin/plugins/autoFullBuild.js +15 -12
  65. package/dist/esm/node/plugin/plugins/baseUrls.d.ts +2 -2
  66. package/dist/esm/node/plugin/plugins/baseUrls.js +17 -12
  67. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
  68. package/dist/esm/node/plugin/plugins/buildConfig.js +11 -11
  69. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -1
  70. package/dist/esm/node/plugin/plugins/commonConfig.js +36 -5
  71. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.d.ts +1 -1
  72. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
  73. package/dist/esm/node/plugin/plugins/devConfig/index.js +2 -5
  74. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +4 -7
  75. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +3 -2
  76. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
  77. package/dist/esm/node/plugin/plugins/importBuild/index.js +8 -6
  78. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +2 -2
  79. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
  80. package/dist/esm/node/plugin/plugins/importUserCode/index.js +11 -15
  81. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
  82. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +8 -4
  83. package/dist/esm/{shared/ConfigVike.d.ts → node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts} +14 -12
  84. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +123 -0
  85. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
  86. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +41 -27
  87. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
  88. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
  89. package/dist/esm/node/plugin/plugins/previewConfig.js +5 -5
  90. package/dist/esm/node/plugin/plugins/setGlobalContext.d.ts +1 -1
  91. package/dist/esm/node/plugin/plugins/setGlobalContext.js +37 -19
  92. package/dist/esm/node/prerender/runPrerender.js +6 -8
  93. package/dist/esm/node/prerender/utils.d.ts +1 -1
  94. package/dist/esm/node/prerender/utils.js +1 -1
  95. package/dist/esm/node/runtime/globalContext.d.ts +8 -4
  96. package/dist/esm/node/runtime/globalContext.js +22 -14
  97. package/dist/esm/node/runtime/index-common.d.ts +1 -0
  98. package/dist/esm/node/runtime/index-common.js +1 -0
  99. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
  100. package/dist/esm/node/runtime/renderPage.js +5 -3
  101. package/dist/esm/node/runtime/utils.d.ts +1 -2
  102. package/dist/esm/node/runtime/utils.js +1 -2
  103. package/dist/esm/node/runtime-dev/createDevMiddleware.d.ts +10 -0
  104. package/dist/esm/node/runtime-dev/createDevMiddleware.js +23 -0
  105. package/dist/esm/node/runtime-dev/index.d.ts +3 -0
  106. package/dist/esm/node/runtime-dev/index.js +6 -0
  107. package/dist/esm/node/shared/resolveBase.d.ts +11 -0
  108. package/dist/esm/node/shared/resolveBase.js +36 -0
  109. package/dist/esm/shared/page-configs/Config.d.ts +2 -2
  110. package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +1 -1
  111. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +1 -1
  112. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  113. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  114. package/dist/esm/utils/assertSetup.d.ts +20 -0
  115. package/dist/esm/utils/assertSetup.js +130 -0
  116. package/dist/esm/utils/isDocker.js +1 -1
  117. package/dist/esm/utils/projectInfo.d.ts +1 -1
  118. package/dist/esm/utils/requireResolve.js +1 -1
  119. package/package.json +1 -1
  120. package/dist/cjs/node/plugin/plugins/config/assertVikeConfig.js +0 -75
  121. package/dist/cjs/node/plugin/plugins/config/index.js +0 -81
  122. package/dist/cjs/node/plugin/plugins/config/pickFirst.js +0 -6
  123. package/dist/cjs/node/plugin/plugins/config/resolveBase.js +0 -47
  124. package/dist/cjs/node/shared/getConfigVike.js +0 -10
  125. package/dist/cjs/shared/ConfigVike.js +0 -2
  126. package/dist/cjs/utils/assertIsNotProductionRuntime.js +0 -62
  127. package/dist/cjs/utils/assertNodeEnv.js +0 -106
  128. package/dist/esm/node/api/prepareApiCall.d.ts +0 -7
  129. package/dist/esm/node/plugin/plugins/config/assertVikeConfig.d.ts +0 -7
  130. package/dist/esm/node/plugin/plugins/config/assertVikeConfig.js +0 -73
  131. package/dist/esm/node/plugin/plugins/config/index.d.ts +0 -3
  132. package/dist/esm/node/plugin/plugins/config/index.js +0 -76
  133. package/dist/esm/node/plugin/plugins/config/pickFirst.d.ts +0 -1
  134. package/dist/esm/node/plugin/plugins/config/pickFirst.js +0 -3
  135. package/dist/esm/node/plugin/plugins/config/resolveBase.d.ts +0 -10
  136. package/dist/esm/node/plugin/plugins/config/resolveBase.js +0 -42
  137. package/dist/esm/node/shared/getConfigVike.d.ts +0 -4
  138. package/dist/esm/node/shared/getConfigVike.js +0 -8
  139. package/dist/esm/shared/ConfigVike.js +0 -1
  140. package/dist/esm/utils/assertIsNotProductionRuntime.d.ts +0 -12
  141. package/dist/esm/utils/assertIsNotProductionRuntime.js +0 -59
  142. package/dist/esm/utils/assertNodeEnv.d.ts +0 -10
  143. package/dist/esm/utils/assertNodeEnv.js +0 -103
@@ -9,37 +9,39 @@ const plugin_1 = require("@brillout/vite-plugin-server-entry/plugin");
9
9
  const utils_js_1 = require("../../utils.js");
10
10
  const path_1 = __importDefault(require("path"));
11
11
  const module_1 = require("module");
12
- const getConfigVike_js_1 = require("../../../shared/getConfigVike.js");
13
12
  const getVikeManifest_js_1 = require("./getVikeManifest.js");
14
13
  const promises_1 = __importDefault(require("fs/promises"));
15
14
  const virtualFileImportUserCode_js_1 = require("../../../shared/virtual-files/virtualFileImportUserCode.js");
15
+ const getVikeConfig_js_1 = require("../importUserCode/v1-design/getVikeConfig.js");
16
16
  // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
17
17
  const importMetaUrl = `file://${__filename}`;
18
18
  const require_ = (0, module_1.createRequire)(importMetaUrl);
19
19
  const ASSETS_MAP = '__VITE_ASSETS_MAP__';
20
20
  function importBuild() {
21
21
  let config;
22
- let configVike;
22
+ let vikeConfigGlobal;
23
23
  return [
24
24
  {
25
25
  name: 'vike:importBuild:config',
26
26
  enforce: 'post',
27
27
  async configResolved(config_) {
28
28
  config = config_;
29
- configVike = await (0, getConfigVike_js_1.getConfigVike)(config);
29
+ const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config);
30
+ vikeConfigGlobal = vikeConfig.vikeConfigGlobal;
30
31
  }
31
32
  },
32
33
  ...(0, plugin_1.serverProductionEntryPlugin)({
33
34
  getServerProductionEntry: () => {
34
- return getServerProductionEntryCode(config, configVike);
35
+ return getServerProductionEntryCode(config, vikeConfigGlobal);
35
36
  },
36
37
  libraryName: 'Vike'
37
38
  })
38
39
  ];
39
40
  }
40
- function getServerProductionEntryCode(config, configVike) {
41
+ function getServerProductionEntryCode(config, vikeConfigGlobal) {
41
42
  const importPath = getImportPath(config);
42
- const vikeManifest = (0, getVikeManifest_js_1.getVikeManifest)(configVike);
43
+ const vikeManifest = (0, getVikeManifest_js_1.getVikeManifest)(vikeConfigGlobal, config);
44
+ // Let's eventually simplify and move everything to a single virtual module
43
45
  const importerCode = [
44
46
  ` import { setImportBuildGetters } from '${importPath}';`,
45
47
  ` import * as pageFiles from '${virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer}';`,
@@ -11,16 +11,16 @@ const fileTypes_js_1 = require("../../../../shared/getPageFiles/fileTypes.js");
11
11
  const path_1 = __importDefault(require("path"));
12
12
  const getVirtualFilePageConfigs_js_1 = require("./v1-design/getVirtualFilePageConfigs.js");
13
13
  const getVikeConfig_js_1 = require("./v1-design/getVikeConfig.js");
14
- async function getVirtualFileImportUserCode(id, options, configVike, config, isDev) {
14
+ async function getVirtualFileImportUserCode(id, options, vikeConfigGlobal, config, isDev) {
15
15
  const idParsed = (0, virtualFileImportUserCode_js_1.isVirtualFileIdImportUserCode)(id);
16
16
  (0, utils_js_1.assert)(idParsed);
17
17
  const { isForClientSide, isClientRouting } = idParsed;
18
18
  (0, utils_js_1.assert)(isForClientSide === !(0, utils_js_1.viteIsSSR_options)(options));
19
- const isPrerendering = !!configVike.prerender;
20
- const code = await getCode(config, configVike, isForClientSide, isClientRouting, isPrerendering, isDev, id);
19
+ const isPrerendering = !!vikeConfigGlobal.prerender;
20
+ const code = await getCode(config, vikeConfigGlobal, isForClientSide, isClientRouting, isPrerendering, isDev, id);
21
21
  return code;
22
22
  }
23
- async function getCode(config, configVike, isForClientSide, isClientRouting, isPrerendering, isDev, id) {
23
+ async function getCode(config, vikeConfigGlobal, isForClientSide, isClientRouting, isPrerendering, isDev, id) {
24
24
  const { command } = config;
25
25
  (0, utils_js_1.assert)(command === 'serve' || command === 'build');
26
26
  const isBuild = command === 'build';
@@ -29,7 +29,7 @@ async function getCode(config, configVike, isForClientSide, isClientRouting, isP
29
29
  {
30
30
  const globRoots = getGlobRoots(config);
31
31
  (0, utils_js_1.debugGlob)('Glob roots: ', globRoots);
32
- content += await generateGlobImports(globRoots, isBuild, isForClientSide, isClientRouting, configVike, isPrerendering, config, isDev, id);
32
+ content += await generateGlobImports(globRoots, isBuild, isForClientSide, isClientRouting, vikeConfigGlobal, isPrerendering, config, isDev, id);
33
33
  }
34
34
  (0, utils_js_1.debugGlob)(`Glob imports for ${isForClientSide ? 'client' : 'server'}:\n`, content);
35
35
  return content;
@@ -59,7 +59,7 @@ function determineInjection({ fileType, isForClientSide, isClientRouting, isPrer
59
59
  }
60
60
  }
61
61
  }
62
- async function generateGlobImports(globRoots, isBuild, isForClientSide, isClientRouting, configVike, isPrerendering, config, isDev, id) {
62
+ async function generateGlobImports(globRoots, isBuild, isForClientSide, isClientRouting, vikeConfigGlobal, isPrerendering, config, isDev, id) {
63
63
  let fileContent = `// Generated by https://github.com/vikejs/vike/blob/main/vike/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.ts
64
64
 
65
65
  export const pageFilesLazy = {};
@@ -73,7 +73,7 @@ ${await (0, getVirtualFilePageConfigs_js_1.getVirtualFilePageConfigs)(isForClien
73
73
 
74
74
  `;
75
75
  // We still use import.meta.glob() when using th V1 design in order to not break the V1 design deprecation warning
76
- const isV1Design = await (0, getVikeConfig_js_1.isV1Design)(config, isDev);
76
+ const isV1Design = await (0, getVikeConfig_js_1.isV1Design)(config);
77
77
  fileTypes_js_1.fileTypes
78
78
  .filter((fileType) => fileType !== '.css')
79
79
  .forEach((fileType) => {
@@ -91,7 +91,7 @@ ${await (0, getVirtualFilePageConfigs_js_1.getVirtualFilePageConfigs)(isForClien
91
91
  fileContent += getGlobs(globRoots, isBuild, fileType, 'extractExportNames', isV1Design);
92
92
  }
93
93
  });
94
- if (configVike.includeAssetsImportedByServer && isForClientSide) {
94
+ if (vikeConfigGlobal.includeAssetsImportedByServer && isForClientSide) {
95
95
  fileContent += getGlobs(globRoots, isBuild, '.page.server', 'extractAssets', isV1Design);
96
96
  }
97
97
  return fileContent;
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.importUserCode = importUserCode;
7
7
  const vite_1 = require("vite");
8
- const getConfigVike_js_1 = require("../../../shared/getConfigVike.js");
9
8
  const getVirtualFilePageConfigValuesAll_js_1 = require("./v1-design/getVirtualFilePageConfigValuesAll.js");
10
9
  const getVirtualFileImportUserCode_js_1 = require("./getVirtualFileImportUserCode.js");
11
10
  const utils_js_1 = require("../../utils.js");
@@ -18,20 +17,16 @@ const loggerNotProd_js_1 = require("../../shared/loggerNotProd.js");
18
17
  const getFilePath_js_1 = require("../../shared/getFilePath.js");
19
18
  function importUserCode() {
20
19
  let config;
21
- let configVike;
22
- let isDev;
20
+ let vikeConfigGlobal;
23
21
  return {
24
22
  name: 'vike:importUserCode',
25
- config(_, env) {
26
- isDev = (0, utils_js_1.isDevCheck)(env);
27
- },
28
23
  async configResolved(config_) {
29
- configVike = await (0, getConfigVike_js_1.getConfigVike)(config_);
24
+ const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config_);
25
+ vikeConfigGlobal = vikeConfig.vikeConfigGlobal;
30
26
  config = config_;
31
27
  // TODO/v1-release: remove
32
28
  {
33
- (0, utils_js_1.assert)(isDev !== undefined);
34
- const isV1 = await (0, getVikeConfig_js_1.isV1Design)(config, isDev);
29
+ const isV1 = await (0, getVikeConfig_js_1.isV1Design)(config);
35
30
  if (!isV1)
36
31
  config.experimental.importGlobRestoreExtension = true;
37
32
  }
@@ -55,13 +50,14 @@ function importUserCode() {
55
50
  if (!(0, virtual_files_js_1.isVirtualFileId)(id))
56
51
  return undefined;
57
52
  id = (0, virtual_files_js_1.getVirtualFileId)(id);
53
+ const isDev = config._isDev;
58
54
  (0, utils_js_1.assert)(typeof isDev === 'boolean');
59
55
  if ((0, virtualFilePageConfigValuesAll_js_1.isVirtualFileIdPageConfigValuesAll)(id)) {
60
56
  const code = await (0, getVirtualFilePageConfigValuesAll_js_1.getVirtualFilePageConfigValuesAll)(id, isDev, config);
61
57
  return code;
62
58
  }
63
59
  if ((0, virtualFileImportUserCode_js_1.isVirtualFileIdImportUserCode)(id)) {
64
- const code = await (0, getVirtualFileImportUserCode_js_1.getVirtualFileImportUserCode)(id, options, configVike, config, isDev);
60
+ const code = await (0, getVirtualFileImportUserCode_js_1.getVirtualFileImportUserCode)(id, options, vikeConfigGlobal, config, isDev);
65
61
  return code;
66
62
  }
67
63
  },
@@ -88,8 +84,6 @@ function handleFileAddRemove(server, config) {
88
84
  }
89
85
  function handleHotUpdate(ctx, config) {
90
86
  const { file, server } = ctx;
91
- (0, utils_js_1.assertPosixPath)(file);
92
- getVikeConfig_js_1.vikeConfigDependencies.forEach((f) => (0, utils_js_1.assertPosixPath)(f));
93
87
  const isVikeConfig = isVikeConfigModule(file);
94
88
  const isViteModule = ctx.modules.length > 0;
95
89
  /* Should we show this?
@@ -119,6 +113,8 @@ function handleHotUpdate(ctx, config) {
119
113
  }
120
114
  }
121
115
  function isVikeConfigModule(filePathAbsoluteFilesystem) {
116
+ (0, utils_js_1.assertPosixPath)(filePathAbsoluteFilesystem);
117
+ getVikeConfig_js_1.vikeConfigDependencies.forEach((f) => (0, utils_js_1.assertPosixPath)(f));
122
118
  return getVikeConfig_js_1.vikeConfigDependencies.has(filePathAbsoluteFilesystem);
123
119
  }
124
120
  function reloadConfig(filePath, config, op) {
@@ -127,7 +123,7 @@ function reloadConfig(filePath, config, op) {
127
123
  const msg = `${op} ${picocolors_1.default.dim(filePathToShowToUserResolved)}`;
128
124
  (0, loggerNotProd_js_1.logConfigInfo)(msg, 'info');
129
125
  }
130
- (0, getVikeConfig_js_1.reloadVikeConfig)(config.root, (0, utils_js_1.getOutDirs)(config).outDirRoot);
126
+ (0, getVikeConfig_js_1.reloadVikeConfig)(config);
131
127
  }
132
128
  function getVirtualModules(server) {
133
129
  const virtualModules = Array.from(server.moduleGraph.urlToModuleMap.keys())
@@ -18,12 +18,16 @@ const TOO_MANY_UNTRACKED_FILES = 5;
18
18
  let gitIsNotUsable = false;
19
19
  async function crawlPlusFiles(userRootDir, outDirAbsoluteFilesystem, crawlWithGit) {
20
20
  (0, utils_js_1.assertPosixPath)(userRootDir);
21
- (0, utils_js_1.assertPosixPath)(outDirAbsoluteFilesystem);
22
- let outDirRelativeFromUserRootDir = path_1.default.posix.relative(userRootDir, outDirAbsoluteFilesystem);
21
+ //*/
22
+ const outDirRelativeFromUserRootDir = null;
23
+ /*/
24
+ assertPosixPath(outDirAbsoluteFilesystem)
25
+ let outDirRelativeFromUserRootDir: string | null = path.posix.relative(userRootDir, outDirAbsoluteFilesystem)
23
26
  if (outDirRelativeFromUserRootDir.startsWith('../')) {
24
- // config.outDir is outside of config.root => it's going to be ignored anyways
25
- outDirRelativeFromUserRootDir = null;
27
+ // config.outDir is outside of config.root => it's going to be ignored anyways
28
+ outDirRelativeFromUserRootDir = null
26
29
  }
30
+ //*/
27
31
  (0, utils_js_1.assert)(outDirRelativeFromUserRootDir === null ||
28
32
  /* Not true if outDirRelativeFromUserRootDir starts with a hidden directory (i.e. a directory with a name that starts with `.`)
29
33
  !outDirRelativeFromUserRootDir.startsWith('.') &&
@@ -0,0 +1,128 @@
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.resolveVikeConfigGlobal = resolveVikeConfigGlobal;
7
+ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
8
+ const utils_js_1 = require("../../../../utils.js");
9
+ function resolveVikeConfigGlobal(vikeVitePluginOptions, pageConfigGlobalValues) {
10
+ // TODO/v1-release: remove
11
+ assertVikeConfigGlobal(vikeVitePluginOptions, ({ prop, errMsg }) => `vite.config.js > vike option ${prop} ${errMsg}`);
12
+ const configs = [vikeVitePluginOptions];
13
+ assertVikeConfigGlobal(pageConfigGlobalValues, ({ prop, errMsg }) => {
14
+ // Can we add the config file path ?
15
+ return `config ${picocolors_1.default.cyan(prop)} ${errMsg}`;
16
+ });
17
+ configs.push(pageConfigGlobalValues);
18
+ const vikeConfigGlobal = {
19
+ disableAutoFullBuild: pickFirst(configs.map((c) => c.disableAutoFullBuild)) ?? null,
20
+ prerender: resolvePrerenderOptions(configs),
21
+ includeAssetsImportedByServer: pickFirst(configs.map((c) => c.includeAssetsImportedByServer)) ?? true,
22
+ baseServer: pickFirst(configs.map((c) => c.baseServer)) ?? null,
23
+ baseAssets: pickFirst(configs.map((c) => c.baseAssets)) ?? null,
24
+ redirects: merge(configs.map((c) => c.redirects)) ?? {},
25
+ disableUrlNormalization: pickFirst(configs.map((c) => c.disableUrlNormalization)) ?? false,
26
+ trailingSlash: pickFirst(configs.map((c) => c.trailingSlash)) ?? false,
27
+ crawl: {
28
+ git: vikeVitePluginOptions.crawl?.git ?? null
29
+ }
30
+ };
31
+ return vikeConfigGlobal;
32
+ }
33
+ function resolvePrerenderOptions(configs) {
34
+ if (!configs.some((c) => c.prerender)) {
35
+ return false;
36
+ }
37
+ const configsPrerender = configs.map((c) => c.prerender).filter(isObject2);
38
+ return {
39
+ partial: pickFirst(configsPrerender.map((c) => c.partial)) ?? false,
40
+ noExtraDir: pickFirst(configsPrerender.map((c) => c.noExtraDir)) ?? false,
41
+ parallel: pickFirst(configsPrerender.map((c) => c.parallel)) ?? true,
42
+ disableAutoRun: pickFirst(configsPrerender.map((c) => c.disableAutoRun)) ?? false
43
+ };
44
+ }
45
+ function isObject2(p) {
46
+ return typeof p === 'object';
47
+ }
48
+ function merge(objs) {
49
+ const obj = {};
50
+ objs.forEach((e) => {
51
+ Object.assign(obj, e);
52
+ });
53
+ return obj;
54
+ }
55
+ function pickFirst(arr) {
56
+ return arr.filter((v) => v !== undefined)[0];
57
+ }
58
+ function assertVikeConfigGlobal(vikeConfigGlobal, wrongUsageMsg) {
59
+ const wrongUsageError = check(vikeConfigGlobal);
60
+ if (wrongUsageError) {
61
+ (0, utils_js_1.assertUsage)(false, wrongUsageMsg(wrongUsageError));
62
+ }
63
+ }
64
+ function check(vikeConfigGlobal) {
65
+ (0, utils_js_1.assert)((0, utils_js_1.isObject)(vikeConfigGlobal));
66
+ {
67
+ const prop = 'disableUrlNormalization';
68
+ if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
69
+ return { prop, errMsg: 'should be a boolean' };
70
+ }
71
+ {
72
+ const prop = 'trailingSlash';
73
+ if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
74
+ return { prop, errMsg: 'should be a boolean' };
75
+ }
76
+ {
77
+ const prop = 'redirects';
78
+ const { redirects } = vikeConfigGlobal;
79
+ if (!(redirects === undefined ||
80
+ ((0, utils_js_1.isObject)(redirects) && Object.values(redirects).every((v) => typeof v === 'string'))))
81
+ return { prop, errMsg: 'should be an object of strings' };
82
+ }
83
+ {
84
+ const prop = 'disableAutoFullBuild';
85
+ if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') &&
86
+ !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined') &&
87
+ !(vikeConfigGlobal[prop] === 'prerender'))
88
+ return { prop, errMsg: "should be a boolean or 'prerender'" };
89
+ }
90
+ {
91
+ const prop = 'includeAssetsImportedByServer';
92
+ if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
93
+ return { prop, errMsg: 'should be a boolean' };
94
+ }
95
+ {
96
+ const prop = 'prerender';
97
+ if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'object') &&
98
+ !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') &&
99
+ !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
100
+ return { prop, errMsg: 'should be an object or a boolean' };
101
+ }
102
+ const configVikePrerender = vikeConfigGlobal.prerender;
103
+ if (typeof configVikePrerender === 'object') {
104
+ {
105
+ const p = 'partial';
106
+ if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
107
+ return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
108
+ }
109
+ {
110
+ const p = 'noExtraDir';
111
+ if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
112
+ return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
113
+ }
114
+ {
115
+ const p = 'disableAutoRun';
116
+ if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
117
+ return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
118
+ }
119
+ {
120
+ const p = 'parallel';
121
+ if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') &&
122
+ !(0, utils_js_1.hasProp)(configVikePrerender, p, 'number') &&
123
+ !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
124
+ return { prop: `prerender.${p}`, errMsg: 'should be a boolean or a number' };
125
+ }
126
+ }
127
+ return null;
128
+ }
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.vikeConfigDependencies = void 0;
7
7
  exports.getVikeConfig = getVikeConfig;
8
+ exports.getVikeConfig2 = getVikeConfig2;
8
9
  exports.reloadVikeConfig = reloadVikeConfig;
9
10
  exports.isVikeConfigFile = isVikeConfigFile;
10
11
  exports.isV1Design = isV1Design;
@@ -26,18 +27,21 @@ const loadFileAtConfigTime_js_1 = require("./getVikeConfig/loadFileAtConfigTime.
26
27
  const resolvePointerImport_js_1 = require("./getVikeConfig/resolvePointerImport.js");
27
28
  const getFilePath_js_1 = require("../../../shared/getFilePath.js");
28
29
  const getConfigValueBuildTime_js_1 = require("../../../../../shared/page-configs/getConfigValueBuildTime.js");
29
- const getConfigVike_js_1 = require("../../../../shared/getConfigVike.js");
30
30
  const assertExtensions_js_1 = require("./assertExtensions.js");
31
+ const resolveVikeConfigGlobal_js_1 = require("./getVikeConfig/resolveVikeConfigGlobal.js");
31
32
  (0, utils_js_1.assertIsNotProductionRuntime)();
32
- let devServerIsCorrupt = false;
33
+ let restartVite = false;
33
34
  let wasConfigInvalid = null;
34
35
  let vikeConfigPromise = null;
35
36
  const vikeConfigDependencies = new Set();
36
37
  exports.vikeConfigDependencies = vikeConfigDependencies;
37
- function reloadVikeConfig(userRootDir, outDirRoot) {
38
+ function reloadVikeConfig(config) {
39
+ const userRootDir = config.root;
40
+ const vikeVitePluginOptions = config._vikeVitePluginOptions;
41
+ (0, utils_js_1.assert)(vikeVitePluginOptions);
38
42
  vikeConfigDependencies.clear();
39
43
  (0, resolvePointerImport_js_1.clearFilesEnvMap)();
40
- vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, true, true);
44
+ vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, true, vikeVitePluginOptions);
41
45
  handleReloadSideEffects();
42
46
  }
43
47
  async function handleReloadSideEffects() {
@@ -61,8 +65,8 @@ async function handleReloadSideEffects() {
61
65
  wasConfigInvalid = false;
62
66
  (0, loggerNotProd_js_1.logConfigErrorRecover)();
63
67
  }
64
- if (devServerIsCorrupt) {
65
- devServerIsCorrupt = false;
68
+ if (restartVite) {
69
+ restartVite = false;
66
70
  const viteDevServer = (0, globalContext_js_1.getViteDevServer)();
67
71
  (0, utils_js_1.assert)(viteDevServer);
68
72
  (0, removeSuperfluousViteLog_js_1.removeSuperfluousViteLog_enable)();
@@ -71,23 +75,31 @@ async function handleReloadSideEffects() {
71
75
  }
72
76
  }
73
77
  }
74
- async function getVikeConfig(config, isDev, { crawlWithGit, tolerateInvalidConfig } = {}) {
75
- const { outDirRoot } = (0, utils_js_1.getOutDirs)(config);
78
+ async function getVikeConfig(config, { doNotRestartViteOnError } = {}) {
76
79
  const userRootDir = config.root;
80
+ const vikeVitePluginOptions = config._vikeVitePluginOptions;
81
+ (0, utils_js_1.assert)(vikeVitePluginOptions);
82
+ const isDev = config._isDev;
83
+ (0, utils_js_1.assert)(typeof isDev === 'boolean');
84
+ return await getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError ?? false);
85
+ }
86
+ async function getVikeConfig2(userRootDir, isDev, vikeVitePluginOptions) {
87
+ return await getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, false);
88
+ }
89
+ async function getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError) {
77
90
  if (!vikeConfigPromise) {
78
- const crawlWithGit_ = crawlWithGit !== undefined ? crawlWithGit : (await (0, getConfigVike_js_1.getConfigVike)(config)).crawl.git;
79
- vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev, crawlWithGit_, tolerateInvalidConfig);
91
+ vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError);
80
92
  }
81
93
  return await vikeConfigPromise;
82
94
  }
83
- async function isV1Design(config, isDev) {
84
- const vikeConfig = await getVikeConfig(config, isDev);
95
+ async function isV1Design(config) {
96
+ const vikeConfig = await getVikeConfig(config);
85
97
  const { pageConfigs } = vikeConfig;
86
98
  const isV1Design = pageConfigs.length > 0;
87
99
  return isV1Design;
88
100
  }
89
- async function loadInterfaceFiles(userRootDir, outDirRoot, crawlWithGit) {
90
- const plusFiles = await findPlusFiles(userRootDir, outDirRoot, crawlWithGit);
101
+ async function loadInterfaceFiles(userRootDir, crawlWithGit) {
102
+ const plusFiles = await findPlusFiles(userRootDir, null, crawlWithGit);
91
103
  const configFiles = [];
92
104
  const valueFiles = [];
93
105
  plusFiles.forEach((f) => {
@@ -196,12 +208,12 @@ function assertAllConfigsAreKnown(interfaceFilesByLocationId) {
196
208
  });
197
209
  });
198
210
  }
199
- async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev, crawlWithGit, tolerateInvalidConfig) {
211
+ async function loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError) {
200
212
  let hasError = false;
201
213
  let ret;
202
214
  let err;
203
215
  try {
204
- ret = await loadVikeConfig(userRootDir, outDirRoot, crawlWithGit);
216
+ ret = await loadVikeConfig(userRootDir, vikeVitePluginOptions);
205
217
  }
206
218
  catch (err_) {
207
219
  hasError = true;
@@ -223,8 +235,8 @@ async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev,
223
235
  }
224
236
  else {
225
237
  (0, loggerNotProd_js_1.logConfigError)(err);
226
- if (!tolerateInvalidConfig) {
227
- devServerIsCorrupt = true;
238
+ if (!doNotRestartViteOnError) {
239
+ restartVite = true;
228
240
  }
229
241
  const dummyData = {
230
242
  pageConfigs: [],
@@ -232,16 +244,18 @@ async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev,
232
244
  configDefinitions: {},
233
245
  configValueSources: {}
234
246
  },
235
- globalVikeConfig: {}
247
+ vikeConfigGlobal: (0, resolveVikeConfigGlobal_js_1.resolveVikeConfigGlobal)({}, {})
236
248
  };
237
249
  return dummyData;
238
250
  }
239
251
  }
240
252
  }
241
- async function loadVikeConfig(userRootDir, outDirRoot, crawlWithGit) {
242
- const interfaceFilesByLocationId = await loadInterfaceFiles(userRootDir, outDirRoot, crawlWithGit);
253
+ async function loadVikeConfig(userRootDir, vikeVitePluginOptions) {
254
+ const crawlWithGit = (0, resolveVikeConfigGlobal_js_1.resolveVikeConfigGlobal)(vikeVitePluginOptions, {}).crawl.git ?? null;
255
+ const interfaceFilesByLocationId = await loadInterfaceFiles(userRootDir, crawlWithGit);
243
256
  const importedFilesLoaded = {};
244
- const { globalVikeConfig, pageConfigGlobal } = await getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importedFilesLoaded);
257
+ const { pageConfigGlobal, pageConfigGlobalValues } = await getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importedFilesLoaded);
258
+ const vikeConfigGlobal = (0, resolveVikeConfigGlobal_js_1.resolveVikeConfigGlobal)(vikeVitePluginOptions, pageConfigGlobalValues);
245
259
  const pageConfigs = await Promise.all((0, utils_js_1.objectEntries)(interfaceFilesByLocationId)
246
260
  .filter(([_pageId, interfaceFiles]) => isDefiningPage(interfaceFiles))
247
261
  .map(async ([locationId]) => {
@@ -291,7 +305,7 @@ async function loadVikeConfig(userRootDir, outDirRoot, crawlWithGit) {
291
305
  return pageConfig;
292
306
  }));
293
307
  assertPageConfigs(pageConfigs);
294
- return { pageConfigs, pageConfigGlobal, globalVikeConfig };
308
+ return { pageConfigs, pageConfigGlobal, vikeConfigGlobal };
295
309
  }
296
310
  // TODO/soon: refactor
297
311
  // - Dedupe: most of the assertUsageGlobalConfigs() code below is a copy-paste of the assertUsage() logic inside getGlobalConfigs()
@@ -401,7 +415,7 @@ async function getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importe
401
415
  });
402
416
  });
403
417
  }
404
- const globalVikeConfig = {};
418
+ const pageConfigGlobalValues = {};
405
419
  const pageConfigGlobal = {
406
420
  configDefinitions: configDefinitionsBuiltIn_js_1.configDefinitionsBuiltInGlobal,
407
421
  configValueSources: {}
@@ -421,10 +435,10 @@ async function getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importe
421
435
  return;
422
436
  const { filePathToShowToUser } = configValueSource.definedAtFilePath;
423
437
  (0, utils_js_1.assertWarning)(false, `Being able to define config ${picocolors_1.default.cyan(configName)} in ${filePathToShowToUser} is experimental and will likely be removed. Define the config ${picocolors_1.default.cyan(configName)} in Vike's Vite plugin options instead.`, { onlyOnce: true });
424
- globalVikeConfig[configName] = configValueSource.value;
438
+ pageConfigGlobalValues[configName] = configValueSource.value;
425
439
  }
426
440
  }));
427
- return { pageConfigGlobal, globalVikeConfig };
441
+ return { pageConfigGlobal, pageConfigGlobalValues };
428
442
  }
429
443
  async function resolveConfigValueSources(configName, configDef, interfaceFilesRelevant, userRootDir, importedFilesLoaded) {
430
444
  const sourcesInfo = [];
@@ -8,7 +8,6 @@ const extractAssetsQuery_js_1 = require("../../../../shared/extractAssetsQuery.j
8
8
  const debug_js_1 = require("./debug.js");
9
9
  const isRuntimeEnvMatch_js_1 = require("./isRuntimeEnvMatch.js");
10
10
  const serializeConfigValues_js_1 = require("../../../../../shared/page-configs/serialize/serializeConfigValues.js");
11
- const getConfigVike_js_1 = require("../../../../shared/getConfigVike.js");
12
11
  const fixServerAssets_js_1 = require("../../buildConfig/fixServerAssets.js");
13
12
  const getConfigValueBuildTime_js_1 = require("../../../../../shared/page-configs/getConfigValueBuildTime.js");
14
13
  async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
@@ -21,11 +20,11 @@ async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
21
20
  }
22
21
  */
23
22
  const { pageId, isForClientSide } = result;
24
- const { pageConfigs } = await (0, getVikeConfig_js_1.getVikeConfig)(config, isDev, { tolerateInvalidConfig: true });
23
+ const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config, { doNotRestartViteOnError: true });
24
+ const { pageConfigs } = vikeConfig;
25
25
  const pageConfig = pageConfigs.find((pageConfig) => pageConfig.pageId === pageId);
26
26
  (0, utils_js_1.assert)(pageConfig, { id, pageId });
27
- const configVike = await (0, getConfigVike_js_1.getConfigVike)(config);
28
- const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, configVike.includeAssetsImportedByServer, isDev);
27
+ const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, vikeConfig.vikeConfigGlobal.includeAssetsImportedByServer, isDev);
29
28
  (0, debug_js_1.debug)(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
30
29
  return code;
31
30
  }
@@ -7,7 +7,7 @@ const getVikeConfig_js_1 = require("./getVikeConfig.js");
7
7
  const isRuntimeEnvMatch_js_1 = require("./isRuntimeEnvMatch.js");
8
8
  const serializeConfigValues_js_1 = require("../../../../../shared/page-configs/serialize/serializeConfigValues.js");
9
9
  async function getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRouting, config) {
10
- const { pageConfigs, pageConfigGlobal } = await (0, getVikeConfig_js_1.getVikeConfig)(config, isDev, { tolerateInvalidConfig: true });
10
+ const { pageConfigs, pageConfigGlobal } = await (0, getVikeConfig_js_1.getVikeConfig)(config, { doNotRestartViteOnError: true });
11
11
  return getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting);
12
12
  }
13
13
  function getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting) {
@@ -12,7 +12,7 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
12
12
  const index_js_1 = require("./devConfig/index.js");
13
13
  function previewConfig() {
14
14
  let config;
15
- // let configVike: ConfigVikeResolved
15
+ // let vikeConfigGlobal: VikeConfigGlobal
16
16
  return {
17
17
  name: 'vike:previewConfig',
18
18
  apply: utils_js_1.applyPreview,
@@ -27,18 +27,18 @@ function previewConfig() {
27
27
  async configResolved(config_) {
28
28
  config = config_;
29
29
  (0, index_js_1.logDockerHint)(config.preview.host);
30
- // configVike = await getConfigVike(config)
30
+ // const vikeConfig = await getVikeConfig(config)
31
+ // vikeConfigGlobal = vikeConfig.vikeConfigGlobal
31
32
  },
32
33
  configurePreviewServer(server) {
33
34
  /* - Couldn't make `appType: 'mpa'` work as of npm:@brillout/vite@5.0.0-beta.14.0426910c
34
35
  - This ugly hack to set appType for preview won't be need once https://github.com/vitejs/vite/pull/14855 is merged.
35
36
  config.appType = 'mpa'
36
37
  */
37
- (0, utils_js_1.markEnvAsVitePreview)();
38
38
  return () => {
39
39
  assertDist();
40
40
  /* We don't use this condition (we wrongfully always use the SSR middleware) because of the regression introduced by https://github.com/vitejs/vite/pull/14756 which stops servering .html files when `appType: 'custom'`.
41
- if (!configVike.prerender || configVike.prerender.partial) {
41
+ if (!vikeConfigGlobal.prerender || vikeConfigGlobal.prerender.partial) {
42
42
  addSsrMiddleware(server.middlewares, config, true)
43
43
  }
44
44
  /*/
@@ -3,26 +3,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setGlobalContext = setGlobalContext;
4
4
  const globalContext_js_1 = require("../../runtime/globalContext.js");
5
5
  const utils_js_1 = require("../utils.js");
6
+ const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
6
7
  function setGlobalContext() {
7
- return {
8
- name: 'vike:setGlobalContext',
9
- enforce: 'pre',
10
- configureServer: {
11
- order: 'pre',
12
- handler(viteDevServer) {
13
- (0, globalContext_js_1.setGlobalContext_viteDevServer)(viteDevServer);
8
+ return [
9
+ {
10
+ name: 'vike:setGlobalContext:pre',
11
+ enforce: 'pre',
12
+ configureServer: {
13
+ order: 'pre',
14
+ handler(viteDevServer) {
15
+ (0, globalContext_js_1.setGlobalContext_viteDevServer)(viteDevServer);
16
+ (0, utils_js_1.markSetup_viteDevServer)();
17
+ }
18
+ },
19
+ configurePreviewServer() {
20
+ (0, utils_js_1.markSetup_vitePreviewServer)();
21
+ },
22
+ config: {
23
+ order: 'pre',
24
+ handler(_, env) {
25
+ const isViteDev = (0, utils_js_1.isDevCheck)(env);
26
+ (0, globalContext_js_1.setGlobalContext_isViteDev)(isViteDev);
27
+ (0, utils_js_1.markSetup_isViteDev)(isViteDev);
28
+ }
14
29
  }
15
30
  },
16
- config: {
17
- handler(_, env) {
18
- const isDev = (0, utils_js_1.isDevCheck)(env);
19
- (0, globalContext_js_1.setGlobalContext_isDev)(isDev);
31
+ {
32
+ name: 'vike:setGlobalContext:post',
33
+ enforce: 'post',
34
+ configResolved: {
35
+ order: 'post',
36
+ async handler(config) {
37
+ const { outDirRoot } = (0, utils_js_1.getOutDirs)(config);
38
+ (0, utils_js_1.assertFilePathAbsoluteFilesystem)(outDirRoot); // Needed for loadImportBuild(outDir) of @brillout/vite-plugin-server-entry
39
+ (0, globalContext_js_1.setGlobalContext_viteConfig)(config, outDirRoot);
40
+ const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config);
41
+ (0, globalContext_js_1.setGlobalContext_vikeConfig)(vikeConfig);
42
+ }
20
43
  }
21
- },
22
- configResolved(config) {
23
- const { outDirRoot } = (0, utils_js_1.getOutDirs)(config);
24
- (0, utils_js_1.assertFilePathAbsoluteFilesystem)(outDirRoot); // Needed for loadImportBuild(outDir) of @brillout/vite-plugin-server-entry
25
- (0, globalContext_js_1.setGlobalContext_viteConfig)(config, outDirRoot);
26
44
  }
27
- };
45
+ ];
28
46
  }