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
@@ -1,19 +1,19 @@
1
- import { runPrerender_forceExit, runPrerenderFromAutoRun } from '../../prerender/runPrerender.js';
2
- export { buildApp };
3
- import { isPrerenderAutoRunEnabled } from '../../prerender/context.js';
4
- import { resolveOutDir } from '../shared/getOutDirs.js';
5
- import { assert } from '../utils.js';
6
- import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
7
- import { getFullBuildInlineConfig } from '../shared/getFullBuildInlineConfig.js';
8
- import { getVikeConfigPublic } from './commonConfig.js';
9
- function buildApp() {
1
+ export { pluginBuildApp };
2
+ import { runPrerender_forceExit, runPrerenderFromAutoRun } from '../../../prerender/runPrerender.js';
3
+ import { isPrerenderAutoRunEnabled } from '../../../prerender/context.js';
4
+ import { resolveOutDir } from '../../shared/getOutDirs.js';
5
+ import { assert } from '../../utils.js';
6
+ import { getVikeConfig } from '../importUserCode/v1-design/getVikeConfig.js';
7
+ import { getFullBuildInlineConfig } from '../../shared/getFullBuildInlineConfig.js';
8
+ import { getVikeConfigPublic } from '../commonConfig.js';
9
+ function pluginBuildApp() {
10
10
  let config;
11
- // `builder.buildApp` can be overriden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195
12
- // In that case, we should'nt `forceExit`.
11
+ // `builder.buildApp()` can be overriden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195
12
+ // In that case, we shouldn't `forceExit`.
13
13
  let forceExit = false;
14
14
  return [
15
15
  {
16
- name: 'vike:buildApp',
16
+ name: 'vike:build:pluginBuildApp',
17
17
  apply: 'build',
18
18
  config(config) {
19
19
  const vike = getVikeConfigPublic(config);
@@ -52,7 +52,7 @@ function buildApp() {
52
52
  }
53
53
  },
54
54
  {
55
- name: 'vike:buildApp:prerender',
55
+ name: 'vike:build:pluginBuildApp:prerender',
56
56
  apply: 'build',
57
57
  enforce: 'pre',
58
58
  applyToEnvironment(env) {
@@ -1,11 +1,11 @@
1
- export { buildConfig };
1
+ export { pluginBuildConfig };
2
2
  export { assertRollupInput };
3
3
  export { analyzeClientEntries };
4
4
  export { manifestTempFile };
5
5
  import type { ResolvedConfig, Plugin } from 'vite';
6
- import type { PageConfigBuildTime } from '../../../shared/page-configs/PageConfig.js';
6
+ import type { PageConfigBuildTime } from '../../../../shared/page-configs/PageConfig.js';
7
7
  declare const manifestTempFile = "_temp_manifest.json";
8
- declare function buildConfig(): Plugin[];
8
+ declare function pluginBuildConfig(): Plugin[];
9
9
  declare function analyzeClientEntries(pageConfigs: PageConfigBuildTime[], config: ResolvedConfig): {
10
10
  hasClientRouting: boolean;
11
11
  hasServerRouting: boolean;
@@ -1,72 +1,51 @@
1
- export { buildConfig };
1
+ export { pluginBuildConfig };
2
2
  export { assertRollupInput };
3
3
  export { analyzeClientEntries };
4
4
  export { manifestTempFile };
5
- import { assert, addOnBeforeLogHook, removeFileExtention, unique, assertUsage, injectRollupInputs, normalizeRollupInput, onSetupBuild, assertIsNpmPackageImport } from '../utils.js';
6
- import { getVikeConfig, isV1Design } from './importUserCode/v1-design/getVikeConfig.js';
7
- import { findPageFiles } from '../shared/findPageFiles.js';
8
- import { getVirtualFileIdPageConfigValuesAll } from '../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
9
- import { extractAssetsAddQuery } from '../../shared/extractAssetsQuery.js';
5
+ import { assert, addOnBeforeLogHook, removeFileExtention, unique, assertUsage, injectRollupInputs, normalizeRollupInput, onSetupBuild, assertIsNpmPackageImport } from '../../utils.js';
6
+ import { getVikeConfig } from '../importUserCode/v1-design/getVikeConfig.js';
7
+ import { findPageFiles } from '../../shared/findPageFiles.js';
8
+ import { getVirtualFileIdPageConfigValuesAll } from '../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
9
+ import { extractAssetsAddQuery } from '../../../shared/extractAssetsQuery.js';
10
10
  import { createRequire } from 'module';
11
- import fs from 'fs/promises';
12
- import path from 'path';
13
- import { fixServerAssets, fixServerAssets_assertCssCodeSplit, fixServerAssets_assertCssTarget, fixServerAssets_isEnabled } from './buildConfig/fixServerAssets.js';
14
- import { set_ASSETS_MANIFEST } from './buildEntry/index.js';
15
- import { prependEntriesDir } from '../../shared/prependEntriesDir.js';
16
- import { getFilePathResolved } from '../shared/getFilePath.js';
17
- import { getConfigValueBuildTime } from '../../../shared/page-configs/getConfigValueBuildTime.js';
18
- import { getOutDirs, resolveOutDir } from '../shared/getOutDirs.js';
19
- import { viteIsSSR } from '../shared/viteIsSSR.js';
20
- import { getVikeConfigPublic } from './commonConfig.js';
21
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
11
+ import { prependEntriesDir } from '../../../shared/prependEntriesDir.js';
12
+ import { getFilePathResolved } from '../../shared/getFilePath.js';
13
+ import { getConfigValueBuildTime } from '../../../../shared/page-configs/getConfigValueBuildTime.js';
14
+ import { viteIsSSR } from '../../shared/viteIsSSR.js';
15
+ import { resolveOutDir } from '../../shared/getOutDirs.js';
16
+ import { fixServerAssets_assertUsageCssCodeSplit, fixServerAssets_assertUsageCssTarget, fixServerAssets_getBuildConfig } from './pluginAssetsManifest/fixServerAssets.js';
17
+ // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
22
18
  const importMetaUrl = import.meta.url;
23
19
  const require_ = createRequire(importMetaUrl);
24
20
  const manifestTempFile = '_temp_manifest.json';
25
- function buildConfig() {
26
- let isServerAssetsFixEnabled;
27
- let outDirs;
21
+ function pluginBuildConfig() {
28
22
  let config;
29
23
  return [
30
24
  {
31
- name: 'vike:buildConfig:post',
25
+ name: 'vike:build:pluginBuildConfig',
32
26
  apply: 'build',
33
27
  enforce: 'post',
34
28
  configResolved: {
35
29
  order: 'post',
36
30
  async handler(config_) {
37
- config = config_;
38
31
  onSetupBuild();
32
+ config = config_;
39
33
  assertRollupInput(config);
40
34
  const entries = await getEntries(config);
41
35
  assert(Object.keys(entries).length > 0);
42
36
  config.build.rollupOptions.input = injectRollupInputs(entries, config);
43
37
  addLogHook();
44
- outDirs = getOutDirs(config);
45
- {
46
- isServerAssetsFixEnabled = fixServerAssets_isEnabled() && (await isV1Design(config));
47
- if (isServerAssetsFixEnabled) {
48
- // https://github.com/vikejs/vike/issues/1339
49
- config.build.ssrEmitAssets = true;
50
- // Required if `ssrEmitAssets: true`, see https://github.com/vitejs/vite/pull/11430#issuecomment-1454800934
51
- config.build.cssMinify = 'esbuild';
52
- fixServerAssets_assertCssCodeSplit(config);
53
- }
54
- }
38
+ fixServerAssets_assertUsageCssCodeSplit(config);
55
39
  }
56
40
  },
57
41
  config: {
58
42
  order: 'post',
59
43
  handler(config) {
60
44
  onSetupBuild();
61
- const vike = getVikeConfigPublic(config);
62
45
  return {
63
46
  build: {
64
47
  outDir: resolveOutDir(config),
65
- manifest: manifestTempFile,
66
- copyPublicDir: vike.config.viteEnvironmentAPI
67
- ? // Already set by buildApp() plugin
68
- undefined
69
- : !viteIsSSR(config)
48
+ ...fixServerAssets_getBuildConfig(config)
70
49
  }
71
50
  };
72
51
  }
@@ -74,44 +53,9 @@ function buildConfig() {
74
53
  buildStart() {
75
54
  onSetupBuild();
76
55
  },
77
- async closeBundle() {
56
+ closeBundle() {
78
57
  onSetupBuild();
79
- await fixServerAssets_assertCssTarget(config);
80
- }
81
- },
82
- {
83
- name: 'vike:buildConfig:pre',
84
- apply: 'build',
85
- applyToEnvironment(env) {
86
- return env.name === 'ssr';
87
- },
88
- // Make sure other writeBundle() hooks are called after this writeBundle() hook.
89
- // - set_ASSETS_MANIFEST() needs to be called before dist/server/ code is executed.
90
- // - For example, the writeBundle() hook of vite-plugin-vercel needs to be called after this writeBundle() hook, otherwise: https://github.com/vikejs/vike/issues/1527
91
- enforce: 'pre',
92
- writeBundle: {
93
- order: 'pre',
94
- sequential: true,
95
- async handler(options, bundle) {
96
- if (viteIsSSR(config)) {
97
- // Ideally we'd move dist/_temp_manifest.json to dist/server/client-assets.json instead of dist/assets.json
98
- // - But we can't because there is no guarentee whether dist/server/ is generated before or after dist/client/ (generating dist/server/ after dist/client/ erases dist/server/client-assets.json)
99
- // - We'll able to do so once we replace `$ vite build` with `$ vike build`
100
- const assetsJsonFilePath = path.posix.join(outDirs.outDirRoot, 'assets.json');
101
- const clientManifestFilePath = path.posix.join(outDirs.outDirClient, manifestTempFile);
102
- const serverManifestFilePath = path.posix.join(outDirs.outDirServer, manifestTempFile);
103
- if (!isServerAssetsFixEnabled) {
104
- await fs.copyFile(clientManifestFilePath, assetsJsonFilePath);
105
- }
106
- else {
107
- const { clientManifestMod } = await fixServerAssets(config);
108
- await fs.writeFile(assetsJsonFilePath, JSON.stringify(clientManifestMod, null, 2), 'utf-8');
109
- }
110
- await fs.rm(clientManifestFilePath);
111
- await fs.rm(serverManifestFilePath);
112
- await set_ASSETS_MANIFEST(options, bundle);
113
- }
114
- }
58
+ fixServerAssets_assertUsageCssTarget(config);
115
59
  }
116
60
  }
117
61
  ];
@@ -127,7 +71,6 @@ async function getEntries(config) {
127
71
  if (viteIsSSR(config)) {
128
72
  const pageEntries = getPageEntries(pageConfigs);
129
73
  const entries = {
130
- // buildEntry: resolve('dist/esm/node/buildEntry.js'), // TODO/next-major-release: remove
131
74
  ...pageFileEntries,
132
75
  // Ensure Rollup generates a bundle per page: https://github.com/vikejs/vike/issues/349#issuecomment-1166247275
133
76
  ...pageEntries
@@ -257,8 +200,8 @@ function getEntryFromPageConfig(pageConfig, isForClientSide) {
257
200
  }
258
201
  function resolve(filePath) {
259
202
  assert(filePath.startsWith('dist/'));
260
- // [RELATIVE_PATH_FROM_DIST] Current directory: node_modules/vike/dist/esm/node/plugin/plugins/
261
- return require_.resolve(`../../../../../${filePath}`);
203
+ // [RELATIVE_PATH_FROM_DIST] Current directory: node_modules/vike/dist/esm/node/plugin/plugins/build/
204
+ return require_.resolve(`../../../../../../${filePath}`);
262
205
  }
263
206
  function addLogHook() {
264
207
  const tty = process.stdout.isTTY && !process.env.CI; // Equals https://github.com/vitejs/vite/blob/193d55c7b9cbfec5b79ebfca276d4a721e7de14d/packages/vite/src/node/plugins/reporter.ts#L27
@@ -0,0 +1,8 @@
1
+ export { pluginBuildEntry };
2
+ export { set_macro_ASSETS_MANIFEST };
3
+ import type { Plugin, Rollup } from 'vite';
4
+ type Bundle = Rollup.OutputBundle;
5
+ type Options = Rollup.NormalizedOutputOptions;
6
+ declare function pluginBuildEntry(): Plugin[];
7
+ /** Set the value of the ASSETS_MANIFEST constant inside dist/server/entry.js (or dist/server/index.js) */
8
+ declare function set_macro_ASSETS_MANIFEST(options: Options, bundle: Bundle, assetsJsonFilePath: string): Promise<void>;
@@ -1,23 +1,24 @@
1
- export { buildEntry };
2
- export { set_ASSETS_MANIFEST };
1
+ export { pluginBuildEntry };
2
+ export { set_macro_ASSETS_MANIFEST };
3
3
  import { serverProductionEntryPlugin } from '@brillout/vite-plugin-server-entry/plugin';
4
4
  import { virtualFileIdImportUserCodeServer } from '../../../shared/virtual-files/virtualFileImportUserCode.js';
5
5
  import { assert, projectInfo, toPosixPath } from '../../utils.js';
6
6
  import fs from 'fs/promises';
7
7
  import path from 'path';
8
8
  import { createRequire } from 'module';
9
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
9
+ // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
10
10
  const importMetaUrl = import.meta.url;
11
11
  const require_ = createRequire(importMetaUrl);
12
12
  import { isUsingClientRouter } from '../extractExportNamesPlugin.js';
13
13
  import { assertBuildInfo, getViteConfigRuntime } from '../../../runtime/globalContext.js';
14
14
  import { getOutDirs } from '../../shared/getOutDirs.js';
15
15
  const ASSETS_MANIFEST = '__VITE_ASSETS_MANIFEST__';
16
- function buildEntry() {
16
+ function pluginBuildEntry() {
17
17
  let config;
18
18
  return [
19
19
  {
20
- name: 'vike:buildEntry',
20
+ name: 'vike:build:pluginBuildEntry',
21
+ apply: 'build',
21
22
  enforce: 'post',
22
23
  async configResolved(config_) {
23
24
  config = config_;
@@ -59,12 +60,11 @@ function getServerProductionEntryCode(config) {
59
60
  return importerCode;
60
61
  }
61
62
  /** Set the value of the ASSETS_MANIFEST constant inside dist/server/entry.js (or dist/server/index.js) */
62
- async function set_ASSETS_MANIFEST(options, bundle) {
63
+ async function set_macro_ASSETS_MANIFEST(options, bundle, assetsJsonFilePath) {
63
64
  const { dir } = options;
64
65
  assert(dir);
65
66
  const chunkPath = find_ASSETS_MANIFEST(bundle);
66
67
  const chunkFilePath = path.join(dir, chunkPath);
67
- const assetsJsonFilePath = path.join(dir, '..', 'assets.json');
68
68
  const [assetsJsonString, chunkFileContent] = await Promise.all([
69
69
  await fs.readFile(assetsJsonFilePath, 'utf8'),
70
70
  await fs.readFile(chunkFilePath, 'utf8')
@@ -88,7 +88,7 @@ function find_ASSETS_MANIFEST(bundle) {
88
88
  function getImportPath(config) {
89
89
  // We resolve filePathAbsolute even if we don't use it: we use require.resolve() as an assertion that the relative path is correct
90
90
  const filePathAbsolute = toPosixPath(
91
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/plugins/buildEntry/index.js
91
+ // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/plugins/pluginBuildEntry/index.js
92
92
  require_.resolve(`../../../../../../dist/esm/__internal/index.js`));
93
93
  if (
94
94
  // Let's implement a new config if a user needs the import to be a relative path instead of 'vike/__internal' (AFAIK a relative path is needed only if a framework has npm package 'vike' as direct dependency instead of a peer dependency and if the user of that framework uses pnpm)
@@ -0,0 +1,3 @@
1
+ export { pluginDistFileNames };
2
+ import type { Plugin } from 'vite';
3
+ declare function pluginDistFileNames(): Plugin;
@@ -1,15 +1,15 @@
1
- export { distFileNames };
1
+ export { pluginDistFileNames };
2
2
  // Attempt to preserve file structure of `.page.js` files:
3
3
  // - https://github.com/vikejs/vike/commit/11a4c49e5403aa7c37c8020c462b499425b41854
4
4
  // - Blocker: https://github.com/rollup/rollup/issues/4724
5
- import { assertPosixPath, assert, assertUsage, isArray, isCallable } from '../utils.js';
5
+ import { assertPosixPath, assert, assertUsage, isArray, isCallable } from '../../utils.js';
6
6
  import path from 'path';
7
7
  import crypto from 'crypto';
8
- import { getAssetsDir } from '../shared/getAssetsDir.js';
9
- import { assertModuleId, getModuleFilePathAbsolute } from '../shared/getFilePath.js';
10
- function distFileNames() {
8
+ import { getAssetsDir } from '../../shared/getAssetsDir.js';
9
+ import { assertModuleId, getModuleFilePathAbsolute } from '../../shared/getFilePath.js';
10
+ function pluginDistFileNames() {
11
11
  return {
12
- name: 'vike:distFileNames',
12
+ name: 'vike:build:pluginDistFileNames',
13
13
  apply: 'build',
14
14
  enforce: 'post',
15
15
  configResolved(config) {
@@ -0,0 +1,3 @@
1
+ export { pluginDistPackageJsonFile };
2
+ import type { Plugin } from 'vite';
3
+ declare function pluginDistPackageJsonFile(): Plugin;
@@ -6,13 +6,14 @@
6
6
  * require() of dist/server/pageFiles.js from node_modules/vike/dist/esm/node/runtime/page-files/setup.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
7
7
  * Reproduction: https://github.com/brillout/vite-plugin-ssr-server-import-syntax
8
8
  */
9
- export { packageJsonFile };
10
- import { rollupIsEsm } from '../shared/rollupIsEsm.js';
11
- import { viteIsSSR } from '../shared/viteIsSSR.js';
12
- function packageJsonFile() {
9
+ // TODO/refactor: prefix all other plugins with `plugin` as well?
10
+ export { pluginDistPackageJsonFile };
11
+ import { rollupIsEsm } from '../../shared/rollupIsEsm.js';
12
+ import { viteIsSSR } from '../../shared/viteIsSSR.js';
13
+ function pluginDistPackageJsonFile() {
13
14
  let config;
14
15
  return {
15
- name: 'vike:packageJsonFile',
16
+ name: 'vike:build:pluginDistPackageJsonFile',
16
17
  apply: 'build',
17
18
  configResolved(config_) {
18
19
  config = config_;
@@ -0,0 +1,3 @@
1
+ export { pluginSuppressRollupWarning };
2
+ import type { Plugin } from 'vite';
3
+ declare function pluginSuppressRollupWarning(): Plugin;
@@ -1,8 +1,8 @@
1
1
  // Suppress Rollup warnings `Generated an empty chunk: "index.page.server"`
2
- export { suppressRollupWarning };
3
- function suppressRollupWarning() {
2
+ export { pluginSuppressRollupWarning };
3
+ function pluginSuppressRollupWarning() {
4
4
  return {
5
- name: 'vike:suppressRollupWarning',
5
+ name: 'vike:build:pluginSuppressRollupWarning',
6
6
  apply: 'build',
7
7
  enforce: 'post',
8
8
  async configResolved(config) {
@@ -0,0 +1,3 @@
1
+ export { build };
2
+ import type { Plugin } from 'vite';
3
+ declare function build(): Plugin[];
@@ -0,0 +1,19 @@
1
+ export { build };
2
+ import { pluginBuildApp } from './build/pluginBuildApp.js';
3
+ import { pluginDistPackageJsonFile } from './build/pluginDistPackageJsonFile.js';
4
+ import { pluginSuppressRollupWarning } from './build/pluginSuppressRollupWarning.js';
5
+ import { pluginDistFileNames } from './build/pluginDistFileNames.js';
6
+ import { pluginAutoFullBuild } from './build/pluginAutoFullBuild.js';
7
+ import { pluginBuildEntry } from './build/pluginBuildEntry.js';
8
+ import { pluginBuildConfig } from './build/pluginBuildConfig.js';
9
+ function build() {
10
+ return [
11
+ ...pluginBuildConfig(),
12
+ ...pluginBuildApp(),
13
+ ...pluginAutoFullBuild(),
14
+ ...pluginBuildEntry(),
15
+ pluginDistPackageJsonFile(),
16
+ pluginSuppressRollupWarning(),
17
+ pluginDistFileNames()
18
+ ];
19
+ }
@@ -11,6 +11,7 @@ declare module 'vite' {
11
11
  _baseViteOriginal?: string;
12
12
  _viteConfigEnhanced?: InlineConfig;
13
13
  _vike?: VikeConfigPublic;
14
+ _vikeConfigObject?: VikeConfigObject;
14
15
  }
15
16
  }
16
17
  type VikeConfigPublic = {
@@ -2,7 +2,7 @@ export { commonConfig };
2
2
  export { getVikeConfigPublic };
3
3
  import { mergeConfig } from 'vite';
4
4
  import { assert, assertUsage, assertWarning, findPackageJson, hasProp, isDevCheck, isDocker, isObject } from '../utils.js';
5
- import { assertRollupInput } from './buildConfig.js';
5
+ import { assertRollupInput } from './build/pluginBuildConfig.js';
6
6
  import { installRequireShim_setUserRootDir } from '@brillout/require-shim';
7
7
  import pc from '@brillout/picocolors';
8
8
  import path from 'path';
@@ -31,6 +31,7 @@ function commonConfig(vikeVitePluginOptions) {
31
31
  _isDev: isDev,
32
32
  _root: root,
33
33
  _vikeVitePluginOptions: vikeVitePluginOptions,
34
+ _vikeConfigObject: vikeConfig,
34
35
  _vike: {
35
36
  pages: vikeConfig.pages,
36
37
  config: vikeConfig.global.config
@@ -5,7 +5,7 @@ import { assert } from '../../utils.js';
5
5
  import { createRequire } from 'module';
6
6
  import { dirname } from 'path';
7
7
  import { fileURLToPath } from 'url';
8
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
8
+ // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
9
9
  const importMetaUrl = import.meta.url;
10
10
  const require_ = createRequire(importMetaUrl);
11
11
  const __dirname_ = dirname(fileURLToPath(importMetaUrl));
@@ -2,7 +2,7 @@ export { determineOptimizeDeps };
2
2
  import { findPageFiles } from '../../shared/findPageFiles.js';
3
3
  import { assert, assertIsNpmPackageImport, createDebugger, isArray, unique } from '../../utils.js';
4
4
  import { getVikeConfig } from '../importUserCode/v1-design/getVikeConfig.js';
5
- import { analyzeClientEntries } from '../buildConfig.js';
5
+ import { analyzeClientEntries } from '../build/pluginBuildConfig.js';
6
6
  import { virtualFileIdImportUserCodeClientCR, virtualFileIdImportUserCodeClientSR } from '../../../shared/virtual-files/virtualFileImportUserCode.js';
7
7
  import { getFilePathResolved } from '../../shared/getFilePath.js';
8
8
  const debug = createDebugger('vike:optimizeDeps');
@@ -13,7 +13,7 @@ import { isAsset } from '../shared/isAsset.js';
13
13
  import { getImportStatements } from '../shared/parseEsModule.js';
14
14
  import { sourceMapRemove } from '../shared/rollupSourceMap.js';
15
15
  import pc from '@brillout/picocolors';
16
- import { fixServerAssets_isEnabled } from './buildConfig/fixServerAssets.js';
16
+ import { fixServerAssets_isEnabled } from './build/pluginAssetsManifest/fixServerAssets.js';
17
17
  import { getVikeConfig, isV1Design } from './importUserCode/v1-design/getVikeConfig.js';
18
18
  import { assertV1Design } from '../../shared/assertV1Design.js';
19
19
  import { normalizeId } from '../shared/normalizeId.js';
@@ -13,7 +13,7 @@ import { vikeConfigDependencies } from '../getVikeConfig.js';
13
13
  import 'source-map-support/register.js';
14
14
  import { getFilePathAbsoluteUserRootDir } from '../../../../shared/getFilePath.js';
15
15
  import { createRequire } from 'module';
16
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
16
+ // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
17
17
  const importMetaUrl = import.meta.url;
18
18
  const require_ = createRequire(importMetaUrl);
19
19
  assertIsNotProductionRuntime();
@@ -8,7 +8,7 @@ export { getConfigDefinitionOptional };
8
8
  export type { VikeConfigObject };
9
9
  import type { PageConfigGlobalBuildTime, PageConfigBuildTime } from '../../../../../shared/page-configs/PageConfig.js';
10
10
  import { type ConfigDefinitions, type ConfigDefinitionInternal } from './getVikeConfig/configDefinitionsBuiltIn.js';
11
- import type { ResolvedConfig } from 'vite';
11
+ import type { ResolvedConfig, UserConfig } from 'vite';
12
12
  import { type PageConfigUserFriendly, type PageConfigsUserFriendly } from '../../../../../shared/page-configs/getPageConfigUserFriendly.js';
13
13
  import { type PlusFile } from './getVikeConfig/getPlusFilesAll.js';
14
14
  type VikeConfigObject = {
@@ -23,7 +23,7 @@ declare function getVikeConfig(config: ResolvedConfig, { doNotRestartViteOnError
23
23
  doNotRestartViteOnError?: true;
24
24
  }): Promise<VikeConfigObject>;
25
25
  declare function getVikeConfig2(userRootDir: string, isDev: boolean, vikeVitePluginOptions: unknown): Promise<VikeConfigObject>;
26
- declare function isV1Design(config: ResolvedConfig): Promise<boolean>;
26
+ declare function isV1Design(config: ResolvedConfig | UserConfig): boolean;
27
27
  declare function getConfigDefinitionOptional(configDefinitions: ConfigDefinitions, configName: string): ConfigDefinitionInternal | null;
28
28
  declare function getConfVal(plusFile: PlusFile, configName: string): null | {
29
29
  value: unknown;
@@ -85,8 +85,10 @@ async function getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, doN
85
85
  }
86
86
  return await vikeConfigPromise;
87
87
  }
88
- async function isV1Design(config) {
89
- const vikeConfig = await getVikeConfig(config);
88
+ // TODO/now update all isV1Design() usage
89
+ function isV1Design(config) {
90
+ const vikeConfig = config._vikeConfigObject;
91
+ assert(vikeConfig);
90
92
  const { pageConfigs } = vikeConfig;
91
93
  const isV1Design = pageConfigs.length > 0;
92
94
  return isV1Design;
@@ -6,7 +6,7 @@ import { extractAssetsAddQuery } from '../../../../../shared/extractAssetsQuery.
6
6
  import { debug } from './debug.js';
7
7
  import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
8
8
  import { serializeConfigValues } from '../../../../../../shared/page-configs/serialize/serializeConfigValues.js';
9
- import { fixServerAssets_isEnabled } from '../../../buildConfig/fixServerAssets.js';
9
+ import { fixServerAssets_isEnabled } from '../../../build/pluginAssetsManifest/fixServerAssets.js';
10
10
  import { getConfigValueBuildTime } from '../../../../../../shared/page-configs/getConfigValueBuildTime.js';
11
11
  async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
12
12
  const result = isVirtualFileIdPageConfigValuesAll(id);
@@ -1,9 +1,7 @@
1
1
  // Purpose of this file:
2
2
  // - Swallow redundant error messages (Vite is buggy and emits the same error multiple times)
3
3
  // - Prepend "[request(n)]" tag to Vite logs
4
- // The mechanism is skipped if the runtime doesn't support Async Hooks:
5
- // - Bun doesn't support Async Hooks: https://github.com/oven-sh/bun/issues/1832
6
- // - Node.js and Deno support Async Hooks
4
+ // The mechanism is skipped if the development environment doesn't support Async Hooks.
7
5
  // We purposely don't use config.logger.hasErrorLogged(err) because:
8
6
  // - We don't trust Vite with such details
9
7
  // - Example of Vite bug leading to swallowing of errors: https://github.com/vitejs/vite/issues/12631
@@ -1,7 +1,7 @@
1
1
  export { getOutDirs };
2
2
  export { resolveOutDir };
3
3
  export type { OutDirs };
4
- import type { UserConfig, ResolvedConfig } from 'vite';
4
+ import type { UserConfig, ResolvedConfig, Environment } from 'vite';
5
5
  type OutDirs = {
6
6
  /** Absolute path to `outDir` */
7
7
  outDirRoot: string;
@@ -10,6 +10,6 @@ type OutDirs = {
10
10
  /** Absolute path to `${outDir}/server` */
11
11
  outDirServer: string;
12
12
  };
13
- declare function getOutDirs(config: ResolvedConfig): OutDirs;
13
+ declare function getOutDirs(configGlobal: ResolvedConfig, viteEnv?: Environment): OutDirs;
14
14
  /** Appends `client/` or `server/` to `config.build.outDir` */
15
15
  declare function resolveOutDir(config: UserConfig, isSSR?: true): string;
@@ -4,12 +4,13 @@ import pc from '@brillout/picocolors';
4
4
  import { assert, assertPosixPath, assertUsage, createDebugger, pathJoin, toPosixPath } from '../utils.js';
5
5
  import { viteIsSSR } from './viteIsSSR.js';
6
6
  const debug = createDebugger('vike:outDir');
7
- function getOutDirs(config) {
7
+ function getOutDirs(configGlobal, viteEnv) {
8
+ const configEnv = viteEnv?.config ?? configGlobal;
8
9
  debug('getOutDirs()', new Error().stack);
9
- const outDir = getOutDirFromViteResolvedConfig(config);
10
+ const outDir = getOutDirFromViteResolvedConfig(configEnv);
10
11
  if (!isOutDirRoot(outDir))
11
- assertOutDirResolved(outDir, config);
12
- const outDirs = getOutDirsAll(outDir, config.root);
12
+ assertOutDirResolved(outDir, configEnv);
13
+ const outDirs = getOutDirsAll(outDir, configEnv.root);
13
14
  return outDirs;
14
15
  }
15
16
  /** Appends `client/` or `server/` to `config.build.outDir` */
@@ -1,7 +1,7 @@
1
1
  export { resolveClientEntriesDev };
2
2
  import { assert, assertPosixPath, toPosixPath, pathJoin, assertIsNpmPackageImport, assertIsNotProductionRuntime } from '../utils.js';
3
3
  import { createRequire } from 'module';
4
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
4
+ // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
5
5
  const importMetaUrl = import.meta.url;
6
6
  const require_ = createRequire(importMetaUrl);
7
7
  assertIsNotProductionRuntime();
@@ -1,8 +1,10 @@
1
1
  export { viteIsSSR };
2
+ export { viteIsServerBuildEnvAny };
2
3
  export { viteIsSSR_options };
3
4
  export { viteIsSSR_safe };
4
- import type { ResolvedConfig, UserConfig } from 'vite';
5
- declare function viteIsSSR(config: ResolvedConfig | UserConfig): boolean;
5
+ import type { Environment, ResolvedConfig, UserConfig } from 'vite';
6
+ declare function viteIsSSR(configGlobal: ResolvedConfig | UserConfig, viteEnv?: Environment): boolean;
7
+ declare function viteIsServerBuildEnvAny(configGlobal: ResolvedConfig, viteEnv: Environment | undefined): boolean;
6
8
  declare function viteIsSSR_options(options: {
7
9
  ssr?: boolean;
8
10
  } | undefined): boolean;
@@ -1,9 +1,16 @@
1
1
  export { viteIsSSR };
2
+ export { viteIsServerBuildEnvAny };
2
3
  export { viteIsSSR_options };
3
4
  export { viteIsSSR_safe };
4
5
  import { assert } from '../../../utils/assert.js';
5
- function viteIsSSR(config) {
6
- return !!config?.build?.ssr;
6
+ // TODO/now: rename_full viteIsSSR isViteServerBuildEnvSsr
7
+ function viteIsSSR(configGlobal, viteEnv) {
8
+ const configEnv = viteEnv?.config ?? configGlobal;
9
+ return !!configEnv?.build?.ssr;
10
+ }
11
+ // All server-side environments: not only `ssr` but, for example, also `vercel_edge` and `vercel_node`.
12
+ function viteIsServerBuildEnvAny(configGlobal, viteEnv) {
13
+ return viteEnv ? viteEnv.name === 'ssr' : viteIsSSR(configGlobal);
7
14
  }
8
15
  function viteIsSSR_options(options) {
9
16
  return !!options?.ssr;
@@ -57,6 +57,7 @@ async function runPrerenderFromAutoRun(viteConfig, config) {
57
57
  prerenderContextPublic = ret.prerenderContextPublic;
58
58
  }
59
59
  catch (err) {
60
+ // Avoid Rollup prefixing the error with [vike:build:pluginAutoFullBuild], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
60
61
  console.error(err);
61
62
  logErrorHint(err);
62
63
  process.exit(1);
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.223-commit-586dbfb";
1
+ export declare const PROJECT_VERSION: "0.4.223-commit-f1089b4";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.223-commit-586dbfb';
2
+ export const PROJECT_VERSION = '0.4.223-commit-f1089b4';
@@ -1,7 +1,7 @@
1
1
  export { findPackageJson };
2
2
  import { findFile } from './findFile.js';
3
3
  import { createRequire } from 'module';
4
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
4
+ // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
5
5
  const importMetaUrl = import.meta.url;
6
6
  const require_ = createRequire(importMetaUrl);
7
7
  function findPackageJson(cwd) {
@@ -1,4 +1,4 @@
1
1
  export declare const projectInfo: {
2
2
  projectName: "Vike";
3
- projectVersion: "0.4.223-commit-586dbfb";
3
+ projectVersion: "0.4.223-commit-f1089b4";
4
4
  };