vike 0.4.159 → 0.4.160-commit-30d535e

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 (125) hide show
  1. package/dist/cjs/node/plugin/index.js +20 -1
  2. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +2 -2
  3. package/dist/cjs/node/plugin/plugins/buildConfig.js +9 -0
  4. package/dist/cjs/node/plugin/plugins/commonConfig.js +1 -1
  5. package/dist/cjs/node/plugin/plugins/config/stemUtils.js +1 -1
  6. package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -1
  7. package/dist/cjs/node/plugin/plugins/importBuild/index.js +1 -1
  8. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getConfigFileExport.js +18 -0
  9. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +1 -5
  10. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +28 -46
  11. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +129 -0
  12. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.js +33 -0
  13. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +139 -0
  14. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{replaceImportStatements.js → getVikeConfig/transformFileImports.js} +44 -13
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{transpileAndExecuteFile.js → getVikeConfig/transpileAndExecuteFile.js} +105 -78
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +201 -382
  17. package/dist/cjs/node/plugin/plugins/previewConfig.js +1 -1
  18. package/dist/cjs/node/plugin/shared/getHttpRequestAsyncStore.js +1 -1
  19. package/dist/cjs/node/plugin/shared/loggerNotProd/log.js +3 -3
  20. package/dist/cjs/node/plugin/shared/loggerNotProd.js +1 -1
  21. package/dist/cjs/node/plugin/utils.js +1 -2
  22. package/dist/cjs/node/prerender/runPrerender.js +12 -5
  23. package/dist/cjs/node/runtime/globalContext.js +7 -3
  24. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  25. package/dist/cjs/node/runtime/html/renderHtml.js +1 -1
  26. package/dist/cjs/node/runtime/html/stream.js +2 -2
  27. package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
  28. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +1 -1
  29. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  30. package/dist/cjs/node/runtime/renderPage/{logHintForCjsEsmError.js → logErrorHint.js} +81 -43
  31. package/dist/cjs/node/runtime/renderPage/loggerProd.js +3 -3
  32. package/dist/cjs/node/runtime/utils.js +1 -1
  33. package/dist/cjs/shared/page-configs/assertPlusFileExport.js +44 -0
  34. package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +54 -27
  35. package/dist/cjs/shared/route/abort.js +1 -1
  36. package/dist/cjs/shared/route/executeGuardHook.js +3 -2
  37. package/dist/cjs/shared/utils.js +0 -1
  38. package/dist/cjs/utils/assert.js +5 -6
  39. package/dist/cjs/utils/assertIsNotProductionRuntime.js +35 -17
  40. package/dist/cjs/utils/{findUserPackageJsonPath.js → findFile.js} +11 -8
  41. package/dist/cjs/utils/nodeEnv.js +33 -1
  42. package/dist/cjs/utils/objectKeys.js +19 -3
  43. package/dist/cjs/utils/projectInfo.js +2 -4
  44. package/dist/cjs/utils/sorter.js +62 -1
  45. package/dist/esm/node/plugin/index.js +21 -2
  46. package/dist/esm/node/plugin/plugins/autoFullBuild.js +2 -2
  47. package/dist/esm/node/plugin/plugins/buildConfig.js +10 -1
  48. package/dist/esm/node/plugin/plugins/commonConfig.js +2 -2
  49. package/dist/esm/node/plugin/plugins/config/stemUtils.js +2 -2
  50. package/dist/esm/node/plugin/plugins/devConfig/index.js +2 -2
  51. package/dist/esm/node/plugin/plugins/importBuild/index.js +2 -2
  52. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getConfigFileExport.d.ts +2 -0
  53. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getConfigFileExport.js +12 -0
  54. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +8 -1
  55. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +0 -1
  56. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +1 -5
  57. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +39 -12
  58. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +29 -47
  59. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.d.ts +21 -0
  60. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +123 -0
  61. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.d.ts +5 -0
  62. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.js +27 -0
  63. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.d.ts +12 -0
  64. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +133 -0
  65. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{replaceImportStatements.d.ts → getVikeConfig/transformFileImports.d.ts} +5 -5
  66. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{replaceImportStatements.js → getVikeConfig/transformFileImports.js} +43 -12
  67. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{transpileAndExecuteFile.d.ts → getVikeConfig/transpileAndExecuteFile.d.ts} +3 -3
  68. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{transpileAndExecuteFile.js → getVikeConfig/transpileAndExecuteFile.js} +105 -78
  69. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +16 -1
  70. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +199 -380
  71. package/dist/esm/node/plugin/plugins/previewConfig.js +2 -2
  72. package/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.js +1 -1
  73. package/dist/esm/node/plugin/shared/loggerNotProd/log.js +3 -3
  74. package/dist/esm/node/plugin/shared/loggerNotProd.js +1 -1
  75. package/dist/esm/node/plugin/utils.d.ts +1 -2
  76. package/dist/esm/node/plugin/utils.js +1 -2
  77. package/dist/esm/node/prerender/runPrerender.js +13 -6
  78. package/dist/esm/node/runtime/globalContext.js +8 -4
  79. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  80. package/dist/esm/node/runtime/html/renderHtml.js +1 -1
  81. package/dist/esm/node/runtime/html/stream.js +2 -2
  82. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
  83. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +1 -1
  84. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  85. package/dist/esm/node/runtime/renderPage/logErrorHint.d.ts +8 -0
  86. package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError.js → logErrorHint.js} +80 -42
  87. package/dist/esm/node/runtime/renderPage/loggerProd.js +3 -3
  88. package/dist/esm/node/runtime/utils.d.ts +1 -1
  89. package/dist/esm/node/runtime/utils.js +1 -1
  90. package/dist/esm/shared/page-configs/Config.d.ts +1 -1
  91. package/dist/esm/shared/page-configs/PageConfig.d.ts +6 -0
  92. package/dist/esm/shared/page-configs/assertPlusFileExport.d.ts +2 -0
  93. package/dist/esm/shared/page-configs/assertPlusFileExport.js +38 -0
  94. package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +54 -27
  95. package/dist/esm/shared/route/abort.js +2 -2
  96. package/dist/esm/shared/route/executeGuardHook.js +3 -2
  97. package/dist/esm/shared/utils.d.ts +0 -1
  98. package/dist/esm/shared/utils.js +0 -1
  99. package/dist/esm/utils/assert.js +5 -6
  100. package/dist/esm/utils/assertIsNotProductionRuntime.d.ts +8 -6
  101. package/dist/esm/utils/assertIsNotProductionRuntime.js +35 -17
  102. package/dist/esm/utils/debug.d.ts +1 -1
  103. package/dist/esm/utils/findFile.d.ts +3 -0
  104. package/dist/esm/utils/findFile.js +21 -0
  105. package/dist/esm/utils/nodeEnv.d.ts +6 -0
  106. package/dist/esm/utils/nodeEnv.js +29 -0
  107. package/dist/esm/utils/objectKeys.d.ts +10 -1
  108. package/dist/esm/utils/objectKeys.js +20 -3
  109. package/dist/esm/utils/projectInfo.d.ts +2 -8
  110. package/dist/esm/utils/projectInfo.js +2 -4
  111. package/dist/esm/utils/sorter.d.ts +59 -0
  112. package/dist/esm/utils/sorter.js +61 -0
  113. package/package.json +1 -1
  114. package/dist/cjs/shared/page-configs/assertExports.js +0 -67
  115. package/dist/cjs/utils/objectEntries.js +0 -8
  116. package/dist/esm/node/runtime/renderPage/logHintForCjsEsmError.d.ts +0 -13
  117. package/dist/esm/shared/page-configs/assertExports.d.ts +0 -6
  118. package/dist/esm/shared/page-configs/assertExports.js +0 -61
  119. package/dist/esm/utils/findUserPackageJsonPath.d.ts +0 -2
  120. package/dist/esm/utils/findUserPackageJsonPath.js +0 -18
  121. package/dist/esm/utils/objectEntries.d.ts +0 -4
  122. package/dist/esm/utils/objectEntries.js +0 -5
  123. /package/dist/cjs/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.js +0 -0
  124. /package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.d.ts +0 -0
  125. /package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.js +0 -0
@@ -1,67 +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.assertExportsOfConfigFile = exports.assertExportsOfValueFile = void 0;
7
- const utils_js_1 = require("../utils.js");
8
- const picocolors_1 = __importDefault(require("@brillout/picocolors"));
9
- const EXPORTS_IGNORE = [
10
- // vite-plugin-solid adds `export { $$registrations }`
11
- '$$registrations',
12
- // @vitejs/plugin-vue adds `export { _rerender_only }`
13
- '_rerender_only'
14
- ];
15
- // Tolerate `export { frontmatter }` in .mdx files
16
- const TOLERATE_SIDE_EXPORTS = ['.md', '.mdx'];
17
- function assertExportsOfValueFile(fileExports, filePathToShowToUser, configName) {
18
- assertExports(fileExports, filePathToShowToUser, configName);
19
- }
20
- exports.assertExportsOfValueFile = assertExportsOfValueFile;
21
- function assertExportsOfConfigFile(fileExports, filePathToShowToUser) {
22
- assertExports(fileExports, filePathToShowToUser);
23
- const exportDefault = fileExports.default;
24
- (0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(exportDefault), `The ${picocolors_1.default.cyan('export default')} of ${filePathToShowToUser} should be an object (but it's ${picocolors_1.default.cyan(`typeof exportDefault === ${JSON.stringify(typeof exportDefault)}`)} instead)`);
25
- }
26
- exports.assertExportsOfConfigFile = assertExportsOfConfigFile;
27
- function assertExports(fileExports, filePathToShowToUser, configName) {
28
- const exportsAll = Object.keys(fileExports);
29
- const exportsRelevant = exportsAll.filter((exportName) => !EXPORTS_IGNORE.includes(exportName));
30
- const exportsInvalid = exportsRelevant.filter((e) => e !== 'default' &&
31
- // !!configName => isValueFile
32
- e !== configName);
33
- if (exportsInvalid.length === 0) {
34
- if (exportsRelevant.length === 1) {
35
- return;
36
- }
37
- const exportDefault = picocolors_1.default.cyan('export default');
38
- const exportConfigName = picocolors_1.default.cyan(`export { ${configName} }`);
39
- if (exportsRelevant.length === 0) {
40
- let errMsg = `${filePathToShowToUser} doesn't export any value, but it should have a ${exportDefault}`;
41
- if (configName)
42
- errMsg += ` or ${exportConfigName}`;
43
- (0, utils_js_1.assertUsage)(false, errMsg);
44
- }
45
- else {
46
- (0, utils_js_1.assert)(exportsRelevant.length === 2);
47
- (0, utils_js_1.assertWarning)(false, `${filePathToShowToUser} remove ${exportConfigName} or ${exportDefault}`, {
48
- onlyOnce: true
49
- });
50
- }
51
- }
52
- else {
53
- // !configName => isConfigFile
54
- if (!configName) {
55
- const exportsInvalidStr = exportsInvalid.join(', ');
56
- (0, utils_js_1.assertUsage)(false, `${filePathToShowToUser} replace ${picocolors_1.default.cyan(`export { ${exportsInvalidStr} }`)} with ${picocolors_1.default.cyan(`export default { ${exportsInvalidStr} }`)}`);
57
- }
58
- // !!configName => isValueFile
59
- else {
60
- if (TOLERATE_SIDE_EXPORTS.some((ext) => filePathToShowToUser.endsWith(ext)))
61
- return;
62
- exportsInvalid.forEach((exportInvalid) => {
63
- (0, utils_js_1.assertWarning)(false, `${filePathToShowToUser} should have only a single export: move ${picocolors_1.default.cyan(`export { ${exportInvalid} }`)} to +config.h.js or its own +${exportsInvalid}.js`, { onlyOnce: true });
64
- });
65
- }
66
- }
67
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.objectEntries = void 0;
4
- // Same as `Object.entries()` but with type inference
5
- function objectEntries(obj) {
6
- return Object.entries(obj);
7
- }
8
- exports.objectEntries = objectEntries;
@@ -1,13 +0,0 @@
1
- export { logHintForCjsEsmError };
2
- export { isCjsEsmError };
3
- export { isReactInvalidComponentError };
4
- export { getHint };
5
- declare function logHintForCjsEsmError(error: unknown): void;
6
- declare function getHint(error: unknown): null | string;
7
- declare function isReactInvalidComponentError(error: unknown): boolean;
8
- /**
9
- * `false` -> noop
10
- * `true` -> generic message
11
- * `'some-npm-package'` -> add some-npm-package to `ssr.noExternal`
12
- */
13
- declare function isCjsEsmError(error: unknown): boolean | string[];
@@ -1,6 +0,0 @@
1
- export { assertExportsOfValueFile };
2
- export { assertExportsOfConfigFile };
3
- declare function assertExportsOfValueFile(fileExports: Record<string, unknown>, filePathToShowToUser: string, configName: string): void;
4
- declare function assertExportsOfConfigFile(fileExports: Record<string, unknown>, filePathToShowToUser: string): asserts fileExports is {
5
- default: Record<string, unknown>;
6
- };
@@ -1,61 +0,0 @@
1
- export { assertExportsOfValueFile };
2
- export { assertExportsOfConfigFile };
3
- import { assert, assertUsage, assertWarning, isObject } from '../utils.js';
4
- import pc from '@brillout/picocolors';
5
- const EXPORTS_IGNORE = [
6
- // vite-plugin-solid adds `export { $$registrations }`
7
- '$$registrations',
8
- // @vitejs/plugin-vue adds `export { _rerender_only }`
9
- '_rerender_only'
10
- ];
11
- // Tolerate `export { frontmatter }` in .mdx files
12
- const TOLERATE_SIDE_EXPORTS = ['.md', '.mdx'];
13
- function assertExportsOfValueFile(fileExports, filePathToShowToUser, configName) {
14
- assertExports(fileExports, filePathToShowToUser, configName);
15
- }
16
- function assertExportsOfConfigFile(fileExports, filePathToShowToUser) {
17
- assertExports(fileExports, filePathToShowToUser);
18
- const exportDefault = fileExports.default;
19
- assertUsage(isObject(exportDefault), `The ${pc.cyan('export default')} of ${filePathToShowToUser} should be an object (but it's ${pc.cyan(`typeof exportDefault === ${JSON.stringify(typeof exportDefault)}`)} instead)`);
20
- }
21
- function assertExports(fileExports, filePathToShowToUser, configName) {
22
- const exportsAll = Object.keys(fileExports);
23
- const exportsRelevant = exportsAll.filter((exportName) => !EXPORTS_IGNORE.includes(exportName));
24
- const exportsInvalid = exportsRelevant.filter((e) => e !== 'default' &&
25
- // !!configName => isValueFile
26
- e !== configName);
27
- if (exportsInvalid.length === 0) {
28
- if (exportsRelevant.length === 1) {
29
- return;
30
- }
31
- const exportDefault = pc.cyan('export default');
32
- const exportConfigName = pc.cyan(`export { ${configName} }`);
33
- if (exportsRelevant.length === 0) {
34
- let errMsg = `${filePathToShowToUser} doesn't export any value, but it should have a ${exportDefault}`;
35
- if (configName)
36
- errMsg += ` or ${exportConfigName}`;
37
- assertUsage(false, errMsg);
38
- }
39
- else {
40
- assert(exportsRelevant.length === 2);
41
- assertWarning(false, `${filePathToShowToUser} remove ${exportConfigName} or ${exportDefault}`, {
42
- onlyOnce: true
43
- });
44
- }
45
- }
46
- else {
47
- // !configName => isConfigFile
48
- if (!configName) {
49
- const exportsInvalidStr = exportsInvalid.join(', ');
50
- assertUsage(false, `${filePathToShowToUser} replace ${pc.cyan(`export { ${exportsInvalidStr} }`)} with ${pc.cyan(`export default { ${exportsInvalidStr} }`)}`);
51
- }
52
- // !!configName => isValueFile
53
- else {
54
- if (TOLERATE_SIDE_EXPORTS.some((ext) => filePathToShowToUser.endsWith(ext)))
55
- return;
56
- exportsInvalid.forEach((exportInvalid) => {
57
- assertWarning(false, `${filePathToShowToUser} should have only a single export: move ${pc.cyan(`export { ${exportInvalid} }`)} to +config.h.js or its own +${exportsInvalid}.js`, { onlyOnce: true });
58
- });
59
- }
60
- }
61
- }
@@ -1,2 +0,0 @@
1
- export { findUserPackageJsonPath };
2
- declare function findUserPackageJsonPath(userDir: string): null | string;
@@ -1,18 +0,0 @@
1
- export { findUserPackageJsonPath };
2
- import path from 'path';
3
- import fs from 'fs';
4
- function findUserPackageJsonPath(userDir) {
5
- let dir = userDir;
6
- while (true) {
7
- const configFilePath = path.join(dir, './package.json');
8
- if (fs.existsSync(configFilePath)) {
9
- // return toPosixPath(configFilePath)
10
- return configFilePath;
11
- }
12
- const dirPrevious = dir;
13
- dir = path.dirname(dir);
14
- if (dir === dirPrevious) {
15
- return null;
16
- }
17
- }
18
- }
@@ -1,4 +0,0 @@
1
- export { objectEntries };
2
- type ValueOf<T> = T[keyof T];
3
- type Entries<T> = [keyof T, ValueOf<T>][];
4
- declare function objectEntries<T extends object>(obj: T): Entries<T>;
@@ -1,5 +0,0 @@
1
- export { objectEntries };
2
- // Same as `Object.entries()` but with type inference
3
- function objectEntries(obj) {
4
- return Object.entries(obj);
5
- }