From c0bd0b23ee40d6f3fea3a42c11c256622ab3e45a Mon Sep 17 00:00:00 2001
From: Jacob <hlnie@tohours.com>
Date: 星期二, 13 十月 2026 16:23:38 +0800
Subject: [PATCH] chore: gitignore 忽略 project.private.config.json 文件

---
 scripts/publish.js |   51 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/scripts/publish.js b/scripts/publish.js
index eca6706..ddb06f8 100644
--- a/scripts/publish.js
+++ b/scripts/publish.js
@@ -2,17 +2,19 @@
  * 鍛戒护琛屽彂琛岋紙涓嶄笂浼狅級锛� 鑷姩鐢ㄥ井淇″紑鍙戣�呭伐鍏锋墦寮�浜х墿
  *
  * 鐢ㄦ硶锛�
- *   node scripts/publish.js sit           # 鍙戣 SIT 鐗堟湰骞舵墦寮�寰俊寮�鍙戣�呭伐鍏�
- *   node scripts/publish.js prod          # 鍙戣 PROD 鐗堟湰骞舵墦寮�寰俊寮�鍙戣�呭伐鍏�
- *   node scripts/publish.js sit --sync    # 鍚屾椂鎶� appid 鍚屾杩� manifest.json锛堥粯璁や笉鍔� manifest锛�
- *   node scripts/publish.js sit --no-open # 鍙紪璇戯紝涓嶆墦寮�寰俊寮�鍙戣�呭伐鍏�
- *   node scripts/publish.js sit --dry-run # 鍙墦鍗板皢瑕佹墽琛岀殑鍛戒护
+ *   node scripts/publish.js sit            # 鍙戣 SIT 鐗堟湰骞舵墦寮�寰俊寮�鍙戣�呭伐鍏�
+ *   node scripts/publish.js prod           # 鍙戣 PROD 鐗堟湰骞舵墦寮�寰俊寮�鍙戣�呭伐鍏�
+ *   node scripts/publish.js sit --no-gen   # 涓嶆敼 manifest.json锛堣姹傚畠宸插瓨鍦級
+ *   node scripts/publish.js sit --no-open  # 鍙紪璇戯紝涓嶆墦寮�寰俊寮�鍙戣�呭伐鍏�
+ *   node scripts/publish.js sit --dry-run  # 鍙墦鍗板皢瑕佹墽琛岀殑鍛戒护
  *
- * 鐜鍊肩粺涓�鍙栬嚜 config/env/<env>.js锛堝敮涓�鏁版嵁婧愶級锛屾帴鍙e湴鍧�绛夎繍琛屾椂鍙傛暟鐢卞寘鍐呰嚜鍔ㄨ瘑鍒紝
- * 鏈剼鏈彧璐熻矗璁┾�滅紪璇戞湡 appid鈥濅笌鐩爣鐜涓�鑷� 鈥斺�� 寰俊寮�鍙戣�呭伐鍏锋墦寮�鐨勪骇鐗� appid锛�
- * 灏辨槸 unpackage/dist/build/mp-weixin/project.config.json 閲岀殑 appid锛堟瀯寤烘椂鐢� manifest 鐢熸垚锛夈��
+ * 娴佺▼锛氫粠 manifest.json.demo 鐢熸垚 manifest.json锛堟寜鐩爣鐜娉ㄥ叆 appid锛夆啋 鍙戣缂栬瘧 鈫�
+ *       鏍℃浜х墿 appid 鈫� 鐢ㄥ井淇″紑鍙戣�呭伐鍏锋墦寮�浜х墿
  *
- * 榛樿绛栫暐锛氫笉鍔� manifest.json锛堜粨搴撲繚鎸佸熀绾匡紝git 鏃犲櫔闊筹級锛屽彧鍥炲啓鏈窡韪殑浜х墿鏂囦欢銆�
+ * 鐜鍊肩粺涓�鍙栬嚜 config/env/<env>.js锛堝敮涓�鏁版嵁婧愶級锛屾帴鍙e湴鍧�绛夎繍琛屾椂鍙傛暟鐢卞寘鍐呮寜 appid 鑷姩璇嗗埆锛�
+ * manifest.json 鏄敓鎴愮墿锛堝凡 .gitignore锛夛紝鍥犳 git 姘歌繙娌℃湁鐜鍣煶銆�
+ * 寰俊寮�鍙戣�呭伐鍏锋墦寮�鐨勪骇鐗� appid = unpackage/dist/build/mp-weixin/project.config.json 鐨� appid
+ * 锛堟瀯寤烘椂鐢� manifest 鐢熸垚锛岃繖閲屽啀鍏滃簳鏍℃涓�娆★級銆�
  *
  * 澶栭儴宸ュ叿锛圚BuilderX cli.exe銆佸井淇″紑鍙戣�呭伐鍏� cli.bat锛変笉鍐欐缁濆璺緞锛屾寜椤哄簭鑷姩鏌ユ壘锛�
  *   1) 鐜鍙橀噺 HBUILDERX_CLI / WX_DEVTOOLS_CLI
@@ -24,6 +26,7 @@
 const { spawnSync } = require('child_process');
 const fs = require('fs');
 const path = require('path');
+const manifest = require('./manifest');
 
 const ROOT = path.resolve(__dirname, '..');
 const ENV_DIR = path.join(ROOT, 'config', 'env');
@@ -189,11 +192,11 @@
 
 const argv = process.argv.slice(2);
 const envName = (argv.find(function(a) { return a.charAt(0) !== '-'; }) || '').trim();
-const syncManifest = argv.indexOf('--sync') > -1;
+const noGen = argv.indexOf('--no-gen') > -1;
 const noOpen = argv.indexOf('--no-open') > -1;
 const dryRun = argv.indexOf('--dry-run') > -1;
 
-const OWN_ARGS = ['--sync', '--no-open', '--dry-run'];
+const OWN_ARGS = ['--no-gen', '--no-open', '--dry-run'];
 // 閫忎紶缁� HBuilderX cli 鐨勯澶栧弬鏁帮紙淇濈暀 "鍙傛暟 鍊�" 鎴愬鍏崇郴锛�
 const passthrough = [];
 let envNameSkipped = false;
@@ -243,19 +246,27 @@
 	putOnPath(hx.file);
 	if (wx) putOnPath(wx.file);
 
+	// 鐩爣缂栬瘧浜х墿鐢� manifest.json 鍐冲畾锛岃�� manifest.json 鏄敓鎴愮墿
+	if (noGen && !fs.existsSync(manifest.TARGET)) {
+		fail('--no-gen 闇�瑕� manifest.json 宸插瓨鍦紝璇峰厛杩愯锛歯ode scripts/set-env.js ' + envName);
+	}
+
 	console.log('[release] 鐜         : ' + envName + '锛�' + env.ENV_NAME + '锛�');
 	console.log('[release] 灏忕▼搴廰ppid  : ' + env.APPID);
 	console.log('[release] 鎺ュ彛鍦板潃     : ' + env.HTTP_REQUEST_URL);
 	console.log('[release] 浜х墿鐩綍     : ' + DIST_DIR);
 	console.log('[release] HBuilderX    : ' + hx.file + '锛�' + hx.source + '锛�');
 	if (wx) console.log('[release] 寮�鍙戣�呭伐鍏�   : ' + wx.file + '锛�' + wx.source + '锛�');
-	console.log('[release] manifest.json: ' + (syncManifest ? '鍚屾涓� ' + envName + ' 鐨� appid锛堜細浜х敓 git 鏀瑰姩锛�' : '淇濇寔涓嶅姩锛堜粨搴撶淮鎸佸熀绾匡紝鏃� git 鏀瑰姩锛�'));
+	console.log('[release] manifest.json: ' + (noGen
+		? '涓嶆敼鍔紙--no-gen锛�'
+		: '鐢� manifest.json.demo 鐢熸垚锛坅ppid ' + env.APPID + '锛岀敓鎴愮墿涓嶅叆搴擄級'));
 
 	const cliArgs = ['publish', '--platform', 'mp-weixin', '--project', ROOT].concat(passthrough);
-	// 璺緞鍚┖鏍�/涓枃锛屼氦缁� cmd 瑙f瀽鏇寸ǔ
-	const openCmd = '"' + wx.file + '" open --project "' + DIST_DIR + '"';
+	// 璺緞鍚┖鏍�/涓枃锛屼氦缁� cmd 瑙f瀽鏇寸ǔ锛�--no-open 鏃舵病鏈夊井淇″紑鍙戣�呭伐鍏凤紝涓嶆嫾杩欐潯鍛戒护锛�
+	const openCmd = wx ? '"' + wx.file + '" open --project "' + DIST_DIR + '"' : '';
 
 	if (dryRun) {
+		console.log('[release] 0) 鐢熸垚: manifest.json 鈫� manifest.json.demo' + (noGen ? '锛堝凡鎸囧畾 --no-gen锛岃烦杩囷級' : ''));
 		console.log('[release] 1) 缂栬瘧: "' + hx.file + '" ' + cliArgs.join(' '));
 		console.log('[release] 2) 浜х墿 appid 鍥炲啓涓� ' + env.APPID + ' 鈫� ' + DIST_CONFIG);
 		if (!noOpen) console.log('[release] 3) 鎵撳紑: ' + openCmd);
@@ -263,11 +274,11 @@
 		return;
 	}
 
-	// 1) 鍙�夛細鍚屾 manifest.json锛堜細璁╄璺熻釜鏂囦欢浜х敓鏀瑰姩锛岄粯璁や笉鍋氾級
-	if (syncManifest) {
-		console.log('[release] 鍚屾 manifest.json 鐨� appid鈥�');
-		const sync = spawnSync(process.execPath, [path.join(__dirname, 'set-env.js'), envName], { cwd: ROOT, stdio: 'inherit' });
-		if (sync.status !== 0) fail('鍚屾 manifest.json 澶辫触');
+	// 1) 鐢熸垚 manifest.json锛圚BuilderX 鐨勭紪璇戣緭鍏ワ紝妯℃澘锛歮anifest.json.demo锛�
+	if (noGen) {
+		console.log('[release] 璺宠繃 manifest.json 鐢熸垚锛�--no-gen锛�');
+	} else {
+		manifest.generate(env);
 	}
 
 	// 2) 鍙戣缂栬瘧锛堜骇鐗╋細unpackage/dist/build/mp-weixin锛�
@@ -276,7 +287,7 @@
 	if (build.error) fail('璋冪敤 cli.exe 澶辫触锛�' + build.error.message);
 	if (build.status !== 0) fail('cli.exe 閫�鍑虹爜 ' + build.status + '锛岃鏌ョ湅 HBuilderX 鎺у埗鍙拌緭鍑�');
 
-	// 3) 鏍℃浜х墿 appid锛�--sync 鏃堕�氬父宸蹭竴鑷达紝杩欓噷鍏滃簳淇濊瘉锛�
+	// 3) 鏍℃浜х墿 appid锛堟甯稿簲涓� manifest 涓�鑷达紝杩欓噷鍏滃簳淇濊瘉锛�
 	if (!fs.existsSync(DIST_CONFIG)) {
 		fail('鍙戣浜х墿缂哄皯 project.config.json锛�' + DIST_CONFIG + '\n  璇风‘璁� HBuilderX 缂栬瘧鏄惁鎴愬姛');
 	}

--
Gitblit v1.4.0