@simplysm/sd-cli 14.0.55 → 14.0.57

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 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/commands/device.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FrE"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/commands/device.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgGrE"}
@@ -91,7 +91,12 @@ export async function runDevice(options) {
91
91
  else if (clientConfig.capacitor != null) {
92
92
  logger.start(`${targetName} (capacitor) 실행 중...`);
93
93
  const cap = await Capacitor.create(pkgDir, clientConfig.capacitor, clientConfig.exclude);
94
- await cap.run(serverUrl, extraReversePorts);
94
+ if (extraReversePorts != null) {
95
+ await cap.run(serverUrl, extraReversePorts);
96
+ }
97
+ else {
98
+ await cap.run(serverUrl);
99
+ }
95
100
  logger.success(`${targetName} (capacitor) 실행 완료`);
96
101
  }
97
102
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/commands/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAQjD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9E,wCAAwC;IACxC,IAAI,UAAkB,CAAC;IACvB,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QAC3B,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,OAAO,CACf,wCAAwC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjE,CAAC;QACJ,CAAC;QACD,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,OAAO,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,OAAO,CACf,iCAAiC,UAAU,aAAa,SAAS,CAAC,MAAM,GAAG,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAE/D,YAAY;IACZ,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5B,IAAI,iBAAuC,CAAC;IAC5C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5C,SAAS,GAAG,oBAAoB,YAAY,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC9D,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,OAAO,CACf,0CAA0C,CAC3C,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,SAAS,GAAG,oBAAoB,IAAI,IAAI,UAAU,GAAG,CAAC;YAEtD,mDAAmD;YACnD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3E,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBACxB,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACrE,CAAC;YAED,YAAY;YACZ,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,OAAO,CACf,yCAAyC,CAC1C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,YAAY,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,qBAAqB,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5F,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,mBAAmB,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,YAAY,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,sBAAsB,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,oBAAoB,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,OAAO,CAAC,GAAG,UAAU,mCAAmC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,qCAAqC;AACrC,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YAChC,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;YACxB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/commands/device.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { consola } from "consola";
2
2
  /**
3
- * 미커밋 변경사항을 감지하고 Codex CLI로 자동 커밋을 시도한다.
3
+ * 미커밋 변경사항을 감지하고 Claude CLI로 자동 커밋을 시도한다.
4
4
  * @throws 자동 커밋 실패 시 Error
5
5
  */
6
6
  export declare function ensureCleanWorkingTree(hasGit: boolean, logger: ReturnType<typeof consola.withTag>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"git-phase.d.ts","sourceRoot":"","sources":["../../../src/commands/publish/git-phase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EAAE,EACtB,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,EAC1C,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
1
+ {"version":3,"file":"git-phase.d.ts","sourceRoot":"","sources":["../../../src/commands/publish/git-phase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EAAE,EACtB,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,EAC1C,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
@@ -1,6 +1,6 @@
1
1
  import { cpx } from "@simplysm/core-node";
2
2
  /**
3
- * 미커밋 변경사항을 감지하고 Codex CLI로 자동 커밋을 시도한다.
3
+ * 미커밋 변경사항을 감지하고 Claude CLI로 자동 커밋을 시도한다.
4
4
  * @throws 자동 커밋 실패 시 Error
5
5
  */
6
6
  export async function ensureCleanWorkingTree(hasGit, logger) {
@@ -11,21 +11,31 @@ export async function ensureCleanWorkingTree(hasGit, logger) {
11
11
  const { stdout: stagedDiff } = await cpx.spawn("git", ["diff", "--cached", "--name-only"]);
12
12
  if (diff.trim() === "" && stagedDiff.trim() === "")
13
13
  return;
14
- logger.info("커밋되지 않은 변경사항 감지. codex로 자동 커밋 시도 중...");
14
+ logger.info("커밋되지 않은 변경사항 감지. claude로 자동 커밋 시도 중...");
15
15
  try {
16
- await cpx.spawn("pnpm", [
17
- "exec",
18
- "codex",
19
- "exec",
20
- "--dangerously-bypass-approvals-and-sandbox",
21
- "--ephemeral",
16
+ await cpx.spawn("claude", [
17
+ "-p",
18
+ "/sd-commit",
19
+ "--dangerously-skip-permissions",
22
20
  "--model",
23
- "gpt-5.3-codex-spark",
24
- "-c",
25
- 'model_reasoning_effort="low"',
26
- "$sd-commit",
21
+ "claude-haiku-4-5",
22
+ "--no-session-persistence",
23
+ "--strict-mcp-config",
27
24
  ], {
28
25
  stdio: "inherit",
26
+ env: {
27
+ // eslint-disable-next-line no-restricted-properties -- 자식 프로세스에 env 전달
28
+ ...process.env,
29
+ MCP_CONNECTION_NONBLOCKING: "true",
30
+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1",
31
+ DISABLE_TELEMETRY: "1",
32
+ CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1",
33
+ CLAUDE_CODE_DISABLE_AUTO_MEMORY: "1",
34
+ CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING: "1",
35
+ CLAUDE_CODE_DISABLE_SESSION_DATA_UPLOAD: "1",
36
+ CLAUDE_CODE_SKIP_PROMPT_HISTORY: "1",
37
+ CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1",
38
+ },
29
39
  });
30
40
  }
31
41
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"git-phase.js","sourceRoot":"","sources":["../../../src/commands/publish/git-phase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-phase.js","sourceRoot":"","sources":["../../../src/commands/publish/git-phase.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hmr-service.d.ts","sourceRoot":"","sources":["../../src/dev-server/hmr-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIjE,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClD,2DAA2D;IAC3D,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7C,0DAA0D;IAC1D,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;IAClE,+BAA+B;IAC/B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAuKvE"}
1
+ {"version":3,"file":"hmr-service.d.ts","sourceRoot":"","sources":["../../src/dev-server/hmr-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIjE,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClD,2DAA2D;IAC3D,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7C,0DAA0D;IAC1D,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;IAClE,+BAA+B;IAC/B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAyKvE"}
@@ -35,7 +35,9 @@ export function createHmrService(options) {
35
35
  let fingerprint = String(output.bytes);
36
36
  if (outDir != null) {
37
37
  try {
38
- const filePath = path.resolve(normalizedPath);
38
+ const filePath = path.isAbsolute(normalizedPath)
39
+ ? normalizedPath
40
+ : path.resolve(outDir, normalizedPath);
39
41
  const content = fs.readFileSync(filePath);
40
42
  fingerprint = crypto.createHash("md5").update(content).digest("hex");
41
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hmr-service.js","sourceRoot":"","sources":["../../src/dev-server/hmr-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hmr-service.js","sourceRoot":"","sources":["../../src/dev-server/hmr-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-cli",
3
- "version": "14.0.55",
3
+ "version": "14.0.57",
4
4
  "description": "Simplysm package - CLI tool",
5
5
  "author": "simplysm",
6
6
  "license": "Apache-2.0",
@@ -27,14 +27,14 @@
27
27
  "acorn-walk": "^8.3.5",
28
28
  "browserslist-to-esbuild": "^2.1.1",
29
29
  "consola": "^3.4.2",
30
- "es-module-lexer": "^2.0.0",
30
+ "es-module-lexer": "^2.1.0",
31
31
  "esbuild": "^0.28.0",
32
32
  "eslint": "^9.39.4",
33
33
  "glob": "^13.0.6",
34
34
  "jiti": "^2.6.1",
35
35
  "lmdb": "^3.5.4",
36
36
  "mime": "^4.1.0",
37
- "postcss": "^8.5.10",
37
+ "postcss": "^8.5.12",
38
38
  "sass": "^1.99.0",
39
39
  "semver": "^7.7.4",
40
40
  "sharp": "^0.34.5",
@@ -44,9 +44,9 @@
44
44
  "ws": "^8.20.0",
45
45
  "yaml": "^2.8.3",
46
46
  "yargs": "^18.0.0",
47
- "@simplysm/core-common": "14.0.55",
48
- "@simplysm/core-node": "14.0.55",
49
- "@simplysm/storage": "14.0.55"
47
+ "@simplysm/core-common": "14.0.57",
48
+ "@simplysm/core-node": "14.0.57",
49
+ "@simplysm/storage": "14.0.57"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/semver": "^7.7.1",
@@ -109,7 +109,11 @@ export async function runDevice(options: DeviceOptions): Promise<void> {
109
109
  } else if (clientConfig.capacitor != null) {
110
110
  logger.start(`${targetName} (capacitor) 실행 중...`);
111
111
  const cap = await Capacitor.create(pkgDir, clientConfig.capacitor, clientConfig.exclude);
112
- await cap.run(serverUrl, extraReversePorts);
112
+ if (extraReversePorts != null) {
113
+ await cap.run(serverUrl, extraReversePorts);
114
+ } else {
115
+ await cap.run(serverUrl);
116
+ }
113
117
  logger.success(`${targetName} (capacitor) 실행 완료`);
114
118
  } else {
115
119
  throw new SdError(`${targetName}에 capacitor 또는 electron 설정이 없습니다.`);
@@ -2,7 +2,7 @@ import type { consola } from "consola";
2
2
  import { cpx } from "@simplysm/core-node";
3
3
 
4
4
  /**
5
- * 미커밋 변경사항을 감지하고 Codex CLI로 자동 커밋을 시도한다.
5
+ * 미커밋 변경사항을 감지하고 Claude CLI로 자동 커밋을 시도한다.
6
6
  * @throws 자동 커밋 실패 시 Error
7
7
  */
8
8
  export async function ensureCleanWorkingTree(
@@ -18,30 +18,40 @@ export async function ensureCleanWorkingTree(
18
18
 
19
19
  if (diff.trim() === "" && stagedDiff.trim() === "") return;
20
20
 
21
- logger.info("커밋되지 않은 변경사항 감지. codex로 자동 커밋 시도 중...");
21
+ logger.info("커밋되지 않은 변경사항 감지. claude로 자동 커밋 시도 중...");
22
22
  try {
23
23
  await cpx.spawn(
24
- "pnpm",
24
+ "claude",
25
25
  [
26
- "exec",
27
- "codex",
28
- "exec",
29
- "--dangerously-bypass-approvals-and-sandbox",
30
- "--ephemeral",
26
+ "-p",
27
+ "/sd-commit",
28
+ "--dangerously-skip-permissions",
31
29
  "--model",
32
- "gpt-5.3-codex-spark",
33
- "-c",
34
- 'model_reasoning_effort="low"',
35
- "$sd-commit",
30
+ "claude-haiku-4-5",
31
+ "--no-session-persistence",
32
+ "--strict-mcp-config",
36
33
  ],
37
34
  {
38
35
  stdio: "inherit",
36
+ env: {
37
+ // eslint-disable-next-line no-restricted-properties -- 자식 프로세스에 env 전달
38
+ ...process.env,
39
+ MCP_CONNECTION_NONBLOCKING: "true",
40
+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1",
41
+ DISABLE_TELEMETRY: "1",
42
+ CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1",
43
+ CLAUDE_CODE_DISABLE_AUTO_MEMORY: "1",
44
+ CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING: "1",
45
+ CLAUDE_CODE_DISABLE_SESSION_DATA_UPLOAD: "1",
46
+ CLAUDE_CODE_SKIP_PROMPT_HISTORY: "1",
47
+ CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1",
48
+ },
39
49
  },
40
50
  );
41
51
  } catch (e) {
42
52
  throw new Error(
43
53
  "자동 커밋에 실패했습니다. 수동으로 커밋 후 다시 시도해주세요.\n" +
44
- (e instanceof Error ? e.message : String(e)),
54
+ (e instanceof Error ? e.message : String(e)),
45
55
  );
46
56
  }
47
57
  }
@@ -81,9 +91,9 @@ export async function commitTagAndPush(
81
91
  } catch (err) {
82
92
  throw new Error(
83
93
  `Git 작업 실패: ${err instanceof Error ? err.message : err}\n` +
84
- "수동 복구가 필요할 수 있습니다:\n" +
85
- ` git revert HEAD # 버전 커밋 되돌리기\n` +
86
- ` git tag -d v${version} # 태그 삭제`,
94
+ "수동 복구가 필요할 수 있습니다:\n" +
95
+ ` git revert HEAD # 버전 커밋 되돌리기\n` +
96
+ ` git tag -d v${version} # 태그 삭제`,
87
97
  );
88
98
  }
89
99
  }
@@ -65,7 +65,9 @@ export function createHmrService(options: HmrServiceOptions): HmrService {
65
65
  let fingerprint = String(output.bytes);
66
66
  if (outDir != null) {
67
67
  try {
68
- const filePath = path.resolve(normalizedPath);
68
+ const filePath = path.isAbsolute(normalizedPath)
69
+ ? normalizedPath
70
+ : path.resolve(outDir, normalizedPath);
69
71
  const content = fs.readFileSync(filePath);
70
72
  fingerprint = crypto.createHash("md5").update(content).digest("hex");
71
73
  } catch {
@@ -47,7 +47,7 @@ describe("ensureCleanWorkingTree", () => {
47
47
  expect((codexCalls[0][1] as string[])).toContain("exec");
48
48
  expect((codexCalls[0][1] as string[])).toContain("gpt-5.3-codex-spark");
49
49
  expect((codexCalls[0][1] as string[])).toContain('model_reasoning_effort="low"');
50
- expect((codexCalls[0][1] as string[])).toContain("$sd-commit");
50
+ expect((codexCalls[0][1] as string[]).some((arg) => arg.includes("$sd-commit"))).toBe(true);
51
51
  });
52
52
 
53
53
  it("skips auto-commit when no uncommitted changes", async () => {
@@ -412,7 +412,7 @@ describe("runPublish", () => {
412
412
  expect((codexCalls[0][1] as string[])).toContain("exec");
413
413
  expect((codexCalls[0][1] as string[])).toContain("gpt-5.3-codex-spark");
414
414
  expect((codexCalls[0][1] as string[])).toContain('model_reasoning_effort="low"');
415
- expect((codexCalls[0][1] as string[])).toContain("$sd-commit");
415
+ expect((codexCalls[0][1] as string[]).some((arg) => arg.includes("$sd-commit"))).toBe(true);
416
416
  });
417
417
 
418
418
  it("aborts when auto-commit codex command fails", async () => {
@@ -68,8 +68,9 @@ describe("HMR Service 통합", () => {
68
68
  describe("Scenario: WebSocket 연결 + /@ng/component 통합", () => {
69
69
  it("WebSocket으로 연결하고 /@ng/component 엔드포인트에서 templateUpdates 조회가 가능하다", async () => {
70
70
  const templateUpdates = new Map<string, string>();
71
+ const componentId = "src/app/app.component.ts@AppComponent";
71
72
  templateUpdates.set(
72
- "src/app/app.component.ts@AppComponent",
73
+ encodeURIComponent(componentId),
73
74
  'export function AppComponent_UpdateMetadata() {}',
74
75
  );
75
76
 
@@ -81,7 +82,7 @@ describe("HMR Service 통합", () => {
81
82
 
82
83
  // /@ng/component 엔드포인트 확인
83
84
  const res = await fetch(
84
- `http://127.0.0.1:${port}/app/@ng/component?c=${encodeURIComponent("src/app/app.component.ts@AppComponent")}`,
85
+ `http://127.0.0.1:${port}/app/@ng/component?c=${encodeURIComponent(componentId)}`,
85
86
  );
86
87
  expect(res.status).toBe(200);
87
88
  expect(res.headers.get("content-type")).toBe("text/javascript");
@@ -95,10 +95,10 @@ describe("createHmrService", () => {
95
95
  expect(body).toBe("empty-id-content");
96
96
  });
97
97
 
98
- it("componentId로 templateUpdates를 직접 조회한다 (인코딩 없이)", async () => {
98
+ it("componentId를 인코딩한 key로 templateUpdates를 조회한다", async () => {
99
99
  const updates = new Map<string, string>();
100
100
  const rawId = "src/components/my-comp.ts@MyComp";
101
- updates.set(rawId, "raw-key-content");
101
+ updates.set(encodeURIComponent(rawId), "encoded-key-content");
102
102
  await setup(updates);
103
103
 
104
104
  const res = await fetch(
@@ -106,7 +106,7 @@ describe("createHmrService", () => {
106
106
  );
107
107
  expect(res.status).toBe(200);
108
108
  const body = await res.text();
109
- expect(body).toBe("raw-key-content");
109
+ expect(body).toBe("encoded-key-content");
110
110
  });
111
111
  });
112
112