buildBefore.ts 995 B

123456789101112131415161718192021222324252627
  1. import path from 'path';
  2. import fs from 'fs';
  3. const root = path.join(__dirname, '../../');
  4. const electronDistRoot = path.join(root, 'dist/electron');
  5. let yamlName = 'electron-builder.yaml';
  6. const sourcePath = fs.readFileSync(path.join(root, yamlName), 'utf-8');
  7. try {
  8. // 通过正则表达式匹配 appId 和 productName
  9. const appIdMatch = sourcePath.match(/appId:\s*['"]([^'"]+)['"]/);
  10. const productNameMatch = sourcePath.match(/productName:\s*['"]([^'"]+)['"]/);
  11. if (appIdMatch && productNameMatch) {
  12. const fileContent = `${appIdMatch[0]}\n${productNameMatch[0]}`;
  13. yamlName = 'env.yaml';
  14. const targetPath = path.join(electronDistRoot, yamlName);
  15. fs.writeFileSync(targetPath, fileContent, 'utf-8');
  16. console.log(`✨ write dist ${yamlName} successfully.`);
  17. } else {
  18. throw new Error('appId or productName not found');
  19. }
  20. } catch (e) {
  21. console.error(e);
  22. console.error(`请检查 ${yamlName} 是否存在,或者内容是否正确`);
  23. process.exit(1);
  24. }