@simplysm/sd-cli 14.0.56 → 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.
- package/dist/commands/device.d.ts.map +1 -1
- package/dist/commands/device.js +6 -1
- package/dist/commands/device.js.map +1 -1
- package/dist/commands/publish/git-phase.d.ts +1 -1
- package/dist/commands/publish/git-phase.d.ts.map +1 -1
- package/dist/commands/publish/git-phase.js +22 -12
- package/dist/commands/publish/git-phase.js.map +1 -1
- package/dist/dev-server/hmr-service.d.ts.map +1 -1
- package/dist/dev-server/hmr-service.js +3 -1
- package/dist/dev-server/hmr-service.js.map +1 -1
- package/package.json +6 -6
- package/src/commands/device.ts +5 -1
- package/src/commands/publish/git-phase.ts +26 -16
- package/src/dev-server/hmr-service.ts +3 -1
- package/tests/commands/git-phase.acc.spec.ts +1 -1
- package/tests/commands/publish.spec.ts +1 -1
- package/tests/utils/hmr-service.acc.spec.ts +3 -2
- package/tests/utils/hmr-service.spec.ts +3 -3
|
@@ -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,
|
|
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"}
|
package/dist/commands/device.js
CHANGED
|
@@ -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
|
-
|
|
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":"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
|
|
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
|
-
* 미커밋 변경사항을 감지하고
|
|
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,
|
|
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
|
-
* 미커밋 변경사항을 감지하고
|
|
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("커밋되지 않은 변경사항 감지.
|
|
14
|
+
logger.info("커밋되지 않은 변경사항 감지. claude로 자동 커밋 시도 중...");
|
|
15
15
|
try {
|
|
16
|
-
await cpx.spawn("
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
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
|
-
"
|
|
24
|
-
"-
|
|
25
|
-
|
|
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":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAe,EACf,MAA0C;IAE1C,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAElC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3F,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO;IAE3D,MAAM,CAAC,IAAI,CAAC,
|
|
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,
|
|
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.
|
|
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":"AAEA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAkB,MAAM,IAAI,CAAC;AAwBrD,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAa,CAAC;IAErC,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAExD,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,WAA4C,CAAC;IACjD,IAAI,aAAwD,CAAC;IAC7D,IAAI,eAA6C,CAAC;IAClD,IAAI,mBAAyC,CAAC;IAE9C,SAAS,UAAU,CAAC,QAA0B;QAC5C,eAAe,GAAG,QAAQ,CAAC;QAC3B,mBAAmB;YACjB,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,aAAa,IAAI,IAAI;YAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QACvD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,aAAa,GAAG,SAAS,CAAC;YAC1B,kBAAkB,EAAE,CAAC;QACvB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,SAAS,cAAc,CAAC,QAA0B;QAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpE,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtD,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtE,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
48
|
-
"@simplysm/core-node": "14.0.
|
|
49
|
-
"@simplysm/storage": "14.0.
|
|
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",
|
package/src/commands/device.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
* 미커밋 변경사항을 감지하고
|
|
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("커밋되지 않은 변경사항 감지.
|
|
21
|
+
logger.info("커밋되지 않은 변경사항 감지. claude로 자동 커밋 시도 중...");
|
|
22
22
|
try {
|
|
23
23
|
await cpx.spawn(
|
|
24
|
-
"
|
|
24
|
+
"claude",
|
|
25
25
|
[
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"--dangerously-bypass-approvals-and-sandbox",
|
|
30
|
-
"--ephemeral",
|
|
26
|
+
"-p",
|
|
27
|
+
"/sd-commit",
|
|
28
|
+
"--dangerously-skip-permissions",
|
|
31
29
|
"--model",
|
|
32
|
-
"
|
|
33
|
-
"-
|
|
34
|
-
|
|
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
|
-
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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.
|
|
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[])).
|
|
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[])).
|
|
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
|
-
|
|
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(
|
|
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를
|
|
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, "
|
|
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("
|
|
109
|
+
expect(body).toBe("encoded-key-content");
|
|
110
110
|
});
|
|
111
111
|
});
|
|
112
112
|
|