env-manage-plugin
Version:
A dev env plugin that integrates an Express server with request proxying capabilities.
36 lines (35 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initConfig = void 0;
const tslib_1 = require("tslib");
const fs = tslib_1.__importStar(require("fs"));
const path_1 = require("path");
const Utils_js_1 = tslib_1.__importDefault(require("./Utils.js"));
/**
* 初始化配置文件
* @param {boolean} force - 是否强制覆盖
*/
const initConfig = async (force = false) => {
const isESModule = await Utils_js_1.default.isESModuleByPackageJson();
const FILE_EXT = isESModule ? ".mjs" : ".js";
const CONFIG_FILE_NAME = `envm.config${FILE_EXT}`;
// 模板文件路径
const TEMPLATE_PATH = (0, path_1.join)(__dirname, `..`, `templates`, `${CONFIG_FILE_NAME}`);
// 目标文件路径
const TARGET_PATH = (0, path_1.join)(process.cwd(), CONFIG_FILE_NAME);
try {
// 检查目标文件是否存在
const isTargetExist = fs.existsSync(TARGET_PATH);
if (isTargetExist && !force) {
console.log(`${CONFIG_FILE_NAME} already exists. Use --force to overwrite.`);
return;
}
// 拷贝模板文件到目标路径
fs.copyFileSync(TEMPLATE_PATH, TARGET_PATH);
console.log(`${CONFIG_FILE_NAME} ${isTargetExist ? "overwritten" : "created"} successfully!`);
}
catch (err) {
console.error("Failed to initialize envm.config.js:", err);
}
};
exports.initConfig = initConfig;