* feat(worker): 添加微信小游戏 Worker 支持和 Worker Generator CLI - 新增 @esengine/worker-generator 包,用于从 WorkerEntitySystem 生成 Worker 文件 - WorkerEntitySystem 添加 workerScriptPath 配置项,支持预编译 Worker 脚本 - CLI 工具支持 --wechat 模式,自动转换 ES6+ 为 ES5 语法 - 修复微信小游戏 Worker 消息格式差异(res 直接是数据,无需 .data) - 更新中英文文档,添加微信小游戏支持章节 * docs: 更新 changelog,添加 v2.3.1 说明并标注 v2.3.0 为废弃 * fix: 修复 CI 检查问题 - 移除 cli.ts 中未使用的 toKebabCase 函数 - 修复 generator.ts 中正则表达式的 ReDoS 风险(使用 [ \t] 替代 \s*) - 更新 changelog 版本号(2.3.1 -> 2.3.2) * docs: 移除未发布版本的 changelog 条目 * fix(worker-generator): 使用 TypeScript 编译器替代手写正则进行 ES5 转换 - 修复 CodeQL 检测的 ReDoS 安全问题 - 使用 ts.transpileModule 进行安全可靠的代码转换 - 移除所有可能导致回溯的正则表达式
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
/**
|
|
* @esengine/worker-generator
|
|
*
|
|
* CLI tool to generate Worker files from WorkerEntitySystem classes
|
|
* for WeChat Mini Game and other platforms that require pre-compiled Worker scripts.
|
|
*
|
|
* 从 WorkerEntitySystem 子类生成 Worker 文件的 CLI 工具
|
|
* 用于微信小游戏等需要预编译 Worker 脚本的平台
|
|
*
|
|
* @example
|
|
* ```bash
|
|
* # CLI 使用 | CLI Usage
|
|
* npx esengine-worker-gen --src ./src --out ./workers --wechat
|
|
*
|
|
* # 或者 | Or
|
|
* pnpm esengine-worker-gen -s ./src -o ./workers -w
|
|
* ```
|
|
*
|
|
* @example
|
|
* ```typescript
|
|
* // API 使用 | API Usage
|
|
* import { parseWorkerSystems, generateWorkerFiles } from '@esengine/worker-generator';
|
|
*
|
|
* const systems = parseWorkerSystems({
|
|
* srcDir: './src',
|
|
* outDir: './workers',
|
|
* wechat: true,
|
|
* });
|
|
*
|
|
* const result = generateWorkerFiles(systems, config);
|
|
* ```
|
|
*/
|
|
|
|
export { parseWorkerSystems } from './parser';
|
|
export { generateWorkerFiles } from './generator';
|
|
export type {
|
|
WorkerSystemInfo,
|
|
GeneratorConfig,
|
|
GenerationResult,
|
|
WorkerScriptMapping,
|
|
} from './types';
|