ssr
Version:
cli for react/vue2/vue3 ssr deploy on serverless or tradtional web server
52 lines • 1.96 kB
JavaScript
import { promises } from 'fs';
import { resolve } from 'path';
import { mkdir } from 'shelljs';
import { cleanOutDir } from './clean';
export const handleEnv = async (argv) => {
var _a, _b;
await cleanOutDir(argv);
process.env.BUILD_TOOL = argv.tool || 'webpack';
const { loadConfig, getCwd, accessFile } = await import('ssr-common-utils');
const cwd = getCwd();
if (!(await accessFile(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') {
mkdir('-p', resolve(cwd, './build'));
await promises.writeFile(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';
}
};
//# sourceMappingURL=preprocess.js.map