vike 0.4.223-commit-586dbfb → 0.4.223-commit-f1089b4

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 (77) hide show
  1. package/dist/cjs/node/api/build.js +3 -36
  2. package/dist/cjs/node/plugin/index.js +3 -17
  3. package/dist/cjs/node/plugin/plugins/{buildConfig → build/pluginAssetsManifest}/fixServerAssets.js +82 -24
  4. package/dist/cjs/node/plugin/plugins/{autoFullBuild.js → build/pluginAutoFullBuild.js} +20 -25
  5. package/dist/cjs/node/plugin/plugins/{buildApp.js → build/pluginBuildApp.js} +13 -13
  6. package/dist/cjs/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +22 -82
  7. package/dist/cjs/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +8 -8
  8. package/dist/cjs/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +6 -6
  9. package/dist/cjs/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +5 -5
  10. package/dist/cjs/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
  11. package/dist/cjs/node/plugin/plugins/build.js +21 -0
  12. package/dist/cjs/node/plugin/plugins/commonConfig.js +3 -2
  13. package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
  14. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +2 -2
  15. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +1 -1
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +1 -1
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +4 -2
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +1 -1
  19. package/dist/cjs/node/plugin/shared/getOutDirs.js +5 -4
  20. package/dist/cjs/node/plugin/shared/resolveClientEntriesDev.js +1 -1
  21. package/dist/cjs/node/plugin/shared/viteIsSSR.js +9 -2
  22. package/dist/cjs/node/prerender/runPrerender.js +1 -0
  23. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  24. package/dist/cjs/utils/findPackageJson.js +1 -1
  25. package/dist/cjs/utils/requireResolve.js +8 -1
  26. package/dist/esm/node/api/build.js +3 -3
  27. package/dist/esm/node/plugin/index.js +3 -17
  28. package/dist/esm/node/plugin/plugins/build/pluginAssetsManifest/fixServerAssets.d.ts +27 -0
  29. package/dist/esm/node/plugin/plugins/{buildConfig → build/pluginAssetsManifest}/fixServerAssets.js +84 -24
  30. package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.d.ts +3 -0
  31. package/dist/esm/node/plugin/plugins/{autoFullBuild.js → build/pluginAutoFullBuild.js} +19 -24
  32. package/dist/esm/node/plugin/plugins/build/pluginBuildApp.d.ts +3 -0
  33. package/dist/esm/node/plugin/plugins/{buildApp.js → build/pluginBuildApp.js} +13 -13
  34. package/dist/esm/node/plugin/plugins/{buildConfig.d.ts → build/pluginBuildConfig.d.ts} +3 -3
  35. package/dist/esm/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +22 -79
  36. package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.d.ts +8 -0
  37. package/dist/esm/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +8 -8
  38. package/dist/esm/node/plugin/plugins/build/pluginDistFileNames.d.ts +3 -0
  39. package/dist/esm/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +6 -6
  40. package/dist/esm/node/plugin/plugins/build/pluginDistPackageJsonFile.d.ts +3 -0
  41. package/dist/esm/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +6 -5
  42. package/dist/esm/node/plugin/plugins/build/pluginSuppressRollupWarning.d.ts +3 -0
  43. package/dist/esm/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
  44. package/dist/esm/node/plugin/plugins/build.d.ts +3 -0
  45. package/dist/esm/node/plugin/plugins/build.js +19 -0
  46. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -0
  47. package/dist/esm/node/plugin/plugins/commonConfig.js +2 -1
  48. package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
  49. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +1 -1
  50. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +1 -1
  51. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +1 -1
  52. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +2 -2
  53. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +4 -2
  54. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +1 -1
  55. package/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.js +1 -3
  56. package/dist/esm/node/plugin/shared/getOutDirs.d.ts +2 -2
  57. package/dist/esm/node/plugin/shared/getOutDirs.js +5 -4
  58. package/dist/esm/node/plugin/shared/resolveClientEntriesDev.js +1 -1
  59. package/dist/esm/node/plugin/shared/viteIsSSR.d.ts +4 -2
  60. package/dist/esm/node/plugin/shared/viteIsSSR.js +9 -2
  61. package/dist/esm/node/prerender/runPrerender.js +1 -0
  62. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  63. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  64. package/dist/esm/utils/findPackageJson.js +1 -1
  65. package/dist/esm/utils/projectInfo.d.ts +1 -1
  66. package/dist/esm/utils/requireResolve.js +8 -1
  67. package/package.json +4 -13
  68. package/dist/cjs/node/plugin/plugins/removeRequireHookPlugin.js +0 -17
  69. package/dist/esm/node/plugin/plugins/autoFullBuild.d.ts +0 -3
  70. package/dist/esm/node/plugin/plugins/buildApp.d.ts +0 -3
  71. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -20
  72. package/dist/esm/node/plugin/plugins/buildEntry/index.d.ts +0 -8
  73. package/dist/esm/node/plugin/plugins/distFileNames.d.ts +0 -3
  74. package/dist/esm/node/plugin/plugins/packageJsonFile.d.ts +0 -3
  75. package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.d.ts +0 -3
  76. package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.js +0 -15
  77. package/dist/esm/node/plugin/plugins/suppressRollupWarning.d.ts +0 -3
@@ -3,18 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.distFileNames = distFileNames;
6
+ exports.pluginDistFileNames = pluginDistFileNames;
7
7
  // Attempt to preserve file structure of `.page.js` files:
8
8
  // - https://github.com/vikejs/vike/commit/11a4c49e5403aa7c37c8020c462b499425b41854
9
9
  // - Blocker: https://github.com/rollup/rollup/issues/4724
10
- const utils_js_1 = require("../utils.js");
10
+ const utils_js_1 = require("../../utils.js");
11
11
  const path_1 = __importDefault(require("path"));
12
12
  const crypto_1 = __importDefault(require("crypto"));
13
- const getAssetsDir_js_1 = require("../shared/getAssetsDir.js");
14
- const getFilePath_js_1 = require("../shared/getFilePath.js");
15
- function distFileNames() {
13
+ const getAssetsDir_js_1 = require("../../shared/getAssetsDir.js");
14
+ const getFilePath_js_1 = require("../../shared/getFilePath.js");
15
+ function pluginDistFileNames() {
16
16
  return {
17
- name: 'vike:distFileNames',
17
+ name: 'vike:build:pluginDistFileNames',
18
18
  apply: 'build',
19
19
  enforce: 'post',
20
20
  configResolved(config) {
@@ -8,13 +8,13 @@
8
8
  * Reproduction: https://github.com/brillout/vite-plugin-ssr-server-import-syntax
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.packageJsonFile = packageJsonFile;
12
- const rollupIsEsm_js_1 = require("../shared/rollupIsEsm.js");
13
- const viteIsSSR_js_1 = require("../shared/viteIsSSR.js");
14
- function packageJsonFile() {
11
+ exports.pluginDistPackageJsonFile = pluginDistPackageJsonFile;
12
+ const rollupIsEsm_js_1 = require("../../shared/rollupIsEsm.js");
13
+ const viteIsSSR_js_1 = require("../../shared/viteIsSSR.js");
14
+ function pluginDistPackageJsonFile() {
15
15
  let config;
16
16
  return {
17
- name: 'vike:packageJsonFile',
17
+ name: 'vike:build:pluginDistPackageJsonFile',
18
18
  apply: 'build',
19
19
  configResolved(config_) {
20
20
  config = config_;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  // Suppress Rollup warnings `Generated an empty chunk: "index.page.server"`
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.suppressRollupWarning = suppressRollupWarning;
5
- function suppressRollupWarning() {
4
+ exports.pluginSuppressRollupWarning = pluginSuppressRollupWarning;
5
+ function pluginSuppressRollupWarning() {
6
6
  return {
7
- name: 'vike:suppressRollupWarning',
7
+ name: 'vike:build:pluginSuppressRollupWarning',
8
8
  apply: 'build',
9
9
  enforce: 'post',
10
10
  async configResolved(config) {
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.build = build;
4
+ const pluginBuildApp_js_1 = require("./build/pluginBuildApp.js");
5
+ const pluginDistPackageJsonFile_js_1 = require("./build/pluginDistPackageJsonFile.js");
6
+ const pluginSuppressRollupWarning_js_1 = require("./build/pluginSuppressRollupWarning.js");
7
+ const pluginDistFileNames_js_1 = require("./build/pluginDistFileNames.js");
8
+ const pluginAutoFullBuild_js_1 = require("./build/pluginAutoFullBuild.js");
9
+ const pluginBuildEntry_js_1 = require("./build/pluginBuildEntry.js");
10
+ const pluginBuildConfig_js_1 = require("./build/pluginBuildConfig.js");
11
+ function build() {
12
+ return [
13
+ ...(0, pluginBuildConfig_js_1.pluginBuildConfig)(),
14
+ ...(0, pluginBuildApp_js_1.pluginBuildApp)(),
15
+ ...(0, pluginAutoFullBuild_js_1.pluginAutoFullBuild)(),
16
+ ...(0, pluginBuildEntry_js_1.pluginBuildEntry)(),
17
+ (0, pluginDistPackageJsonFile_js_1.pluginDistPackageJsonFile)(),
18
+ (0, pluginSuppressRollupWarning_js_1.pluginSuppressRollupWarning)(),
19
+ (0, pluginDistFileNames_js_1.pluginDistFileNames)()
20
+ ];
21
+ }
@@ -7,7 +7,7 @@ exports.commonConfig = commonConfig;
7
7
  exports.getVikeConfigPublic = getVikeConfigPublic;
8
8
  const vite_1 = require("vite");
9
9
  const utils_js_1 = require("../utils.js");
10
- const buildConfig_js_1 = require("./buildConfig.js");
10
+ const pluginBuildConfig_js_1 = require("./build/pluginBuildConfig.js");
11
11
  const require_shim_1 = require("@brillout/require-shim");
12
12
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
13
13
  const path_1 = __importDefault(require("path"));
@@ -36,6 +36,7 @@ function commonConfig(vikeVitePluginOptions) {
36
36
  _isDev: isDev,
37
37
  _root: root,
38
38
  _vikeVitePluginOptions: vikeVitePluginOptions,
39
+ _vikeConfigObject: vikeConfig,
39
40
  _vike: {
40
41
  pages: vikeConfig.pages,
41
42
  config: vikeConfig.global.config
@@ -66,7 +67,7 @@ function commonConfig(vikeVitePluginOptions) {
66
67
  overrideViteDefaultSsrExternal(config)
67
68
  //*/
68
69
  workaroundCI(config);
69
- (0, buildConfig_js_1.assertRollupInput)(config);
70
+ (0, pluginBuildConfig_js_1.assertRollupInput)(config);
70
71
  (0, assertResolveAlias_js_1.assertResolveAlias)(config);
71
72
  assertEsm(config.root);
72
73
  assertVikeCliOrApi(config);
@@ -10,7 +10,7 @@ const utils_js_1 = require("../../utils.js");
10
10
  const module_1 = require("module");
11
11
  const path_2 = require("path");
12
12
  const url_1 = require("url");
13
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
13
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
14
14
  const importMetaUrl = `file://${__filename}`;
15
15
  const require_ = (0, module_1.createRequire)(importMetaUrl);
16
16
  const __dirname_ = (0, path_2.dirname)((0, url_1.fileURLToPath)(importMetaUrl));
@@ -4,7 +4,7 @@ exports.determineOptimizeDeps = determineOptimizeDeps;
4
4
  const findPageFiles_js_1 = require("../../shared/findPageFiles.js");
5
5
  const utils_js_1 = require("../../utils.js");
6
6
  const getVikeConfig_js_1 = require("../importUserCode/v1-design/getVikeConfig.js");
7
- const buildConfig_js_1 = require("../buildConfig.js");
7
+ const pluginBuildConfig_js_1 = require("../build/pluginBuildConfig.js");
8
8
  const virtualFileImportUserCode_js_1 = require("../../../shared/virtual-files/virtualFileImportUserCode.js");
9
9
  const getFilePath_js_1 = require("../../shared/getFilePath.js");
10
10
  const debug = (0, utils_js_1.createDebugger)('vike:optimizeDeps');
@@ -82,7 +82,7 @@ async function getPageDeps(config, pageConfigs) {
82
82
  return { entries, include };
83
83
  }
84
84
  function getVirtualFiles(config, pageConfigs) {
85
- const { hasClientRouting, hasServerRouting, clientEntries } = (0, buildConfig_js_1.analyzeClientEntries)(pageConfigs, config);
85
+ const { hasClientRouting, hasServerRouting, clientEntries } = (0, pluginBuildConfig_js_1.analyzeClientEntries)(pageConfigs, config);
86
86
  const entriesVirtualFiles = Object.values(clientEntries);
87
87
  if (hasClientRouting)
88
88
  entriesVirtualFiles.push(virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeClientCR);
@@ -14,7 +14,7 @@ const isAsset_js_1 = require("../shared/isAsset.js");
14
14
  const parseEsModule_js_1 = require("../shared/parseEsModule.js");
15
15
  const rollupSourceMap_js_1 = require("../shared/rollupSourceMap.js");
16
16
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
17
- const fixServerAssets_js_1 = require("./buildConfig/fixServerAssets.js");
17
+ const fixServerAssets_js_1 = require("./build/pluginAssetsManifest/fixServerAssets.js");
18
18
  const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
19
19
  const assertV1Design_js_1 = require("../../shared/assertV1Design.js");
20
20
  const normalizeId_js_1 = require("../shared/normalizeId.js");
@@ -18,7 +18,7 @@ const getVikeConfig_js_1 = require("../getVikeConfig.js");
18
18
  require("source-map-support/register.js");
19
19
  const getFilePath_js_1 = require("../../../../shared/getFilePath.js");
20
20
  const module_1 = require("module");
21
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
21
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
22
22
  const importMetaUrl = `file://${__filename}`;
23
23
  const require_ = (0, module_1.createRequire)(importMetaUrl);
24
24
  (0, utils_js_1.assertIsNotProductionRuntime)();
@@ -91,8 +91,10 @@ async function getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, doN
91
91
  }
92
92
  return await vikeConfigPromise;
93
93
  }
94
- async function isV1Design(config) {
95
- const vikeConfig = await getVikeConfig(config);
94
+ // TODO/now update all isV1Design() usage
95
+ function isV1Design(config) {
96
+ const vikeConfig = config._vikeConfigObject;
97
+ (0, utils_js_1.assert)(vikeConfig);
96
98
  const { pageConfigs } = vikeConfig;
97
99
  const isV1Design = pageConfigs.length > 0;
98
100
  return isV1Design;
@@ -8,7 +8,7 @@ const extractAssetsQuery_js_1 = require("../../../../../shared/extractAssetsQuer
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 fixServerAssets_js_1 = require("../../../buildConfig/fixServerAssets.js");
11
+ const fixServerAssets_js_1 = require("../../../build/pluginAssetsManifest/fixServerAssets.js");
12
12
  const getConfigValueBuildTime_js_1 = require("../../../../../../shared/page-configs/getConfigValueBuildTime.js");
13
13
  async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
14
14
  const result = (0, virtualFilePageConfigValuesAll_js_1.isVirtualFileIdPageConfigValuesAll)(id);
@@ -9,12 +9,13 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
9
9
  const utils_js_1 = require("../utils.js");
10
10
  const viteIsSSR_js_1 = require("./viteIsSSR.js");
11
11
  const debug = (0, utils_js_1.createDebugger)('vike:outDir');
12
- function getOutDirs(config) {
12
+ function getOutDirs(configGlobal, viteEnv) {
13
+ const configEnv = viteEnv?.config ?? configGlobal;
13
14
  debug('getOutDirs()', new Error().stack);
14
- const outDir = getOutDirFromViteResolvedConfig(config);
15
+ const outDir = getOutDirFromViteResolvedConfig(configEnv);
15
16
  if (!isOutDirRoot(outDir))
16
- assertOutDirResolved(outDir, config);
17
- const outDirs = getOutDirsAll(outDir, config.root);
17
+ assertOutDirResolved(outDir, configEnv);
18
+ const outDirs = getOutDirsAll(outDir, configEnv.root);
18
19
  return outDirs;
19
20
  }
20
21
  /** Appends `client/` or `server/` to `config.build.outDir` */
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveClientEntriesDev = resolveClientEntriesDev;
4
4
  const utils_js_1 = require("../utils.js");
5
5
  const module_1 = require("module");
6
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
6
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
7
7
  const importMetaUrl = `file://${__filename}`;
8
8
  const require_ = (0, module_1.createRequire)(importMetaUrl);
9
9
  (0, utils_js_1.assertIsNotProductionRuntime)();
@@ -1,11 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.viteIsSSR = viteIsSSR;
4
+ exports.viteIsServerBuildEnvAny = viteIsServerBuildEnvAny;
4
5
  exports.viteIsSSR_options = viteIsSSR_options;
5
6
  exports.viteIsSSR_safe = viteIsSSR_safe;
6
7
  const assert_js_1 = require("../../../utils/assert.js");
7
- function viteIsSSR(config) {
8
- return !!config?.build?.ssr;
8
+ // TODO/now: rename_full viteIsSSR isViteServerBuildEnvSsr
9
+ function viteIsSSR(configGlobal, viteEnv) {
10
+ const configEnv = viteEnv?.config ?? configGlobal;
11
+ return !!configEnv?.build?.ssr;
12
+ }
13
+ // All server-side environments: not only `ssr` but, for example, also `vercel_edge` and `vercel_node`.
14
+ function viteIsServerBuildEnvAny(configGlobal, viteEnv) {
15
+ return viteEnv ? viteEnv.name === 'ssr' : viteIsSSR(configGlobal);
9
16
  }
10
17
  function viteIsSSR_options(options) {
11
18
  return !!options?.ssr;
@@ -95,6 +95,7 @@ async function runPrerenderFromAutoRun(viteConfig, config) {
95
95
  prerenderContextPublic = ret.prerenderContextPublic;
96
96
  }
97
97
  catch (err) {
98
+ // Avoid Rollup prefixing the error with [vike:build:pluginAutoFullBuild], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
98
99
  console.error(err);
99
100
  (0, logErrorHint_js_1.logErrorHint)(err);
100
101
  process.exit(1);
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PROJECT_VERSION = void 0;
4
4
  // Automatically updated by @brillout/release-me
5
- exports.PROJECT_VERSION = '0.4.223-commit-586dbfb';
5
+ exports.PROJECT_VERSION = '0.4.223-commit-f1089b4';
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findPackageJson = findPackageJson;
4
4
  const findFile_js_1 = require("./findFile.js");
5
5
  const module_1 = require("module");
6
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
6
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
7
7
  const importMetaUrl = `file://${__filename}`;
8
8
  const require_ = (0, module_1.createRequire)(importMetaUrl);
9
9
  function findPackageJson(cwd) {
@@ -7,7 +7,7 @@ const assertSetup_js_1 = require("./assertSetup.js");
7
7
  const path_js_1 = require("./path.js");
8
8
  const isScriptFile_js_1 = require("./isScriptFile.js");
9
9
  const module_1 = require("module");
10
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
10
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
11
11
  const importMetaUrl = `file://${__filename}`;
12
12
  const require_ = (0, module_1.createRequire)(importMetaUrl);
13
13
  (0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
@@ -34,6 +34,13 @@ function requireResolve(importPath, cwd) {
34
34
  return importedFile;
35
35
  }
36
36
  function removeFileExtention(importPath) {
37
+ // Skip for Bun: https://github.com/vikejs/vike/issues/2204
38
+ //@ts-ignore
39
+ if (typeof Bun !== 'undefined') {
40
+ // https://bun.sh/guides/util/detect-bun
41
+ (0, assert_js_1.assert)(process.versions.bun);
42
+ return importPath;
43
+ }
37
44
  for (const ext of isScriptFile_js_1.scriptFileExtensionList) {
38
45
  const suffix = `.${ext}`;
39
46
  if (importPath.endsWith(suffix)) {
@@ -1,6 +1,6 @@
1
1
  export { build };
2
2
  import { prepareViteApiCall } from './prepareViteApiCall.js';
3
- import { build as buildVite, version } from 'vite';
3
+ import { build as buildVite, version, createBuilder } from 'vite';
4
4
  import assert from 'assert';
5
5
  import { isVikeCli } from '../cli/context.js';
6
6
  import { isPrerendering } from '../prerender/context.js';
@@ -12,13 +12,13 @@ import { assertVersion } from './utils.js';
12
12
  */
13
13
  async function build(options = {}) {
14
14
  const { viteConfigEnhanced, vikeConfig } = await prepareViteApiCall(options.viteConfig, 'build');
15
- // Pass it to autoFullBuild()
15
+ // Pass it to pluginAutoFullBuild()
16
16
  if (viteConfigEnhanced)
17
17
  viteConfigEnhanced._viteConfigEnhanced = viteConfigEnhanced;
18
18
  if (vikeConfig.global.config.viteEnvironmentAPI) {
19
19
  assertVersion('Vite', version, '6.0.0');
20
- const { createBuilder } = await import('vite');
21
20
  const builder = await createBuilder(viteConfigEnhanced);
21
+ // See Vite plugin vike:build:pluginBuildApp
22
22
  await builder.buildApp();
23
23
  }
24
24
  else {
@@ -5,19 +5,13 @@ export { plugin as ssr };
5
5
  export { getVikeConfigPublic as getVikeConfig } from './plugins/commonConfig.js';
6
6
  export { PROJECT_VERSION as version } from './utils.js';
7
7
  import { assertUsage } from './utils.js';
8
- import { buildConfig } from './plugins/buildConfig.js';
8
+ import { build } from './plugins/build.js';
9
9
  import { previewConfig } from './plugins/previewConfig.js';
10
- import { autoFullBuild } from './plugins/autoFullBuild.js';
11
10
  import { devConfig } from './plugins/devConfig/index.js';
12
- import { packageJsonFile } from './plugins/packageJsonFile.js';
13
- import { removeRequireHookPlugin } from './plugins/removeRequireHookPlugin.js';
14
11
  import { importUserCode } from './plugins/importUserCode/index.js';
15
- import { distFileNames } from './plugins/distFileNames.js';
16
12
  import { extractAssetsPlugin } from './plugins/extractAssetsPlugin.js';
17
13
  import { extractExportNamesPlugin } from './plugins/extractExportNamesPlugin.js';
18
- import { suppressRollupWarning } from './plugins/suppressRollupWarning.js';
19
14
  import { setGlobalContext } from './plugins/setGlobalContext.js';
20
- import { buildEntry } from './plugins/buildEntry/index.js';
21
15
  import { commonConfig } from './plugins/commonConfig.js';
22
16
  import { baseUrls } from './plugins/baseUrls.js';
23
17
  import { envVarsPlugin } from './plugins/envVars.js';
@@ -27,7 +21,6 @@ import { setResolveClientEntriesDev } from '../runtime/renderPage/getPageAssets.
27
21
  import { resolveClientEntriesDev } from './shared/resolveClientEntriesDev.js';
28
22
  import { workaroundCssModuleHmr } from './plugins/workaroundCssModuleHmr.js';
29
23
  import { workaroundVite6HmrRegression } from './plugins/workaroundVite6HmrRegression.js';
30
- import { buildApp } from './plugins/buildApp.js';
31
24
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
32
25
  setResolveClientEntriesDev(resolveClientEntriesDev);
33
26
  // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
@@ -36,18 +29,11 @@ function plugin(vikeVitePluginOptions = {}) {
36
29
  ...commonConfig(vikeVitePluginOptions),
37
30
  importUserCode(),
38
31
  ...devConfig(),
39
- ...buildConfig(),
40
- ...buildApp(),
32
+ ...build(),
41
33
  previewConfig(),
42
- ...autoFullBuild(),
43
- packageJsonFile(),
44
- removeRequireHookPlugin(),
45
- distFileNames(),
46
34
  ...extractAssetsPlugin(),
47
35
  extractExportNamesPlugin(),
48
- suppressRollupWarning(),
49
36
  ...setGlobalContext(),
50
- ...buildEntry(),
51
37
  baseUrls(),
52
38
  envVarsPlugin(),
53
39
  fileEnv(),
@@ -64,7 +50,7 @@ Object.defineProperty(plugin, 'apply', {
64
50
  assertUsage(false, `Add ${pc.cyan('vike()')} instead of ${pc.cyan('vike')} to vite.config.js#plugins (i.e. call the function and add the return value instead of adding the function itself)`, { showStackTrace: true });
65
51
  }
66
52
  });
67
- // Ensures following works: `const vike = require('vike/plugin')` / `import vike from 'vike/plugin'`
53
+ // CJS default export `const vike = require('vike/plugin')`
68
54
  // - It needs to live at the end of this file, in order to ensure we do it after all assignments to `exports`.
69
55
  try {
70
56
  module.exports = Object.assign(exports.default, exports);
@@ -0,0 +1,27 @@
1
+ export { handleAssetsManifest };
2
+ export { fixServerAssets_getBuildConfig };
3
+ export { fixServerAssets_isEnabled };
4
+ export { fixServerAssets_assertUsageCssCodeSplit };
5
+ export { fixServerAssets_assertUsageCssTarget };
6
+ export { writeManifestFile };
7
+ import type { ViteManifest } from '../../../../shared/ViteManifest.js';
8
+ import type { Environment, ResolvedConfig, Rollup, UserConfig } from 'vite';
9
+ type Bundle = Rollup.OutputBundle;
10
+ type Options = Rollup.NormalizedOutputOptions;
11
+ /**
12
+ * true => use workaround config.build.ssrEmitAssets
13
+ * false => use workaround extractAssets plugin
14
+ *
15
+ * Only used by V1 design.
16
+ */
17
+ declare function fixServerAssets_isEnabled(): boolean;
18
+ declare function fixServerAssets_assertUsageCssCodeSplit(config: ResolvedConfig): void;
19
+ declare function fixServerAssets_assertUsageCssTarget(config: ResolvedConfig): void;
20
+ declare function writeManifestFile(manifest: ViteManifest, manifestFilePath: string): Promise<void>;
21
+ declare function fixServerAssets_getBuildConfig(config: UserConfig): {
22
+ readonly ssrEmitAssets: true | undefined;
23
+ readonly cssMinify: "esbuild" | undefined;
24
+ readonly manifest: "_temp_manifest.json";
25
+ readonly copyPublicDir: boolean | undefined;
26
+ };
27
+ declare function handleAssetsManifest(config: ResolvedConfig, viteEnv: Environment | undefined, options: Options, bundle: Bundle): Promise<void>;
@@ -1,19 +1,28 @@
1
- export { fixServerAssets };
1
+ // TODO/now: move this file
2
+ // TODO/now: rename_full fixServerAssets handleAssetsManifest
3
+ export { handleAssetsManifest };
4
+ export { fixServerAssets_getBuildConfig };
2
5
  export { fixServerAssets_isEnabled };
3
- export { fixServerAssets_assertCssCodeSplit };
4
- export { fixServerAssets_assertCssTarget };
6
+ export { fixServerAssets_assertUsageCssCodeSplit };
7
+ export { fixServerAssets_assertUsageCssTarget };
8
+ export { writeManifestFile };
5
9
  import fs from 'fs/promises';
6
10
  import fs_sync from 'fs';
7
11
  import path from 'path';
8
12
  import { existsSync } from 'fs';
9
- import { assert, assertWarning, isEqualStringList, pLimit, unique } from '../../utils.js';
10
- import { isVirtualFileIdPageConfigValuesAll } from '../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
11
- import { manifestTempFile } from '../buildConfig.js';
12
- import { getAssetsDir } from '../../shared/getAssetsDir.js';
13
+ import { assert, assertIsSingleModuleInstance, assertWarning, isEqualStringList, isObject, pLimit, unique } from '../../../utils.js';
14
+ import { isVirtualFileIdPageConfigValuesAll } from '../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
15
+ import { manifestTempFile } from '../pluginBuildConfig.js';
16
+ import { getAssetsDir } from '../../../shared/getAssetsDir.js';
13
17
  import pc from '@brillout/picocolors';
14
- import { isV1Design } from '../importUserCode/v1-design/getVikeConfig.js';
15
- import { getOutDirs } from '../../shared/getOutDirs.js';
16
- import { viteIsSSR } from '../../shared/viteIsSSR.js';
18
+ import { isV1Design } from '../../importUserCode/v1-design/getVikeConfig.js';
19
+ import { getOutDirs } from '../../../shared/getOutDirs.js';
20
+ import { viteIsServerBuildEnvAny, viteIsSSR } from '../../../shared/viteIsSSR.js';
21
+ import { getVikeConfigPublic } from '../../commonConfig.js';
22
+ import { set_macro_ASSETS_MANIFEST } from '../pluginBuildEntry.js';
23
+ assertIsSingleModuleInstance('build/handleAssetsManifest.ts');
24
+ let assetsJsonFilePath;
25
+ // TODO/now move isV1Design() inside fixServerAssets_isEnabled()
17
26
  /**
18
27
  * true => use workaround config.build.ssrEmitAssets
19
28
  * false => use workaround extractAssets plugin
@@ -28,20 +37,12 @@ function fixServerAssets_isEnabled() {
28
37
  /** https://github.com/vikejs/vike/issues/1339 */
29
38
  async function fixServerAssets(config) {
30
39
  const outDirs = getOutDirs(config);
31
- const clientManifest = await loadManifest(outDirs.outDirClient);
32
- const serverManifest = await loadManifest(outDirs.outDirServer);
40
+ const clientManifest = await readManifestFile(outDirs.outDirClient);
41
+ const serverManifest = await readManifestFile(outDirs.outDirServer);
33
42
  const { clientManifestMod, serverManifestMod, filesToMove, filesToRemove } = addServerAssets(clientManifest, serverManifest);
34
43
  await copyAssets(filesToMove, filesToRemove, config);
35
44
  return { clientManifestMod, serverManifestMod };
36
45
  }
37
- async function loadManifest(outDir) {
38
- const manifestFilePath = path.posix.join(outDir, manifestTempFile);
39
- const manifestFileContent = await fs.readFile(manifestFilePath, 'utf-8');
40
- assert(manifestFileContent);
41
- const manifest = JSON.parse(manifestFileContent);
42
- assert(manifest);
43
- return manifest;
44
- }
45
46
  async function copyAssets(filesToMove, filesToRemove, config) {
46
47
  const { outDirClient, outDirServer } = getOutDirs(config);
47
48
  const assetsDir = getAssetsDir(config);
@@ -214,20 +215,23 @@ function collectResources(entryRoot, manifest) {
214
215
  // </head>
215
216
  // ```
216
217
  function getHash(src) {
217
- // src is guarenteed to end with `.[hash][extname]`, see distFileNames.ts
218
+ // src is guarenteed to end with `.[hash][extname]`, see pluginDistFileNames.ts
218
219
  const hash = src.split('.').at(-2);
219
220
  assert(hash);
220
221
  return hash;
221
222
  }
222
223
  // https://github.com/vikejs/vike/issues/1993
223
- function fixServerAssets_assertCssCodeSplit(config) {
224
+ function fixServerAssets_assertUsageCssCodeSplit(config) {
225
+ const isServerAssetsFixEnabled = fixServerAssets_isEnabled() && isV1Design(config);
226
+ if (!isServerAssetsFixEnabled)
227
+ return;
224
228
  assertWarning(config.build.cssCodeSplit, `${pc.cyan('build.cssCodeSplit')} shouldn't be set to ${pc.cyan('false')} (https://github.com/vikejs/vike/issues/1993)`, { onlyOnce: true });
225
229
  }
226
230
  const targets = [];
227
- async function fixServerAssets_assertCssTarget(config) {
231
+ function fixServerAssets_assertUsageCssTarget(config) {
228
232
  if (!fixServerAssets_isEnabled())
229
233
  return;
230
- if (!(await isV1Design(config)))
234
+ if (!isV1Design(config))
231
235
  return;
232
236
  const isServerSide = viteIsSSR(config);
233
237
  assert(typeof isServerSide === 'boolean');
@@ -274,3 +278,59 @@ function removeEmptyDirectories(dirPath) {
274
278
  fs_sync.rmdirSync(dirPath);
275
279
  }
276
280
  }
281
+ async function readManifestFile(outDir) {
282
+ const manifestFilePath = path.posix.join(outDir, manifestTempFile);
283
+ const manifestFileContent = await fs.readFile(manifestFilePath, 'utf-8');
284
+ assert(manifestFileContent);
285
+ const manifest = JSON.parse(manifestFileContent);
286
+ assert(manifest);
287
+ assert(isObject(manifest));
288
+ return manifest;
289
+ }
290
+ async function writeManifestFile(manifest, manifestFilePath) {
291
+ assert(isObject(manifest));
292
+ const manifestFileContent = JSON.stringify(manifest, null, 2);
293
+ await fs.writeFile(manifestFilePath, manifestFileContent, 'utf-8');
294
+ }
295
+ function fixServerAssets_getBuildConfig(config) {
296
+ const vike = getVikeConfigPublic(config);
297
+ const isServerAssetsFixEnabled = fixServerAssets_isEnabled() && isV1Design(config);
298
+ return {
299
+ // https://github.com/vikejs/vike/issues/1339
300
+ ssrEmitAssets: isServerAssetsFixEnabled ? true : undefined,
301
+ // Required if `ssrEmitAssets: true`, see https://github.com/vitejs/vite/pull/11430#issuecomment-1454800934
302
+ cssMinify: isServerAssetsFixEnabled ? 'esbuild' : undefined,
303
+ manifest: manifestTempFile,
304
+ copyPublicDir: vike.config.viteEnvironmentAPI
305
+ ? // Already set by vike:build:pluginBuildApp
306
+ undefined
307
+ : !viteIsSSR(config)
308
+ };
309
+ }
310
+ async function handleAssetsManifest(config, viteEnv, options, bundle) {
311
+ if (viteIsSSR(config, viteEnv)) {
312
+ assert(!assetsJsonFilePath);
313
+ const outDirs = getOutDirs(config, viteEnv);
314
+ assetsJsonFilePath = path.posix.join(outDirs.outDirRoot, 'assets.json');
315
+ await writeAssetsManifestFile(outDirs, assetsJsonFilePath, config);
316
+ }
317
+ if (viteIsServerBuildEnvAny(config, viteEnv)) {
318
+ assert(assetsJsonFilePath);
319
+ // Replace __VITE_ASSETS_MANIFEST__ in all server-side bundles
320
+ await set_macro_ASSETS_MANIFEST(options, bundle, assetsJsonFilePath);
321
+ }
322
+ }
323
+ async function writeAssetsManifestFile(outDirs, assetsJsonFilePath, config) {
324
+ const isServerAssetsFixEnabled = fixServerAssets_isEnabled() && isV1Design(config);
325
+ const clientManifestFilePath = path.posix.join(outDirs.outDirClient, manifestTempFile);
326
+ const serverManifestFilePath = path.posix.join(outDirs.outDirServer, manifestTempFile);
327
+ if (!isServerAssetsFixEnabled) {
328
+ await fs.copyFile(clientManifestFilePath, assetsJsonFilePath);
329
+ }
330
+ else {
331
+ const { clientManifestMod } = await fixServerAssets(config);
332
+ await writeManifestFile(clientManifestMod, assetsJsonFilePath);
333
+ }
334
+ await fs.rm(clientManifestFilePath);
335
+ await fs.rm(serverManifestFilePath);
336
+ }
@@ -0,0 +1,3 @@
1
+ export { pluginAutoFullBuild };
2
+ import type { Plugin } from 'vite';
3
+ declare function pluginAutoFullBuild(): Plugin[];
@@ -1,23 +1,23 @@
1
- // TODO/v1-release: remove this file
2
- import { getFullBuildInlineConfig } from '../shared/getFullBuildInlineConfig.js';
3
- export { autoFullBuild };
1
+ export { pluginAutoFullBuild };
2
+ import { getFullBuildInlineConfig } from '../../shared/getFullBuildInlineConfig.js';
4
3
  import { build } from 'vite';
5
- import { assert, assertWarning } from '../utils.js';
6
- import { runPrerenderFromAutoRun, runPrerender_forceExit } from '../../prerender/runPrerender.js';
7
- import { isPrerenderAutoRunEnabled } from '../../prerender/context.js';
8
- import { isViteCliCall, getViteConfigFromCli } from '../shared/isViteCliCall.js';
4
+ import { assert, assertWarning } from '../../utils.js';
5
+ import { runPrerenderFromAutoRun, runPrerender_forceExit } from '../../../prerender/runPrerender.js';
6
+ import { isPrerenderAutoRunEnabled } from '../../../prerender/context.js';
7
+ import { isViteCliCall, getViteConfigFromCli } from '../../shared/isViteCliCall.js';
9
8
  import pc from '@brillout/picocolors';
10
- import { logErrorHint } from '../../runtime/renderPage/logErrorHint.js';
11
- import { manifestTempFile } from './buildConfig.js';
12
- import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
13
- import { isVikeCliOrApi } from '../../api/context.js';
9
+ import { logErrorHint } from '../../../runtime/renderPage/logErrorHint.js';
10
+ import { manifestTempFile } from './pluginBuildConfig.js';
11
+ import { getVikeConfig } from '../importUserCode/v1-design/getVikeConfig.js';
12
+ import { isVikeCliOrApi } from '../../../api/context.js';
13
+ import { handleAssetsManifest } from './pluginAssetsManifest/fixServerAssets.js';
14
14
  let forceExit = false;
15
- function autoFullBuild() {
15
+ function pluginAutoFullBuild() {
16
16
  let config;
17
17
  let vikeConfig;
18
18
  return [
19
19
  {
20
- name: 'vike:autoFullBuild',
20
+ name: 'vike:build:pluginAutoFullBuild',
21
21
  apply: 'build',
22
22
  enforce: 'pre',
23
23
  async configResolved(config_) {
@@ -26,24 +26,18 @@ function autoFullBuild() {
26
26
  abortViteBuildSsr(vikeConfig);
27
27
  },
28
28
  writeBundle: {
29
- /* We can't use this because it breaks Vite's logging. TODO: try again with latest Vite version.
29
+ /* We can't use this because it breaks Vite's logging. TODO/eventually: try again with latest Vite version.
30
30
  sequential: true,
31
31
  order: 'pre',
32
32
  */
33
- async handler(_options, bundle) {
34
- try {
35
- await triggerFullBuild(config, vikeConfig, bundle);
36
- }
37
- catch (err) {
38
- // Avoid Rollup prefixing the error with [vike:autoFullBuild], for example see https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
39
- console.error(err);
40
- process.exit(1);
41
- }
33
+ async handler(options, bundle) {
34
+ await handleAssetsManifest(config, this.environment, options, bundle);
35
+ await triggerFullBuild(config, vikeConfig, bundle);
42
36
  }
43
37
  }
44
38
  },
45
39
  {
46
- name: 'vike:autoFullBuild:forceExit',
40
+ name: 'vike:build:pluginAutoFullBuild:forceExit',
47
41
  apply: 'build',
48
42
  enforce: 'post',
49
43
  closeBundle: {
@@ -75,6 +69,7 @@ async function triggerFullBuild(config, vikeConfig, bundle) {
75
69
  await build(setSSR(configInline));
76
70
  }
77
71
  catch (err) {
72
+ // Avoid Rollup prefixing the error with [vike:build:pluginAutoFullBuild], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
78
73
  console.error(err);
79
74
  logErrorHint(err);
80
75
  process.exit(1);
@@ -0,0 +1,3 @@
1
+ export { pluginBuildApp };
2
+ import type { Plugin } from 'vite';
3
+ declare function pluginBuildApp(): Plugin[];