- 添加项目图标文件(app-icon.png、各平台图标) - 配置开发环境文件(.env、.nvmrc、.npmrc) - 添加静态资源文件(背景图片、字体、音频) - 初始化Tauri后端结构(build.rs、main.rs、模块文件) - 配置前端项目结构(TypeScript、Vue组件、样式) - 添加Node.js API服务基础结构 - 配置构建和开发工具(vite、prettier、gitignore)
57 lines
2.1 KiB
TypeScript
57 lines
2.1 KiB
TypeScript
import fs from 'fs';
|
|
import path from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
// 获取项目根目录和 src-tauri 目录路径
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
const projectRoot = path.join(__dirname, '..', '..');
|
|
const tauriConfigPath = path.join(projectRoot, 'src-tauri', 'tauri.conf.json');
|
|
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
|
|
try {
|
|
// 读取 tauri.conf.json
|
|
const tauriConfigRaw: string = fs.readFileSync(tauriConfigPath, 'utf8');
|
|
const tauriConfig: { version: string } = JSON.parse(tauriConfigRaw);
|
|
const tauriVersion: string = tauriConfig.version;
|
|
|
|
console.log(`从 tauri.conf.json 读取的版本号: ${tauriVersion}`);
|
|
|
|
// 计算新的版本号(tauri版本号尾号加1)
|
|
const newPackageVersion: string = incrementVersion(tauriVersion);
|
|
|
|
// 读取 package.json
|
|
const packageJsonRaw: string = fs.readFileSync(packageJsonPath, 'utf8');
|
|
const packageJson: { version: string } = JSON.parse(packageJsonRaw);
|
|
// 更新 package.json 中的版本号
|
|
packageJson.version = newPackageVersion;
|
|
tauriConfig.version = newPackageVersion;
|
|
|
|
// 写入更新后的 package.json
|
|
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf8');
|
|
fs.writeFileSync(tauriConfigPath, JSON.stringify(tauriConfig, null, 2), 'utf8');
|
|
|
|
console.log(`已更新 package.json 和 tauri.conf.json 的版本号为: ${newPackageVersion}`);
|
|
} catch (error: any) {
|
|
console.error('更新版本号时发生错误:', error);
|
|
process.exit(1);
|
|
}
|
|
|
|
/**
|
|
* 将版本号的最后一个数字部分加1
|
|
* @param version - 原始版本号,如 "1.0.10"
|
|
* @returns 更新后的版本号,如 "1.0.11"
|
|
*/
|
|
function incrementVersion(version: string): string {
|
|
const parts: string[] = version.split('.');
|
|
if (parts.length > 0) {
|
|
const lastPartIndex = parts.length - 1;
|
|
const lastPart = Number(parts[lastPartIndex]);
|
|
if (!isNaN(lastPart)) {
|
|
parts[lastPartIndex] = (lastPart + 1).toString();
|
|
return parts.join('.');
|
|
}
|
|
}
|
|
return version; // 如果无法解析版本号,则返回原版本号
|
|
}
|