vike 0.4.236-commit-e752d12 → 0.4.236-commit-08fbc10

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 (47) hide show
  1. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
  2. package/dist/cjs/node/runtime/utils.js +1 -0
  3. package/dist/cjs/node/shared/utils.js +1 -0
  4. package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +16 -14
  5. package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +10 -4
  6. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
  7. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +12 -7
  8. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
  9. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +100 -58
  10. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +3 -4
  11. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +1 -0
  12. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +4 -5
  13. package/dist/cjs/node/vite/utils.js +1 -0
  14. package/dist/cjs/shared/getPageFiles/parseVirtualFileExports.js +6 -0
  15. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  16. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -0
  17. package/dist/cjs/utils/virtualFileId.js +39 -0
  18. package/dist/esm/client/runtime-client-routing/history.d.ts +4 -2
  19. package/dist/esm/client/runtime-client-routing/history.js +13 -35
  20. package/dist/esm/client/runtime-client-routing/initClientRouter.js +3 -2
  21. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +43 -30
  22. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
  23. package/dist/esm/node/runtime/utils.d.ts +1 -0
  24. package/dist/esm/node/runtime/utils.js +1 -0
  25. package/dist/esm/node/shared/utils.d.ts +1 -0
  26. package/dist/esm/node/shared/utils.js +1 -0
  27. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +16 -14
  28. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +11 -5
  29. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
  30. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +12 -7
  31. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
  32. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +101 -59
  33. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +3 -4
  34. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +1 -0
  35. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +3 -4
  36. package/dist/esm/node/vite/utils.d.ts +1 -0
  37. package/dist/esm/node/vite/utils.js +1 -0
  38. package/dist/esm/shared/getPageFiles/parseVirtualFileExports.js +6 -0
  39. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  40. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  41. package/dist/esm/utils/isFilePathAbsoluteFilesystem.d.ts +7 -0
  42. package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -0
  43. package/dist/esm/utils/virtualFileId.d.ts +6 -0
  44. package/dist/esm/{node/shared/virtualFiles.js → utils/virtualFileId.js} +15 -17
  45. package/package.json +3 -3
  46. package/dist/cjs/node/shared/virtualFiles.js +0 -41
  47. package/dist/esm/node/shared/virtualFiles.d.ts +0 -8
@@ -1,6 +1,6 @@
1
1
  export { determineOptimizeDeps };
2
2
  import { findPageFiles } from '../../shared/findPageFiles.js';
3
- import { assert, assertIsImportPathNpmPackage, createDebugger, getNpmPackageName, isArray, unique, } from '../../utils.js';
3
+ import { assert, assertIsImportPathNpmPackage, createDebugger, getNpmPackageName, isArray, isFilePathAbsoluteFilesystem, isVirtualFileId, } from '../../utils.js';
4
4
  import { getVikeConfigInternal, isOverridden } from '../../shared/resolveVikeConfigInternal.js';
5
5
  import { analyzeClientEntries } from '../pluginBuild/pluginBuildConfig.js';
6
6
  import { virtualFileIdEntryClientCR, virtualFileIdEntryClientSR, } from '../../../shared/virtualFiles/virtualFileEntry.js';
@@ -9,38 +9,78 @@ const debug = createDebugger('vike:optimizeDeps');
9
9
  async function determineOptimizeDeps(config) {
10
10
  const vikeConfig = await getVikeConfigInternal();
11
11
  const { _pageConfigs: pageConfigs } = vikeConfig;
12
- const { entries, include } = await getPageDeps(config, pageConfigs);
13
- {
14
- // This actually doesn't work: Vite's dep optimizer doesn't seem to be able to crawl virtual files.
15
- // - Should we make it work? E.g. by creating a temporary file at node_modules/.vike/virtualFiles.js
16
- // - Or should we remove it? And make sure getPageDeps() also works for aliased import paths
17
- // - If we do, then we need to adjust include/entries (maybe by making include === entries -> will Vite complain?)
18
- const entriesVirtualFiles = getVirtualFiles(config, pageConfigs);
19
- entries.push(...entriesVirtualFiles);
12
+ const { entriesClient, entriesServer, includeClient, includeServer } = await getPageDeps(config, pageConfigs);
13
+ config.optimizeDeps.include = add(config.optimizeDeps.include, includeClient);
14
+ config.optimizeDeps.entries = add(config.optimizeDeps.entries, entriesClient);
15
+ // TO-DO/eventually: use a check that is agnostic to @cloudflare/vite-plugin
16
+ const isNotRunnable = config.environments?.ssr?.resolve.conditions.includes('workerd');
17
+ if (isNotRunnable) {
18
+ config.ssr.optimizeDeps.include = add(config.ssr.optimizeDeps.include, includeServer);
19
+ // @ts-ignore — Vite doesn't seem to support ssr.optimizeDeps.entries (vite@7.0.6, July 2025)
20
+ config.ssr.optimizeDeps.entries = add(config.ssr.optimizeDeps.entries, entriesServer);
20
21
  }
21
- /* Other Vite plugins may populate optimizeDeps, e.g. Cypress: https://github.com/vikejs/vike/issues/386
22
- assert(config.optimizeDeps.entries === undefined)
23
- */
24
- config.optimizeDeps.include = [...include, ...normalizeInclude(config.optimizeDeps.include)];
25
- config.optimizeDeps.entries = [...entries, ...normalizeEntries(config.optimizeDeps.entries)];
26
22
  if (debug.isActivated)
27
- debug('config.optimizeDeps', {
23
+ debug('optimizeDeps', {
28
24
  'config.optimizeDeps.entries': config.optimizeDeps.entries,
29
25
  'config.optimizeDeps.include': config.optimizeDeps.include,
26
+ 'config.optimizeDeps.exclude': config.optimizeDeps.exclude,
27
+ /* Vite doesn't seem to support ssr.optimizeDeps.entries (vite@7.0.6, July 2025)
28
+ 'config.ssr.optimizeDeps.entries': config.ssr.optimizeDeps.entries,
29
+ //*/
30
+ 'config.ssr.optimizeDeps.include': config.ssr.optimizeDeps.include,
31
+ 'config.ssr.optimizeDeps.exclude': config.ssr.optimizeDeps.exclude,
30
32
  });
31
33
  }
32
34
  async function getPageDeps(config, pageConfigs) {
33
- let entries = [];
34
- let include = [];
35
- const addEntry = (e) => {
35
+ let entriesClient = [];
36
+ let entriesServer = [];
37
+ let includeClient = [];
38
+ let includeServer = [];
39
+ const addEntry = (e, configEnv, definedAt) => {
36
40
  assert(e);
37
- entries.push(e);
41
+ // optimizeDeps.entries expects filesystem absolute paths
42
+ assert(isVirtualFileId(e) || isFilePathAbsoluteFilesystem(e));
43
+ if (isRelevant(e, false, configEnv, definedAt)) {
44
+ entriesClient.push(e);
45
+ }
46
+ if (isRelevant(e, true, configEnv, definedAt)) {
47
+ entriesServer.push(e);
48
+ }
38
49
  };
39
- const addInclude = (e) => {
50
+ const addInclude = (e, configEnv, definedAt) => {
40
51
  assert(e);
41
- // Shouldn't be a path alias, as path aliases would need to be added to config.optimizeDeps.entries instead of config.optimizeDeps.include
52
+ // optimizeDeps.include expects npm packages
53
+ assert(!e.startsWith('/'));
54
+ // Shouldn't be a path alias, as path aliases would need to be added to optimizeDeps.entries instead of optimizeDeps.include
42
55
  assertIsImportPathNpmPackage(e);
43
- include.push(e);
56
+ if (isRelevant(e, false, configEnv, definedAt)) {
57
+ includeClient.push(e);
58
+ }
59
+ if (isRelevant(e, true, configEnv, definedAt)) {
60
+ includeServer.push(e);
61
+ }
62
+ };
63
+ const isRelevant = (e, server, configEnv, definedAt) => {
64
+ if (server) {
65
+ if (!configEnv || !configEnv.server)
66
+ return false;
67
+ }
68
+ else {
69
+ if (configEnv && !configEnv.client)
70
+ return false;
71
+ }
72
+ return !isExcluded(e, server, definedAt);
73
+ };
74
+ const isExcluded = (e, server, definedAt) => {
75
+ const exclude = server ? config.ssr.optimizeDeps.exclude : config.optimizeDeps.exclude;
76
+ if (!exclude)
77
+ return false;
78
+ if (definedAt?.importPathAbsolute) {
79
+ const npmPackageName = getNpmPackageName(definedAt.importPathAbsolute);
80
+ if (npmPackageName && exclude.includes(npmPackageName))
81
+ return true;
82
+ }
83
+ return exclude.includes(e);
44
84
  };
45
85
  // V1 design
46
86
  {
@@ -52,22 +92,17 @@ async function getPageDeps(config, pageConfigs) {
52
92
  if (!configValueSource.valueIsLoadedWithImport && !configValueSource.valueIsFilePath)
53
93
  return;
54
94
  const { definedAt, configEnv } = configValueSource;
55
- if (!configEnv.client)
56
- return;
57
95
  if (definedAt.definedBy)
58
96
  return;
59
- if (definedAt.importPathAbsolute) {
60
- const npmPackageName = getNpmPackageName(definedAt.importPathAbsolute);
61
- if (npmPackageName && config.optimizeDeps.exclude?.includes(npmPackageName))
62
- return;
63
- }
64
97
  if (definedAt.filePathAbsoluteUserRootDir !== null) {
65
- // Vite expects entries to be filesystem absolute paths (surprisingly so).
66
- addEntry(definedAt.filePathAbsoluteFilesystem);
98
+ addEntry(
99
+ // optimizeDeps.entries expects filesystem absolute paths
100
+ definedAt.filePathAbsoluteFilesystem, configEnv, definedAt);
67
101
  }
68
102
  else {
69
- // Adding definedAtFilePath.filePathAbsoluteFilesystem doesn't work for npm packages, I guess because of Vite's config.server.fs.allow
70
- addInclude(definedAt.importPathAbsolute);
103
+ addInclude(
104
+ // optimizeDeps.include expects npm packages
105
+ definedAt.importPathAbsolute, configEnv, definedAt);
71
106
  }
72
107
  });
73
108
  });
@@ -83,32 +118,39 @@ async function getPageDeps(config, pageConfigs) {
83
118
  addEntry(filePathAbsoluteFilesystem);
84
119
  });
85
120
  }
86
- entries = unique(entries);
87
- include = unique(include);
88
- return { entries, include };
89
- }
90
- function getVirtualFiles(config, pageConfigs) {
91
- const { hasClientRouting, hasServerRouting, clientEntries } = analyzeClientEntries(pageConfigs, config);
92
- const entriesVirtualFiles = Object.values(clientEntries);
93
- if (hasClientRouting)
94
- entriesVirtualFiles.push(virtualFileIdEntryClientCR);
95
- if (hasServerRouting)
96
- entriesVirtualFiles.push(virtualFileIdEntryClientSR);
97
- return entriesVirtualFiles;
121
+ // Add virtual files.
122
+ // - This doesn't work: Vite's dep optimizer doesn't seem to be able to crawl virtual files.
123
+ // - Should we make it work? E.g. by creating a temporary file at node_modules/.vike/virtualFiles.js
124
+ // - Or should we remove it? And make sure getPageDeps() also works for aliased import paths
125
+ // - If we do, then we need to adjust include/entries (maybe by making include === entries -> will Vite complain?)
126
+ {
127
+ const { hasClientRouting, hasServerRouting, clientEntries } = analyzeClientEntries(pageConfigs, config);
128
+ Object.values(clientEntries).forEach((e) => addEntry(e));
129
+ if (hasClientRouting)
130
+ addEntry(virtualFileIdEntryClientCR);
131
+ if (hasServerRouting)
132
+ addEntry(virtualFileIdEntryClientSR);
133
+ }
134
+ entriesClient = entriesClient;
135
+ entriesServer = entriesServer;
136
+ includeClient = includeClient;
137
+ includeServer = includeServer;
138
+ return {
139
+ entriesClient,
140
+ entriesServer,
141
+ includeClient,
142
+ includeServer,
143
+ };
98
144
  }
99
- function normalizeEntries(entries) {
100
- if (isArray(entries))
101
- return entries;
102
- if (typeof entries === 'string')
103
- return [entries];
104
- if (entries === undefined)
105
- return [];
106
- assert(false);
145
+ function add(input, listAddendum) {
146
+ const list = !input ? [] : isArray(input) ? unique(input) : [input];
147
+ listAddendum.forEach((e) => {
148
+ if (!list.includes(e))
149
+ list.push(e);
150
+ });
151
+ return list;
107
152
  }
108
- function normalizeInclude(include) {
109
- if (isArray(include))
110
- return include;
111
- if (include === undefined)
112
- return [];
113
- assert(false);
153
+ function unique(arr) {
154
+ const arrUnique = Array.from(new Set(arr));
155
+ return arr.length !== arrUnique.length ? arrUnique : arr;
114
156
  }
@@ -6,8 +6,7 @@
6
6
  // - This approach supports import path aliases `vite.config.js#resolve.alias` https://vitejs.dev/config/#resolve-alias
7
7
  export { pluginExtractAssets };
8
8
  export { extractAssetsRE };
9
- import { assert, assertPosixPath, styleFileRE, createDebugger, isScriptFile, assertUsage, rollupSourceMapRemove, } from '../utils.js';
10
- import { resolveVirtualFileId, isVirtualFileId, getVirtualFileId } from '../../shared/virtualFiles.js';
9
+ import { assert, assertPosixPath, styleFileRE, createDebugger, isScriptFile, assertUsage, rollupSourceMapRemove, addVirtualFileIdPrefix, isVirtualFileId, removeVirtualFileIdPrefix, } from '../utils.js';
11
10
  import { extractAssetsAddQuery } from '../../shared/extractAssetsQuery.js';
12
11
  import { isAsset } from '../shared/isAsset.js';
13
12
  import { getImportStatements } from '../shared/parseEsModule.js';
@@ -124,7 +123,7 @@ function pluginExtractAssets() {
124
123
  load(id) {
125
124
  if (!isVirtualFileId(id))
126
125
  return undefined;
127
- id = getVirtualFileId(id);
126
+ id = removeVirtualFileIdPrefix(id);
128
127
  if (id === EMPTY_MODULE_ID) {
129
128
  return '// Erased by vike:pluginExtractAssets';
130
129
  }
@@ -151,7 +150,7 @@ function pluginExtractAssets() {
151
150
  }
152
151
  function emptyModule(file, importer) {
153
152
  debugOperation('NUKED', file, importer);
154
- return resolveVirtualFileId(EMPTY_MODULE_ID);
153
+ return addVirtualFileIdPrefix(EMPTY_MODULE_ID);
155
154
  }
156
155
  function appendExtractAssetsQuery(file, importer) {
157
156
  debugOperation('TRANSFORMED', file, importer);
@@ -1,4 +1,5 @@
1
1
  export { getVirtualFilePageConfigLazy };
2
+ // TODO/now: rename file to generateVirtualFileEntryPage.ts
2
3
  import { assert, getProjectError } from '../../utils.js';
3
4
  import { getVirtualFileIdPageConfigLazy, isVirtualFileIdPageConfigLazy, } from '../../../shared/virtualFiles/virtualFilePageConfigLazy.js';
4
5
  import { getVikeConfigInternal } from '../../shared/resolveVikeConfigInternal.js';
@@ -2,8 +2,7 @@ export { pluginVirtualFiles };
2
2
  import { normalizePath } from 'vite';
3
3
  import { getVirtualFilePageConfigLazy } from './pluginVirtualFiles/getVirtualFilePageConfigLazy.js';
4
4
  import { getVirtualFileEntry } from './pluginVirtualFiles/getVirtualFileEntry.js';
5
- import { assert, assertPosixPath, isScriptFile } from '../utils.js';
6
- import { resolveVirtualFileId, isVirtualFileId, getVirtualFileId } from '../../shared/virtualFiles.js';
5
+ import { assert, assertPosixPath, isScriptFile, addVirtualFileIdPrefix, isVirtualFileId, removeVirtualFileIdPrefix, } from '../utils.js';
7
6
  import { isVirtualFileIdPageConfigLazy } from '../../shared/virtualFiles/virtualFilePageConfigLazy.js';
8
7
  import { isVirtualFileIdEntry } from '../../shared/virtualFiles/virtualFileEntry.js';
9
8
  import { reloadVikeConfig, isV1Design, getVikeConfigInternalOptional } from '../shared/resolveVikeConfigInternal.js';
@@ -26,7 +25,7 @@ function pluginVirtualFiles() {
26
25
  },
27
26
  resolveId(id) {
28
27
  if (isVirtualFileId(id)) {
29
- return resolveVirtualFileId(id);
28
+ return addVirtualFileIdPrefix(id);
30
29
  }
31
30
  },
32
31
  async handleHotUpdate(ctx) {
@@ -42,7 +41,7 @@ function pluginVirtualFiles() {
42
41
  async load(id, options) {
43
42
  if (!isVirtualFileId(id))
44
43
  return undefined;
45
- id = getVirtualFileId(id);
44
+ id = removeVirtualFileIdPrefix(id);
46
45
  const isDev = config._isDev;
47
46
  assert(typeof isDev === 'boolean');
48
47
  if (isVirtualFileIdPageConfigLazy(id)) {
@@ -19,3 +19,4 @@ export * from '../../utils/isDocker.js';
19
19
  export * from '../../utils/isVitest.js';
20
20
  export * from '../../utils/rollupSourceMap.js';
21
21
  export * from '../../utils/isImportPath.js';
22
+ export * from '../../utils/virtualFileId.js';
@@ -26,3 +26,4 @@ export * from '../../utils/isDocker.js';
26
26
  export * from '../../utils/isVitest.js';
27
27
  export * from '../../utils/rollupSourceMap.js';
28
28
  export * from '../../utils/isImportPath.js';
29
+ export * from '../../utils/virtualFileId.js';
@@ -1,4 +1,10 @@
1
1
  export { parseVirtualFileExports };
2
+ // TODO/now: rename parseVirtualFileExportsEntryGlobal
3
+ // TODO/now: merge or collocate following both files?
4
+ // ```filesystem
5
+ // vike/packages/vike/shared/getPageFiles/parseVirtualFileExports.ts
6
+ // vike/shared/page-configs/serialize/parsePageConfigs.ts
7
+ // ```
2
8
  // TO-DO/next-major-release: remove old design code, and remove all assertions.
3
9
  import { assert, hasProp, isCallable, isObject, cast, isArray } from '../utils.js';
4
10
  import { assertExportValues } from './assert_exports_old_design.js';
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.236-commit-e752d12";
1
+ export declare const PROJECT_VERSION: "0.4.236-commit-08fbc10";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.236-commit-e752d12';
2
+ export const PROJECT_VERSION = '0.4.236-commit-08fbc10';
@@ -1,4 +1,5 @@
1
1
  export { assertFilePathAbsoluteFilesystem };
2
+ export { isFilePathAbsoluteFilesystem };
2
3
  export { isFilePathAbsolute };
3
4
  /**
4
5
  * Asserts that `filePath` is an absolute file path starting from the filesystem root.
@@ -6,6 +7,12 @@ export { isFilePathAbsolute };
6
7
  * It isn't reliable for Linux users, but that's okay because the assertion will eventually fail on windows.
7
8
  */
8
9
  declare function assertFilePathAbsoluteFilesystem(filePath: string): void;
10
+ /**
11
+ * Whether `filePath` is an absolute file path starting from the filesystem root.
12
+ *
13
+ * Isn't reliable for Linux users: it returns `true` for an absolute path starting from the user root dir.
14
+ */
15
+ declare function isFilePathAbsoluteFilesystem(filePath: string): boolean;
9
16
  /**
10
17
  * Whether `filePath` is an absolute file path.
11
18
  *
@@ -1,4 +1,5 @@
1
1
  export { assertFilePathAbsoluteFilesystem };
2
+ export { isFilePathAbsoluteFilesystem };
2
3
  export { isFilePathAbsolute };
3
4
  import path from 'node:path';
4
5
  import { assert } from './assert.js';
@@ -0,0 +1,6 @@
1
+ export { isVirtualFileId };
2
+ export { addVirtualFileIdPrefix };
3
+ export { removeVirtualFileIdPrefix };
4
+ declare function isVirtualFileId(id: string): boolean;
5
+ declare function addVirtualFileIdPrefix(id: string): string;
6
+ declare function removeVirtualFileIdPrefix(id: string): string;
@@ -1,36 +1,34 @@
1
1
  export { isVirtualFileId };
2
- export { getVirtualFileId };
3
- export { resolveVirtualFileId };
4
- export { removeVirtualIdTag };
2
+ export { addVirtualFileIdPrefix };
3
+ export { removeVirtualFileIdPrefix };
5
4
  import pc from '@brillout/picocolors';
6
- import { assert, assertUsage } from './utils.js';
5
+ import { assert, assertUsage } from './assert.js';
6
+ import { assertIsNotBrowser } from './assertIsNotBrowser.js';
7
+ assertIsNotBrowser();
7
8
  const idBase = 'virtual:vike:';
8
9
  // https://vitejs.dev/guide/api-plugin.html#virtual-modules-convention
9
- const virtualIdTag = '\0';
10
+ const prefix = '\0';
10
11
  function isVirtualFileId(id) {
11
12
  if (id.startsWith(idBase))
12
13
  return true;
13
- if (id.startsWith(virtualIdTag + idBase))
14
+ if (id.startsWith(prefix + idBase))
14
15
  return true;
15
16
  // https://github.com/vikejs/vike/issues/1985
16
17
  assertUsage(!id.includes(idBase), `Encountered a module ID ${pc.cyan(id)} that is unexpected. Are you using a tool that modifies the ID of modules? For example, the baseUrl setting in tsconfig.json cannot be used.`);
17
18
  return false;
18
19
  }
19
- function getVirtualFileId(id) {
20
- return removeVirtualIdTag(id);
21
- }
22
- function resolveVirtualFileId(id) {
20
+ function addVirtualFileIdPrefix(id) {
23
21
  assert(isVirtualFileId(id));
24
- if (!id.startsWith(virtualIdTag)) {
25
- id = virtualIdTag + id;
22
+ if (!id.startsWith(prefix)) {
23
+ id = prefix + id;
26
24
  }
27
- assert(id.startsWith(virtualIdTag));
25
+ assert(id.startsWith(prefix));
28
26
  return id;
29
27
  }
30
- function removeVirtualIdTag(id) {
31
- if (id.startsWith(virtualIdTag)) {
32
- id = id.slice(virtualIdTag.length);
28
+ function removeVirtualFileIdPrefix(id) {
29
+ if (id.startsWith(prefix)) {
30
+ id = id.slice(prefix.length);
33
31
  }
34
- assert(!id.startsWith(virtualIdTag));
32
+ assert(!id.startsWith(prefix));
35
33
  return id;
36
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.236-commit-e752d12",
3
+ "version": "0.4.236-commit-08fbc10",
4
4
  "repository": "https://github.com/vikejs/vike",
5
5
  "exports": {
6
6
  "./server": {
@@ -123,7 +123,7 @@
123
123
  "@brillout/json-serializer": "^0.5.16",
124
124
  "@brillout/picocolors": "^1.0.26",
125
125
  "@brillout/require-shim": "^0.1.2",
126
- "@brillout/vite-plugin-server-entry": "^0.7.8",
126
+ "@brillout/vite-plugin-server-entry": "^0.7.10",
127
127
  "acorn": "^8.0.0",
128
128
  "cac": "^6.0.0",
129
129
  "es-module-lexer": "^1.0.0",
@@ -254,7 +254,7 @@
254
254
  "react-streaming": "^0.4.3",
255
255
  "rimraf": "^5.0.5",
256
256
  "typescript": "^5.8.3",
257
- "vite": "^6.3.2"
257
+ "vite": "^7.0.6"
258
258
  },
259
259
  "scripts": {
260
260
  "dev": "tsc --watch",
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isVirtualFileId = isVirtualFileId;
7
- exports.getVirtualFileId = getVirtualFileId;
8
- exports.resolveVirtualFileId = resolveVirtualFileId;
9
- exports.removeVirtualIdTag = removeVirtualIdTag;
10
- const picocolors_1 = __importDefault(require("@brillout/picocolors"));
11
- const utils_js_1 = require("./utils.js");
12
- const idBase = 'virtual:vike:';
13
- // https://vitejs.dev/guide/api-plugin.html#virtual-modules-convention
14
- const virtualIdTag = '\0';
15
- function isVirtualFileId(id) {
16
- if (id.startsWith(idBase))
17
- return true;
18
- if (id.startsWith(virtualIdTag + idBase))
19
- return true;
20
- // https://github.com/vikejs/vike/issues/1985
21
- (0, utils_js_1.assertUsage)(!id.includes(idBase), `Encountered a module ID ${picocolors_1.default.cyan(id)} that is unexpected. Are you using a tool that modifies the ID of modules? For example, the baseUrl setting in tsconfig.json cannot be used.`);
22
- return false;
23
- }
24
- function getVirtualFileId(id) {
25
- return removeVirtualIdTag(id);
26
- }
27
- function resolveVirtualFileId(id) {
28
- (0, utils_js_1.assert)(isVirtualFileId(id));
29
- if (!id.startsWith(virtualIdTag)) {
30
- id = virtualIdTag + id;
31
- }
32
- (0, utils_js_1.assert)(id.startsWith(virtualIdTag));
33
- return id;
34
- }
35
- function removeVirtualIdTag(id) {
36
- if (id.startsWith(virtualIdTag)) {
37
- id = id.slice(virtualIdTag.length);
38
- }
39
- (0, utils_js_1.assert)(!id.startsWith(virtualIdTag));
40
- return id;
41
- }
@@ -1,8 +0,0 @@
1
- export { isVirtualFileId };
2
- export { getVirtualFileId };
3
- export { resolveVirtualFileId };
4
- export { removeVirtualIdTag };
5
- declare function isVirtualFileId(id: string): boolean;
6
- declare function getVirtualFileId(id: string): string;
7
- declare function resolveVirtualFileId(id: string): string;
8
- declare function removeVirtualIdTag(id: string): string;