若存在confuse命令则进行混淆
This commit is contained in:
parent
0b521a16c6
commit
08c093f3fc
|
|
@ -112,11 +112,13 @@ function generateDockerfile(projectName, options) {
|
|||
const allProjects = [projectName];
|
||||
allProjects.push(...extra);
|
||||
console.log("\n\u{1F50D} \u68C0\u67E5\u9879\u76EE\u4F9D\u8D56\u5173\u7CFB...");
|
||||
const projectPackageMap = {};
|
||||
for (const project of allProjects) {
|
||||
console.log(`\u68C0\u67E5\u9879\u76EE: ${project}`);
|
||||
const packageJsonPath = path.join(pwd, project, "package.json");
|
||||
if (fs.existsSync(packageJsonPath)) {
|
||||
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
||||
projectPackageMap[project] = packageJson;
|
||||
const dependencies = packageJson.dependencies || {};
|
||||
for (const dep in dependencies) {
|
||||
if (dependencies[dep].startsWith("file:../")) {
|
||||
|
|
@ -160,8 +162,19 @@ WORKDIR /app/${project}
|
|||
RUN npm install
|
||||
`;
|
||||
if (project === projectName) {
|
||||
dockerfile += `RUN npm run make:domain && npm run build
|
||||
const pkjson = projectPackageMap[project];
|
||||
if (pkjson.scripts && pkjson.scripts["make:domain"]) {
|
||||
dockerfile += `RUN npm run make:domain
|
||||
`;
|
||||
}
|
||||
if (pkjson.scripts && pkjson.scripts["build"]) {
|
||||
dockerfile += `RUN npm run build
|
||||
`;
|
||||
}
|
||||
if (pkjson.scripts && pkjson.scripts["confuse"]) {
|
||||
dockerfile += `RUN npm run confuse
|
||||
`;
|
||||
}
|
||||
} else {
|
||||
dockerfile += `RUN npm run build || true
|
||||
`;
|
||||
|
|
|
|||
14
src/cli.ts
14
src/cli.ts
|
|
@ -150,11 +150,14 @@ function generateDockerfile(
|
|||
|
||||
console.log("\n🔍 检查项目依赖关系...");
|
||||
// 需要遍历所有项目的package.json确定file:../这种,然后确保没有遗漏
|
||||
const projectPackageMap: { [key: string]: any } = {};
|
||||
|
||||
for (const project of allProjects) {
|
||||
console.log(`检查项目: ${project}`);
|
||||
const packageJsonPath = path.join(pwd, project, "package.json");
|
||||
if (fs.existsSync(packageJsonPath)) {
|
||||
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
||||
projectPackageMap[project] = packageJson;
|
||||
const dependencies = packageJson.dependencies || {};
|
||||
for (const dep in dependencies) {
|
||||
if (dependencies[dep].startsWith("file:../")) {
|
||||
|
|
@ -204,7 +207,16 @@ RUN npm install
|
|||
|
||||
// 主项目需要执行 make:domain 和 build
|
||||
if (project === projectName) {
|
||||
dockerfile += `RUN npm run make:domain && npm run build\n`;
|
||||
const pkjson = projectPackageMap[project];
|
||||
if (pkjson.scripts && pkjson.scripts["make:domain"]) {
|
||||
dockerfile += `RUN npm run make:domain\n`;
|
||||
}
|
||||
if (pkjson.scripts && pkjson.scripts["build"]) {
|
||||
dockerfile += `RUN npm run build\n`;
|
||||
}
|
||||
if (pkjson.scripts && pkjson.scripts["confuse"]) {
|
||||
dockerfile += `RUN npm run confuse\n`;
|
||||
}
|
||||
} else {
|
||||
// 其他项目可能只需要 build,或者根据实际情况调整
|
||||
dockerfile += `RUN npm run build || true\n`;
|
||||
|
|
|
|||
Loading…
Reference in New Issue