@simplysm/sd-cli 13.0.11 → 13.0.12
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 +15 -4
- package/dist/builders/BaseBuilder.d.ts.map +1 -1
- package/dist/builders/BaseBuilder.js +50 -0
- package/dist/builders/BaseBuilder.js.map +1 -1
- package/dist/builders/DtsBuilder.d.ts.map +1 -1
- package/dist/builders/DtsBuilder.js +2 -39
- package/dist/builders/DtsBuilder.js.map +1 -1
- package/dist/builders/LibraryBuilder.d.ts.map +1 -1
- package/dist/builders/LibraryBuilder.js +2 -39
- package/dist/builders/LibraryBuilder.js.map +1 -1
- package/dist/builders/types.d.ts +2 -2
- package/dist/builders/types.d.ts.map +1 -1
- package/dist/capacitor/capacitor.d.ts.map +1 -1
- package/dist/capacitor/capacitor.js +2 -1
- package/dist/capacitor/capacitor.js.map +1 -1
- package/dist/commands/add-client.d.ts.map +1 -1
- package/dist/commands/add-client.js +1 -9
- package/dist/commands/add-client.js.map +1 -1
- package/dist/commands/add-server.d.ts.map +1 -1
- package/dist/commands/add-server.js +1 -9
- package/dist/commands/add-server.js.map +1 -1
- package/dist/commands/build.d.ts +1 -2
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +12 -311
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/dev.d.ts +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +11 -432
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/device.d.ts.map +1 -1
- package/dist/commands/device.js +17 -32
- package/dist/commands/device.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -9
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lint.d.ts +1 -1
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +71 -118
- package/dist/commands/lint.js.map +2 -2
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +47 -69
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/typecheck.d.ts +1 -1
- package/dist/commands/typecheck.d.ts.map +1 -1
- package/dist/commands/typecheck.js +11 -24
- package/dist/commands/typecheck.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/infra/ResultCollector.d.ts +1 -1
- package/dist/infra/ResultCollector.d.ts.map +1 -1
- package/dist/infra/ResultCollector.js +1 -1
- package/dist/infra/ResultCollector.js.map +1 -1
- package/dist/orchestrators/BuildOrchestrator.d.ts +53 -0
- package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -0
- package/dist/orchestrators/BuildOrchestrator.js +338 -0
- package/dist/orchestrators/BuildOrchestrator.js.map +6 -0
- package/dist/orchestrators/DevOrchestrator.d.ts +64 -0
- package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -0
- package/dist/orchestrators/DevOrchestrator.js +524 -0
- package/dist/orchestrators/DevOrchestrator.js.map +6 -0
- package/dist/orchestrators/WatchOrchestrator.d.ts +1 -1
- package/dist/orchestrators/WatchOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/WatchOrchestrator.js +30 -21
- package/dist/orchestrators/WatchOrchestrator.js.map +1 -1
- package/dist/orchestrators/index.d.ts +2 -0
- package/dist/orchestrators/index.d.ts.map +1 -1
- package/dist/orchestrators/index.js +4 -0
- package/dist/orchestrators/index.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 +6 -4
- package/dist/sd-cli.js.map +1 -1
- package/dist/utils/output-utils.d.ts +0 -1
- package/dist/utils/output-utils.d.ts.map +1 -1
- package/dist/utils/output-utils.js +1 -1
- package/dist/utils/output-utils.js.map +1 -1
- package/dist/utils/package-utils.d.ts +5 -1
- package/dist/utils/package-utils.d.ts.map +1 -1
- package/dist/utils/package-utils.js +12 -0
- package/dist/utils/package-utils.js.map +1 -1
- package/dist/utils/rebuild-manager.d.ts +15 -0
- package/dist/utils/rebuild-manager.d.ts.map +1 -0
- package/dist/utils/rebuild-manager.js +50 -0
- package/dist/utils/rebuild-manager.js.map +6 -0
- package/dist/utils/replace-deps.d.ts.map +1 -1
- package/dist/utils/replace-deps.js +7 -13
- package/dist/utils/replace-deps.js.map +1 -1
- package/dist/utils/vite-config.d.ts.map +1 -1
- package/dist/utils/vite-config.js +43 -5
- package/dist/utils/vite-config.js.map +1 -1
- package/dist/utils/worker-events.d.ts +5 -4
- package/dist/utils/worker-events.d.ts.map +1 -1
- package/dist/utils/worker-events.js +4 -0
- package/dist/utils/worker-events.js.map +1 -1
- package/dist/utils/worker-utils.d.ts +13 -0
- package/dist/utils/worker-utils.d.ts.map +1 -0
- package/dist/utils/worker-utils.js +15 -0
- package/dist/utils/worker-utils.js.map +6 -0
- package/dist/workers/client.worker.d.ts.map +1 -1
- package/dist/workers/client.worker.js +2 -14
- package/dist/workers/client.worker.js.map +1 -1
- package/dist/workers/library.worker.d.ts.map +1 -1
- package/dist/workers/library.worker.js +2 -14
- 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 +11 -11
- 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 +2 -14
- package/dist/workers/server.worker.js.map +1 -1
- package/package.json +4 -5
- package/src/builders/BaseBuilder.ts +71 -4
- package/src/builders/DtsBuilder.ts +2 -49
- package/src/builders/LibraryBuilder.ts +2 -51
- package/src/builders/types.ts +2 -2
- package/src/capacitor/capacitor.ts +2 -1
- package/src/commands/add-client.ts +1 -14
- package/src/commands/add-server.ts +1 -13
- package/src/commands/build.ts +13 -443
- package/src/commands/dev.ts +12 -582
- package/src/commands/device.ts +17 -34
- package/src/commands/init.ts +1 -13
- package/src/commands/lint.ts +85 -146
- package/src/commands/publish.ts +58 -76
- package/src/commands/typecheck.ts +13 -46
- package/src/index.ts +1 -0
- package/src/infra/ResultCollector.ts +2 -2
- package/src/orchestrators/BuildOrchestrator.ts +499 -0
- package/src/orchestrators/DevOrchestrator.ts +703 -0
- package/src/orchestrators/WatchOrchestrator.ts +42 -25
- package/src/orchestrators/index.ts +2 -0
- package/src/sd-cli-entry.ts +14 -14
- package/src/sd-cli.ts +6 -4
- package/src/utils/output-utils.ts +1 -2
- package/src/utils/package-utils.ts +16 -1
- package/src/utils/rebuild-manager.ts +65 -0
- package/src/utils/replace-deps.ts +25 -23
- package/src/utils/vite-config.ts +84 -6
- package/src/utils/worker-events.ts +13 -5
- package/src/utils/worker-utils.ts +26 -0
- package/src/workers/client.worker.ts +3 -19
- package/src/workers/library.worker.ts +2 -19
- package/src/workers/server-runtime.worker.ts +16 -17
- package/src/workers/server.worker.ts +2 -19
- 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/listr-manager.d.ts +0 -37
- package/dist/utils/listr-manager.d.ts.map +0 -1
- package/dist/utils/listr-manager.js +0 -59
- package/dist/utils/listr-manager.js.map +0 -6
- package/src/utils/listr-manager.ts +0 -89
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-events.d.ts","sourceRoot":"","sources":["../../src/utils/worker-events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-events.d.ts","sourceRoot":"","sources":["../../src/utils/worker-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,2BAA2B;AAC3B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;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;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAC3F,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,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;QACpF,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;KACpE,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,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,cAAc,CAAC,OAAO,CAAC,EAClH,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EACnC,cAAc,EAAE,cAAc,GAC7B,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CA0CjC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { consola } from "consola";
|
|
2
|
+
const workerEventsLogger = consola.withTag("sd:cli:worker-events");
|
|
1
3
|
function registerWorkerEventHandlers(workerInfo, opts, results, rebuildManager) {
|
|
2
4
|
const completeTask = (result) => {
|
|
3
5
|
results.set(opts.resultKey, result);
|
|
@@ -12,6 +14,7 @@ function registerWorkerEventHandlers(workerInfo, opts, results, rebuildManager)
|
|
|
12
14
|
});
|
|
13
15
|
workerInfo.worker.on("build", (data) => {
|
|
14
16
|
const event = data;
|
|
17
|
+
workerEventsLogger.debug(`[${workerInfo.name}] build: success=${String(event.success)}`);
|
|
15
18
|
completeTask({
|
|
16
19
|
name: workerInfo.name,
|
|
17
20
|
target: workerInfo.config.target,
|
|
@@ -22,6 +25,7 @@ function registerWorkerEventHandlers(workerInfo, opts, results, rebuildManager)
|
|
|
22
25
|
});
|
|
23
26
|
workerInfo.worker.on("error", (data) => {
|
|
24
27
|
const event = data;
|
|
28
|
+
workerEventsLogger.debug(`[${workerInfo.name}] error: ${event.message}`);
|
|
25
29
|
completeTask({
|
|
26
30
|
name: workerInfo.name,
|
|
27
31
|
target: workerInfo.config.target,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/worker-events.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "AAAA,SAAS,eAAe;AAKxB,MAAM,qBAAqB,QAAQ,QAAQ,sBAAsB;AAyD1D,SAAS,4BACd,YACA,MACA,SACA,gBACiC;AACjC,QAAM,eAAe,CAAC,WAAgC;AACpD,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,SAAS;AACtC,UAAM,QAAQ;AACd,uBAAmB,MAAM,IAAI,WAAW,IAAI,oBAAoB,OAAO,MAAM,OAAO,CAAC,EAAE;AACvF,iBAAa;AAAA,MACX,MAAM,WAAW;AAAA,MACjB,QAAQ,WAAW,OAAO;AAAA,MAC1B,MAAM,KAAK;AAAA,MACX,QAAQ,MAAM,UAAU,YAAY;AAAA,MACpC,SAAS,MAAM,QAAQ,KAAK,IAAI;AAAA,IAClC,CAAC;AAAA,EACH,CAAC;AAGD,aAAW,OAAO,GAAG,SAAS,CAAC,SAAS;AACtC,UAAM,QAAQ;AACd,uBAAmB,MAAM,IAAI,WAAW,IAAI,YAAY,MAAM,OAAO,EAAE;AACvE,iBAAa;AAAA,MACX,MAAM,WAAW;AAAA,MACjB,QAAQ,WAAW,OAAO;AAAA,MAC1B,MAAM,KAAK;AAAA,MACX,QAAQ;AAAA,MACR,SAAS,MAAM;AAAA,IACjB,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ConsolaInstance } from "consola";
|
|
2
|
+
/**
|
|
3
|
+
* Register cleanup handlers for worker process shutdown signals
|
|
4
|
+
*
|
|
5
|
+
* Registers SIGINT and SIGTERM handlers to gracefully cleanup resources
|
|
6
|
+
* before process exit. Both handlers execute the cleanup function and
|
|
7
|
+
* exit with code 0.
|
|
8
|
+
*
|
|
9
|
+
* @param cleanup - Async cleanup function to execute on shutdown
|
|
10
|
+
* @param logger - Consola logger instance for error logging
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerCleanupHandlers(cleanup: () => Promise<void>, logger: ConsolaInstance): void;
|
|
13
|
+
//# sourceMappingURL=worker-utils.d.ts.map
|
|
@@ -0,0 +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,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAanG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function registerCleanupHandlers(cleanup, logger) {
|
|
2
|
+
const handleSignal = () => {
|
|
3
|
+
cleanup().catch((err) => {
|
|
4
|
+
logger.error("cleanup \uC2E4\uD328", err);
|
|
5
|
+
}).finally(() => {
|
|
6
|
+
process.exit(0);
|
|
7
|
+
});
|
|
8
|
+
};
|
|
9
|
+
process.on("SIGTERM", handleSignal);
|
|
10
|
+
process.on("SIGINT", handleSignal);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
registerCleanupHandlers
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=worker-utils.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/worker-utils.ts"],
|
|
4
|
+
"mappings": "AAYO,SAAS,wBAAwB,SAA8B,QAA+B;AACnG,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;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.worker.d.ts","sourceRoot":"","sources":["../../src/workers/client.worker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.worker.d.ts","sourceRoot":"","sources":["../../src/workers/client.worker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAOhE;;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,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;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;CACzB;AAkCD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgCtE;AAKD;;;;GAIG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD9D;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"}
|
|
@@ -5,6 +5,7 @@ import { createWorker } from "@simplysm/core-node";
|
|
|
5
5
|
import { consola } from "consola";
|
|
6
6
|
import { parseRootTsconfig, getCompilerOptionsForPackage } from "../utils/tsconfig.js";
|
|
7
7
|
import { createViteConfig } from "../utils/vite-config.js";
|
|
8
|
+
import { registerCleanupHandlers } from "../utils/worker-utils.js";
|
|
8
9
|
const logger = consola.withTag("sd:cli:client:worker");
|
|
9
10
|
let viteServer;
|
|
10
11
|
async function cleanup() {
|
|
@@ -14,20 +15,7 @@ async function cleanup() {
|
|
|
14
15
|
await serverToClose.close();
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
cleanup().catch((err) => {
|
|
19
|
-
logger.error("cleanup \uC2E4\uD328", err);
|
|
20
|
-
}).finally(() => {
|
|
21
|
-
process.exit(0);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
process.on("SIGINT", () => {
|
|
25
|
-
cleanup().catch((err) => {
|
|
26
|
-
logger.error("cleanup \uC2E4\uD328", err);
|
|
27
|
-
}).finally(() => {
|
|
28
|
-
process.exit(0);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
18
|
+
registerCleanupHandlers(cleanup, logger);
|
|
31
19
|
async function build(info) {
|
|
32
20
|
try {
|
|
33
21
|
const parsedConfig = parseRootTsconfig(info.cwd);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/workers/client.worker.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,SAAS,WAAW,oBAAwC;AACrE,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AAExB,SAAS,mBAAmB,oCAAoC;AAChE,SAAS,wBAAwB;
|
|
4
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,SAAS,WAAW,oBAAwC;AACrE,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AAExB,SAAS,mBAAmB,oCAAoC;AAChE,SAAS,wBAAwB;AACjC,SAAS,+BAA+B;AAsExC,MAAM,SAAS,QAAQ,QAAQ,sBAAsB;AAGrD,IAAI;AAKJ,eAAe,UAAyB;AAGtC,QAAM,gBAAgB;AACtB,eAAa;AAEb,MAAI,iBAAiB,MAAM;AACzB,UAAM,cAAc,MAAM;AAAA,EAC5B;AACF;AAKA,wBAAwB,SAAS,MAAM;AASvC,eAAe,MAAM,MAAmD;AACtE,MAAI;AAEF,UAAM,eAAe,kBAAkB,KAAK,GAAG;AAC/C,UAAM,eAAe,KAAK,KAAK,KAAK,KAAK,eAAe;AAGxD,UAAM,kBAAkB,MAAM,6BAA6B,aAAa,SAAS,WAAW,KAAK,MAAM;AAGvG,UAAM,aAAa,iBAAiB;AAAA,MAClC,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,MACX;AAAA,MACA;AAAA,MACA,KAAK,KAAK,OAAO;AAAA,MACjB,MAAM;AAAA,IACR,CAAC;AAED,UAAM,UAAU,UAAU;AAG1B,UAAM,eAAe,KAAK,KAAK,KAAK,QAAQ,QAAQ,cAAc;AAClE,OAAG,cAAc,cAAc,KAAK,UAAU,KAAK,OAAO,WAAW,CAAC,GAAG,QAAW,CAAC,CAAC;AAEtF,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,KAAK;AACZ,WAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ,CAAC,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,IAC3D;AAAA,EACF;AACF;AAGA,IAAI,iBAAiB;AAOrB,eAAe,WAAW,MAAsC;AAC9D,MAAI,gBAAgB;AAClB,UAAM,IAAI,MAAM,uGAAsC;AAAA,EACxD;AACA,mBAAiB;AAEjB,MAAI;AAEF,UAAM,eAAe,kBAAkB,KAAK,GAAG;AAC/C,UAAM,eAAe,KAAK,KAAK,KAAK,KAAK,eAAe;AAGxD,UAAM,kBAAkB,MAAM,6BAA6B,aAAa,SAAS,WAAW,KAAK,MAAM;AAIvG,UAAM,aAAa,OAAO,KAAK,OAAO,WAAW,WAAW,KAAK,OAAO,SAAS;AAGjF,UAAM,aAAa,iBAAiB;AAAA,MAClC,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,MACX;AAAA,MACA;AAAA,MACA,KAAK,KAAK,OAAO;AAAA,MACjB,MAAM;AAAA,MACN;AAAA,MACA,aAAa,KAAK;AAAA,IACpB,CAAC;AAGD,iBAAa,MAAM,aAAa,UAAU;AAC1C,UAAM,WAAW,OAAO;AAGxB,UAAM,eAAe,KAAK,KAAK,KAAK,QAAQ,QAAQ,cAAc;AAClE,OAAG,UAAU,KAAK,QAAQ,YAAY,GAAG,EAAE,WAAW,KAAK,CAAC;AAC5D,OAAG,cAAc,cAAc,KAAK,UAAU,KAAK,OAAO,WAAW,CAAC,GAAG,QAAW,CAAC,CAAC;AAGtF,UAAM,UAAU,WAAW,YAAY,QAAQ;AAC/C,UAAM,aAAa,OAAO,YAAY,YAAY,WAAW,OAAO,QAAQ,OAAO,WAAW,OAAO,OAAO;AAE5G,WAAO,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAAA,EACjD,SAAS,KAAK;AACZ,WAAO,KAAK,SAAS;AAAA,MACnB,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,IAC1D,CAAC;AAAA,EACH;AACF;AAMA,eAAe,YAA2B;AACxC,QAAM,QAAQ;AAChB;AAEA,MAAM,SAAS,aAGb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAO,wBAAQ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.worker.d.ts","sourceRoot":"","sources":["../../src/workers/library.worker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"library.worker.d.ts","sourceRoot":"","sources":["../../src/workers/library.worker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAO/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,oBAAoB,CAAC;IAC7B,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,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAsCD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+BxE;AAmED;;;;GAIG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD/D;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"}
|
|
@@ -4,6 +4,7 @@ import { createWorker, FsWatcher } from "@simplysm/core-node";
|
|
|
4
4
|
import { consola } from "consola";
|
|
5
5
|
import { parseRootTsconfig, getPackageSourceFiles, getCompilerOptionsForPackage } from "../utils/tsconfig.js";
|
|
6
6
|
import { createLibraryEsbuildOptions, getTypecheckEnvFromTarget } from "../utils/esbuild-config.js";
|
|
7
|
+
import { registerCleanupHandlers } from "../utils/worker-utils.js";
|
|
7
8
|
const logger = consola.withTag("sd:cli:library:worker");
|
|
8
9
|
let esbuildContext;
|
|
9
10
|
let fsWatcher;
|
|
@@ -14,20 +15,7 @@ async function cleanup() {
|
|
|
14
15
|
fsWatcher = void 0;
|
|
15
16
|
await Promise.all([contextToDispose?.dispose(), watcherToClose?.close()]);
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
cleanup().catch((err) => {
|
|
19
|
-
logger.error("cleanup \uC2E4\uD328", err);
|
|
20
|
-
}).finally(() => {
|
|
21
|
-
process.exit(0);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
process.on("SIGINT", () => {
|
|
25
|
-
cleanup().catch((err) => {
|
|
26
|
-
logger.error("cleanup \uC2E4\uD328", err);
|
|
27
|
-
}).finally(() => {
|
|
28
|
-
process.exit(0);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
18
|
+
registerCleanupHandlers(cleanup, logger);
|
|
31
19
|
async function build(info) {
|
|
32
20
|
try {
|
|
33
21
|
const parsedConfig = parseRootTsconfig(info.cwd);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/workers/library.worker.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,aAAa;AACpB,SAAS,cAAc,iBAAiB;AACxC,SAAS,eAAe;AAExB,SAAS,mBAAmB,uBAAuB,oCAAoC;AACvF,SAAS,6BAA6B,iCAAiC;
|
|
4
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,aAAa;AACpB,SAAS,cAAc,iBAAiB;AACxC,SAAS,eAAe;AAExB,SAAS,mBAAmB,uBAAuB,oCAAoC;AACvF,SAAS,6BAA6B,iCAAiC;AACvE,SAAS,+BAA+B;AA4DxC,MAAM,SAAS,QAAQ,QAAQ,uBAAuB;AAGtD,IAAI;AAGJ,IAAI;AAKJ,eAAe,UAAyB;AAGtC,QAAM,mBAAmB;AACzB,mBAAiB;AAEjB,QAAM,iBAAiB;AACvB,cAAY;AAEZ,QAAM,QAAQ,IAAI,CAAC,kBAAkB,QAAQ,GAAG,gBAAgB,MAAM,CAAC,CAAC;AAC1E;AAKA,wBAAwB,SAAS,MAAM;AASvC,eAAe,MAAM,MAAqD;AACxE,MAAI;AAEF,UAAM,eAAe,kBAAkB,KAAK,GAAG;AAC/C,UAAM,cAAc,sBAAsB,KAAK,QAAQ,YAAY;AAGnE,UAAM,MAAM,0BAA0B,KAAK,OAAO,MAAM;AACxD,UAAM,kBAAkB,MAAM,6BAA6B,aAAa,SAAS,KAAK,KAAK,MAAM;AAGjG,UAAM,iBAAiB,4BAA4B;AAAA,MACjD,QAAQ,KAAK;AAAA,MACb;AAAA,MACA,QAAQ,KAAK,OAAO;AAAA,MACpB;AAAA,IACF,CAAC;AAED,UAAM,SAAS,MAAM,QAAQ,MAAM,cAAc;AAEjD,UAAM,SAAS,OAAO,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI;AAC9C,WAAO;AAAA,MACL,SAAS,OAAO,OAAO,WAAW;AAAA,MAClC,QAAQ,OAAO,SAAS,IAAI,SAAS;AAAA,IACvC;AAAA,EACF,SAAS,KAAK;AACZ,WAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ,CAAC,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,IAC3D;AAAA,EACF;AACF;AAGA,IAAI,iBAAiB;AAKrB,eAAe,sBACb,QACA,KACA,QACA,cACA,mBAC+B;AAE/B,QAAM,eAAe,kBAAkB,GAAG;AAC1C,QAAM,cAAc,sBAAsB,QAAQ,YAAY;AAG9D,QAAM,MAAM,0BAA0B,OAAO,MAAM;AACnD,QAAM,kBAAkB,MAAM,6BAA6B,aAAa,SAAS,KAAK,MAAM;AAG5F,QAAM,cAAc,4BAA4B;AAAA,IAC9C;AAAA,IACA;AAAA,IACA,QAAQ,OAAO;AAAA,IACf;AAAA,EACF,CAAC;AAED,MAAI,mBAAmB;AAGvB,QAAM,UAAU,MAAM,QAAQ,QAAQ;AAAA,IACpC,GAAG;AAAA,IACH,SAAS;AAAA,MACP,GAAI,YAAY,WAAW,CAAC;AAAA,MAC5B;AAAA,QACE,MAAM;AAAA,QACN,MAAM,aAAa;AACjB,sBAAY,QAAQ,MAAM;AACxB,mBAAO,KAAK,cAAc,CAAC,CAAC;AAAA,UAC9B,CAAC;AAED,sBAAY,MAAM,CAAC,WAAW;AAC5B,kBAAM,SAAS,OAAO,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI;AAC9C,kBAAM,UAAU,OAAO,OAAO,WAAW;AAEzC,mBAAO,KAAK,SAAS,EAAE,SAAS,QAAQ,OAAO,SAAS,IAAI,SAAS,OAAU,CAAC;AAEhF,gBAAI,kBAAkB;AACpB,iCAAmB;AACnB,kCAAoB;AAAA,YACtB;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAGD,QAAM,QAAQ,QAAQ;AAEtB,SAAO;AACT;AAOA,eAAe,WAAW,MAAuC;AAC/D,MAAI,gBAAgB;AAClB,UAAM,IAAI,MAAM,uGAAsC;AAAA,EACxD;AACA,mBAAiB;AAEjB,MAAI;AAEF,QAAI;AACJ,UAAM,oBAAoB,IAAI,QAAc,CAAC,YAAY;AACvD,0BAAoB;AAAA,IACtB,CAAC;AAGD,qBAAiB,MAAM,sBAAsB,KAAK,QAAQ,KAAK,KAAK,KAAK,QAAQ,MAAM,iBAAiB;AAGxG,UAAM;AAGN,UAAM,aAAa,KAAK,KAAK,KAAK,QAAQ,OAAO,MAAM,YAAY;AACnE,gBAAY,MAAM,UAAU,MAAM,CAAC,UAAU,CAAC;AAG9C,cAAU,SAAS,EAAE,OAAO,IAAI,GAAG,OAAO,YAAY;AACpD,UAAI;AAEF,cAAM,iBAAiB,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,SAAS,EAAE,UAAU,QAAQ;AAEpF,YAAI,gBAAgB;AAElB,iBAAO,MAAM,iFAA0B;AAEvC,gBAAM,aAAa;AACnB,2BAAiB,MAAM,sBAAsB,KAAK,QAAQ,KAAK,KAAK,KAAK,QAAQ,KAAK;AAEtF,cAAI,cAAc,MAAM;AACtB,kBAAM,WAAW,QAAQ;AAAA,UAC3B;AAAA,QACF,OAAO;AAEL,cAAI,kBAAkB,MAAM;AAC1B,kBAAM,eAAe,QAAQ;AAAA,UAC/B;AAAA,QACF;AAAA,MACF,SAAS,KAAK;AACZ,eAAO,KAAK,SAAS;AAAA,UACnB,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,QAC1D,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,SAAS,KAAK;AACZ,WAAO,KAAK,SAAS;AAAA,MACnB,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,IAC1D,CAAC;AAAA,EACH;AACF;AAMA,eAAe,YAA2B;AACxC,QAAM,QAAQ;AAChB;AAEA,MAAM,SAAS,aAGb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAO,yBAAQ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-runtime.worker.d.ts","sourceRoot":"","sources":["../../src/workers/server-runtime.worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-runtime.worker.d.ts","sourceRoot":"","sources":["../../src/workers/server-runtime.worker.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxE,WAAW,EAAE,uBAAuB,CAAC;IACrC,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAiED;;;GAGG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChE;AAED,QAAA,MAAM,MAAM;;;eAAyB,OAAO,KAAK;;;CAE/C,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -2,6 +2,7 @@ import proxy from "@fastify/http-proxy";
|
|
|
2
2
|
import { createWorker } from "@simplysm/core-node";
|
|
3
3
|
import { consola } from "consola";
|
|
4
4
|
import net from "net";
|
|
5
|
+
import { registerCleanupHandlers } from "../utils/worker-utils.js";
|
|
5
6
|
const logger = consola.withTag("sd:cli:server-runtime:worker");
|
|
6
7
|
let serverInstance;
|
|
7
8
|
async function cleanup() {
|
|
@@ -11,20 +12,19 @@ async function cleanup() {
|
|
|
11
12
|
}
|
|
12
13
|
serverInstance = void 0;
|
|
13
14
|
}
|
|
14
|
-
process.on("
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
process.exit(0);
|
|
15
|
+
process.on("uncaughtException", (err) => {
|
|
16
|
+
logger.error("Server Runtime \uBBF8\uCC98\uB9AC \uC624\uB958", err);
|
|
17
|
+
sender.send("error", {
|
|
18
|
+
message: err instanceof Error ? err.message : String(err)
|
|
19
19
|
});
|
|
20
20
|
});
|
|
21
|
-
process.on("
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
process.exit(0);
|
|
21
|
+
process.on("unhandledRejection", (reason) => {
|
|
22
|
+
logger.error("Server Runtime \uBBF8\uCC98\uB9AC Promise \uAC70\uBD80", reason);
|
|
23
|
+
sender.send("error", {
|
|
24
|
+
message: reason instanceof Error ? reason.message : String(reason)
|
|
26
25
|
});
|
|
27
26
|
});
|
|
27
|
+
registerCleanupHandlers(cleanup, logger);
|
|
28
28
|
function isPortAvailable(port) {
|
|
29
29
|
return new Promise((resolve) => {
|
|
30
30
|
const server = net.createServer();
|
|
@@ -42,7 +42,7 @@ async function findAvailablePort(startPort, maxRetries = 20) {
|
|
|
42
42
|
return port;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
throw new Error(`\uD3EC\uD2B8 ${startPort}\uBD80\uD130 ${startPort + maxRetries - 1}\uAE4C\uC9C0 \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uD3EC\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.`);
|
|
46
46
|
}
|
|
47
47
|
async function start(info) {
|
|
48
48
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/workers/server-runtime.worker.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AACxB,OAAO,SAAS;
|
|
4
|
+
"mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AACxB,OAAO,SAAS;AAChB,SAAS,+BAA+B;AAoCxC,MAAM,SAAS,QAAQ,QAAQ,8BAA8B;AAG7D,IAAI;AAKJ,eAAe,UAAyB;AACtC,QAAM,SAAS;AACf,MAAI,UAAU,MAAM;AAClB,UAAM,OAAO,MAAM;AAAA,EACrB;AACA,mBAAiB;AACnB;AAIA,QAAQ,GAAG,qBAAqB,CAAC,QAAQ;AACvC,SAAO,MAAM,kDAAyB,GAAG;AACzC,SAAO,KAAK,SAAS;AAAA,IACnB,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,EAC1D,CAAC;AACH,CAAC;AAED,QAAQ,GAAG,sBAAsB,CAAC,WAAW;AAC3C,SAAO,MAAM,0DAAiC,MAAM;AACpD,SAAO,KAAK,SAAS;AAAA,IACnB,SAAS,kBAAkB,QAAQ,OAAO,UAAU,OAAO,MAAM;AAAA,EACnE,CAAC;AACH,CAAC;AAED,wBAAwB,SAAS,MAAM;AAKvC,SAAS,gBAAgB,MAAgC;AACvD,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,SAAS,IAAI,aAAa;AAChC,WAAO,KAAK,SAAS,MAAM,QAAQ,KAAK,CAAC;AACzC,WAAO,KAAK,aAAa,MAAM;AAC7B,aAAO,MAAM,MAAM,QAAQ,IAAI,CAAC;AAAA,IAClC,CAAC;AACD,WAAO,OAAO,MAAM,SAAS;AAAA,EAC/B,CAAC;AACH;AAKA,eAAe,kBAAkB,WAAmB,aAAa,IAAqB;AACpF,WAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,UAAM,OAAO,YAAY;AACzB,QAAI,MAAM,gBAAgB,IAAI,GAAG;AAC/B,aAAO;AAAA,IACT;AAAA,EACF;AACA,QAAM,IAAI,MAAM,gBAAM,SAAS,gBAAM,YAAY,aAAa,CAAC,2FAAqB;AACtF;AAMA,eAAe,MAAM,MAA6C;AAChE,MAAI;AAEF,UAAM,SAAS,MAAM,OAAO,KAAK;AACjC,UAAM,SAAS,OAAO;AAEtB,QAAI,UAAU,MAAM;AAClB,YAAM,IAAI,MAAM,kGAAsC;AAAA,IACxD;AAGA,qBAAiB;AAGjB,UAAM,eAAe,OAAO,QAAQ;AACpC,UAAM,gBAAgB,MAAM,kBAAkB,YAAY;AAC1D,QAAI,kBAAkB,cAAc;AAClC,aAAO,KAAK,gBAAM,YAAY,+BAAW,aAAa,qBAAM;AAC5D,aAAO,QAAQ,OAAO;AAAA,IACxB;AAGA,eAAW,CAAC,MAAM,IAAI,KAAK,OAAO,QAAQ,KAAK,WAAW,GAAG;AAC3D,YAAM,OAAO,QAAQ,SAAS,OAAO;AAAA,QACnC,QAAQ,IAAI,IAAI;AAAA,QAChB,UAAU,oBAAoB,IAAI;AAAA,QAClC,eAAe,IAAI,IAAI;AAAA,QACvB,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AAGA,UAAM,OAAO,OAAO;AAEpB,WAAO,KAAK,eAAe,EAAE,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,EAC1D,SAAS,KAAK;AACZ,WAAO,MAAM,4CAAwB,GAAG;AACxC,WAAO,KAAK,SAAS;AAAA,MACnB,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,IAC1D,CAAC;AAAA,EACH;AACF;AAEA,MAAM,SAAS,aAAiE;AAAA,EAC9E;AACF,CAAC;AAED,IAAO,gCAAQ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.worker.d.ts","sourceRoot":"","sources":["../../src/workers/server.worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.worker.d.ts","sourceRoot":"","sources":["../../src/workers/server.worker.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,2CAA2C;IAC3C,GAAG,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;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,KAAK,EAAE,gBAAgB,CAAC;CACzB;AA+KD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6CtE;AAKD;;;;GAIG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E9D;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"}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
collectUninstalledOptionalPeerDeps,
|
|
11
11
|
collectNativeModuleExternals
|
|
12
12
|
} from "../utils/esbuild-config.js";
|
|
13
|
+
import { registerCleanupHandlers } from "../utils/worker-utils.js";
|
|
13
14
|
const logger = consola.withTag("sd:cli:server:worker");
|
|
14
15
|
let esbuildContext;
|
|
15
16
|
async function cleanup() {
|
|
@@ -129,20 +130,7 @@ node = "${nodeVersion}"
|
|
|
129
130
|
fs.writeFileSync(path.join(distDir, "pm2.config.cjs"), pm2Config);
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
|
-
|
|
133
|
-
cleanup().catch((err) => {
|
|
134
|
-
logger.error("cleanup \uC2E4\uD328", err);
|
|
135
|
-
}).finally(() => {
|
|
136
|
-
process.exit(0);
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
process.on("SIGINT", () => {
|
|
140
|
-
cleanup().catch((err) => {
|
|
141
|
-
logger.error("cleanup \uC2E4\uD328", err);
|
|
142
|
-
}).finally(() => {
|
|
143
|
-
process.exit(0);
|
|
144
|
-
});
|
|
145
|
-
});
|
|
133
|
+
registerCleanupHandlers(cleanup, logger);
|
|
146
134
|
async function build(info) {
|
|
147
135
|
const mainJsPath = path.join(info.pkgDir, "dist", "main.js");
|
|
148
136
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/workers/server.worker.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO,QAAQ;AACf,OAAO,aAAa;AACpB,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AACxB,SAAS,mBAAmB,uBAAuB,oCAAoC;AACvF;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA+
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/sd-cli",
|
|
3
3
|
"sideEffects": false,
|
|
4
|
-
"version": "13.0.
|
|
4
|
+
"version": "13.0.12",
|
|
5
5
|
"description": "심플리즘 패키지 - CLI 도구",
|
|
6
6
|
"author": "김석래",
|
|
7
7
|
"repository": {
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
"glob": "^13.0.3",
|
|
32
32
|
"handlebars": "^4.7.8",
|
|
33
33
|
"jiti": "^2.6.1",
|
|
34
|
-
"listr2": "^10.1.0",
|
|
35
34
|
"semver": "^7.7.4",
|
|
36
35
|
"sharp": "^0.34.5",
|
|
37
36
|
"solid-js": "^1.9.11",
|
|
@@ -45,9 +44,9 @@
|
|
|
45
44
|
"vite-plugin-solid": "^2.11.10",
|
|
46
45
|
"vite-tsconfig-paths": "^6.1.1",
|
|
47
46
|
"yargs": "^18.0.0",
|
|
48
|
-
"@simplysm/core-common": "13.0.
|
|
49
|
-
"@simplysm/core-node": "13.0.
|
|
50
|
-
"@simplysm/storage": "13.0.
|
|
47
|
+
"@simplysm/core-common": "13.0.12",
|
|
48
|
+
"@simplysm/core-node": "13.0.12",
|
|
49
|
+
"@simplysm/storage": "13.0.12"
|
|
51
50
|
},
|
|
52
51
|
"devDependencies": {
|
|
53
52
|
"@types/semver": "^7.7.1",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { WorkerManager } from "../infra/WorkerManager";
|
|
2
|
-
import type { ResultCollector } from "../infra/ResultCollector";
|
|
3
|
-
import type {
|
|
2
|
+
import type { BuildResult, ResultCollector } from "../infra/ResultCollector";
|
|
3
|
+
import type { RebuildManager } from "../utils/rebuild-manager";
|
|
4
|
+
import type { BuildEventData, ErrorEventData } from "../utils/worker-events";
|
|
4
5
|
import type { IBuilder, PackageInfo } from "./types";
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -12,7 +13,7 @@ import type { IBuilder, PackageInfo } from "./types";
|
|
|
12
13
|
export abstract class BaseBuilder implements IBuilder {
|
|
13
14
|
protected readonly workerManager: WorkerManager;
|
|
14
15
|
protected readonly resultCollector: ResultCollector;
|
|
15
|
-
protected readonly rebuildManager:
|
|
16
|
+
protected readonly rebuildManager: RebuildManager | undefined;
|
|
16
17
|
protected readonly packages: PackageInfo[];
|
|
17
18
|
protected readonly cwd: string;
|
|
18
19
|
protected isWatchMode = false;
|
|
@@ -26,7 +27,7 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
26
27
|
cwd: string;
|
|
27
28
|
packages: PackageInfo[];
|
|
28
29
|
resultCollector: ResultCollector;
|
|
29
|
-
rebuildManager?:
|
|
30
|
+
rebuildManager?: RebuildManager;
|
|
30
31
|
}) {
|
|
31
32
|
this.cwd = options.cwd;
|
|
32
33
|
this.packages = options.packages;
|
|
@@ -114,6 +115,72 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
114
115
|
}
|
|
115
116
|
}
|
|
116
117
|
|
|
118
|
+
/**
|
|
119
|
+
* 공통 Worker 이벤트 핸들러 등록 (buildStart, build, error)
|
|
120
|
+
*
|
|
121
|
+
* LibraryBuilder와 DtsBuilder에서 동일한 패턴의 이벤트 핸들러를
|
|
122
|
+
* 중복 없이 등록할 수 있도록 공통 로직을 제공한다.
|
|
123
|
+
*
|
|
124
|
+
* @param workerKey Worker 식별자 (예: "core-common:build")
|
|
125
|
+
* @param resultType BuildResult의 type 필드 값
|
|
126
|
+
* @param listrTitle 리빌드 시 표시할 제목
|
|
127
|
+
*/
|
|
128
|
+
protected registerEventHandlersForWorker(
|
|
129
|
+
pkg: PackageInfo,
|
|
130
|
+
workerKey: string,
|
|
131
|
+
resultType: BuildResult["type"],
|
|
132
|
+
listrTitle: string,
|
|
133
|
+
): void {
|
|
134
|
+
const worker = this.workerManager.get(workerKey)!;
|
|
135
|
+
|
|
136
|
+
// 초기 빌드 여부 추적
|
|
137
|
+
let isInitialBuild = true;
|
|
138
|
+
|
|
139
|
+
// 빌드 시작 (리빌드 시)
|
|
140
|
+
worker.on("buildStart", () => {
|
|
141
|
+
if (!isInitialBuild && this.rebuildManager != null) {
|
|
142
|
+
const resolver = this.rebuildManager.registerBuild(workerKey, listrTitle);
|
|
143
|
+
this.buildResolvers.set(workerKey, resolver);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
// 빌드 완료
|
|
148
|
+
worker.on("build", (data) => {
|
|
149
|
+
const event = data as BuildEventData;
|
|
150
|
+
const result: BuildResult = {
|
|
151
|
+
name: pkg.name,
|
|
152
|
+
target: pkg.config.target,
|
|
153
|
+
type: resultType,
|
|
154
|
+
status: event.success ? "success" : "error",
|
|
155
|
+
message: event.errors?.join("\n"),
|
|
156
|
+
};
|
|
157
|
+
this.resultCollector.add(result);
|
|
158
|
+
|
|
159
|
+
if (isInitialBuild) {
|
|
160
|
+
isInitialBuild = false;
|
|
161
|
+
}
|
|
162
|
+
this.completeBuild(pkg);
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
// 에러
|
|
166
|
+
worker.on("error", (data) => {
|
|
167
|
+
const event = data as ErrorEventData;
|
|
168
|
+
const result: BuildResult = {
|
|
169
|
+
name: pkg.name,
|
|
170
|
+
target: pkg.config.target,
|
|
171
|
+
type: resultType,
|
|
172
|
+
status: "error",
|
|
173
|
+
message: event.message,
|
|
174
|
+
};
|
|
175
|
+
this.resultCollector.add(result);
|
|
176
|
+
|
|
177
|
+
if (isInitialBuild) {
|
|
178
|
+
isInitialBuild = false;
|
|
179
|
+
}
|
|
180
|
+
this.completeBuild(pkg);
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
117
184
|
/**
|
|
118
185
|
* Builder 타입 (결과 키 생성용)
|
|
119
186
|
*/
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type * as DtsWorkerModule from "../workers/dts.worker";
|
|
2
2
|
import type { BuildResult } from "../infra/ResultCollector";
|
|
3
3
|
import type { TypecheckEnv } from "../utils/tsconfig";
|
|
4
|
-
import type { BuildEventData, ErrorEventData } from "../utils/worker-events";
|
|
5
4
|
import { BaseBuilder } from "./BaseBuilder";
|
|
6
5
|
import type { PackageInfo } from "./types";
|
|
7
6
|
|
|
@@ -40,55 +39,9 @@ export class DtsBuilder extends BaseBuilder {
|
|
|
40
39
|
|
|
41
40
|
protected registerEventHandlers(): void {
|
|
42
41
|
for (const pkg of this.packages) {
|
|
43
|
-
const
|
|
44
|
-
const resultKey = `${pkg.name}:dts`;
|
|
42
|
+
const workerKey = `${pkg.name}:dts`;
|
|
45
43
|
const listrTitle = `${pkg.name} (dts)`;
|
|
46
|
-
|
|
47
|
-
let isInitialBuild = true;
|
|
48
|
-
|
|
49
|
-
// 빌드 시작 (리빌드 시)
|
|
50
|
-
worker.on("buildStart", () => {
|
|
51
|
-
if (!isInitialBuild && this.rebuildManager != null) {
|
|
52
|
-
const resolver = this.rebuildManager.registerBuild(resultKey, listrTitle);
|
|
53
|
-
this.buildResolvers.set(resultKey, resolver);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
// 빌드 완료
|
|
58
|
-
worker.on("build", (data) => {
|
|
59
|
-
const event = data as BuildEventData;
|
|
60
|
-
const result: BuildResult = {
|
|
61
|
-
name: pkg.name,
|
|
62
|
-
target: pkg.config.target,
|
|
63
|
-
type: "dts",
|
|
64
|
-
status: event.success ? "success" : "error",
|
|
65
|
-
message: event.errors?.join("\n"),
|
|
66
|
-
};
|
|
67
|
-
this.resultCollector.add(result);
|
|
68
|
-
|
|
69
|
-
if (isInitialBuild) {
|
|
70
|
-
isInitialBuild = false;
|
|
71
|
-
}
|
|
72
|
-
this.completeBuild(pkg);
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
// 에러
|
|
76
|
-
worker.on("error", (data) => {
|
|
77
|
-
const event = data as ErrorEventData;
|
|
78
|
-
const result: BuildResult = {
|
|
79
|
-
name: pkg.name,
|
|
80
|
-
target: pkg.config.target,
|
|
81
|
-
type: "dts",
|
|
82
|
-
status: "error",
|
|
83
|
-
message: event.message,
|
|
84
|
-
};
|
|
85
|
-
this.resultCollector.add(result);
|
|
86
|
-
|
|
87
|
-
if (isInitialBuild) {
|
|
88
|
-
isInitialBuild = false;
|
|
89
|
-
}
|
|
90
|
-
this.completeBuild(pkg);
|
|
91
|
-
});
|
|
44
|
+
this.registerEventHandlersForWorker(pkg, workerKey, "dts", listrTitle);
|
|
92
45
|
}
|
|
93
46
|
}
|
|
94
47
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type * as LibraryWorkerModule from "../workers/library.worker";
|
|
2
2
|
import type { BuildResult } from "../infra/ResultCollector";
|
|
3
3
|
import type { SdBuildPackageConfig } from "../sd-config.types";
|
|
4
|
-
import type { BuildEventData, ErrorEventData } from "../utils/worker-events";
|
|
5
4
|
import { BaseBuilder } from "./BaseBuilder";
|
|
6
5
|
import type { PackageInfo } from "./types";
|
|
7
6
|
|
|
@@ -31,57 +30,9 @@ export class LibraryBuilder extends BaseBuilder {
|
|
|
31
30
|
|
|
32
31
|
protected registerEventHandlers(): void {
|
|
33
32
|
for (const pkg of this.packages) {
|
|
34
|
-
const
|
|
35
|
-
const resultKey = `${pkg.name}:build`;
|
|
33
|
+
const workerKey = `${pkg.name}:build`;
|
|
36
34
|
const listrTitle = `${pkg.name} (${pkg.config.target})`;
|
|
37
|
-
|
|
38
|
-
// 초기 빌드 여부 추적
|
|
39
|
-
let isInitialBuild = true;
|
|
40
|
-
|
|
41
|
-
// 빌드 시작 (리빌드 시)
|
|
42
|
-
worker.on("buildStart", () => {
|
|
43
|
-
if (!isInitialBuild && this.rebuildManager != null) {
|
|
44
|
-
// 리빌드 시 RebuildListrManager에 등록
|
|
45
|
-
const resolver = this.rebuildManager.registerBuild(resultKey, listrTitle);
|
|
46
|
-
this.buildResolvers.set(resultKey, resolver);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
// 빌드 완료
|
|
51
|
-
worker.on("build", (data) => {
|
|
52
|
-
const event = data as BuildEventData;
|
|
53
|
-
const result: BuildResult = {
|
|
54
|
-
name: pkg.name,
|
|
55
|
-
target: pkg.config.target,
|
|
56
|
-
type: "build",
|
|
57
|
-
status: event.success ? "success" : "error",
|
|
58
|
-
message: event.errors?.join("\n"),
|
|
59
|
-
};
|
|
60
|
-
this.resultCollector.add(result);
|
|
61
|
-
|
|
62
|
-
if (isInitialBuild) {
|
|
63
|
-
isInitialBuild = false;
|
|
64
|
-
}
|
|
65
|
-
this.completeBuild(pkg);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
// 에러
|
|
69
|
-
worker.on("error", (data) => {
|
|
70
|
-
const event = data as ErrorEventData;
|
|
71
|
-
const result: BuildResult = {
|
|
72
|
-
name: pkg.name,
|
|
73
|
-
target: pkg.config.target,
|
|
74
|
-
type: "build",
|
|
75
|
-
status: "error",
|
|
76
|
-
message: event.message,
|
|
77
|
-
};
|
|
78
|
-
this.resultCollector.add(result);
|
|
79
|
-
|
|
80
|
-
if (isInitialBuild) {
|
|
81
|
-
isInitialBuild = false;
|
|
82
|
-
}
|
|
83
|
-
this.completeBuild(pkg);
|
|
84
|
-
});
|
|
35
|
+
this.registerEventHandlersForWorker(pkg, workerKey, "build", listrTitle);
|
|
85
36
|
}
|
|
86
37
|
}
|
|
87
38
|
|
package/src/builders/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SdPackageConfig } from "../sd-config.types";
|
|
2
2
|
import type { ResultCollector } from "../infra/ResultCollector";
|
|
3
|
-
import type {
|
|
3
|
+
import type { RebuildManager } from "../utils/rebuild-manager";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 패키지 정보
|
|
@@ -18,7 +18,7 @@ export interface BuilderOptions {
|
|
|
18
18
|
cwd: string;
|
|
19
19
|
packages: PackageInfo[];
|
|
20
20
|
resultCollector: ResultCollector;
|
|
21
|
-
rebuildManager?:
|
|
21
|
+
rebuildManager?: RebuildManager;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/**
|