forked from jwangkun/Prompt-Tools
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-update.cjs
More file actions
109 lines (92 loc) · 3.25 KB
/
test-update.cjs
File metadata and controls
109 lines (92 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/env node
/**
* Prompt Tools 更新功能测试脚本
* 用于验证自动更新配置是否正确
*/
const fs = require('fs');
const path = require('path');
console.log('🔍 检查 Prompt Tools 更新配置...\n');
// 检查必要文件是否存在
const requiredFiles = [
'.github/workflows/publish.yml',
'src-tauri/tauri.conf.json',
'src/updater.ts',
'src/styles/updater.css'
];
let allFilesExist = true;
requiredFiles.forEach(file => {
if (fs.existsSync(file)) {
console.log(`✅ ${file} - 存在`);
} else {
console.log(`❌ ${file} - 缺失`);
allFilesExist = false;
}
});
console.log('\n📋 检查配置内容...\n');
// 检查 Tauri 配置
try {
const tauriConfig = JSON.parse(fs.readFileSync('src-tauri/tauri.conf.json', 'utf8'));
if (tauriConfig.updater) {
console.log('✅ Tauri 更新器配置 - 已启用');
console.log(` - 活跃状态: ${tauriConfig.updater.active}`);
console.log(` - 端点数量: ${tauriConfig.updater.endpoints?.length || 0}`);
console.log(` - 对话框: ${tauriConfig.updater.dialog}`);
} else {
console.log('❌ Tauri 更新器配置 - 未找到');
allFilesExist = false;
}
} catch (error) {
console.log('❌ Tauri 配置文件读取失败:', error.message);
allFilesExist = false;
}
// 检查 package.json 依赖
try {
const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'));
const dependencies = { ...packageJson.dependencies, ...packageJson.devDependencies };
const requiredDeps = [
'@tauri-apps/plugin-updater',
'@tauri-apps/plugin-process'
];
requiredDeps.forEach(dep => {
if (dependencies[dep]) {
console.log(`✅ 依赖 ${dep} - 已安装 (${dependencies[dep]})`);
} else {
console.log(`❌ 依赖 ${dep} - 未安装`);
allFilesExist = false;
}
});
} catch (error) {
console.log('❌ package.json 读取失败:', error.message);
allFilesExist = false;
}
// 检查 Cargo.toml 依赖
try {
const cargoToml = fs.readFileSync('src-tauri/Cargo.toml', 'utf8');
if (cargoToml.includes('tauri-plugin-updater')) {
console.log('✅ Rust 更新器依赖 - 已配置');
} else {
console.log('❌ Rust 更新器依赖 - 未配置');
allFilesExist = false;
}
} catch (error) {
console.log('❌ Cargo.toml 读取失败:', error.message);
allFilesExist = false;
}
console.log('\n📝 需要配置的 GitHub Secrets:\n');
console.log(' UPGRADE_LINK_ACCESS_KEY - UpgradeLink 访问密钥');
console.log(' UPGRADE_LINK_TAURI_KEY - UpgradeLink 应用标识');
console.log(' TAURI_SIGNING_PRIVATE_KEY - Tauri 签名私钥 (可选)');
console.log(' TAURI_SIGNING_PRIVATE_KEY_PASSWORD - 签名密钥密码 (可选)');
console.log('\n🎯 下一步操作:\n');
console.log('1. 在 UpgradeLink 平台创建应用并获取密钥');
console.log('2. 在 GitHub 仓库设置中配置 Secrets');
console.log('3. 更新版本号并推送到 main 分支');
console.log('4. 观察 GitHub Actions 构建过程');
console.log('5. 测试应用的自动更新功能');
if (allFilesExist) {
console.log('\n🎉 配置检查完成!所有必要文件和配置都已就绪。');
process.exit(0);
} else {
console.log('\n⚠️ 配置检查发现问题,请修复后重新运行测试。');
process.exit(1);
}