@simplysm/sd-cli 13.0.66 → 13.0.68
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/builders/BaseBuilder.d.ts.map +1 -1
- package/dist/builders/BaseBuilder.js +2 -7
- package/dist/builders/BaseBuilder.js.map +1 -1
- package/dist/builders/DtsBuilder.d.ts.map +1 -1
- package/dist/builders/DtsBuilder.js +4 -3
- package/dist/builders/DtsBuilder.js.map +1 -1
- package/dist/builders/LibraryBuilder.d.ts.map +1 -1
- package/dist/builders/LibraryBuilder.js +2 -1
- package/dist/builders/LibraryBuilder.js.map +1 -1
- package/dist/capacitor/capacitor.js +2 -2
- package/dist/capacitor/capacitor.js.map +1 -1
- package/dist/commands/add-client.js +2 -2
- package/dist/commands/add-server.js +2 -2
- package/dist/commands/build.d.ts +2 -10
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +1 -5
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +26 -37
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/dev.d.ts +2 -9
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +1 -5
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.js +5 -5
- package/dist/commands/publish.js +16 -16
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/typecheck.d.ts +0 -1
- package/dist/commands/typecheck.d.ts.map +1 -1
- package/dist/commands/typecheck.js +5 -5
- package/dist/commands/typecheck.js.map +1 -1
- package/dist/commands/watch.d.ts +2 -8
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +1 -5
- package/dist/commands/watch.js.map +1 -1
- package/dist/electron/electron.js +2 -2
- package/dist/electron/electron.js.map +1 -1
- package/dist/infra/ResultCollector.d.ts +0 -21
- package/dist/infra/ResultCollector.d.ts.map +1 -1
- package/dist/infra/ResultCollector.js +0 -31
- package/dist/infra/ResultCollector.js.map +1 -1
- package/dist/orchestrators/BuildOrchestrator.d.ts +0 -1
- package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/BuildOrchestrator.js +10 -19
- package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
- package/dist/orchestrators/DevOrchestrator.d.ts +12 -0
- package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/DevOrchestrator.js +178 -167
- package/dist/orchestrators/DevOrchestrator.js.map +1 -1
- package/dist/sd-cli-entry.js +14 -14
- package/dist/sd-cli-entry.js.map +1 -1
- package/dist/sd-cli.js +8 -13
- package/dist/sd-cli.js.map +1 -1
- package/dist/utils/output-utils.d.ts +4 -7
- package/dist/utils/output-utils.d.ts.map +1 -1
- package/dist/utils/output-utils.js +13 -5
- package/dist/utils/output-utils.js.map +1 -1
- package/dist/utils/package-utils.d.ts +0 -11
- package/dist/utils/package-utils.d.ts.map +1 -1
- package/dist/utils/package-utils.js.map +1 -1
- package/dist/utils/replace-deps.d.ts.map +1 -1
- package/dist/utils/replace-deps.js +21 -48
- package/dist/utils/replace-deps.js.map +1 -1
- package/dist/utils/sd-config.d.ts +2 -6
- package/dist/utils/sd-config.d.ts.map +1 -1
- package/dist/utils/sd-config.js.map +1 -1
- package/dist/utils/vite-config.d.ts.map +1 -1
- package/dist/utils/vite-config.js +7 -1
- package/dist/utils/vite-config.js.map +1 -1
- package/dist/utils/worker-events.d.ts +5 -5
- package/dist/utils/worker-events.d.ts.map +1 -1
- package/dist/utils/worker-events.js +14 -17
- package/dist/utils/worker-events.js.map +1 -1
- package/dist/utils/worker-utils.d.ts +7 -0
- package/dist/utils/worker-utils.d.ts.map +1 -1
- package/dist/utils/worker-utils.js +10 -0
- package/dist/utils/worker-utils.js.map +1 -1
- package/dist/workers/client.worker.d.ts.map +1 -1
- package/dist/workers/client.worker.js +11 -9
- package/dist/workers/client.worker.js.map +1 -1
- package/dist/workers/dts.worker.d.ts +4 -4
- package/dist/workers/dts.worker.d.ts.map +1 -1
- package/dist/workers/dts.worker.js +10 -11
- package/dist/workers/dts.worker.js.map +1 -1
- package/dist/workers/library.worker.d.ts.map +1 -1
- package/dist/workers/library.worker.js +7 -9
- package/dist/workers/library.worker.js.map +1 -1
- package/dist/workers/server-runtime.worker.d.ts.map +1 -1
- package/dist/workers/server-runtime.worker.js +4 -3
- package/dist/workers/server-runtime.worker.js.map +1 -1
- package/dist/workers/server.worker.d.ts.map +1 -1
- package/dist/workers/server.worker.js +10 -13
- package/dist/workers/server.worker.js.map +1 -1
- package/package.json +5 -4
- package/src/builders/BaseBuilder.ts +2 -7
- package/src/builders/DtsBuilder.ts +4 -3
- package/src/builders/LibraryBuilder.ts +2 -1
- package/src/capacitor/capacitor.ts +2 -2
- package/src/commands/add-client.ts +2 -2
- package/src/commands/add-server.ts +2 -2
- package/src/commands/build.ts +2 -17
- package/src/commands/check.ts +31 -44
- package/src/commands/dev.ts +2 -16
- package/src/commands/init.ts +5 -5
- package/src/commands/publish.ts +16 -16
- package/src/commands/typecheck.ts +5 -5
- package/src/commands/watch.ts +2 -15
- package/src/electron/electron.ts +2 -2
- package/src/infra/ResultCollector.ts +0 -36
- package/src/orchestrators/BuildOrchestrator.ts +12 -21
- package/src/orchestrators/DevOrchestrator.ts +221 -201
- package/src/sd-cli-entry.ts +14 -14
- package/src/sd-cli.ts +9 -14
- package/src/utils/output-utils.ts +15 -11
- package/src/utils/package-utils.ts +0 -12
- package/src/utils/replace-deps.ts +61 -88
- package/src/utils/sd-config.ts +2 -6
- package/src/utils/vite-config.ts +9 -1
- package/src/utils/worker-events.ts +22 -25
- package/src/utils/worker-utils.ts +16 -0
- package/src/workers/client.worker.ts +12 -11
- package/src/workers/dts.worker.ts +13 -15
- package/src/workers/library.worker.ts +7 -10
- package/src/workers/server-runtime.worker.ts +4 -3
- package/src/workers/server.worker.ts +10 -14
- package/templates/add-client/__CLIENT__/package.json.hbs +1 -1
- package/templates/add-server/__SERVER__/package.json.hbs +2 -2
- package/templates/init/package.json.hbs +3 -3
- package/dist/utils/spawn.d.ts +0 -26
- package/dist/utils/spawn.d.ts.map +0 -1
- package/dist/utils/spawn.js +0 -50
- package/dist/utils/spawn.js.map +0 -6
- package/src/utils/spawn.ts +0 -80
package/dist/sd-cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { execa } from "execa";
|
|
3
3
|
import os from "os";
|
|
4
4
|
import path from "path";
|
|
5
5
|
import { fileURLToPath } from "url";
|
|
@@ -21,7 +21,7 @@ if (isDev) {
|
|
|
21
21
|
} catch {
|
|
22
22
|
}
|
|
23
23
|
const cliEntryFilePath = path.join(__dirname, "sd-cli-entry.js");
|
|
24
|
-
const
|
|
24
|
+
const subprocess = execa(
|
|
25
25
|
"node",
|
|
26
26
|
[
|
|
27
27
|
"--max-old-space-size=8192",
|
|
@@ -29,14 +29,11 @@ if (isDev) {
|
|
|
29
29
|
cliEntryFilePath,
|
|
30
30
|
...process.argv.slice(2)
|
|
31
31
|
],
|
|
32
|
-
{ stdio: "inherit" }
|
|
32
|
+
{ stdio: "inherit", reject: false }
|
|
33
33
|
);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
child.on("exit", (code) => {
|
|
38
|
-
process.exitCode = code ?? 0;
|
|
39
|
-
});
|
|
34
|
+
if (subprocess.pid != null) configureAffinityAndPriority(subprocess.pid);
|
|
35
|
+
const result = await subprocess;
|
|
36
|
+
process.exitCode = result.exitCode ?? 0;
|
|
40
37
|
}
|
|
41
38
|
function calculateAffinityMask(cpuCount) {
|
|
42
39
|
const exclude = cpuCount <= 1 ? 0 : Math.ceil(cpuCount / 4);
|
|
@@ -60,10 +57,8 @@ function configureAffinityAndPriority(pid) {
|
|
|
60
57
|
} else {
|
|
61
58
|
command = `taskset -p ${mask} ${pid} && renice +10 -p ${pid}`;
|
|
62
59
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
console.warn("CPU affinity/priority \uC124\uC815 \uC2E4\uD328:", err.message);
|
|
66
|
-
}
|
|
60
|
+
execa({ shell: true })`${command}`.catch((err) => {
|
|
61
|
+
console.warn("CPU affinity/priority \uC124\uC815 \uC2E4\uD328:", err.message);
|
|
67
62
|
});
|
|
68
63
|
}
|
|
69
64
|
//# sourceMappingURL=sd-cli.js.map
|
package/dist/sd-cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/sd-cli.ts"],
|
|
4
|
-
"mappings": ";AASA,SAAS,
|
|
4
|
+
"mappings": ";AASA,SAAS,aAAa;AACtB,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAE9B,MAAM,aAAa,cAAc,YAAY,GAAG;AAChD,MAAM,YAAY,KAAK,QAAQ,UAAU;AACzC,MAAM,QAAQ,KAAK,QAAQ,UAAU,MAAM;AAE3C,IAAI,OAAO;AAIT,+BAA6B,QAAQ,GAAG;AACxC,QAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,mBAAmB;AAC5D,QAAM,gBAAgB,QAAQ,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM;AACrD,OAAO;AAIL,MAAI;AACF,UAAM,EAAE,aAAa,IAAI,MAAM,OAAO,sBAAsB;AAC5D,UAAM,EAAE,iBAAiB,IAAI,MAAM,OAAO,yBAAyB;AACnE,UAAM,WAAW,MAAM,aAAa,EAAE,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,KAAK,CAAC,EAAE,CAAC;AAC/E,QAAI,SAAS,eAAe,MAAM;AAChC,YAAM,iBAAiB,QAAQ,IAAI,GAAG,SAAS,WAAW;AAAA,IAC5D;AAAA,EACF,QAAQ;AAAA,EAER;AAGA,QAAM,mBAAmB,KAAK,KAAK,WAAW,iBAAiB;AAC/D,QAAM,aAAa;AAAA,IACjB;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG,QAAQ,KAAK,MAAM,CAAC;AAAA,IACzB;AAAA,IACA,EAAE,OAAO,WAAW,QAAQ,MAAM;AAAA,EACpC;AACA,MAAI,WAAW,OAAO,KAAM,8BAA6B,WAAW,GAAG;AACvE,QAAM,SAAS,MAAM;AACrB,UAAQ,WAAW,OAAO,YAAY;AACxC;AAQA,SAAS,sBAAsB,UAA0B;AACvD,QAAM,UAAU,YAAY,IAAI,IAAI,KAAK,KAAK,WAAW,CAAC;AAC1D,MAAI,OAAO;AACX,WAAS,IAAI,SAAS,IAAI,UAAU,KAAK;AACvC,YAAQ,MAAM,OAAO,CAAC;AAAA,EACxB;AACA,SAAO,OAAO,KAAK,SAAS,EAAE,EAAE,YAAY;AAC9C;AAUA,SAAS,6BAA6B,KAAmB;AACvD,QAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,QAAM,OAAO,sBAAsB,QAAQ;AAE3C,MAAI;AACJ,MAAI,QAAQ,aAAa,SAAS;AAChC,UAAM,WAAW;AAAA,MACf,wBAAwB,GAAG;AAAA,MAC3B,0BAA0B,IAAI;AAAA,MAC9B;AAAA,IACF,EAAE,KAAK,IAAI;AACX,cAAU,wBAAwB,QAAQ;AAAA,EAC5C,OAAO;AACL,cAAU,cAAc,IAAI,IAAI,GAAG,qBAAqB,GAAG;AAAA,EAC7D;AAEA,QAAM,EAAE,OAAO,KAAK,CAAC,IAAI,OAAO,GAAG,MAAM,CAAC,QAAe;AAEvD,YAAQ,KAAK,oDAAgC,IAAI,OAAO;AAAA,EAC1D,CAAC;AACH;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import type { BuildResult } from "../infra/ResultCollector";
|
|
2
|
-
import type { PackageResult } from "./package-utils";
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
* PackageResult와 BuildResult 모두 지원
|
|
3
|
+
* 빌드 경고/에러 메시지를 포맷팅한다.
|
|
6
4
|
*/
|
|
7
|
-
|
|
5
|
+
export declare function formatBuildMessages(name: string, label: string, messages: string[]): string;
|
|
8
6
|
/**
|
|
9
7
|
* 에러만 출력한다.
|
|
10
8
|
* @param results 패키지별 빌드 결과 상태
|
|
11
9
|
*/
|
|
12
|
-
export declare function printErrors(results: Map<string,
|
|
10
|
+
export declare function printErrors(results: Map<string, BuildResult>): void;
|
|
13
11
|
/**
|
|
14
12
|
* 서버 URL만 출력한다.
|
|
15
13
|
* @param results 패키지별 빌드 결과 상태
|
|
16
14
|
* @param serverClientsMap 서버별 연결된 클라이언트 목록
|
|
17
15
|
*/
|
|
18
|
-
export declare function printServers(results: Map<string,
|
|
19
|
-
export {};
|
|
16
|
+
export declare function printServers(results: Map<string, BuildResult>, serverClientsMap?: Map<string, string[]>): void;
|
|
20
17
|
//# sourceMappingURL=output-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-utils.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\output-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"output-utils.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\output-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAQ3F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAWnE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACjC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACvC,IAAI,CAyBN"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { consola } from "consola";
|
|
2
|
+
function formatBuildMessages(name, label, messages) {
|
|
3
|
+
const lines = [`${name} (${label})`];
|
|
4
|
+
for (const msg of messages) {
|
|
5
|
+
for (const line of msg.split("\n")) {
|
|
6
|
+
lines.push(` \u2192 ${line}`);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return lines.join("\n");
|
|
10
|
+
}
|
|
2
11
|
function printErrors(results) {
|
|
3
12
|
for (const result of results.values()) {
|
|
4
13
|
if (result.status === "error") {
|
|
5
14
|
const typeLabel = result.type === "dts" ? "dts" : result.target;
|
|
6
|
-
const errorLines = [`${result.name} (${typeLabel})`];
|
|
7
15
|
if (result.message != null && result.message !== "") {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
16
|
+
consola.error(formatBuildMessages(result.name, typeLabel, [result.message]));
|
|
17
|
+
} else {
|
|
18
|
+
consola.error(`${result.name} (${typeLabel})`);
|
|
11
19
|
}
|
|
12
|
-
consola.error(errorLines.join("\n"));
|
|
13
20
|
}
|
|
14
21
|
}
|
|
15
22
|
}
|
|
@@ -34,6 +41,7 @@ function printServers(results, serverClientsMap) {
|
|
|
34
41
|
}
|
|
35
42
|
}
|
|
36
43
|
export {
|
|
44
|
+
formatBuildMessages,
|
|
37
45
|
printErrors,
|
|
38
46
|
printServers
|
|
39
47
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/output-utils.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,eAAe;
|
|
4
|
+
"mappings": "AAAA,SAAS,eAAe;AAMjB,SAAS,oBAAoB,MAAc,OAAe,UAA4B;AAC3F,QAAM,QAAkB,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG;AAC7C,aAAW,OAAO,UAAU;AAC1B,eAAW,QAAQ,IAAI,MAAM,IAAI,GAAG;AAClC,YAAM,KAAK,YAAO,IAAI,EAAE;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,MAAM,KAAK,IAAI;AACxB;AAMO,SAAS,YAAY,SAAyC;AACnE,aAAW,UAAU,QAAQ,OAAO,GAAG;AACrC,QAAI,OAAO,WAAW,SAAS;AAC7B,YAAM,YAAY,OAAO,SAAS,QAAQ,QAAQ,OAAO;AACzD,UAAI,OAAO,WAAW,QAAQ,OAAO,YAAY,IAAI;AACnD,gBAAQ,MAAM,oBAAoB,OAAO,MAAM,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAAA,MAC7E,OAAO;AACL,gBAAQ,MAAM,GAAG,OAAO,IAAI,KAAK,SAAS,GAAG;AAAA,MAC/C;AAAA,IACF;AAAA,EACF;AACF;AAOO,SAAS,aACd,SACA,kBACM;AAEN,QAAM,UAAU,CAAC,GAAG,QAAQ,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,EAAE,QAAQ,IAAI;AAG5F,MAAI,QAAQ,SAAS,GAAG;AACtB,YAAQ,OAAO,MAAM,IAAI;AACzB,eAAW,UAAU,SAAS;AAC5B,UAAI,OAAO,WAAW,UAAU;AAE9B,cAAM,UAAU,kBAAkB,IAAI,OAAO,IAAI,KAAK,CAAC;AACvD,YAAI,QAAQ,SAAS,GAAG;AACtB,qBAAW,cAAc,SAAS;AAChC,oBAAQ,KAAK,6BAA6B,OAAO,IAAI,IAAI,UAAU,GAAG;AAAA,UACxE;AAAA,QACF,OAAO;AAEL,kBAAQ,KAAK,6BAA6B,OAAO,IAAI,GAAG;AAAA,QAC1D;AAAA,MACF,OAAO;AAEL,gBAAQ,KAAK,6BAA6B,OAAO,IAAI,IAAI,OAAO,IAAI,GAAG;AAAA,MACzE;AAAA,IACF;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -8,17 +8,6 @@ export interface DepsResult {
|
|
|
8
8
|
replaceDeps: string[];
|
|
9
9
|
}
|
|
10
10
|
export declare function collectDeps(pkgDir: string, cwd: string, replaceDepsConfig?: Record<string, string>): DepsResult;
|
|
11
|
-
/**
|
|
12
|
-
* 패키지 결과 상태
|
|
13
|
-
*/
|
|
14
|
-
export interface PackageResult {
|
|
15
|
-
name: string;
|
|
16
|
-
target: string;
|
|
17
|
-
type: "build" | "dts" | "server" | "capacitor";
|
|
18
|
-
status: "success" | "error" | "running";
|
|
19
|
-
message?: string;
|
|
20
|
-
port?: number;
|
|
21
|
-
}
|
|
22
11
|
/**
|
|
23
12
|
* 패키지 설정에서 targets 필터링 (scripts 타겟 제외)
|
|
24
13
|
* @param packages 패키지 설정 맵
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-utils.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\package-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,UAAU,CAyDZ;AAED
|
|
1
|
+
{"version":3,"file":"package-utils.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\package-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,UAAU,CAyDZ;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,EACrD,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAsBjC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/package-utils.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AAMR,SAAS,gBAAgB,UAA0B;AACxD,MAAI,MAAM;AACV,SAAO,CAAC,GAAG,WAAW,KAAK,KAAK,KAAK,cAAc,CAAC,GAAG;AACrD,UAAM,SAAS,KAAK,QAAQ,GAAG;AAC/B,QAAI,WAAW,IAAK,OAAM,IAAI,MAAM,kEAA0B;AAC9D,UAAM;AAAA,EACR;AACA,SAAO;AACT;AAOO,SAAS,YACd,QACA,KACA,mBACY;AACZ,QAAM,kBAAkB,KAAK,KAAK,KAAK,cAAc;AACrD,QAAM,cAAc,KAAK,MAAM,GAAG,aAAa,iBAAiB,OAAO,CAAC;AACxE,QAAM,aAAa,YAAY,KAAK,MAAM,aAAa;AACvD,QAAM,iBAAiB,cAAc,OAAO,WAAW,CAAC,IAAI;AAE5D,QAAM,sBAAgD,CAAC;AACvD,MAAI,qBAAqB,MAAM;AAC7B,eAAW,WAAW,OAAO,KAAK,iBAAiB,GAAG;AACpD,YAAM,WAAW,QAAQ,QAAQ,SAAS,CAAC,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,OAAO,OAAO;AACnF,0BAAoB,KAAK,EAAE,OAAO,IAAI,OAAO,IAAI,QAAQ,GAAG,EAAE,CAAC;AAAA,IACjE;AAAA,EACF;AAEA,QAAM,gBAA0B,CAAC;AACjC,QAAM,cAAwB,CAAC;AAC/B,QAAM,UAAU,oBAAI,IAAY;AAEhC,WAAS,SAAS,KAAmB;AACnC,UAAM,cAAc,KAAK,KAAK,KAAK,cAAc;AACjD,QAAI,CAAC,GAAG,WAAW,WAAW,EAAG;AAEjC,UAAM,UAAU,KAAK,MAAM,GAAG,aAAa,aAAa,OAAO,CAAC;AAGhE,UAAM,OAAO,OAAO,KAAK,QAAQ,gBAAgB,CAAC,CAAC;AAEnD,eAAW,OAAO,MAAM;AACtB,UAAI,QAAQ,IAAI,GAAG,EAAG;AACtB,cAAQ,IAAI,GAAG;AAGf,UAAI,kBAAkB,QAAQ,IAAI,WAAW,iBAAiB,GAAG,GAAG;AAClE,cAAM,UAAU,IAAI,MAAM,eAAe,SAAS,CAAC;AACnD,cAAM,SAAS,KAAK,KAAK,KAAK,YAAY,OAAO;AACjD,YAAI,GAAG,WAAW,KAAK,KAAK,QAAQ,cAAc,CAAC,GAAG;AACpD,wBAAc,KAAK,OAAO;AAC1B,mBAAS,MAAM;AACf;AAAA,QACF;AAAA,MACF;AAGA,YAAM,UAAU,oBAAoB,KAAK,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC;AACjE,UAAI,WAAW,MAAM;AACnB,oBAAY,KAAK,GAAG;AACpB,cAAM,oBAAoB,KAAK,KAAK,KAAK,gBAAgB,GAAG,IAAI,MAAM,GAAG,CAAC;AAC1E,YAAI,GAAG,WAAW,KAAK,KAAK,mBAAmB,cAAc,CAAC,GAAG;AAC/D,mBAAS,iBAAiB;AAAA,QAC5B;AACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,WAAS,MAAM;AACf,SAAO,EAAE,eAAe,YAAY;AACtC;
|
|
4
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AAMR,SAAS,gBAAgB,UAA0B;AACxD,MAAI,MAAM;AACV,SAAO,CAAC,GAAG,WAAW,KAAK,KAAK,KAAK,cAAc,CAAC,GAAG;AACrD,UAAM,SAAS,KAAK,QAAQ,GAAG;AAC/B,QAAI,WAAW,IAAK,OAAM,IAAI,MAAM,kEAA0B;AAC9D,UAAM;AAAA,EACR;AACA,SAAO;AACT;AAOO,SAAS,YACd,QACA,KACA,mBACY;AACZ,QAAM,kBAAkB,KAAK,KAAK,KAAK,cAAc;AACrD,QAAM,cAAc,KAAK,MAAM,GAAG,aAAa,iBAAiB,OAAO,CAAC;AACxE,QAAM,aAAa,YAAY,KAAK,MAAM,aAAa;AACvD,QAAM,iBAAiB,cAAc,OAAO,WAAW,CAAC,IAAI;AAE5D,QAAM,sBAAgD,CAAC;AACvD,MAAI,qBAAqB,MAAM;AAC7B,eAAW,WAAW,OAAO,KAAK,iBAAiB,GAAG;AACpD,YAAM,WAAW,QAAQ,QAAQ,SAAS,CAAC,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,OAAO,OAAO;AACnF,0BAAoB,KAAK,EAAE,OAAO,IAAI,OAAO,IAAI,QAAQ,GAAG,EAAE,CAAC;AAAA,IACjE;AAAA,EACF;AAEA,QAAM,gBAA0B,CAAC;AACjC,QAAM,cAAwB,CAAC;AAC/B,QAAM,UAAU,oBAAI,IAAY;AAEhC,WAAS,SAAS,KAAmB;AACnC,UAAM,cAAc,KAAK,KAAK,KAAK,cAAc;AACjD,QAAI,CAAC,GAAG,WAAW,WAAW,EAAG;AAEjC,UAAM,UAAU,KAAK,MAAM,GAAG,aAAa,aAAa,OAAO,CAAC;AAGhE,UAAM,OAAO,OAAO,KAAK,QAAQ,gBAAgB,CAAC,CAAC;AAEnD,eAAW,OAAO,MAAM;AACtB,UAAI,QAAQ,IAAI,GAAG,EAAG;AACtB,cAAQ,IAAI,GAAG;AAGf,UAAI,kBAAkB,QAAQ,IAAI,WAAW,iBAAiB,GAAG,GAAG;AAClE,cAAM,UAAU,IAAI,MAAM,eAAe,SAAS,CAAC;AACnD,cAAM,SAAS,KAAK,KAAK,KAAK,YAAY,OAAO;AACjD,YAAI,GAAG,WAAW,KAAK,KAAK,QAAQ,cAAc,CAAC,GAAG;AACpD,wBAAc,KAAK,OAAO;AAC1B,mBAAS,MAAM;AACf;AAAA,QACF;AAAA,MACF;AAGA,YAAM,UAAU,oBAAoB,KAAK,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC;AACjE,UAAI,WAAW,MAAM;AACnB,oBAAY,KAAK,GAAG;AACpB,cAAM,oBAAoB,KAAK,KAAK,KAAK,gBAAgB,GAAG,IAAI,MAAM,GAAG,CAAC;AAC1E,YAAI,GAAG,WAAW,KAAK,KAAK,mBAAmB,cAAc,CAAC,GAAG;AAC/D,mBAAS,iBAAiB;AAAA,QAC5B;AACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,WAAS,MAAM;AACf,SAAO,EAAE,eAAe,YAAY;AACtC;AASO,SAAS,wBACd,UACA,SACiC;AACjC,QAAM,SAA0C,CAAC;AAEjD,aAAW,CAAC,MAAM,MAAM,KAAK,OAAO,QAAQ,QAAQ,GAAG;AACrD,QAAI,UAAU,KAAM;AAGpB,QAAI,OAAO,WAAW,UAAW;AAGjC,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO,IAAI,IAAI;AACf;AAAA,IACF;AAGA,QAAI,QAAQ,SAAS,IAAI,GAAG;AAC1B,aAAO,IAAI,IAAI;AAAA,IACjB;AAAA,EACF;AAEA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-deps.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\replace-deps.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,WAAW,EAAE,MAAM,EAAE,GACpB,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BnD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA8B7D;AAmBD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"replace-deps.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\replace-deps.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,WAAW,EAAE,MAAM,EAAE,GACpB,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BnD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA8B7D;AAmBD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA4GD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAmFhC"}
|
|
@@ -64,54 +64,7 @@ async function collectSearchRoots(projectRoot) {
|
|
|
64
64
|
}
|
|
65
65
|
return searchRoots;
|
|
66
66
|
}
|
|
67
|
-
async function
|
|
68
|
-
const logger = consola.withTag("sd:cli:replace-deps");
|
|
69
|
-
let setupCount = 0;
|
|
70
|
-
logger.start("Setting up replace-deps");
|
|
71
|
-
const searchRoots = await collectSearchRoots(projectRoot);
|
|
72
|
-
for (const searchRoot of searchRoots) {
|
|
73
|
-
const nodeModulesDir = path.join(searchRoot, "node_modules");
|
|
74
|
-
try {
|
|
75
|
-
await fs.promises.access(nodeModulesDir);
|
|
76
|
-
} catch {
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
const targetNames = [];
|
|
80
|
-
for (const pattern of Object.keys(replaceDeps)) {
|
|
81
|
-
const matches = await glob(pattern, { cwd: nodeModulesDir });
|
|
82
|
-
targetNames.push(...matches);
|
|
83
|
-
}
|
|
84
|
-
if (targetNames.length === 0) continue;
|
|
85
|
-
const entries = resolveReplaceDepEntries(replaceDeps, targetNames);
|
|
86
|
-
for (const { targetName, sourcePath } of entries) {
|
|
87
|
-
const targetPath = path.join(nodeModulesDir, targetName);
|
|
88
|
-
const resolvedSourcePath = path.resolve(projectRoot, sourcePath);
|
|
89
|
-
try {
|
|
90
|
-
await fs.promises.access(resolvedSourcePath);
|
|
91
|
-
} catch {
|
|
92
|
-
logger.warn(`\uC18C\uC2A4 \uACBD\uB85C\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC544 \uC2A4\uD0B5\uD569\uB2C8\uB2E4: ${resolvedSourcePath}`);
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
try {
|
|
96
|
-
let actualTargetPath = targetPath;
|
|
97
|
-
try {
|
|
98
|
-
const stat = await fs.promises.lstat(targetPath);
|
|
99
|
-
if (stat.isSymbolicLink()) {
|
|
100
|
-
actualTargetPath = await fs.promises.realpath(targetPath);
|
|
101
|
-
}
|
|
102
|
-
} catch {
|
|
103
|
-
}
|
|
104
|
-
await fsCopy(resolvedSourcePath, actualTargetPath, replaceDepsCopyFilter);
|
|
105
|
-
setupCount += 1;
|
|
106
|
-
} catch (err) {
|
|
107
|
-
logger.error(`\uBCF5\uC0AC \uAD50\uCCB4 \uC2E4\uD328 (${targetName}): ${err instanceof Error ? err.message : err}`);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
logger.success(`Replaced ${setupCount} dependencies`);
|
|
112
|
-
}
|
|
113
|
-
async function watchReplaceDeps(projectRoot, replaceDeps) {
|
|
114
|
-
const logger = consola.withTag("sd:cli:replace-deps:watch");
|
|
67
|
+
async function resolveAllReplaceDepEntries(projectRoot, replaceDeps, logger) {
|
|
115
68
|
const entries = [];
|
|
116
69
|
const searchRoots = await collectSearchRoots(projectRoot);
|
|
117
70
|
for (const searchRoot of searchRoots) {
|
|
@@ -154,6 +107,26 @@ async function watchReplaceDeps(projectRoot, replaceDeps) {
|
|
|
154
107
|
});
|
|
155
108
|
}
|
|
156
109
|
}
|
|
110
|
+
return entries;
|
|
111
|
+
}
|
|
112
|
+
async function setupReplaceDeps(projectRoot, replaceDeps) {
|
|
113
|
+
const logger = consola.withTag("sd:cli:replace-deps");
|
|
114
|
+
let setupCount = 0;
|
|
115
|
+
logger.start("Setting up replace-deps");
|
|
116
|
+
const entries = await resolveAllReplaceDepEntries(projectRoot, replaceDeps, logger);
|
|
117
|
+
for (const { targetName, resolvedSourcePath, actualTargetPath } of entries) {
|
|
118
|
+
try {
|
|
119
|
+
await fsCopy(resolvedSourcePath, actualTargetPath, replaceDepsCopyFilter);
|
|
120
|
+
setupCount += 1;
|
|
121
|
+
} catch (err) {
|
|
122
|
+
logger.error(`\uBCF5\uC0AC \uAD50\uCCB4 \uC2E4\uD328 (${targetName}): ${err instanceof Error ? err.message : err}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
logger.success(`Replaced ${setupCount} dependencies`);
|
|
126
|
+
}
|
|
127
|
+
async function watchReplaceDeps(projectRoot, replaceDeps) {
|
|
128
|
+
const logger = consola.withTag("sd:cli:replace-deps:watch");
|
|
129
|
+
const entries = await resolveAllReplaceDepEntries(projectRoot, replaceDeps, logger);
|
|
157
130
|
const watchers = [];
|
|
158
131
|
const watchedSources = /* @__PURE__ */ new Set();
|
|
159
132
|
logger.start(`Watching ${entries.length} replace-deps target(s)`);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/replace-deps.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,QAAQ,SAAS,MAAM,WAAW,uBAAuB;AAU3D,SAAS,yBACd,aACA,aACmD;AACnD,QAAM,UAA6D,CAAC;AAEpE,aAAW,CAAC,SAAS,cAAc,KAAK,OAAO,QAAQ,WAAW,GAAG;AAEnE,UAAM,aAAa,QAAQ,QAAQ,aAAa,CAAC,OAAO;AACtD,UAAI,OAAO,IAAK,QAAO;AACvB,UAAI,OAAO,IAAK,QAAO;AACvB,UAAI,OAAO,OAAO,OAAO,KAAM,QAAO;AACtC,UAAI,OAAO,IAAK,QAAO;AACvB,aAAO;AAAA,IACT,CAAC;AACD,UAAM,QAAQ,IAAI,OAAO,IAAI,UAAU,GAAG;AAC1C,UAAM,cAAc,QAAQ,SAAS,GAAG;AAExC,eAAW,cAAc,aAAa;AACpC,YAAM,QAAQ,MAAM,KAAK,UAAU;AACnC,UAAI,SAAS,KAAM;AAGnB,YAAM,aAAa,cAAc,eAAe,QAAQ,OAAO,MAAM,CAAC,CAAC,IAAI;AAE3E,cAAQ,KAAK,EAAE,YAAY,WAAW,CAAC;AAAA,IACzC;AAAA,EACF;AAEA,SAAO;AACT;AASO,SAAS,oBAAoB,SAA2B;AAC7D,QAAM,QAAQ,QAAQ,MAAM,IAAI;AAChC,QAAM,QAAkB,CAAC;AACzB,MAAI,aAAa;AAEjB,aAAW,QAAQ,OAAO;AACxB,UAAM,UAAU,KAAK,KAAK;AAE1B,QAAI,YAAY,aAAa;AAC3B,mBAAa;AACb;AAAA,IACF;AAGA,QAAI,cAAc,QAAQ,WAAW,IAAI,GAAG;AAC1C,YAAM,QAAQ,QACX,MAAM,CAAC,EACP,KAAK,EACL,QAAQ,gBAAgB,EAAE;AAC7B,YAAM,KAAK,KAAK;AAChB;AAAA,IACF;AAGA,QAAI,cAAc,YAAY,MAAM,CAAC,QAAQ,WAAW,GAAG,GAAG;AAC5D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAKA,MAAM,iBAAiB,oBAAI,IAAI,CAAC,gBAAgB,gBAAgB,UAAU,OAAO,CAAC;AASlF,SAAS,sBAAsB,UAA2B;AACxD,QAAM,WAAW,KAAK,SAAS,QAAQ;AACvC,SAAO,CAAC,eAAe,IAAI,QAAQ;AACrC;AA8BA,eAAe,mBAAmB,aAAwC;AACxE,QAAM,cAAc,CAAC,WAAW;AAEhC,QAAM,oBAAoB,KAAK,KAAK,aAAa,qBAAqB;AACtE,MAAI;AACF,UAAM,cAAc,MAAM,GAAG,SAAS,SAAS,mBAAmB,OAAO;AACzE,UAAM,iBAAiB,oBAAoB,WAAW;AAEtD,eAAW,WAAW,gBAAgB;AACpC,YAAM,OAAO,MAAM,KAAK,SAAS,EAAE,KAAK,aAAa,UAAU,KAAK,CAAC;AACrE,kBAAY,KAAK,GAAG,IAAI;AAAA,IAC1B;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,SAAO;AACT;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import type { SdConfig } from "../sd-config.types";
|
|
1
|
+
import type { SdConfig, SdConfigParams } from "../sd-config.types";
|
|
2
2
|
/**
|
|
3
3
|
* sd.config.ts 로드
|
|
4
4
|
* @returns SdConfig 객체
|
|
5
5
|
* @throws sd.config.ts가 없거나 형식이 잘못된 경우
|
|
6
6
|
*/
|
|
7
|
-
export declare function loadSdConfig(params:
|
|
8
|
-
cwd: string;
|
|
9
|
-
dev: boolean;
|
|
10
|
-
opt: string[];
|
|
11
|
-
}): Promise<SdConfig>;
|
|
7
|
+
export declare function loadSdConfig(params: SdConfigParams): Promise<SdConfig>;
|
|
12
8
|
//# sourceMappingURL=sd-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-config.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\sd-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sd-config.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\sd-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgC5E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/sd-config.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,gBAAgB;AAQzB,eAAsB,aAAa,
|
|
4
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,gBAAgB;AAQzB,eAAsB,aAAa,QAA2C;AAC5E,QAAM,eAAe,KAAK,QAAQ,OAAO,KAAK,cAAc;AAE5D,MAAI,CAAE,MAAM,SAAS,YAAY,GAAI;AACnC,UAAM,IAAI,QAAQ,iFAA+B,YAAY,EAAE;AAAA,EACjE;AAEA,QAAM,OAAO,WAAW,YAAY,GAAG;AACvC,QAAM,iBAAiB,MAAM,KAAK,OAAO,YAAY;AAErD,MACE,kBAAkB,QAClB,OAAO,mBAAmB,YAC1B,EAAE,aAAa,mBACf,OAAO,eAAe,YAAY,YAClC;AACA,UAAM,IAAI,QAAQ,wFAA2C,YAAY,EAAE;AAAA,EAC7E;AAEA,QAAM,SAAS,MAAM,eAAe,QAAQ,MAAM;AAElD,MACE,UAAU,QACV,OAAO,WAAW,YAClB,EAAE,cAAc,WAChB,OAAO,YAAY,QACnB,OAAO,OAAO,aAAa,YAC3B,MAAM,QAAQ,OAAO,QAAQ,GAC7B;AACA,UAAM,IAAI,QAAQ,+GAAoC,YAAY,EAAE;AAAA,EACtE;AACA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\vite-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,UAAU,IAAI,cAAc,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\vite-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,UAAU,IAAI,cAAc,EAAE,MAAM,MAAM,CAAC;AAiPjE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAuE3E"}
|
|
@@ -63,7 +63,13 @@ function sdPublicDevPlugin(pkgDir) {
|
|
|
63
63
|
if (urlPath.startsWith("/")) {
|
|
64
64
|
urlPath = urlPath.slice(1);
|
|
65
65
|
}
|
|
66
|
-
const
|
|
66
|
+
const decodedPath = decodeURIComponent(urlPath);
|
|
67
|
+
const filePath = path.resolve(publicDevDir, decodedPath);
|
|
68
|
+
const normalizedRoot = path.resolve(publicDevDir);
|
|
69
|
+
if (!filePath.startsWith(normalizedRoot + path.sep) && filePath !== normalizedRoot) {
|
|
70
|
+
next();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
67
73
|
if (fs.existsSync(filePath) && fs.statSync(filePath).isFile()) {
|
|
68
74
|
const stream = fs.createReadStream(filePath);
|
|
69
75
|
stream.pipe(res);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/vite-config.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,QAAQ;AACf,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AAEjB,OAAO,mBAAmB;AAC1B,OAAO,iBAAiB;AACxB,SAAS,eAAe;AACxB,OAAO,iBAAiB;AAExB,SAAS,6BAA6B;AACtC,SAAS,WAAW,gBAAgB;AASpC,SAAS,2BAA2B,QAAgB,aAA+B;AACjF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,gBAAgB,QAAQ;AACtB,YAAM,aAAa,KAAK,KAAK,QAAQ,oBAAoB;AACzD,UAAI,CAAC,GAAG,WAAW,UAAU,EAAG;AAEhC,YAAM,UAAU,sBAAsB,YAAY,WAAW;AAC7D,YAAM,iBAAiB,KAAK,QAAQ,UAAU;AAC9C,YAAM,eAAe,QAAQ,OAAO,CAAC,MAAM,MAAM,cAAc;AAC/D,UAAI,aAAa,WAAW,EAAG;AAE/B,iBAAW,OAAO,cAAc;AAC9B,eAAO,QAAQ,IAAI,GAAG;AAAA,MACxB;AAEA,aAAO,QAAQ,GAAG,UAAU,CAAC,YAAY;AACvC,YAAI,aAAa,KAAK,CAAC,MAAM,SAAS,CAAC,MAAM,SAAS,OAAO,CAAC,GAAG;AAG/D,gBAAM,WAAW,cAAc,YAAY,GAAG;AAC9C,qBAAW,OAAO,SAAS;AACzB,mBAAO,SAAS,MAAM,GAAG;AAAA,UAC3B;AAGA,gBAAM,MAAM,oBAAI,KAAK;AACrB,aAAG,WAAW,YAAY,KAAK,GAAG;AAClC,iBAAO,GAAG,KAAK,EAAE,MAAM,cAAc,CAAC;AAAA,QACxC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAUA,SAAS,qBAAqB,aAA8B;AAC1D,MAAI;AACF,UAAM,UAAU,KAAK,MAAM,GAAG,aAAa,aAAa,OAAO,CAAC;AAKhE,QACE,QAAQ,WAAW,QACnB,OAAO,QAAQ,YAAY,YAC3B,EAAE,OAAO,QAAQ,YACjB,QAAQ,QAAQ,QAChB,QAAQ,UAAU,MAClB;AACA,aAAO;AAAA,IACT;AAAA,EACF,QAAQ;AAAA,EAER;AACA,SAAO;AACT;AAMA,SAAS,kBAAkB,QAAwB;AACjD,QAAM,eAAe,KAAK,KAAK,QAAQ,YAAY;AAEnD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,gBAAgB,QAAQ;AACtB,UAAI,CAAC,GAAG,WAAW,YAAY,EAAG;AAGlC,aAAO,YAAY,IAAI,CAAC,KAAK,KAAK,SAAS;AACzC,YAAI,IAAI,OAAO,MAAM;AACnB,eAAK;AACL;AAAA,QACF;AAGA,cAAM,OAAO,OAAO,OAAO,QAAQ;AACnC,YAAI,UAAU,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;AAClC,YAAI,QAAQ,WAAW,IAAI,GAAG;AAC5B,oBAAU,QAAQ,MAAM,KAAK,MAAM;AAAA,QACrC;AACA,YAAI,QAAQ,WAAW,GAAG,GAAG;AAC3B,oBAAU,QAAQ,MAAM,CAAC;AAAA,QAC3B;
|
|
4
|
+
"mappings": "AAAA,OAAO,QAAQ;AACf,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AAEjB,OAAO,mBAAmB;AAC1B,OAAO,iBAAiB;AACxB,SAAS,eAAe;AACxB,OAAO,iBAAiB;AAExB,SAAS,6BAA6B;AACtC,SAAS,WAAW,gBAAgB;AASpC,SAAS,2BAA2B,QAAgB,aAA+B;AACjF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,gBAAgB,QAAQ;AACtB,YAAM,aAAa,KAAK,KAAK,QAAQ,oBAAoB;AACzD,UAAI,CAAC,GAAG,WAAW,UAAU,EAAG;AAEhC,YAAM,UAAU,sBAAsB,YAAY,WAAW;AAC7D,YAAM,iBAAiB,KAAK,QAAQ,UAAU;AAC9C,YAAM,eAAe,QAAQ,OAAO,CAAC,MAAM,MAAM,cAAc;AAC/D,UAAI,aAAa,WAAW,EAAG;AAE/B,iBAAW,OAAO,cAAc;AAC9B,eAAO,QAAQ,IAAI,GAAG;AAAA,MACxB;AAEA,aAAO,QAAQ,GAAG,UAAU,CAAC,YAAY;AACvC,YAAI,aAAa,KAAK,CAAC,MAAM,SAAS,CAAC,MAAM,SAAS,OAAO,CAAC,GAAG;AAG/D,gBAAM,WAAW,cAAc,YAAY,GAAG;AAC9C,qBAAW,OAAO,SAAS;AACzB,mBAAO,SAAS,MAAM,GAAG;AAAA,UAC3B;AAGA,gBAAM,MAAM,oBAAI,KAAK;AACrB,aAAG,WAAW,YAAY,KAAK,GAAG;AAClC,iBAAO,GAAG,KAAK,EAAE,MAAM,cAAc,CAAC;AAAA,QACxC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAUA,SAAS,qBAAqB,aAA8B;AAC1D,MAAI;AACF,UAAM,UAAU,KAAK,MAAM,GAAG,aAAa,aAAa,OAAO,CAAC;AAKhE,QACE,QAAQ,WAAW,QACnB,OAAO,QAAQ,YAAY,YAC3B,EAAE,OAAO,QAAQ,YACjB,QAAQ,QAAQ,QAChB,QAAQ,UAAU,MAClB;AACA,aAAO;AAAA,IACT;AAAA,EACF,QAAQ;AAAA,EAER;AACA,SAAO;AACT;AAMA,SAAS,kBAAkB,QAAwB;AACjD,QAAM,eAAe,KAAK,KAAK,QAAQ,YAAY;AAEnD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,gBAAgB,QAAQ;AACtB,UAAI,CAAC,GAAG,WAAW,YAAY,EAAG;AAGlC,aAAO,YAAY,IAAI,CAAC,KAAK,KAAK,SAAS;AACzC,YAAI,IAAI,OAAO,MAAM;AACnB,eAAK;AACL;AAAA,QACF;AAGA,cAAM,OAAO,OAAO,OAAO,QAAQ;AACnC,YAAI,UAAU,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;AAClC,YAAI,QAAQ,WAAW,IAAI,GAAG;AAC5B,oBAAU,QAAQ,MAAM,KAAK,MAAM;AAAA,QACrC;AACA,YAAI,QAAQ,WAAW,GAAG,GAAG;AAC3B,oBAAU,QAAQ,MAAM,CAAC;AAAA,QAC3B;AAGA,cAAM,cAAc,mBAAmB,OAAO;AAC9C,cAAM,WAAW,KAAK,QAAQ,cAAc,WAAW;AACvD,cAAM,iBAAiB,KAAK,QAAQ,YAAY;AAChD,YAAI,CAAC,SAAS,WAAW,iBAAiB,KAAK,GAAG,KAAK,aAAa,gBAAgB;AAClF,eAAK;AACL;AAAA,QACF;AAEA,YAAI,GAAG,WAAW,QAAQ,KAAK,GAAG,SAAS,QAAQ,EAAE,OAAO,GAAG;AAE7D,gBAAM,SAAS,GAAG,iBAAiB,QAAQ;AAC3C,iBAAO,KAAK,GAAG;AAAA,QACjB,OAAO;AACL,eAAK;AAAA,QACP;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAWA,SAAS,mBACP,QACA,aACA,gBACQ;AACR,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,YAAM,WAAqB,CAAC;AAC5B,YAAM,sBAAgC,CAAC;AAEvC,iBAAW,OAAO,aAAa;AAC7B,iBAAS,KAAK,GAAG;AAEjB,cAAM,WAAW,IAAI,MAAM,GAAG;AAC9B,cAAM,iBAAiB,KAAK,KAAK,QAAQ,gBAAgB,GAAG,UAAU,cAAc;AACpF,YAAI;AACF,gBAAM,aAAa,KAAK,MAAM,GAAG,aAAa,gBAAgB,OAAO,CAAC;AAGtE,qBAAW,OAAO,OAAO,KAAK,WAAW,gBAAgB,CAAC,CAAC,GAAG;AAC5D,gBAAI,YAAY,SAAS,GAAG,EAAG;AAC/B,gBAAI,QAAQ,cAAc,IAAI,WAAW,WAAW,KAAK,IAAI,WAAW,QAAQ;AAC9E;AACF,gBAAI,QAAQ,cAAe;AAE3B,kBAAM,cAAc,GAAG,aAAa,KAAK,KAAK,QAAQ,gBAAgB,GAAG,QAAQ,CAAC;AAClF,kBAAM,kBAAkB,KAAK,QAAQ,aAAa,OAAO;AACzD,kBAAM,qBAAqB,KAAK,KAAK,iBAAiB,KAAK,cAAc;AACzE,gBAAI,qBAAqB,kBAAkB,EAAG;AAE9C,kBAAM,qBAAqB,KAAK;AAAA,cAC9B;AAAA,cACA;AAAA,cACA,GAAG;AAAA,cACH;AAAA,cACA;AAAA,cACA;AAAA,YACF;AACA,gBAAI,qBAAqB,kBAAkB,EAAG;AAE9C,gCAAoB,KAAK,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA,UAC5C;AAAA,QACF,QAAQ;AAAA,QAER;AAAA,MACF;AAEA,aAAO;AAAA,QACL,cAAc;AAAA,UACZ,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAS,CAAC,GAAG,IAAI,IAAI,mBAAmB,CAAC;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM,gBAAgB,QAAQ;AAC5B,YAAM,aAAuB,CAAC;AAE9B,iBAAW,OAAO,aAAa;AAC7B,cAAM,WAAW,IAAI,MAAM,GAAG;AAC9B,cAAM,UAAU,KAAK,KAAK,QAAQ,gBAAgB,GAAG,QAAQ;AAC7D,YAAI,CAAC,GAAG,WAAW,OAAO,EAAG;AAE7B,cAAM,UAAU,KAAK,KAAK,SAAS,MAAM;AACzC,YAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,qBAAW,KAAK,OAAO;AAAA,QACzB;AAEA,mBAAW,QAAQ,GAAG,YAAY,OAAO,GAAG;AAC1C,cACE,KAAK,SAAS,MAAM,KACpB,SAAS,wBACT,SAAS,sBACT;AACA,uBAAW,KAAK,KAAK,KAAK,SAAS,IAAI,CAAC;AAAA,UAC1C;AAAA,QACF;AAAA,MACF;AAEA,UAAI,WAAW,WAAW,EAAG;AAE7B,YAAM,eAAe,MAAM,UAAU,MAAM,UAAU;AACrD,mBAAa,SAAS,EAAE,OAAO,IAAI,GAAG,CAAC,gBAAgB;AACrD,mBAAW,EAAE,MAAM,YAAY,KAAK,aAAa;AAC/C,cAAI;AACJ,cAAI;AACF,uBAAW,GAAG,aAAa,WAAW;AAAA,UACxC,QAAQ;AACN;AAAA,UACF;AACA,iBAAO,QAAQ,KAAK,UAAU,QAAQ;AAAA,QACxC;AACA,yBAAiB;AAAA,MACnB,CAAC;AAED,aAAO,YAAY,GAAG,SAAS,MAAM,KAAK,aAAa,MAAM,CAAC;AAAA,IAChE;AAAA,EACF;AACF;AA2BO,SAAS,iBAAiB,SAA4C;AAC3E,QAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB,KAAK,MAAM,YAAY,YAAY,IACtF;AAGF,QAAM,cAAc,KAAK,KAAK,QAAQ,cAAc;AACpD,QAAM,UAAU,KAAK,MAAM,GAAG,aAAa,aAAa,OAAO,CAAC;AAChE,QAAM,UAAU,QAAQ,KAAK,QAAQ,aAAa,EAAE;AAGpD,QAAM,YAAoC,CAAC;AAC3C,MAAI,OAAO,MAAM;AACf,cAAU,aAAa,IAAI,KAAK,UAAU,GAAG;AAAA,EAC/C;AAEA,QAAM,SAAyB;AAAA,IAC7B,MAAM;AAAA,IACN,MAAM,IAAI,IAAI;AAAA,IACd,SAAS;AAAA,MACP,cAAc,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;AAAA,MAC1C,YAAY;AAAA,MACZ,QAAQ;AAAA,QACN,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,UAAU;AAAA,UACR,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,aAAa;AAAA,UACb,kBAAkB;AAAA,QACpB;AAAA,QACA,SAAS;AAAA,UACP,cAAc,CAAC,sCAAsC;AAAA,QACvD;AAAA,MACF,CAAC;AAAA,MACD,GAAI,eAAe,QAAQ,YAAY,SAAS,IAC5C,CAAC,2BAA2B,QAAQ,WAAW,CAAC,IAChD,CAAC;AAAA,MACL,GAAI,eAAe,QAAQ,YAAY,SAAS,IAC5C,CAAC,mBAAmB,QAAQ,aAAa,QAAQ,cAAc,CAAC,IAChE,CAAC;AAAA,MACL,GAAI,SAAS,QAAQ,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC;AAAA,IACtD;AAAA,IACA,KAAK;AAAA,MACH,SAAS;AAAA,QACP,SAAS,CAAC,YAAY,EAAE,QAAQ,KAAK,KAAK,QAAQ,oBAAoB,EAAE,CAAC,CAAC;AAAA,MAC5E;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,aAAa,EAAE,gBAA2E;AAAA,IAC5F;AAAA,EACF;AAGA,SAAO,SAAS;AAEhB,MAAI,SAAS,SAAS;AACpB,WAAO,WAAW;AAAA,EACpB,OAAO;AAEL,WAAO,SAAS;AAAA;AAAA;AAAA;AAAA,MAId,MAAM,eAAe,IAAI,cAAc;AAAA,MACvC,MAAM,eAAe,IAAI,SAAY;AAAA,MACrC,YAAY,eAAe,KAAK,eAAe;AAAA,IACjD;AAAA,EACF;AAEA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BuildResult } from "../infra/ResultCollector";
|
|
2
2
|
import type { SdPackageConfig } from "../sd-config.types";
|
|
3
3
|
import type { RebuildManager } from "./rebuild-manager";
|
|
4
4
|
/** Worker 빌드 완료 이벤트 데이터 */
|
|
@@ -25,12 +25,12 @@ export interface ServerBuildEventData {
|
|
|
25
25
|
/**
|
|
26
26
|
* 기본 Worker 정보 타입
|
|
27
27
|
*/
|
|
28
|
-
export interface BaseWorkerInfo<TEvents extends Record<string,
|
|
28
|
+
export interface BaseWorkerInfo<TEvents extends Record<string, unknown> = Record<string, unknown>> {
|
|
29
29
|
name: string;
|
|
30
30
|
config: SdPackageConfig;
|
|
31
31
|
worker: {
|
|
32
|
-
on<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]
|
|
33
|
-
send<K extends keyof TEvents>(event: K, data: TEvents[K]
|
|
32
|
+
on<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): void;
|
|
33
|
+
send<K extends keyof TEvents>(event: K, data: TEvents[K]): void;
|
|
34
34
|
};
|
|
35
35
|
isInitialBuild: boolean;
|
|
36
36
|
buildResolver: (() => void) | undefined;
|
|
@@ -52,5 +52,5 @@ export interface WorkerEventHandlerOptions {
|
|
|
52
52
|
* @param rebuildManager 리빌드 매니저
|
|
53
53
|
* @returns completeTask 함수 (결과를 저장하고 빌드 완료를 알림)
|
|
54
54
|
*/
|
|
55
|
-
export declare function registerWorkerEventHandlers<TEvents extends Record<string,
|
|
55
|
+
export declare function registerWorkerEventHandlers<TEvents extends Record<string, unknown>, T extends BaseWorkerInfo<TEvents>>(workerInfo: T, opts: WorkerEventHandlerOptions, results: Map<string, BuildResult>, rebuildManager: RebuildManager): (result: BuildResult) => void;
|
|
56
56
|
//# sourceMappingURL=worker-events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-events.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\worker-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"worker-events.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\worker-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxD,2BAA2B;AAC3B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAwB;AACxB,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2BAA2B;AAC3B,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8BAA8B;AAC9B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE;QACN,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;QACjF,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;KACjE,CAAC;IACF,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,GAAG,KAAK,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,CAAC,SAAS,cAAc,CAAC,OAAO,CAAC,EAEjC,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACjC,cAAc,EAAE,cAAc,GAC7B,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAkD/B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { consola } from "consola";
|
|
2
|
+
import { formatBuildMessages } from "./output-utils.js";
|
|
2
3
|
const workerEventsLogger = consola.withTag("sd:cli:worker-events");
|
|
3
4
|
function registerWorkerEventHandlers(workerInfo, opts, results, rebuildManager) {
|
|
4
5
|
const completeTask = (result) => {
|
|
@@ -12,35 +13,31 @@ function registerWorkerEventHandlers(workerInfo, opts, results, rebuildManager)
|
|
|
12
13
|
workerInfo.buildResolver = rebuildManager.registerBuild(opts.resultKey, opts.listrTitle);
|
|
13
14
|
}
|
|
14
15
|
});
|
|
15
|
-
workerInfo.worker.on("build", (
|
|
16
|
-
const
|
|
17
|
-
workerEventsLogger.debug(`[${workerInfo.name}] build: success=${String(
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
warnLines.push(` \u2192 ${line}`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
workerEventsLogger.warn(warnLines.join("\n"));
|
|
16
|
+
workerInfo.worker.on("build", (_data) => {
|
|
17
|
+
const data = _data;
|
|
18
|
+
workerEventsLogger.debug(`[${workerInfo.name}] build: success=${String(data.success)}`);
|
|
19
|
+
if (data.warnings != null && data.warnings.length > 0) {
|
|
20
|
+
workerEventsLogger.warn(
|
|
21
|
+
formatBuildMessages(workerInfo.name, workerInfo.config.target, data.warnings)
|
|
22
|
+
);
|
|
26
23
|
}
|
|
27
24
|
completeTask({
|
|
28
25
|
name: workerInfo.name,
|
|
29
26
|
target: workerInfo.config.target,
|
|
30
27
|
type: opts.resultType,
|
|
31
|
-
status:
|
|
32
|
-
message:
|
|
28
|
+
status: data.success ? "success" : "error",
|
|
29
|
+
message: data.errors?.join("\n")
|
|
33
30
|
});
|
|
34
31
|
});
|
|
35
|
-
workerInfo.worker.on("error", (
|
|
36
|
-
const
|
|
37
|
-
workerEventsLogger.debug(`[${workerInfo.name}] error: ${
|
|
32
|
+
workerInfo.worker.on("error", (_data) => {
|
|
33
|
+
const data = _data;
|
|
34
|
+
workerEventsLogger.debug(`[${workerInfo.name}] error: ${data.message}`);
|
|
38
35
|
completeTask({
|
|
39
36
|
name: workerInfo.name,
|
|
40
37
|
target: workerInfo.config.target,
|
|
41
38
|
type: opts.resultType,
|
|
42
39
|
status: "error",
|
|
43
|
-
message:
|
|
40
|
+
message: data.message
|
|
44
41
|
});
|
|
45
42
|
});
|
|
46
43
|
return completeTask;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/worker-events.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,eAAe;
|
|
4
|
+
"mappings": "AAAA,SAAS,eAAe;AAIxB,SAAS,2BAA2B;AAEpC,MAAM,qBAAqB,QAAQ,QAAQ,sBAAsB;AA2D1D,SAAS,4BAId,YACA,MACA,SACA,gBAC+B;AAC/B,QAAM,eAAe,CAAC,WAA8B;AAClD,YAAQ,IAAI,KAAK,WAAW,MAAM;AAClC,eAAW,gBAAgB;AAC3B,eAAW,gBAAgB;AAC3B,eAAW,iBAAiB;AAAA,EAC9B;AAGA,aAAW,OAAO,GAAG,cAAc,MAAM;AACvC,QAAI,CAAC,WAAW,gBAAgB;AAC9B,iBAAW,gBAAgB,eAAe,cAAc,KAAK,WAAW,KAAK,UAAU;AAAA,IACzF;AAAA,EACF,CAAC;AAGD,aAAW,OAAO,GAAG,SAAS,CAAC,UAAU;AACvC,UAAM,OAAO;AACb,uBAAmB,MAAM,IAAI,WAAW,IAAI,oBAAoB,OAAO,KAAK,OAAO,CAAC,EAAE;AAGtF,QAAI,KAAK,YAAY,QAAQ,KAAK,SAAS,SAAS,GAAG;AACrD,yBAAmB;AAAA,QACjB,oBAAoB,WAAW,MAAM,WAAW,OAAO,QAAQ,KAAK,QAAQ;AAAA,MAC9E;AAAA,IACF;AAEA,iBAAa;AAAA,MACX,MAAM,WAAW;AAAA,MACjB,QAAQ,WAAW,OAAO;AAAA,MAC1B,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK,UAAU,YAAY;AAAA,MACnC,SAAS,KAAK,QAAQ,KAAK,IAAI;AAAA,IACjC,CAAC;AAAA,EACH,CAAC;AAGD,aAAW,OAAO,GAAG,SAAS,CAAC,UAAU;AACvC,UAAM,OAAO;AACb,uBAAmB,MAAM,IAAI,WAAW,IAAI,YAAY,KAAK,OAAO,EAAE;AACtE,iBAAa;AAAA,MACX,MAAM,WAAW;AAAA,MACjB,QAAQ,WAAW,OAAO;AAAA,MAC1B,MAAM,KAAK;AAAA,MACX,QAAQ;AAAA,MACR,SAAS,KAAK;AAAA,IAChB,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -10,4 +10,11 @@ import type { ConsolaInstance } from "consola";
|
|
|
10
10
|
* @param logger - Consola logger instance for error logging
|
|
11
11
|
*/
|
|
12
12
|
export declare function registerCleanupHandlers(cleanup: () => Promise<void>, logger: ConsolaInstance): void;
|
|
13
|
+
/**
|
|
14
|
+
* Worker 함수의 중복 호출을 방지하는 가드를 생성한다.
|
|
15
|
+
*
|
|
16
|
+
* @param label - 에러 메시지에 사용할 함수명
|
|
17
|
+
* @returns 호출 시 중복이면 에러를 throw하는 가드 함수
|
|
18
|
+
*/
|
|
19
|
+
export declare function createOnceGuard(label: string): () => void;
|
|
13
20
|
//# sourceMappingURL=worker-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-utils.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\worker-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,MAAM,EAAE,eAAe,GACtB,IAAI,CAaN"}
|
|
1
|
+
{"version":3,"file":"worker-utils.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\worker-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,MAAM,EAAE,eAAe,GACtB,IAAI,CAaN;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAQzD"}
|
|
@@ -9,7 +9,17 @@ function registerCleanupHandlers(cleanup, logger) {
|
|
|
9
9
|
process.on("SIGTERM", handleSignal);
|
|
10
10
|
process.on("SIGINT", handleSignal);
|
|
11
11
|
}
|
|
12
|
+
function createOnceGuard(label) {
|
|
13
|
+
let called = false;
|
|
14
|
+
return () => {
|
|
15
|
+
if (called) {
|
|
16
|
+
throw new Error(`${label}\uB294 Worker\uB2F9 \uD55C \uBC88\uB9CC \uD638\uCD9C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`);
|
|
17
|
+
}
|
|
18
|
+
called = true;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
12
21
|
export {
|
|
22
|
+
createOnceGuard,
|
|
13
23
|
registerCleanupHandlers
|
|
14
24
|
};
|
|
15
25
|
//# sourceMappingURL=worker-utils.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/worker-utils.ts"],
|
|
4
|
-
"mappings": "AAYO,SAAS,wBACd,SACA,QACM;AACN,QAAM,eAAe,MAAM;AACzB,YAAQ,EACL,MAAM,CAAC,QAAQ;AACd,aAAO,MAAM,wBAAc,GAAG;AAAA,IAChC,CAAC,EACA,QAAQ,MAAM;AACb,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AAAA,EACL;AAEA,UAAQ,GAAG,WAAW,YAAY;AAClC,UAAQ,GAAG,UAAU,YAAY;AACnC;",
|
|
4
|
+
"mappings": "AAYO,SAAS,wBACd,SACA,QACM;AACN,QAAM,eAAe,MAAM;AACzB,YAAQ,EACL,MAAM,CAAC,QAAQ;AACd,aAAO,MAAM,wBAAc,GAAG;AAAA,IAChC,CAAC,EACA,QAAQ,MAAM;AACb,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AAAA,EACL;AAEA,UAAQ,GAAG,WAAW,YAAY;AAClC,UAAQ,GAAG,UAAU,YAAY;AACnC;AAQO,SAAS,gBAAgB,OAA2B;AACzD,MAAI,SAAS;AACb,SAAO,MAAM;AACX,QAAI,QAAQ;AACV,YAAM,IAAI,MAAM,GAAG,KAAK,6FAA4B;AAAA,IACtD;AACA,aAAS;AAAA,EACX;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.worker.d.ts","sourceRoot":"","sources":["..\\..\\src\\workers\\client.worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.worker.d.ts","sourceRoot":"","sources":["..\\..\\src\\workers\\client.worker.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAQhE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,qBAAqB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,qBAAqB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,KAAK,EAAE,gBAAgB,CAAC;IACxB,WAAW,EAAE,sBAAsB,CAAC;IACpC,KAAK,EAAE,gBAAgB,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACrC;AAkCD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoCtE;AAID;;;;GAIG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D9D;AAED;;;GAGG;AACH,iBAAe,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAExC;AAED,QAAA,MAAM,MAAM;;;eACD,OAAO,KAAK;oBAAc,OAAO,UAAU;mBAAa,OAAO,SAAS;;;CAMjF,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -2,11 +2,12 @@ import path from "path";
|
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import { build as viteBuild, createServer } from "vite";
|
|
4
4
|
import { createWorker } from "@simplysm/core-node";
|
|
5
|
+
import { errorMessage } from "@simplysm/core-common";
|
|
5
6
|
import { consola } from "consola";
|
|
6
7
|
import { parseRootTsconfig, getCompilerOptionsForPackage } from "../utils/tsconfig.js";
|
|
7
8
|
import { createViteConfig } from "../utils/vite-config.js";
|
|
8
9
|
import { collectDeps } from "../utils/package-utils.js";
|
|
9
|
-
import { registerCleanupHandlers } from "../utils/worker-utils.js";
|
|
10
|
+
import { registerCleanupHandlers, createOnceGuard } from "../utils/worker-utils.js";
|
|
10
11
|
const logger = consola.withTag("sd:cli:client:worker");
|
|
11
12
|
let viteServer;
|
|
12
13
|
async function cleanup() {
|
|
@@ -41,16 +42,13 @@ async function build(info) {
|
|
|
41
42
|
} catch (err) {
|
|
42
43
|
return {
|
|
43
44
|
success: false,
|
|
44
|
-
errors: [
|
|
45
|
+
errors: [errorMessage(err)]
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
|
-
|
|
49
|
+
const guardStartWatch = createOnceGuard("startWatch");
|
|
49
50
|
async function startWatch(info) {
|
|
50
|
-
|
|
51
|
-
throw new Error("startWatch\uB294 Worker\uB2F9 \uD55C \uBC88\uB9CC \uD638\uCD9C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");
|
|
52
|
-
}
|
|
53
|
-
isWatchStarted = true;
|
|
51
|
+
guardStartWatch();
|
|
54
52
|
try {
|
|
55
53
|
const parsedConfig = parseRootTsconfig(info.cwd);
|
|
56
54
|
const tsconfigPath = path.join(info.cwd, "tsconfig.json");
|
|
@@ -78,11 +76,15 @@ async function startWatch(info) {
|
|
|
78
76
|
fs.mkdirSync(path.dirname(confDistPath), { recursive: true });
|
|
79
77
|
fs.writeFileSync(confDistPath, JSON.stringify(info.config.configs ?? {}, void 0, 2));
|
|
80
78
|
const address = viteServer.httpServer?.address();
|
|
81
|
-
const actualPort = typeof address === "object" && address != null ? address.port :
|
|
79
|
+
const actualPort = typeof address === "object" && address != null ? address.port : void 0;
|
|
80
|
+
if (actualPort == null) {
|
|
81
|
+
sender.send("error", { message: "Vite dev server port\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." });
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
82
84
|
sender.send("serverReady", { port: actualPort });
|
|
83
85
|
} catch (err) {
|
|
84
86
|
sender.send("error", {
|
|
85
|
-
message:
|
|
87
|
+
message: errorMessage(err)
|
|
86
88
|
});
|
|
87
89
|
}
|
|
88
90
|
}
|