@coze-arch/cli 0.0.36-alpha.1b252b → 0.0.36-alpha.2c0689

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.
Files changed (109) hide show
  1. package/README.md +65 -114
  2. package/docs/deploy.md +10 -2
  3. package/lib/__templates__/expo/.cozeproj/scripts/dev_run.sh +74 -18
  4. package/lib/__templates__/expo/.cozeproj/scripts/prod_run.sh +1 -1
  5. package/lib/__templates__/expo/.cozeproj/scripts/server_dev_run.sh +1 -1
  6. package/lib/__templates__/expo/client/metro.config.js +3 -1
  7. package/lib/__templates__/expo/pnpm-lock.yaml +5 -5
  8. package/lib/__templates__/expo/server/package.json +2 -2
  9. package/lib/__templates__/expo/server/src/index.ts +1 -1
  10. package/lib/__templates__/expo/template.config.js +11 -2
  11. package/lib/__templates__/native-static/.coze +2 -0
  12. package/lib/__templates__/native-static/scripts/serve.ps1 +7 -0
  13. package/lib/__templates__/nextjs/.coze +5 -0
  14. package/lib/__templates__/nextjs/package.json +1 -1
  15. package/lib/__templates__/nextjs/pnpm-lock.yaml +5 -5
  16. package/lib/__templates__/nextjs/scripts/build.ps1 +16 -0
  17. package/lib/__templates__/nextjs/scripts/dev.ps1 +63 -0
  18. package/lib/__templates__/nextjs/scripts/dev.sh +83 -2
  19. package/lib/__templates__/nextjs/scripts/prepare.ps1 +18 -0
  20. package/lib/__templates__/nextjs/scripts/start.ps1 +11 -0
  21. package/lib/__templates__/nextjs/scripts/validate.ps1 +8 -0
  22. package/lib/__templates__/nextjs/template.config.js +1 -1
  23. package/lib/__templates__/nuxt-vue/.coze +5 -0
  24. package/lib/__templates__/nuxt-vue/package.json +1 -1
  25. package/lib/__templates__/nuxt-vue/pnpm-lock.yaml +5 -5
  26. package/lib/__templates__/nuxt-vue/scripts/build.ps1 +12 -0
  27. package/lib/__templates__/nuxt-vue/scripts/dev.ps1 +63 -0
  28. package/lib/__templates__/nuxt-vue/scripts/dev.sh +82 -1
  29. package/lib/__templates__/nuxt-vue/scripts/prepare.ps1 +12 -0
  30. package/lib/__templates__/nuxt-vue/scripts/start.ps1 +11 -0
  31. package/lib/__templates__/nuxt-vue/scripts/validate.ps1 +8 -0
  32. package/lib/__templates__/phaser/.coze +5 -0
  33. package/lib/__templates__/phaser/README.md +8 -0
  34. package/lib/__templates__/phaser/scripts/build.ps1 +12 -0
  35. package/lib/__templates__/phaser/scripts/dev.ps1 +49 -0
  36. package/lib/__templates__/phaser/scripts/prepare.ps1 +8 -0
  37. package/lib/__templates__/phaser/scripts/start.ps1 +49 -0
  38. package/lib/__templates__/phaser/scripts/validate.ps1 +7 -0
  39. package/lib/__templates__/phaser/src/global.d.ts +3 -0
  40. package/lib/__templates__/phaser/src/scene/BootScene.ts +4 -0
  41. package/lib/__templates__/phaser/src/scene/DevLoadingScene.ts +3 -0
  42. package/lib/__templates__/phaser/src/utils/mark-editable.ts +8 -1
  43. package/lib/__templates__/phaser/vite.config.ts +1 -1
  44. package/lib/__templates__/phaser-static/.coze +15 -0
  45. package/lib/__templates__/phaser-static/README.md +40 -0
  46. package/lib/__templates__/phaser-static/_gitignore +6 -0
  47. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0001.png +0 -0
  48. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0002.png +0 -0
  49. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0003.png +0 -0
  50. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0004.png +0 -0
  51. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0005.png +0 -0
  52. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0006.png +0 -0
  53. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0007.png +0 -0
  54. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0008.png +0 -0
  55. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0009.png +0 -0
  56. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0010.png +0 -0
  57. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0011.png +0 -0
  58. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0012.png +0 -0
  59. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0013.png +0 -0
  60. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0014.png +0 -0
  61. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0015.png +0 -0
  62. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0016.png +0 -0
  63. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0017.png +0 -0
  64. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0018.png +0 -0
  65. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0019.png +0 -0
  66. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0020.png +0 -0
  67. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0021.png +0 -0
  68. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0022.png +0 -0
  69. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0023.png +0 -0
  70. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/frame_0024.png +0 -0
  71. package/lib/__templates__/phaser-static/assets/image_sequence/coze-game-loading/manifest.json +11 -0
  72. package/lib/__templates__/phaser-static/debug-runtime/flow-graph.json +20 -0
  73. package/lib/__templates__/phaser-static/index.html +17 -0
  74. package/lib/__templates__/phaser-static/scripts/serve.ps1 +7 -0
  75. package/lib/__templates__/phaser-static/src/assets.js +15 -0
  76. package/lib/__templates__/phaser-static/src/main.js +26 -0
  77. package/lib/__templates__/phaser-static/src/phaser.js +7 -0
  78. package/lib/__templates__/phaser-static/src/scene/BootScene.js +205 -0
  79. package/lib/__templates__/phaser-static/src/scene/DevLoadingScene.js +67 -0
  80. package/lib/__templates__/phaser-static/src/style.css +28 -0
  81. package/lib/__templates__/phaser-static/src/utils/asset-loader.js +267 -0
  82. package/lib/__templates__/phaser-static/src/utils/index.js +2 -0
  83. package/lib/__templates__/phaser-static/src/utils/mark-editable.js +3 -0
  84. package/lib/__templates__/phaser-static/template.config.js +35 -0
  85. package/lib/__templates__/pi-agent/package.json +1 -1
  86. package/lib/__templates__/pi-agent/pnpm-lock.yaml +5 -5
  87. package/lib/__templates__/taro/.cozeproj/scripts/deploy_run.sh +1 -1
  88. package/lib/__templates__/taro/.cozeproj/scripts/dev_run.sh +150 -68
  89. package/lib/__templates__/taro/AGENTS.md +11 -7
  90. package/lib/__templates__/taro/README.md +4 -4
  91. package/lib/__templates__/taro/config/index.ts +10 -2
  92. package/lib/__templates__/taro/pnpm-lock.yaml +5 -5
  93. package/lib/__templates__/taro/server/package.json +1 -1
  94. package/lib/__templates__/taro/server/src/main.ts +8 -2
  95. package/lib/__templates__/templates.json +26 -1
  96. package/lib/__templates__/vite/.coze +5 -0
  97. package/lib/__templates__/vite/package.json +1 -1
  98. package/lib/__templates__/vite/pnpm-lock.yaml +5 -5
  99. package/lib/__templates__/vite/scripts/build.ps1 +16 -0
  100. package/lib/__templates__/vite/scripts/dev.ps1 +63 -0
  101. package/lib/__templates__/vite/scripts/dev.sh +82 -1
  102. package/lib/__templates__/vite/scripts/prepare.ps1 +18 -0
  103. package/lib/__templates__/vite/scripts/start.ps1 +11 -0
  104. package/lib/__templates__/vite/scripts/validate.ps1 +8 -0
  105. package/lib/__templates__/vite/template.config.js +1 -1
  106. package/lib/cli.js +647 -358
  107. package/lib/deploy/package-project.js +28 -4
  108. package/lib/deploy/package-project.py +21 -3
  109. package/package.json +1 -1
@@ -36,6 +36,7 @@ const LOCAL_METADATA_FILES = new Set([
36
36
  ]);
37
37
  const UPLOAD_SESSION_TEMP_PREFIX = '.coze-deploy-upload-';
38
38
  const REPRODUCIBLE_ARCHIVE_MTIME = new Date(0);
39
+ const PROJECT_METADATA_FILE_MODE = 0o644;
39
40
 
40
41
  const parseArguments = argv => {
41
42
  const positional = [];
@@ -92,6 +93,18 @@ const readCommand = (config, section, key) => {
92
93
  return command;
93
94
  };
94
95
 
96
+ const readPlatformCommand = (config, section, key) => {
97
+ const defaultCommand = readCommand(config, section, key);
98
+ const windowsCommand = process.platform === 'win32'
99
+ ? readCommand(config, section, `${key}_win`)
100
+ : undefined;
101
+
102
+ if (windowsCommand?.length) {
103
+ return { command: windowsCommand, key: `${key}_win` };
104
+ }
105
+ return defaultCommand?.length ? { command: defaultCommand, key } : undefined;
106
+ };
107
+
95
108
  const runCommand = (command, sourceDir, env) => {
96
109
  const result = spawnSync(command[0], command.slice(1), {
97
110
  cwd: sourceDir,
@@ -109,10 +122,16 @@ const runCommand = (command, sourceDir, env) => {
109
122
  };
110
123
 
111
124
  const runPackCommand = sourceDir => {
112
- const command = readCommand(readCozeConfig(sourceDir), 'dev', 'pack');
113
- if (command) {
114
- process.stderr.write(`[package] Running dev.pack: ${command.join(' ')}\n`);
115
- runCommand(command, sourceDir, buildCommandEnv());
125
+ const configuredCommand = readPlatformCommand(
126
+ readCozeConfig(sourceDir),
127
+ 'dev',
128
+ 'pack',
129
+ );
130
+ if (configuredCommand) {
131
+ process.stderr.write(
132
+ `[package] Running dev.${configuredCommand.key}: ${configuredCommand.command.join(' ')}\n`,
133
+ );
134
+ runCommand(configuredCommand.command, sourceDir, buildCommandEnv());
116
135
  }
117
136
  };
118
137
 
@@ -193,6 +212,11 @@ const createTarGzWithoutRoot = async (sourceDir, outputPath, excludeCozeFile = f
193
212
  filter: archivePath => shouldInclude(archivePath, excludeCozeFile),
194
213
  gzip: true,
195
214
  mtime: REPRODUCIBLE_ARCHIVE_MTIME,
215
+ onWriteEntry: entry => {
216
+ if (entry.path === '.coze' && entry.stat?.isFile()) {
217
+ entry.stat.mode = PROJECT_METADATA_FILE_MODE;
218
+ }
219
+ },
196
220
  portable: true,
197
221
  },
198
222
  entries,
@@ -30,6 +30,7 @@ EXCLUDED_PARTS = {
30
30
  UPLOAD_SESSION_FILENAME = ".coze-deploy-upload.json"
31
31
  UPLOAD_SESSION_TEMP_PREFIX = ".coze-deploy-upload-"
32
32
  HOST_LINK_FILENAME = ".host.json"
33
+ PROJECT_METADATA_FILE_MODE = 0o644
33
34
 
34
35
 
35
36
  def build_command_env():
@@ -59,10 +60,25 @@ def read_command(config, section: str, key: str):
59
60
  return command
60
61
 
61
62
 
63
+ def read_platform_command(config, section: str, key: str, platform=sys.platform):
64
+ default_command = read_command(config, section, key)
65
+ windows_command = (
66
+ read_command(config, section, f"{key}_win")
67
+ if platform.startswith("win")
68
+ else None
69
+ )
70
+ if windows_command:
71
+ return f"{key}_win", windows_command
72
+ return (key, default_command) if default_command else None
73
+
74
+
62
75
  def run_pack_command(source_dir: Path):
63
- command = read_command(read_coze_config(source_dir), "dev", "pack")
64
- if command:
65
- print(f"[package] Running dev.pack: {' '.join(command)}", file=sys.stderr)
76
+ configured_command = read_platform_command(
77
+ read_coze_config(source_dir), "dev", "pack"
78
+ )
79
+ if configured_command:
80
+ key, command = configured_command
81
+ print(f"[package] Running dev.{key}: {' '.join(command)}", file=sys.stderr)
66
82
  subprocess.run(command, cwd=source_dir, env=build_command_env(), check=True)
67
83
 
68
84
 
@@ -116,6 +132,8 @@ def should_exclude(tar_info: tarfile.TarInfo, exclude_coze_file=False):
116
132
  return None
117
133
  if any(part in EXCLUDED_PARTS for part in parts):
118
134
  return None
135
+ if parts == (".coze",) and tar_info.isfile():
136
+ tar_info.mode = PROJECT_METADATA_FILE_MODE
119
137
  return tar_info
120
138
 
121
139
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coze-arch/cli",
3
- "version": "0.0.36-alpha.1b252b",
3
+ "version": "0.0.36-alpha.2c0689",
4
4
  "private": false,
5
5
  "description": "coze coding devtools cli",
6
6
  "license": "MIT",