Files
tauri-meeting/vite/scripts/update-version.ts
O昵称重要吗O 78af453fe1 chore: 初始化项目基础结构和资源文件
- 添加项目图标文件(app-icon.png、各平台图标)
- 配置开发环境文件(.env、.nvmrc、.npmrc)
- 添加静态资源文件(背景图片、字体、音频)
- 初始化Tauri后端结构(build.rs、main.rs、模块文件)
- 配置前端项目结构(TypeScript、Vue组件、样式)
- 添加Node.js API服务基础结构
- 配置构建和开发工具(vite、prettier、gitignore)
2026-03-13 10:03:05 +08:00

57 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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; // 如果无法解析版本号,则返回原版本号
}