From 52289d7c0d49f080d6918e00ceb4f4b495c7462a Mon Sep 17 00:00:00 2001 From: dragooncjw <289056872@qq.com> Date: Thu, 27 Feb 2025 21:46:01 +0800 Subject: [PATCH] fix: create-app write latest version to package.json --- apps/create-app/src/index.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/apps/create-app/src/index.ts b/apps/create-app/src/index.ts index b9382a30..50db0cd0 100644 --- a/apps/create-app/src/index.ts +++ b/apps/create-app/src/index.ts @@ -12,6 +12,14 @@ const program = new Command(); const args = process.argv.slice(2); +const updateFlowGramVersions = (dependencies: any[], latestVersion: string) => { + for(const packageName in dependencies) { + if (packageName.startsWith('@flowgram.ai')) { + dependencies[packageName] = latestVersion + } + } +} + program .version('1.0.0') .description('Create a demo project') @@ -82,6 +90,25 @@ program } }; const res = await downloadPackage(); + + // 下载完成后,执行操作,替换 package.json 文件内部的所有 @flowgram.ai 包版本为 latest + const pkgJsonPath = path.join(targetDir, folderName, 'package.json'); + const data = fs.readFileSync(pkgJsonPath, 'utf-8'); + + const packageLatestVersion = execSync('npm view @flowgram.ai/core version --tag=latest latest').toString().trim(); + + const jsonData = JSON.parse(data); + if (jsonData.dependencies) { + updateFlowGramVersions(jsonData.dependencies, packageLatestVersion); + } + + if (jsonData.devDependencies) { + updateFlowGramVersions(jsonData.devDependencies, packageLatestVersion); + } + + // 修改完成后写入 + fs.writeFileSync(pkgJsonPath, JSON.stringify(jsonData, null, 2), 'utf-8'); + if (res) { // 克隆项目 console.log(chalk.green(`${folderName} Demo project created successfully!`));