From c251412e07fd54771271a03632a7a3f33a2832ca Mon Sep 17 00:00:00 2001 From: Akirami <66513481+A-kirami@users.noreply.github.com> Date: Thu, 5 Feb 2026 19:00:52 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=BC=95?= =?UTF-8?q?=E6=93=8E=E6=8F=8F=E8=BF=B0=E6=96=87=E4=BB=B6=E5=92=8C=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=87=AA=E5=8A=A8=E5=90=8C=E6=AD=A5=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 webgal-engine.json 引擎描述文件,包含引擎元数据 - 新增 update-engine-version.js 脚本,自动同步版本号 - 修改构建流程,在构建前自动更新引擎描述文件版本 - 为第三方工具提供标准化的引擎识别和版本管理支持 --- packages/webgal/package.json | 2 +- packages/webgal/public/webgal-engine.json | 25 +++++++++++ .../webgal/scripts/update-engine-version.js | 42 +++++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 packages/webgal/public/webgal-engine.json create mode 100644 packages/webgal/scripts/update-engine-version.js diff --git a/packages/webgal/package.json b/packages/webgal/package.json index 397f3d5d9..a64aef89b 100644 --- a/packages/webgal/package.json +++ b/packages/webgal/package.json @@ -3,7 +3,7 @@ "version": "4.5.17", "scripts": { "dev": "vite --host --port 3000", - "build": "cross-env NODE_ENV=production tsc && vite build --base=./", + "build": "node scripts/update-engine-version.js && cross-env NODE_ENV=production tsc && vite build --base=./", "preview": "vite preview", "lint": "eslint src/** --fix", "prepublishOnly": "npm run build" diff --git a/packages/webgal/public/webgal-engine.json b/packages/webgal/public/webgal-engine.json new file mode 100644 index 000000000..72f4e33eb --- /dev/null +++ b/packages/webgal/public/webgal-engine.json @@ -0,0 +1,25 @@ +{ + "name": "WebGAL", + "version": "4.5.17", + "type": "official", + "webgalVersion": "4.5.17", + "description": "界面美观、功能强大、易于开发的全新网页端视觉小说引擎", + "descriptions": { + "en": "A brand new web Visual Novel engine with a beautiful interface, powerful features, and easy development", + "ja": "美しいインターフェース、強力な機能、簡単な開発を備えた全く新しいウェブビジュアルノベルエンジン" + }, + "author": { + "name": "Mahiru", + "email": "Mahiru_@outlook.com" + }, + "license": "MPL-2.0", + "icon": "icons/icon-512.png", + "urls": { + "homepage": "https://openwebgal.com", + "repository": "https://github.com/OpenWebGAL/WebGAL", + "bugs": "https://github.com/OpenWebGAL/WebGAL/issues", + "documentation": "https://docs.openwebgal.com", + "demo": "https://demo.openwebgal.com", + "discord": "https://discord.gg/kPrQkJttJy" + } +} diff --git a/packages/webgal/scripts/update-engine-version.js b/packages/webgal/scripts/update-engine-version.js new file mode 100644 index 000000000..bb2822c5b --- /dev/null +++ b/packages/webgal/scripts/update-engine-version.js @@ -0,0 +1,42 @@ +#!/usr/bin/env node + +/** + * 自动更新 webgal-engine.json 中的版本号 + * 从 package.json 读取版本号并同步到 webgal-engine.json + */ + +const fs = require('fs'); +const path = require('path'); + +// 文件路径 +const packageJsonPath = path.resolve(__dirname, '../package.json'); +const engineJsonPath = path.resolve(__dirname, '../public/webgal-engine.json'); + +try { + // 读取 package.json + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')); + const version = packageJson.version; + + if (!version) { + console.error('❌ 错误: package.json 中未找到版本号'); + process.exit(1); + } + + // 读取 webgal-engine.json + const engineJson = JSON.parse(fs.readFileSync(engineJsonPath, 'utf-8')); + + // 更新版本号 + const oldVersion = engineJson.version; + engineJson.version = version; + engineJson.webgalVersion = version; + + // 写回文件(保持格式化) + fs.writeFileSync(engineJsonPath, JSON.stringify(engineJson, null, 2) + '\n', 'utf-8'); + + console.log('✅ 成功更新引擎描述文件版本号'); + console.log(` ${oldVersion} → ${version}`); + console.log(` 文件: ${path.relative(process.cwd(), engineJsonPath)}`); +} catch (error) { + console.error('❌ 更新版本号失败:', error.message); + process.exit(1); +} From 42590f0f403ebdf611f344762c8dc594e1e2dc59 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Sat, 28 Mar 2026 11:55:49 +0800 Subject: [PATCH 2/3] fix: use kebab-case for engine name per RFC #762 --- packages/webgal/public/webgal-engine.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/webgal/public/webgal-engine.json b/packages/webgal/public/webgal-engine.json index 72f4e33eb..0e4a7487e 100644 --- a/packages/webgal/public/webgal-engine.json +++ b/packages/webgal/public/webgal-engine.json @@ -1,5 +1,5 @@ { - "name": "WebGAL", + "name": "webgal", "version": "4.5.17", "type": "official", "webgalVersion": "4.5.17", From b0acd14915d3fa6565cc1c6b7e4559f8f64cc8c5 Mon Sep 17 00:00:00 2001 From: Mahiru Date: Sat, 28 Mar 2026 12:01:06 +0800 Subject: [PATCH 3/3] feat: complete all optional fields in webgal-engine.json per RFC #762 --- packages/webgal/public/webgal-engine.json | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/webgal/public/webgal-engine.json b/packages/webgal/public/webgal-engine.json index 0e4a7487e..157a24f86 100644 --- a/packages/webgal/public/webgal-engine.json +++ b/packages/webgal/public/webgal-engine.json @@ -6,7 +6,9 @@ "description": "界面美观、功能强大、易于开发的全新网页端视觉小说引擎", "descriptions": { "en": "A brand new web Visual Novel engine with a beautiful interface, powerful features, and easy development", - "ja": "美しいインターフェース、強力な機能、簡単な開発を備えた全く新しいウェブビジュアルノベルエンジン" + "ja": "美しいインターフェース、強力な機能、簡単な開発を備えた全く新しいウェブビジュアルノベルエンジン", + "ko": "시각적으로 매력적이며, 기능이 풍부하고, 쉽게 개발할 수 있는 새로운 웹 기반 비주얼 노벨 엔진", + "fr": "Un moteur de visual novel basé sur le web, attrayant visuellement, riche en fonctionnalités et facile à développer" }, "author": { "name": "Mahiru", @@ -14,6 +16,24 @@ }, "license": "MPL-2.0", "icon": "icons/icon-512.png", + "readme": "README.md", + "readmes": { + "en": "README_EN.md", + "ja": "README_JP.md", + "ko": "README_KO.md", + "fr": "README_FR.md" + }, + "keywords": [ + "visual-novel", + "galgame", + "webgal", + "game-engine", + "web", + "official", + "original" + ], + "live2dSupport": false, + "spineSupport": false, "urls": { "homepage": "https://openwebgal.com", "repository": "https://github.com/OpenWebGAL/WebGAL",