vike 0.4.153 → 0.4.154
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.
- package/dist/cjs/node/cli/bin.js +2 -2
- package/dist/cjs/node/plugin/index.js +2 -2
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +17 -9
- package/dist/cjs/node/plugin/plugins/envVars.js +1 -1
- package/dist/cjs/node/plugin/plugins/{assertFileEnv.js → fileEnv.js} +4 -4
- package/dist/cjs/node/plugin/plugins/importBuild/index.js +10 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +3 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +1 -9
- package/dist/cjs/node/plugin/shared/loggerNotProd/log.js +2 -1
- package/dist/cjs/node/plugin/shared/loggerNotProd.js +5 -5
- package/dist/cjs/node/plugin/shared/loggerVite.js +3 -0
- package/dist/cjs/node/plugin/utils.js +1 -0
- package/dist/cjs/node/prerender/index.js +1 -1
- package/dist/cjs/node/prerender/runPrerender.js +27 -11
- package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +0 -4
- package/dist/cjs/node/runtime/renderPage/logHintForCjsEsmError/errors.js +20 -0
- package/dist/cjs/node/runtime/renderPage/logHintForCjsEsmError.js +326 -0
- package/dist/cjs/node/runtime/renderPage/loggerProd.js +9 -1
- package/dist/cjs/node/runtime/utils.js +2 -1
- package/dist/cjs/shared/hooks/getHook.js +14 -8
- package/dist/cjs/shared/route/loadPageRoutes.js +1 -9
- package/dist/cjs/utils/formatHintLog.js +17 -0
- package/dist/cjs/utils/getGlobalObject.js +5 -3
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +2 -2
- package/dist/esm/node/cli/bin.js +3 -3
- package/dist/esm/node/plugin/index.js +2 -2
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +18 -10
- package/dist/esm/node/plugin/plugins/envVars.js +1 -1
- package/dist/esm/node/plugin/plugins/fileEnv.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{assertFileEnv.js → fileEnv.js} +3 -3
- package/dist/esm/node/plugin/plugins/importBuild/index.js +10 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +4 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +1 -9
- package/dist/esm/node/plugin/shared/loggerNotProd/log.d.ts +2 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/log.js +1 -0
- package/dist/esm/node/plugin/shared/loggerNotProd.js +7 -7
- package/dist/esm/node/plugin/shared/loggerVite.js +3 -0
- package/dist/esm/node/plugin/utils.d.ts +1 -0
- package/dist/esm/node/plugin/utils.js +1 -0
- package/dist/esm/node/prerender/index.d.ts +1 -1
- package/dist/esm/node/prerender/index.js +1 -1
- package/dist/esm/node/prerender/runPrerender.d.ts +8 -8
- package/dist/esm/node/prerender/runPrerender.js +27 -11
- package/dist/esm/node/runtime/globalContext/loadImportBuild.js +1 -5
- package/dist/esm/node/runtime/renderPage/logHintForCjsEsmError/errors.d.ts +1 -0
- package/dist/esm/node/runtime/renderPage/logHintForCjsEsmError/errors.js +17 -0
- package/dist/esm/node/runtime/renderPage/logHintForCjsEsmError.d.ts +13 -0
- package/dist/esm/node/runtime/renderPage/logHintForCjsEsmError.js +321 -0
- package/dist/esm/node/runtime/renderPage/loggerProd.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/loggerProd.js +8 -0
- package/dist/esm/node/runtime/utils.d.ts +2 -1
- package/dist/esm/node/runtime/utils.js +2 -1
- package/dist/esm/shared/hooks/getHook.d.ts +2 -0
- package/dist/esm/shared/hooks/getHook.js +13 -7
- package/dist/esm/shared/route/loadPageRoutes.js +1 -9
- package/dist/esm/utils/formatHintLog.d.ts +2 -0
- package/dist/esm/utils/formatHintLog.js +14 -0
- package/dist/esm/utils/getGlobalObject.d.ts +0 -3
- package/dist/esm/utils/getGlobalObject.js +5 -3
- package/dist/esm/utils/projectInfo.d.ts +2 -2
- package/dist/esm/utils/projectInfo.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/utils/autoRetry.js +0 -23
- package/dist/esm/node/plugin/plugins/assertFileEnv.d.ts +0 -3
- package/dist/esm/utils/autoRetry.d.ts +0 -2
- package/dist/esm/utils/autoRetry.js +0 -20
package/dist/cjs/node/cli/bin.js
CHANGED
|
@@ -12,8 +12,8 @@ cli
|
|
|
12
12
|
assertOptions();
|
|
13
13
|
const { partial, noExtraDir, base, parallel, outDir, configFile } = options;
|
|
14
14
|
const root = options.root && (0, path_1.resolve)(options.root);
|
|
15
|
-
await (0, runPrerender_js_1.
|
|
16
|
-
(0, runPrerender_js_1.
|
|
15
|
+
await (0, runPrerender_js_1.runPrerenderFromCLI)({ partial, noExtraDir, base, root, parallel, outDir, configFile });
|
|
16
|
+
(0, runPrerender_js_1.runPrerender_forceExit)();
|
|
17
17
|
});
|
|
18
18
|
function assertOptions() {
|
|
19
19
|
// Using process.argv because cac convert names to camelCase
|
|
@@ -27,7 +27,7 @@ const extensionsAssets_js_1 = require("./plugins/extensionsAssets.js");
|
|
|
27
27
|
const baseUrls_js_1 = require("./plugins/baseUrls.js");
|
|
28
28
|
const envVars_js_1 = require("./plugins/envVars.js");
|
|
29
29
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
30
|
-
const
|
|
30
|
+
const fileEnv_js_1 = require("./plugins/fileEnv.js");
|
|
31
31
|
(0, utils_js_2.markEnvAsVite)();
|
|
32
32
|
// Return as `any` to avoid Plugin type mismatches when there are multiple Vite versions installed
|
|
33
33
|
function plugin(vikeConfig) {
|
|
@@ -50,7 +50,7 @@ function plugin(vikeConfig) {
|
|
|
50
50
|
(0, extensionsAssets_js_1.extensionsAssets)(),
|
|
51
51
|
(0, baseUrls_js_1.baseUrls)(vikeConfig),
|
|
52
52
|
(0, envVars_js_1.envVarsPlugin)(),
|
|
53
|
-
(0,
|
|
53
|
+
(0, fileEnv_js_1.fileEnv)()
|
|
54
54
|
];
|
|
55
55
|
return plugins;
|
|
56
56
|
}
|
|
@@ -10,6 +10,7 @@ const runPrerender_js_1 = require("../../prerender/runPrerender.js");
|
|
|
10
10
|
const getConfigVike_js_1 = require("../../shared/getConfigVike.js");
|
|
11
11
|
const isViteCliCall_js_1 = require("../shared/isViteCliCall.js");
|
|
12
12
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
13
|
+
const logHintForCjsEsmError_js_1 = require("../../runtime/renderPage/logHintForCjsEsmError.js");
|
|
13
14
|
let forceExit = false;
|
|
14
15
|
function autoFullBuild() {
|
|
15
16
|
let config;
|
|
@@ -50,7 +51,7 @@ function autoFullBuild() {
|
|
|
50
51
|
order: 'post',
|
|
51
52
|
handler() {
|
|
52
53
|
if (forceExit) {
|
|
53
|
-
(0, runPrerender_js_1.
|
|
54
|
+
(0, runPrerender_js_1.runPrerender_forceExit)();
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
@@ -76,15 +77,22 @@ async function triggerFullBuild(config, configVike, bundle) {
|
|
|
76
77
|
...configFromCli?.build
|
|
77
78
|
}
|
|
78
79
|
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
try {
|
|
81
|
+
await (0, vite_1.build)({
|
|
82
|
+
...configInline,
|
|
83
|
+
build: {
|
|
84
|
+
...configInline.build,
|
|
85
|
+
ssr: true
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
console.error(err);
|
|
91
|
+
(0, logHintForCjsEsmError_js_1.logHintForCjsEsmError)(err);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
86
94
|
if (configVike.prerender && !configVike.prerender.disableAutoRun) {
|
|
87
|
-
await (0, runPrerender_js_1.
|
|
95
|
+
await (0, runPrerender_js_1.runPrerenderFromAutoFullBuild)({ viteConfig: configInline });
|
|
88
96
|
forceExit = true;
|
|
89
97
|
}
|
|
90
98
|
}
|
|
@@ -3,16 +3,16 @@ 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.
|
|
6
|
+
exports.fileEnv = void 0;
|
|
7
7
|
const utils_js_1 = require("../utils.js");
|
|
8
8
|
const extractAssetsPlugin_js_1 = require("./extractAssetsPlugin.js");
|
|
9
9
|
const extractExportNamesPlugin_js_1 = require("./extractExportNamesPlugin.js");
|
|
10
10
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
11
|
-
function
|
|
11
|
+
function fileEnv() {
|
|
12
12
|
let config;
|
|
13
13
|
let isDev = false;
|
|
14
14
|
return {
|
|
15
|
-
name: 'vike:
|
|
15
|
+
name: 'vike:fileEnv',
|
|
16
16
|
// - We need to set `enforce: 'pre'` because, otherwise, the resolvedId() hook of Vite's internal plugin `vite:resolve` is called before and it doesn't seem to call `this.resolve()` which means that the resolveId() hook below is never called.
|
|
17
17
|
// - Vite's `vite:resolve` plugin: https://github.com/vitejs/vite/blob/d649daba7682791178b711d9a3e44a6b5d00990c/packages/vite/src/node/plugins/resolve.ts#L105
|
|
18
18
|
// - It's actually a good thing if the resolveId() hook below is the first one to be called because it doesn't actually resolve any ID, so all other resolveId() hooks will be called as normal. And with `this.resolve()` we get the information we want from all other resolvedId() hooks.
|
|
@@ -104,4 +104,4 @@ function assertFileEnv() {
|
|
|
104
104
|
}
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
-
exports.
|
|
107
|
+
exports.fileEnv = fileEnv;
|
|
@@ -48,13 +48,18 @@ function getEntryCode(config, configVike) {
|
|
|
48
48
|
const importerCode = [
|
|
49
49
|
` import { setImportBuildGetters } from '${importPath}';`,
|
|
50
50
|
` import * as pageFiles from '${virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer}';`,
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
` {`,
|
|
52
|
+
// We first set the values to a variable because of a Rollup bug, and this workaround doesn't work: https://github.com/vikejs/vike/commit/d5f3a4f7aae5a8bc44192e6cbb2bcb9007be188d
|
|
53
|
+
` const clientManifest = ${ASSETS_MAP};`,
|
|
54
|
+
` const pluginManifest = ${JSON.stringify(vikeManifest, null, 2)};`,
|
|
55
|
+
' setImportBuildGetters({',
|
|
56
|
+
` pageFiles: () => pageFiles,`,
|
|
53
57
|
// TODO: rename clientManifest -> assetManifest
|
|
54
|
-
`
|
|
58
|
+
` clientManifest: () => clientManifest,`,
|
|
55
59
|
// TODO: rename pluginManifest -> vikeManifest
|
|
56
|
-
`
|
|
57
|
-
'
|
|
60
|
+
` pluginManifest: () => pluginManifest,`,
|
|
61
|
+
' });',
|
|
62
|
+
` }`,
|
|
58
63
|
''
|
|
59
64
|
].join('\n');
|
|
60
65
|
return importerCode;
|
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js
CHANGED
|
@@ -9,6 +9,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
9
9
|
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
10
10
|
const child_process_1 = require("child_process");
|
|
11
11
|
const util_1 = require("util");
|
|
12
|
+
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
12
13
|
const execA = (0, util_1.promisify)(child_process_1.exec);
|
|
13
14
|
const globalObject = (0, utils_js_1.getGlobalObject)('crawlPlusFiles.ts', {
|
|
14
15
|
gitIsMissing: false
|
|
@@ -38,7 +39,8 @@ async function crawlPlusFiles(userRootDir, outDirAbsoluteFilesystem, isDev) {
|
|
|
38
39
|
const timeSpent = timeAfter - timeBefore;
|
|
39
40
|
if (isDev) {
|
|
40
41
|
// We only warn in dev, because while building it's expected to take a long time as crawling is competing for resources with other tasks.
|
|
41
|
-
|
|
42
|
+
// Although, in dev, it's also competing for resources e.g. with Vite's `optimizeDeps`.
|
|
43
|
+
(0, utils_js_1.assertWarning)(timeSpent < 3 * 1000, `Crawling your ${picocolors_1.default.cyan('+')} files took an unexpected long time (${(0, utils_js_1.humanizeTime)(timeSpent)}). If you repeatedly get this warning, then consider creating a new issue on Vike's GitHub.`, {
|
|
42
44
|
onlyOnce: 'slow-page-files-search'
|
|
43
45
|
});
|
|
44
46
|
}
|
|
@@ -834,7 +834,7 @@ function getConfigName(filePath) {
|
|
|
834
834
|
if ((0, transpileAndExecuteFile_js_1.isTmpFile)(filePath))
|
|
835
835
|
return null;
|
|
836
836
|
const fileName = path_1.default.posix.basename(filePath);
|
|
837
|
-
assertNoUnexpectedPlusSign(filePath, fileName)
|
|
837
|
+
// assertNoUnexpectedPlusSign(filePath, fileName)
|
|
838
838
|
const basename = fileName.split('.')[0];
|
|
839
839
|
if (!basename.startsWith('+')) {
|
|
840
840
|
return null;
|
|
@@ -844,14 +844,6 @@ function getConfigName(filePath) {
|
|
|
844
844
|
return configName;
|
|
845
845
|
}
|
|
846
846
|
}
|
|
847
|
-
function assertNoUnexpectedPlusSign(filePath, fileName) {
|
|
848
|
-
const dirs = path_1.default.posix.dirname(filePath).split('/');
|
|
849
|
-
dirs.forEach((dir, i) => {
|
|
850
|
-
const dirPath = dirs.slice(0, i + 1).join('/');
|
|
851
|
-
(0, utils_js_1.assertUsage)(!dir.includes('+'), `Character '+' is a reserved character: remove '+' from the directory name ${dirPath}/`);
|
|
852
|
-
});
|
|
853
|
-
(0, utils_js_1.assertUsage)(!fileName.slice(1).includes('+'), `Character '+' is only allowed at the beginning of filenames: make sure ${filePath} doesn't contain any '+' in its filename other than its first letter`);
|
|
854
|
-
}
|
|
855
847
|
async function loadConfigFile(configFilePath, userRootDir, visited) {
|
|
856
848
|
const { filePathAbsoluteFilesystem } = configFilePath;
|
|
857
849
|
assertNoInfiniteLoop(visited, filePathAbsoluteFilesystem);
|
|
@@ -3,7 +3,7 @@ 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.screenHasErrors = exports.clearScreen = exports.isFirstLog = exports.logDirectly = exports.logWithVikeTag = exports.logWithViteTag = void 0;
|
|
6
|
+
exports.applyViteSourceMapToStackTrace = exports.screenHasErrors = exports.clearScreen = exports.isFirstLog = exports.logDirectly = exports.logWithVikeTag = exports.logWithViteTag = void 0;
|
|
7
7
|
const utils_js_1 = require("../../utils.js");
|
|
8
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
9
9
|
const isErrorDebug_js_1 = require("../isErrorDebug.js");
|
|
@@ -78,6 +78,7 @@ function applyViteSourceMapToStackTrace(thing) {
|
|
|
78
78
|
// Apply Vite's source maps
|
|
79
79
|
viteDevServer.ssrFixStacktrace(thing);
|
|
80
80
|
}
|
|
81
|
+
exports.applyViteSourceMapToStackTrace = applyViteSourceMapToStackTrace;
|
|
81
82
|
function prependTags(msg, projectTag, category, logType) {
|
|
82
83
|
const color = (s) => {
|
|
83
84
|
if (logType === 'error' && !hasRed(msg))
|
|
@@ -22,6 +22,7 @@ const log_js_1 = require("./loggerNotProd/log.js");
|
|
|
22
22
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
23
23
|
const isNewError_js_1 = require("../../runtime/renderPage/isNewError.js");
|
|
24
24
|
const isConfigInvalid_js_1 = require("../../runtime/renderPage/isConfigInvalid.js");
|
|
25
|
+
const loggerProd_js_1 = require("../../runtime/renderPage/loggerProd.js");
|
|
25
26
|
(0, utils_js_1.assertIsNotProductionRuntime)();
|
|
26
27
|
(0, loggerRuntime_js_1.overwriteRuntimeProductionLogger)(logRuntimeError, logRuntimeInfo);
|
|
27
28
|
(0, utils_js_1.overwriteAssertProductionLogger)(assertLogger);
|
|
@@ -105,6 +106,7 @@ function logErr(err, httpRequestId = null) {
|
|
|
105
106
|
logFallbackErrIntro(category);
|
|
106
107
|
}
|
|
107
108
|
(0, log_js_1.logDirectly)(err, 'error');
|
|
109
|
+
(0, loggerProd_js_1.onRuntimeError)(err);
|
|
108
110
|
}
|
|
109
111
|
function logConfigError(err) {
|
|
110
112
|
clearLogs({ clearAlsoIfConfigIsInvalid: true });
|
|
@@ -158,6 +160,8 @@ function handleAssertMsg(err, category) {
|
|
|
158
160
|
return true;
|
|
159
161
|
}
|
|
160
162
|
function assertLogger(thing, logType) {
|
|
163
|
+
// vite.ssrFixStacktrace() is needed for `assertWarning(..., { showStackTrace: true })`
|
|
164
|
+
(0, log_js_1.applyViteSourceMapToStackTrace)(thing);
|
|
161
165
|
const category = getCategory();
|
|
162
166
|
const res = (0, utils_js_1.getAssertErrMsg)(thing);
|
|
163
167
|
/* Risk of infinite loop
|
|
@@ -198,11 +202,7 @@ function logErrorDebugNote() {
|
|
|
198
202
|
return;
|
|
199
203
|
store.errorDebugNoteAlreadyShown = true;
|
|
200
204
|
}
|
|
201
|
-
const msg = picocolors_1.default.dim(
|
|
202
|
-
'┌──────────────────────────────────────────────────────────┐',
|
|
203
|
-
"│ Error isn't helpful? See https://vike.dev/errors#verbose │",
|
|
204
|
-
'└──────────────────────────────────────────────────────────┘'
|
|
205
|
-
].join('\n'));
|
|
205
|
+
const msg = picocolors_1.default.dim((0, utils_js_1.formatHintLog)("Error isn't helpful? See https://vike.dev/errors#verbose"));
|
|
206
206
|
(0, log_js_1.logDirectly)(msg, 'error');
|
|
207
207
|
}
|
|
208
208
|
exports.logErrorDebugNote = logErrorDebugNote;
|
|
@@ -7,6 +7,7 @@ const errorWithCodeSnippet_js_1 = require("./loggerNotProd/errorWithCodeSnippet.
|
|
|
7
7
|
const getHttpRequestAsyncStore_js_1 = require("./getHttpRequestAsyncStore.js");
|
|
8
8
|
const removeSuperfluousViteLog_js_1 = require("./loggerVite/removeSuperfluousViteLog.js");
|
|
9
9
|
const isErrorDebug_js_1 = require("./isErrorDebug.js");
|
|
10
|
+
const loggerProd_js_1 = require("../../runtime/renderPage/loggerProd.js");
|
|
10
11
|
function improveViteLogs(config) {
|
|
11
12
|
intercept('info', config);
|
|
12
13
|
intercept('warn', config);
|
|
@@ -48,6 +49,8 @@ function intercept(logType, config) {
|
|
|
48
49
|
// Vite's default logger preprends the "[vite]" tag if and only if options.timestamp is true
|
|
49
50
|
const prependViteTag = options.timestamp || !!store?.httpRequestId;
|
|
50
51
|
(0, loggerNotProd_js_1.logViteAny)(msg, logType, store?.httpRequestId ?? null, prependViteTag);
|
|
52
|
+
if (options.error)
|
|
53
|
+
(0, loggerProd_js_1.onRuntimeError)(options.error);
|
|
51
54
|
};
|
|
52
55
|
}
|
|
53
56
|
function cleanFirstViteLog(msg) {
|
|
@@ -41,3 +41,4 @@ __exportStar(require("../../utils/mergeCumulativeValues.js"), exports);
|
|
|
41
41
|
__exportStar(require("../../utils/deepEqual.js"), exports);
|
|
42
42
|
__exportStar(require("../../utils/assertKeys.js"), exports);
|
|
43
43
|
__exportStar(require("../../utils/injectRollupInputs.js"), exports);
|
|
44
|
+
__exportStar(require("../../utils/humanizeTime.js"), exports);
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.prerender = void 0;
|
|
4
4
|
var runPrerender_js_1 = require("./runPrerender.js");
|
|
5
|
-
Object.defineProperty(exports, "prerender", { enumerable: true, get: function () { return runPrerender_js_1.
|
|
5
|
+
Object.defineProperty(exports, "prerender", { enumerable: true, get: function () { return runPrerender_js_1.runPrerenderFromAPI; } });
|
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
29
|
+
exports.runPrerender_forceExit = exports.runPrerenderFromAutoFullBuild = exports.runPrerenderFromCLI = exports.runPrerenderFromAPI = void 0;
|
|
30
30
|
require("../runtime/page-files/setup.js");
|
|
31
31
|
const path_1 = __importDefault(require("path"));
|
|
32
32
|
const index_js_1 = require("../../shared/route/index.js");
|
|
@@ -51,20 +51,36 @@ const loadUserFilesServerSide_js_1 = require("../runtime/renderPage/loadUserFile
|
|
|
51
51
|
const getHook_js_1 = require("../../shared/hooks/getHook.js");
|
|
52
52
|
const noRouteMatch_js_1 = require("../../shared/route/noRouteMatch.js");
|
|
53
53
|
const getVikeConfig_js_1 = require("../plugin/plugins/importUserCode/v1-design/getVikeConfig.js");
|
|
54
|
-
|
|
54
|
+
const logHintForCjsEsmError_js_1 = require("../runtime/renderPage/logHintForCjsEsmError.js");
|
|
55
|
+
async function runPrerenderFromAPI(options = {}) {
|
|
55
56
|
await runPrerender(options, 'prerender()');
|
|
56
57
|
}
|
|
57
|
-
exports.
|
|
58
|
-
async function
|
|
59
|
-
|
|
58
|
+
exports.runPrerenderFromAPI = runPrerenderFromAPI;
|
|
59
|
+
async function runPrerenderFromCLI(options) {
|
|
60
|
+
try {
|
|
61
|
+
await runPrerender(options, '$ vike prerender');
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
console.error(err);
|
|
65
|
+
(0, logHintForCjsEsmError_js_1.logHintForCjsEsmError)(err);
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
60
68
|
}
|
|
61
|
-
exports.
|
|
62
|
-
async function
|
|
63
|
-
|
|
69
|
+
exports.runPrerenderFromCLI = runPrerenderFromCLI;
|
|
70
|
+
async function runPrerenderFromAutoFullBuild(options) {
|
|
71
|
+
try {
|
|
72
|
+
await runPrerender(options, null);
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
console.error(err);
|
|
76
|
+
(0, logHintForCjsEsmError_js_1.logHintForCjsEsmError)(err);
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
64
79
|
}
|
|
65
|
-
exports.
|
|
80
|
+
exports.runPrerenderFromAutoFullBuild = runPrerenderFromAutoFullBuild;
|
|
66
81
|
async function runPrerender(options, manuallyTriggered) {
|
|
67
82
|
checkOutdatedOptions(options);
|
|
83
|
+
(0, getHook_js_1.setIsPrerenderering)();
|
|
68
84
|
const logLevel = !!options.onPagePrerender ? 'warn' : 'info';
|
|
69
85
|
if (logLevel === 'info') {
|
|
70
86
|
console.log(`${picocolors_1.default.cyan(`vike v${utils_js_1.projectInfo.projectVersion}`)} ${picocolors_1.default.green('pre-rendering HTML...')}`);
|
|
@@ -700,7 +716,7 @@ function isSameUrl(url1, url2) {
|
|
|
700
716
|
function normalizeUrl(url) {
|
|
701
717
|
return '/' + url.split('/').filter(Boolean).join('/');
|
|
702
718
|
}
|
|
703
|
-
function
|
|
719
|
+
function runPrerender_forceExit() {
|
|
704
720
|
// Force exit; known situations where pre-rendering is hanging:
|
|
705
721
|
// - https://github.com/vikejs/vike/discussions/774#discussioncomment-5584551
|
|
706
722
|
// - https://github.com/vikejs/vike/issues/807#issuecomment-1519010902
|
|
@@ -710,7 +726,7 @@ function prerenderForceExit() {
|
|
|
710
726
|
assertInfo(false, "Pre-rendering was forced exit. (Didn't gracefully exit because the event queue isn't empty. This is usally fine, see ...", { onlyOnce: false })
|
|
711
727
|
*/
|
|
712
728
|
}
|
|
713
|
-
exports.
|
|
729
|
+
exports.runPrerender_forceExit = runPrerender_forceExit;
|
|
714
730
|
function assertIsNotAbort(err, urlOr404) {
|
|
715
731
|
if (!(0, abort_js_1.isAbortError)(err))
|
|
716
732
|
return;
|
|
@@ -13,10 +13,6 @@ exports.setImportBuildGetters = setImportBuildGetters;
|
|
|
13
13
|
async function loadImportBuild(outDir) {
|
|
14
14
|
if (!buildGetters.getters) {
|
|
15
15
|
await (0, loadServerBuild_js_1.loadServerBuild)(outDir);
|
|
16
|
-
// Await dist/server/importBuild.cjs
|
|
17
|
-
await (0, utils_js_1.autoRetry)(() => {
|
|
18
|
-
(0, utils_js_1.assert)(buildGetters.getters);
|
|
19
|
-
}, 2000);
|
|
20
16
|
(0, utils_js_1.assert)(buildGetters.getters);
|
|
21
17
|
}
|
|
22
18
|
const [pageFiles, clientManifest, pluginManifest] = await Promise.all([
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errror_cannot_use_import_outside_of_module = void 0;
|
|
4
|
+
// https://github.com/vikejs/vike/discussions/571#discussioncomment-6137618
|
|
5
|
+
exports.errror_cannot_use_import_outside_of_module = `
|
|
6
|
+
import{useRunner as e}from"react-runner";export*from"react-runner";import t,{useState as r,useEffect as n,Fragment as a,useCallback as l,useRef as o,useMemo as c,createContext as s,useContext as i}from"react";import p from"react-simple-code-editor";import m,{Prism as u}from"prism-react-renderer";function g(){return g=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},g.apply(this,arguments)}function y(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)t.indexOf(r=l[n])>=0||(a[r]=e[r]);return a}const d=["initialCode","transformCode"],h=t=>{let{initialCode:a="",transformCode:l}=t,o=y(t,d);const[c,s]=r(a),{element:i,error:p}=e(g({code:l?l(c):c},o));return n(()=>{s(a)},[a]),{element:i,error:p,code:c,onChange:s}},f={plain:{color:"#ffffff",backgroundColor:"#282c34"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#b2b2b2"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string","attr-value"],style:{color:"#8dc891"}},{types:["punctuation"],style:{color:"#88c6Be"}},{types:["selector","char","builtin","inserted"],style:{color:"#d8dee9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:"#c5a5c5"}},{types:["atrule","class-name"],style:{color:"#fac863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"700"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["namespace"],style:{opacity:.7}}]},b=["children","language","theme","Prism","padding","noWrapper","noWrap","className","style"],C=e=>{let{children:r,language:n="jsx",theme:l=f,Prism:o=u,padding:c=10,noWrapper:s,noWrap:i,className:p,style:d}=e,h=y(e,b);/*#__PURE__*/return t.createElement(m,{code:r||"",language:n,Prism:o,theme:l},({className:e,style:r,tokens:n,getLineProps:l,getTokenProps:o})=>{const m=n.map((e,r)=>/*#__PURE__*/t.createElement(a,{key:r},/*#__PURE__*/t.createElement("span",l({line:e}),e.map((e,r)=>/*#__PURE__*/t.createElement("span",o({token:e,key:r})))),"\\n"));return s?m:/*#__PURE__*/t.createElement("pre",g({className:p?:e,style:g({},r,{margin:0,padding:c,whiteSpace:i?"pre":"pre-wrap"},d)},h),m)})},v=["defaultValue","value","language","theme","Prism","highlight","padding","onChange"],E=e=>{let{defaultValue:n,value:a,language:s="jsx",theme:i=f,Prism:m,highlight:u,padding:d=10,onChange:h}=e,b=y(e,v);const[E,P]=r(n||""),k=void 0!==a,W=l(e=>/*#__PURE__*/t.createElement(C,{language:s,theme:i,Prism:m,noWrapper:!0},e),[s,i,m]),j=o(h);j.current=h;const x=l(e=>{k||P(e),null==j.current||j.current(e)},[k]),O=c(()=>g({},i.plain,b.style),[i.plain,b.style]);/*#__PURE__*/return t.createElement(p,g({},b,{highlight:u||W,padding:d,value:k?a:E,onValueChange:x,style:O}))},P=s({}),k=()=>i(P),W=["children","code","language","theme"],j=e=>{let{children:r,code:n="",language:a="jsx",theme:l=f}=e,o=y(e,W);const{element:c,error:s,code:i,onChange:p}=h(g({initialCode:n},o));/*#__PURE__*/return t.createElement(P.Provider,{value:{element:c,error:s,code:i,onChange:p,language:a,theme:l}},r)},x=e=>{const{code:r,language:n,theme:a,onChange:l}=k();/*#__PURE__*/return t.createElement(E,g({value:r,language:n,theme:a,onChange:l},e))},O=["Component"],w=e=>{let{Component:r="div"}=e,n=y(e,O);const{element:a}=k();/*#__PURE__*/return t.createElement(r,n,a)},N=e=>{const{error:r}=k();return r?/*#__PURE__*/t.createElement("pre",e,r):/*#__PURE__*/t.createElement(t.Fragment,null)};export{C as CodeBlock,E as CodeEditor,P as LiveContext,x as LiveEditor,N as LiveError,w as LivePreview,j as LiveProvider,f as defaultTheme,k as useLiveContext,h as useLiveRunner};
|
|
7
|
+
^^^^^^
|
|
8
|
+
|
|
9
|
+
SyntaxError: Cannot use import statement outside a module
|
|
10
|
+
at Object.compileFunction (node:vm:360:18)
|
|
11
|
+
at wrapSafe (node:internal/modules/cjs/loader:1084:15)
|
|
12
|
+
at Module._compile (node:internal/modules/cjs/loader:1119:27)
|
|
13
|
+
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
|
|
14
|
+
at Module.load (node:internal/modules/cjs/loader:1033:32)
|
|
15
|
+
at Function.Module._load (node:internal/modules/cjs/loader:868:12)
|
|
16
|
+
at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:169:29)
|
|
17
|
+
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
|
|
18
|
+
at processTicksAndRejections (node:internal/process/task_queues:96:5)
|
|
19
|
+
at async Promise.all (index 0)
|
|
20
|
+
`;
|