cocos2d-cli 2.0.0 → 2.1.1
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.
- package/data/screenshot/favicon.ico +0 -0
- package/data/screenshot/index.html +30 -0
- package/data/script_map.json +25 -25
- package/dist/bin/cocos2d-cli.js +19 -19
- package/dist/src/lib/screenshot-core.js +25 -5
- package/package.json +40 -40
package/data/script_map.json
CHANGED
|
@@ -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
|
+
}
|
package/dist/bin/cocos2d-cli.js
CHANGED
|
@@ -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);
|
|
@@ -13,8 +13,7 @@ const DEFAULT_CONFIG = {
|
|
|
13
13
|
waitTime: 1000
|
|
14
14
|
};
|
|
15
15
|
function getAssetsDir() {
|
|
16
|
-
|
|
17
|
-
return path.join(projectRoot, 'src', 'lib', 'screenshot');
|
|
16
|
+
return path.join(__dirname, '..', '..', '..', 'data', 'screenshot');
|
|
18
17
|
}
|
|
19
18
|
async function createTempWorkDir() {
|
|
20
19
|
const tempBase = process.env.TEMP || process.env.TMP || '/tmp';
|
|
@@ -107,6 +106,29 @@ async function removeDir(dirPath, logs) {
|
|
|
107
106
|
}
|
|
108
107
|
}
|
|
109
108
|
}
|
|
109
|
+
async function launchBrowser(addLog) {
|
|
110
|
+
try {
|
|
111
|
+
addLog('info', 'Launching Playwright Chromium');
|
|
112
|
+
const browser = await chromium.launch({
|
|
113
|
+
headless: true,
|
|
114
|
+
});
|
|
115
|
+
addLog('info', 'Browser launched with Playwright Chromium');
|
|
116
|
+
return browser;
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
const message = String(error?.message || error);
|
|
120
|
+
if (!message.includes("Executable doesn't exist")) {
|
|
121
|
+
throw error;
|
|
122
|
+
}
|
|
123
|
+
addLog('warn', 'Playwright Chromium not found, falling back to system Edge');
|
|
124
|
+
const browser = await chromium.launch({
|
|
125
|
+
channel: 'msedge',
|
|
126
|
+
headless: true,
|
|
127
|
+
});
|
|
128
|
+
addLog('info', 'Browser launched with system Edge');
|
|
129
|
+
return browser;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
110
132
|
export async function takeScreenshot(userConfig = {}) {
|
|
111
133
|
const config = { ...DEFAULT_CONFIG, ...userConfig };
|
|
112
134
|
if (!config.jsonPath) {
|
|
@@ -148,9 +170,7 @@ export async function takeScreenshot(userConfig = {}) {
|
|
|
148
170
|
const serverUrl = `http://127.0.0.1:${address.port}`;
|
|
149
171
|
addLog('info', `Server: ${serverUrl}`);
|
|
150
172
|
addLog('info', 'Launching Browser');
|
|
151
|
-
browser = await
|
|
152
|
-
headless: true
|
|
153
|
-
});
|
|
173
|
+
browser = await launchBrowser(addLog);
|
|
154
174
|
addLog('info', 'Browser launched');
|
|
155
175
|
const page = await browser.newPage({
|
|
156
176
|
viewport: config.viewport
|
package/package.json
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "cocos2d-cli",
|
|
3
|
-
"version": "2.
|
|
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.1",
|
|
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
|
+
}
|