cocos2d-cli 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,25 +1,25 @@
1
- {
2
- "01e12Vix3xPZaV9rG8NNMhT": "CharacterAnimation",
3
- "0c1120T6UNNk5mllwLCpN0/": "GameScene",
4
- "0c5a3bepqdAUZOCSqDOe7tX": "StageManager",
5
- "166a2V/C3pMsLYQh5Cfhh0M": "Tile",
6
- "1777aIKiDVM2ayJgXQsFRbc": "InfoNode",
7
- "2000bQ16aVPOowsYmWzQHBl": "TilemapCamera",
8
- "25dfekurxJEpa4v3Hll7c7S": "PlayerController",
9
- "2a19dBOCe1GUpzKNfMsQQR7": "Pathfinder",
10
- "329ecFYmkpK+ZTeUQlUmyHq": "MapCharacter",
11
- "36c13QGxrxExoOv5anzjyRj": "EventManager",
12
- "394e4Gg6E1Dh6AedkHAFZH+": "index",
13
- "3cc7eQO1TZPTYTHr3v/2h1L": "SceneScript",
14
- "42cc8kWoTtFHqEMb8ClTUBk": "GameExpressionEvaluator",
15
- "7541bC/enRKeocYItojXgyK": "Gamepiece",
16
- "781adeySrdN27K4uANiWTCT": "MinimapRenderer",
17
- "9701aXPPNhO2IJ1bgr/25pJ": "PlayerManager",
18
- "a4e62KPZVNEbZO1mvkzyOQt": "FilmEffect",
19
- "a4ff8dbnCJNsLLBFaNYXrQp": "Player",
20
- "a89e2IVZx5Bn50oCifRT+GC": "Gameboard",
21
- "c4069o+d29NprrTzmS9V1Mb": "ResourceManager",
22
- "e0920R8VWpPOpxr0VnPlCqA": "GamepieceRegistry",
23
- "e24c1oXqIpLvqqgMFn+zl3A": "Tilemap",
24
- "f07feXxRJVMj7Vg6tTtIi+T": "index"
25
- }
1
+ {
2
+ "01e12Vix3xPZaV9rG8NNMhT": "CharacterAnimation",
3
+ "0c1120T6UNNk5mllwLCpN0/": "GameScene",
4
+ "0c5a3bepqdAUZOCSqDOe7tX": "StageManager",
5
+ "166a2V/C3pMsLYQh5Cfhh0M": "Tile",
6
+ "1777aIKiDVM2ayJgXQsFRbc": "InfoNode",
7
+ "2000bQ16aVPOowsYmWzQHBl": "TilemapCamera",
8
+ "25dfekurxJEpa4v3Hll7c7S": "PlayerController",
9
+ "2a19dBOCe1GUpzKNfMsQQR7": "Pathfinder",
10
+ "329ecFYmkpK+ZTeUQlUmyHq": "MapCharacter",
11
+ "36c13QGxrxExoOv5anzjyRj": "EventManager",
12
+ "394e4Gg6E1Dh6AedkHAFZH+": "index",
13
+ "3cc7eQO1TZPTYTHr3v/2h1L": "SceneScript",
14
+ "42cc8kWoTtFHqEMb8ClTUBk": "GameExpressionEvaluator",
15
+ "7541bC/enRKeocYItojXgyK": "Gamepiece",
16
+ "781adeySrdN27K4uANiWTCT": "MinimapRenderer",
17
+ "9701aXPPNhO2IJ1bgr/25pJ": "PlayerManager",
18
+ "a4e62KPZVNEbZO1mvkzyOQt": "FilmEffect",
19
+ "a4ff8dbnCJNsLLBFaNYXrQp": "Player",
20
+ "a89e2IVZx5Bn50oCifRT+GC": "Gameboard",
21
+ "c4069o+d29NprrTzmS9V1Mb": "ResourceManager",
22
+ "e0920R8VWpPOpxr0VnPlCqA": "GamepieceRegistry",
23
+ "e24c1oXqIpLvqqgMFn+zl3A": "Tilemap",
24
+ "f07feXxRJVMj7Vg6tTtIi+T": "index"
25
+ }
@@ -18,25 +18,25 @@ const commands = {
18
18
  'screenshot': '../src/commands/screenshot.js'
19
19
  };
20
20
  function showHelp() {
21
- console.log(`
22
- Cocos Creator CLI - 场景/预制体操作工具集
23
-
24
- 用法:
25
- cocos2d-cli <command> [options]
26
-
27
- 命令:
28
- tree <场景.fire | 预制体.prefab> 查看节点树
29
- get <场景.fire | 预制体.prefab> <节点路径> [属性名|组件类型] 获取节点或组件属性
30
- set <场景.fire | 预制体.prefab> <节点路径> <属性名> <值> 修改节点属性
31
- set-component <文件> <节点路径> <组件类型> <属性名> <值> 修改组件属性
32
- add <场景.fire | 预制体.prefab> <父节点路径> <名称> 添加节点
33
- add-component <文件> <节点路径> <类型> 给节点添加组件
34
- remove-component <文件> <节点路径> <类型> 删除节点组件
35
- remove <文件> <节点路径> 删除节点
36
- build <项目目录> 构建组件映射
37
- create-prefab [JSON文件路径] <输出.prefab> 创建预制体
38
- create-scene [JSON文件路径] <输出.fire> 创建场景
39
- screenshot <json文件> [选项] 渲染JSON并截图
21
+ console.log(`
22
+ Cocos Creator CLI - 场景/预制体操作工具集
23
+
24
+ 用法:
25
+ cocos2d-cli <command> [options]
26
+
27
+ 命令:
28
+ tree <场景.fire | 预制体.prefab> 查看节点树
29
+ get <场景.fire | 预制体.prefab> <节点路径> [属性名|组件类型] 获取节点或组件属性
30
+ set <场景.fire | 预制体.prefab> <节点路径> <属性名> <值> 修改节点属性
31
+ set-component <文件> <节点路径> <组件类型> <属性名> <值> 修改组件属性
32
+ add <场景.fire | 预制体.prefab> <父节点路径> <名称> 添加节点
33
+ add-component <文件> <节点路径> <类型> 给节点添加组件
34
+ remove-component <文件> <节点路径> <类型> 删除节点组件
35
+ remove <文件> <节点路径> 删除节点
36
+ build <项目目录> 构建组件映射
37
+ create-prefab [JSON文件路径] <输出.prefab> 创建预制体
38
+ create-scene [JSON文件路径] <输出.fire> 创建场景
39
+ screenshot <json文件> [选项] 渲染JSON并截图
40
40
  `);
41
41
  }
42
42
  const args = process.argv.slice(2);
@@ -107,6 +107,29 @@ async function removeDir(dirPath, logs) {
107
107
  }
108
108
  }
109
109
  }
110
+ async function launchBrowser(addLog) {
111
+ try {
112
+ addLog('info', 'Launching Playwright Chromium');
113
+ const browser = await chromium.launch({
114
+ headless: true,
115
+ });
116
+ addLog('info', 'Browser launched with Playwright Chromium');
117
+ return browser;
118
+ }
119
+ catch (error) {
120
+ const message = String(error?.message || error);
121
+ if (!message.includes("Executable doesn't exist")) {
122
+ throw error;
123
+ }
124
+ addLog('warn', 'Playwright Chromium not found, falling back to system Edge');
125
+ const browser = await chromium.launch({
126
+ channel: 'msedge',
127
+ headless: true,
128
+ });
129
+ addLog('info', 'Browser launched with system Edge');
130
+ return browser;
131
+ }
132
+ }
110
133
  export async function takeScreenshot(userConfig = {}) {
111
134
  const config = { ...DEFAULT_CONFIG, ...userConfig };
112
135
  if (!config.jsonPath) {
@@ -148,9 +171,7 @@ export async function takeScreenshot(userConfig = {}) {
148
171
  const serverUrl = `http://127.0.0.1:${address.port}`;
149
172
  addLog('info', `Server: ${serverUrl}`);
150
173
  addLog('info', 'Launching Browser');
151
- browser = await chromium.launch({
152
- headless: true
153
- });
174
+ browser = await launchBrowser(addLog);
154
175
  addLog('info', 'Browser launched');
155
176
  const page = await browser.newPage({
156
177
  viewport: config.viewport
package/package.json CHANGED
@@ -1,40 +1,40 @@
1
- {
2
- "name": "cocos2d-cli",
3
- "version": "2.0.0",
4
- "description": "Command-line tools for AI to read and manipulate Cocos Creator 2.4.x project scenes",
5
- "type": "module",
6
- "main": "dist/bin/cocos2d-cli.js",
7
- "bin": {
8
- "cocos2d-cli": "dist/bin/cocos2d-cli.js"
9
- },
10
- "files": [
11
- "dist",
12
- "data"
13
- ],
14
- "scripts": {
15
- "build": "tsc",
16
- "watch": "tsc --watch",
17
- "prepare": "npm run build",
18
- "test": "echo \"No tests specified\" && exit 1"
19
- },
20
- "keywords": [
21
- "cocos",
22
- "cocos-creator",
23
- "cli",
24
- "scene",
25
- "fire",
26
- "screenshot"
27
- ],
28
- "author": "",
29
- "license": "MIT",
30
- "engines": {
31
- "node": ">=18.0.0"
32
- },
33
- "dependencies": {
34
- "playwright": "^1.58.2"
35
- },
36
- "devDependencies": {
37
- "@types/node": "^22.15.17",
38
- "typescript": "^5.9.3"
39
- }
40
- }
1
+ {
2
+ "name": "cocos2d-cli",
3
+ "version": "2.1.0",
4
+ "description": "Command-line tools for AI to read and manipulate Cocos Creator 2.4.x project scenes",
5
+ "type": "module",
6
+ "main": "dist/bin/cocos2d-cli.js",
7
+ "bin": {
8
+ "cocos2d-cli": "dist/bin/cocos2d-cli.js"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "data"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "watch": "tsc --watch",
17
+ "prepare": "npm run build",
18
+ "test": "echo \"No tests specified\" && exit 1"
19
+ },
20
+ "keywords": [
21
+ "cocos",
22
+ "cocos-creator",
23
+ "cli",
24
+ "scene",
25
+ "fire",
26
+ "screenshot"
27
+ ],
28
+ "author": "",
29
+ "license": "MIT",
30
+ "engines": {
31
+ "node": ">=18.0.0"
32
+ },
33
+ "dependencies": {
34
+ "playwright": "^1.58.2"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "^22.15.17",
38
+ "typescript": "^5.9.3"
39
+ }
40
+ }