ssr
Version:
cli for react/vue2/vue3 ssr deploy on serverless or tradtional web server
56 lines • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleEnv = void 0;
const fs_1 = require("fs");
const path_1 = require("path");
const shelljs_1 = require("shelljs");
const clean_1 = require("./clean");
const handleEnv = async (argv) => {
var _a, _b;
await (0, clean_1.cleanOutDir)(argv);
process.env.BUILD_TOOL = argv.tool || 'webpack';
const { loadConfig, getCwd, accessFile } = await Promise.resolve().then(() => require('ssr-common-utils'));
const cwd = getCwd();
if (!(await accessFile((0, path_1.resolve)(cwd, `./node_modules/ssr-${process.env.BUILD_TOOL}`)))) {
throw new Error(`ssr-${process.env.BUILD_TOOL} is not installed`);
}
if (process.env.BUILD_TOOL === 'vite') {
(0, shelljs_1.mkdir)('-p', (0, path_1.resolve)(cwd, './build'));
await fs_1.promises.writeFile((0, path_1.resolve)(cwd, './build/tag.json'), JSON.stringify({
BUILD_TOOL: process.env.BUILD_TOOL
}, null, 2));
}
const { https, isDev, clientPrefix } = loadConfig();
if (argv.ssg) {
process.env.SSG = '1';
}
if (isDev) {
process.env.GENERATE_SOURCEMAP = clientPrefix ? 'inline-cheap-module-source-map' : 'cheap-module-source-map';
}
if (argv.sourcemap) {
process.env.GENERATE_SOURCEMAP = argv.sourcemap;
}
process.env.CLIENT_SOURCEMAP = (_a = argv['client-sourcemap']) !== null && _a !== void 0 ? _a : process.env.GENERATE_SOURCEMAP;
process.env.SERVER_SOURCEMAP = (_b = argv['server-sourcemap']) !== null && _b !== void 0 ? _b : process.env.GENERATE_SOURCEMAP;
if (argv.analyze) {
process.env.GENERATE_ANALYSIS = '1';
}
if (argv.html) {
process.env.SPA = '1';
}
if (argv.legacy) {
process.env.LEGACY_VITE = '1';
}
if (argv.nominify) {
process.env.NOMINIFY = '1';
}
if (argv.viteMode) {
process.env.VITEMODE = argv.viteMode;
}
process.env.SERVER_PORT = argv.port ? String(argv.port) : '3000';
if (!!https && isDev) {
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
}
};
exports.handleEnv = handleEnv;
//# sourceMappingURL=preprocess.js.map