@simplysm/sd-cli 13.0.68 → 13.0.70
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/README.md +10 -957
- package/dist/builders/BaseBuilder.d.ts +23 -23
- package/dist/builders/BaseBuilder.d.ts.map +1 -1
- package/dist/builders/BaseBuilder.js +15 -15
- package/dist/builders/DtsBuilder.d.ts +4 -4
- package/dist/builders/DtsBuilder.js +1 -1
- package/dist/builders/LibraryBuilder.d.ts +3 -3
- package/dist/builders/types.d.ts +10 -10
- package/dist/capacitor/capacitor.d.ts +36 -36
- package/dist/capacitor/capacitor.js +63 -63
- package/dist/capacitor/capacitor.js.map +1 -1
- package/dist/commands/add-client.d.ts +8 -8
- package/dist/commands/add-client.js +15 -15
- package/dist/commands/add-client.js.map +1 -1
- package/dist/commands/add-server.d.ts +9 -9
- package/dist/commands/add-server.js +13 -13
- package/dist/commands/add-server.js.map +1 -1
- package/dist/commands/build.d.ts +9 -9
- package/dist/commands/check.js +3 -3
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/dev.d.ts +9 -9
- package/dist/commands/device.d.ts +9 -9
- package/dist/commands/device.d.ts.map +1 -1
- package/dist/commands/device.js +17 -17
- package/dist/commands/device.js.map +1 -1
- package/dist/commands/init.d.ts +6 -6
- package/dist/commands/init.js +12 -12
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lint.d.ts +23 -23
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +25 -25
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/publish.d.ts +13 -13
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +61 -61
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/replace-deps.d.ts +3 -3
- package/dist/commands/replace-deps.d.ts.map +1 -1
- package/dist/commands/replace-deps.js +1 -1
- package/dist/commands/replace-deps.js.map +1 -1
- package/dist/commands/typecheck.d.ts +20 -20
- package/dist/commands/typecheck.d.ts.map +1 -1
- package/dist/commands/typecheck.js +20 -20
- package/dist/commands/typecheck.js.map +1 -1
- package/dist/commands/watch.d.ts +7 -7
- package/dist/electron/electron.d.ts +27 -27
- package/dist/electron/electron.js +32 -32
- package/dist/electron/electron.js.map +1 -1
- package/dist/infra/ResultCollector.d.ts +9 -9
- package/dist/infra/ResultCollector.js +5 -5
- package/dist/infra/SignalHandler.d.ts +7 -7
- package/dist/infra/SignalHandler.js +4 -4
- package/dist/infra/WorkerManager.d.ts +14 -14
- package/dist/infra/WorkerManager.js +11 -11
- package/dist/orchestrators/BuildOrchestrator.d.ts +19 -19
- package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/BuildOrchestrator.js +26 -26
- package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
- package/dist/orchestrators/DevOrchestrator.d.ts +25 -25
- package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/DevOrchestrator.js +30 -30
- package/dist/orchestrators/DevOrchestrator.js.map +1 -1
- package/dist/orchestrators/WatchOrchestrator.d.ts +13 -13
- package/dist/orchestrators/WatchOrchestrator.js +17 -17
- package/dist/orchestrators/WatchOrchestrator.js.map +1 -1
- package/dist/sd-cli-entry.d.ts +2 -2
- package/dist/sd-cli-entry.js +38 -38
- package/dist/sd-cli-entry.js.map +1 -1
- package/dist/sd-cli.d.ts +2 -2
- package/dist/sd-cli.js +1 -1
- package/dist/sd-cli.js.map +1 -1
- package/dist/sd-config.types.d.ts +84 -84
- package/dist/sd-config.types.d.ts.map +1 -1
- package/dist/utils/build-env.d.ts +1 -1
- package/dist/utils/config-editor.d.ts +5 -5
- package/dist/utils/config-editor.js +2 -2
- package/dist/utils/config-editor.js.map +1 -1
- package/dist/utils/copy-public.d.ts +9 -9
- package/dist/utils/copy-src.d.ts +9 -9
- package/dist/utils/esbuild-config.d.ts +30 -30
- package/dist/utils/esbuild-config.d.ts.map +1 -1
- package/dist/utils/output-utils.d.ts +6 -6
- package/dist/utils/package-utils.d.ts +6 -6
- package/dist/utils/package-utils.js +1 -1
- package/dist/utils/package-utils.js.map +1 -1
- package/dist/utils/rebuild-manager.js +3 -3
- package/dist/utils/rebuild-manager.js.map +1 -1
- package/dist/utils/replace-deps.d.ts +25 -25
- package/dist/utils/replace-deps.js +3 -3
- package/dist/utils/replace-deps.js.map +1 -1
- package/dist/utils/sd-config.d.ts +3 -3
- package/dist/utils/sd-config.js +3 -3
- package/dist/utils/sd-config.js.map +1 -1
- package/dist/utils/tailwind-config-deps.d.ts +3 -3
- package/dist/utils/template.d.ts +8 -8
- package/dist/utils/tsconfig.d.ts +16 -16
- package/dist/utils/tsconfig.js +2 -2
- package/dist/utils/tsconfig.js.map +1 -1
- package/dist/utils/typecheck-serialization.d.ts +8 -8
- package/dist/utils/vite-config.d.ts +8 -8
- package/dist/utils/vite-config.d.ts.map +1 -1
- package/dist/utils/vite-config.js +3 -3
- package/dist/utils/worker-events.d.ts +12 -12
- package/dist/utils/worker-events.d.ts.map +1 -1
- package/dist/utils/worker-utils.d.ts +3 -3
- package/dist/utils/worker-utils.js +2 -2
- package/dist/utils/worker-utils.js.map +1 -1
- package/dist/workers/client.worker.d.ts +14 -14
- package/dist/workers/client.worker.d.ts.map +1 -1
- package/dist/workers/client.worker.js +1 -1
- package/dist/workers/client.worker.js.map +1 -1
- package/dist/workers/dts.worker.d.ts +13 -13
- package/dist/workers/dts.worker.d.ts.map +1 -1
- package/dist/workers/dts.worker.js +3 -3
- package/dist/workers/dts.worker.js.map +1 -1
- package/dist/workers/library.worker.d.ts +12 -12
- package/dist/workers/library.worker.js +1 -1
- package/dist/workers/library.worker.js.map +1 -1
- package/dist/workers/lint.worker.d.ts +1 -1
- package/dist/workers/server-runtime.worker.d.ts +6 -6
- package/dist/workers/server-runtime.worker.js +6 -6
- package/dist/workers/server-runtime.worker.js.map +1 -1
- package/dist/workers/server.worker.d.ts +20 -20
- package/dist/workers/server.worker.d.ts.map +1 -1
- package/dist/workers/server.worker.js +6 -6
- package/dist/workers/server.worker.js.map +1 -1
- package/package.json +8 -7
- package/src/builders/BaseBuilder.ts +33 -33
- package/src/builders/DtsBuilder.ts +5 -5
- package/src/builders/LibraryBuilder.ts +9 -9
- package/src/builders/types.ts +10 -10
- package/src/capacitor/capacitor.ts +119 -119
- package/src/commands/add-client.ts +31 -31
- package/src/commands/add-server.ts +34 -34
- package/src/commands/build.ts +9 -9
- package/src/commands/check.ts +5 -5
- package/src/commands/dev.ts +9 -9
- package/src/commands/device.ts +30 -30
- package/src/commands/init.ts +25 -25
- package/src/commands/lint.ts +64 -64
- package/src/commands/publish.ts +139 -139
- package/src/commands/replace-deps.ts +4 -4
- package/src/commands/typecheck.ts +74 -74
- package/src/commands/watch.ts +7 -7
- package/src/electron/electron.ts +51 -51
- package/src/infra/ResultCollector.ts +9 -9
- package/src/infra/SignalHandler.ts +7 -7
- package/src/infra/WorkerManager.ts +14 -14
- package/src/orchestrators/BuildOrchestrator.ts +76 -76
- package/src/orchestrators/DevOrchestrator.ts +88 -88
- package/src/orchestrators/WatchOrchestrator.ts +39 -39
- package/src/sd-cli-entry.ts +43 -43
- package/src/sd-cli.ts +15 -15
- package/src/sd-config.types.ts +85 -85
- package/src/utils/build-env.ts +1 -1
- package/src/utils/config-editor.ts +19 -19
- package/src/utils/copy-public.ts +17 -17
- package/src/utils/copy-src.ts +11 -11
- package/src/utils/esbuild-config.ts +33 -33
- package/src/utils/output-utils.ts +11 -11
- package/src/utils/package-utils.ts +12 -12
- package/src/utils/rebuild-manager.ts +3 -3
- package/src/utils/replace-deps.ts +361 -361
- package/src/utils/sd-config.ts +44 -44
- package/src/utils/tailwind-config-deps.ts +98 -98
- package/src/utils/template.ts +56 -56
- package/src/utils/tsconfig.ts +127 -127
- package/src/utils/typecheck-serialization.ts +86 -86
- package/src/utils/vite-config.ts +341 -341
- package/src/utils/worker-events.ts +16 -16
- package/src/utils/worker-utils.ts +45 -45
- package/src/workers/client.worker.ts +34 -34
- package/src/workers/dts.worker.ts +467 -467
- package/src/workers/library.worker.ts +314 -314
- package/src/workers/lint.worker.ts +16 -16
- package/src/workers/server-runtime.worker.ts +157 -157
- package/src/workers/server.worker.ts +572 -572
- 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/tests/config-editor.spec.ts +160 -0
- package/tests/copy-src.spec.ts +50 -0
- package/tests/get-compiler-options-for-package.spec.ts +139 -0
- package/tests/get-package-source-files.spec.ts +181 -0
- package/tests/get-types-from-package-json.spec.ts +107 -0
- package/tests/infra/ResultCollector.spec.ts +39 -0
- package/tests/infra/SignalHandler.spec.ts +38 -0
- package/tests/infra/WorkerManager.spec.ts +97 -0
- package/tests/load-ignore-patterns.spec.ts +188 -0
- package/tests/load-sd-config.spec.ts +137 -0
- package/tests/package-utils.spec.ts +188 -0
- package/tests/parse-root-tsconfig.spec.ts +89 -0
- package/tests/replace-deps.spec.ts +308 -0
- package/tests/run-lint.spec.ts +415 -0
- package/tests/run-typecheck.spec.ts +653 -0
- package/tests/run-watch.spec.ts +75 -0
- package/tests/sd-cli.spec.ts +330 -0
- package/tests/tailwind-config-deps.spec.ts +30 -0
- package/tests/template.spec.ts +70 -0
- package/tests/utils/rebuild-manager.spec.ts +43 -0
- package/tests/write-changed-output-files.spec.ts +97 -0
|
@@ -48,13 +48,13 @@ function collectAllExternals(pkgDir, manualExternals) {
|
|
|
48
48
|
const manual = manualExternals ?? [];
|
|
49
49
|
const merged = [.../* @__PURE__ */ new Set([...optionalPeerDeps, ...nativeModules, ...manual])];
|
|
50
50
|
if (optionalPeerDeps.length > 0) {
|
|
51
|
-
logger.debug("
|
|
51
|
+
logger.debug("Uninstalled optional peer deps (external):", optionalPeerDeps);
|
|
52
52
|
}
|
|
53
53
|
if (nativeModules.length > 0) {
|
|
54
|
-
logger.debug("
|
|
54
|
+
logger.debug("Native modules (external):", nativeModules);
|
|
55
55
|
}
|
|
56
56
|
if (manual.length > 0) {
|
|
57
|
-
logger.debug("
|
|
57
|
+
logger.debug("Manually specified (external):", manual);
|
|
58
58
|
}
|
|
59
59
|
return merged;
|
|
60
60
|
}
|
|
@@ -248,7 +248,7 @@ async function createAndBuildContext(info, isFirstBuild, resolveFirstBuild) {
|
|
|
248
248
|
warnings: warnings.length > 0 ? warnings : void 0
|
|
249
249
|
});
|
|
250
250
|
} else {
|
|
251
|
-
logger.debug("output
|
|
251
|
+
logger.debug("No output changes, skipping server restart");
|
|
252
252
|
}
|
|
253
253
|
if (isBuildFirstTime) {
|
|
254
254
|
isBuildFirstTime = false;
|
|
@@ -293,7 +293,7 @@ async function startWatch(info) {
|
|
|
293
293
|
try {
|
|
294
294
|
const hasFileAddOrRemove = changes.some((c) => c.event === "add" || c.event === "unlink");
|
|
295
295
|
if (hasFileAddOrRemove) {
|
|
296
|
-
logger.debug("
|
|
296
|
+
logger.debug("File add/remove detected, recreating context");
|
|
297
297
|
const oldContext = esbuildContext;
|
|
298
298
|
esbuildContext = await createAndBuildContext(info, false);
|
|
299
299
|
if (oldContext != null) {
|
|
@@ -313,7 +313,7 @@ async function startWatch(info) {
|
|
|
313
313
|
if (hasRelevantChange) {
|
|
314
314
|
await esbuildContext.rebuild();
|
|
315
315
|
} else {
|
|
316
|
-
logger.debug("
|
|
316
|
+
logger.debug("Changed files not included in build, skipping rebuild");
|
|
317
317
|
}
|
|
318
318
|
} catch (err) {
|
|
319
319
|
sender.send("error", {
|
|
@@ -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,SAAS,iBAAiB;AAC1B,OAAO,aAAa;AACpB,SAAS,cAAc,WAAW,gBAAgB;AAClD,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AACxB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,yBAAyB,uBAAuB;AACzD,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB,wBAAwB;AAmFlD,MAAM,SAAS,QAAQ,QAAQ,sBAAsB;AAGrD,IAAI;AAGJ,IAAI;AAGJ,IAAI;AAGJ,IAAI;AAKJ,eAAe,UAAyB;AAGtC,QAAM,mBAAmB;AACzB,mBAAiB;AACjB,iBAAe;AAEf,QAAM,iBAAiB;AACvB,kBAAgB;AAEhB,QAAM,oBAAoB;AAC1B,eAAa;AAEb,MAAI,oBAAoB,MAAM;AAC5B,UAAM,iBAAiB,QAAQ;AAAA,EACjC;AAEA,MAAI,kBAAkB,MAAM;AAC1B,UAAM,eAAe,MAAM;AAAA,EAC7B;AAEA,MAAI,qBAAqB,MAAM;AAC7B,UAAM,kBAAkB,MAAM;AAAA,EAChC;AACF;AAQA,SAAS,oBAAoB,QAAgB,iBAAsC;AACjF,QAAM,mBAAmB,mCAAmC,MAAM;AAClE,QAAM,gBAAgB,6BAA6B,MAAM;AACzD,QAAM,SAAS,mBAAmB,CAAC;AAEnC,QAAM,SAAS,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,kBAAkB,GAAG,eAAe,GAAG,MAAM,CAAC,CAAC;AAE9E,MAAI,iBAAiB,SAAS,GAAG;AAC/B,WAAO,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/sd-cli",
|
|
3
|
-
"version": "13.0.
|
|
4
|
-
"description": "
|
|
5
|
-
"author": "
|
|
3
|
+
"version": "13.0.70",
|
|
4
|
+
"description": "Simplysm package - CLI tool",
|
|
5
|
+
"author": "simplysm",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|
|
17
17
|
"src",
|
|
18
|
-
"templates"
|
|
18
|
+
"templates",
|
|
19
|
+
"tests"
|
|
19
20
|
],
|
|
20
21
|
"sideEffects": false,
|
|
21
22
|
"dependencies": {
|
|
@@ -42,9 +43,9 @@
|
|
|
42
43
|
"vite-plugin-solid": "^2.11.10",
|
|
43
44
|
"vite-tsconfig-paths": "^6.1.1",
|
|
44
45
|
"yargs": "^18.0.0",
|
|
45
|
-
"@simplysm/core-common": "13.0.
|
|
46
|
-
"@simplysm/core-node": "13.0.
|
|
47
|
-
"@simplysm/storage": "13.0.
|
|
46
|
+
"@simplysm/core-common": "13.0.70",
|
|
47
|
+
"@simplysm/core-node": "13.0.70",
|
|
48
|
+
"@simplysm/storage": "13.0.70"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"@types/semver": "^7.7.1",
|
|
@@ -9,10 +9,10 @@ import type { IBuilder, PackageInfo } from "./types";
|
|
|
9
9
|
const baseBuilderLogger = consola.withTag("sd:cli:build");
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Abstract base class for Builder
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* Provides common logic for all Builders and
|
|
15
|
+
* defines abstract methods that subclasses must implement.
|
|
16
16
|
*/
|
|
17
17
|
export abstract class BaseBuilder implements IBuilder {
|
|
18
18
|
protected readonly workerManager: WorkerManager;
|
|
@@ -22,9 +22,9 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
22
22
|
protected readonly cwd: string;
|
|
23
23
|
protected isWatchMode = false;
|
|
24
24
|
|
|
25
|
-
/**
|
|
25
|
+
/** Initial build Promise (per package) */
|
|
26
26
|
protected readonly initialBuildPromises = new Map<string, Promise<void>>();
|
|
27
|
-
/**
|
|
27
|
+
/** Initial build resolver (per package) */
|
|
28
28
|
protected readonly buildResolvers = new Map<string, () => void>();
|
|
29
29
|
|
|
30
30
|
constructor(options: {
|
|
@@ -41,10 +41,10 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
|
-
* Builder
|
|
44
|
+
* Initialize Builder
|
|
45
45
|
*/
|
|
46
46
|
initialize(): Promise<void> {
|
|
47
|
-
//
|
|
47
|
+
// Create initial build Promises
|
|
48
48
|
for (const pkg of this.packages) {
|
|
49
49
|
const key = this.getPackageKey(pkg);
|
|
50
50
|
this.initialBuildPromises.set(
|
|
@@ -55,60 +55,60 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
55
55
|
);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
//
|
|
58
|
+
// Create Workers
|
|
59
59
|
this.createWorkers();
|
|
60
60
|
|
|
61
|
-
//
|
|
61
|
+
// Register event handlers
|
|
62
62
|
this.registerEventHandlers();
|
|
63
63
|
|
|
64
64
|
return Promise.resolve();
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
68
|
+
* One-time build (production)
|
|
69
69
|
*/
|
|
70
70
|
async build(): Promise<void> {
|
|
71
71
|
await Promise.all(this.packages.map((pkg) => this.buildPackage(pkg)));
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
75
|
+
* Start watch mode
|
|
76
76
|
*/
|
|
77
77
|
async startWatch(): Promise<void> {
|
|
78
78
|
this.isWatchMode = true;
|
|
79
79
|
|
|
80
|
-
//
|
|
80
|
+
// Start watching all packages (without await - run in background)
|
|
81
81
|
for (const pkg of this.packages) {
|
|
82
82
|
this.startWatchPackage(pkg);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
//
|
|
85
|
+
// Wait until initial build is complete
|
|
86
86
|
await Promise.all(this.initialBuildPromises.values());
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
|
-
* Builder
|
|
90
|
+
* Shutdown Builder
|
|
91
91
|
*/
|
|
92
92
|
async shutdown(): Promise<void> {
|
|
93
93
|
await this.workerManager.terminateAll();
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
97
|
+
* Get initial build Promise map
|
|
98
98
|
*/
|
|
99
99
|
getInitialBuildPromises(): Map<string, Promise<void>> {
|
|
100
100
|
return this.initialBuildPromises;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
|
-
*
|
|
104
|
+
* Generate package key (for result storage)
|
|
105
105
|
*/
|
|
106
106
|
protected getPackageKey(pkg: PackageInfo): string {
|
|
107
107
|
return `${pkg.name}:${this.getBuilderType()}`;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
/**
|
|
111
|
-
*
|
|
111
|
+
* Handle build completion
|
|
112
112
|
*/
|
|
113
113
|
protected completeBuild(pkg: PackageInfo): void {
|
|
114
114
|
const key = this.getPackageKey(pkg);
|
|
@@ -120,14 +120,14 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
/**
|
|
123
|
-
*
|
|
123
|
+
* Register common Worker event handlers (buildStart, build, error)
|
|
124
124
|
*
|
|
125
|
-
* LibraryBuilder
|
|
126
|
-
*
|
|
125
|
+
* Provides common logic so LibraryBuilder and DtsBuilder can register
|
|
126
|
+
* event handlers with the same pattern without duplication.
|
|
127
127
|
*
|
|
128
|
-
* @param workerKey Worker
|
|
129
|
-
* @param resultType BuildResult
|
|
130
|
-
* @param listrTitle
|
|
128
|
+
* @param workerKey Worker identifier (e.g., "core-common:build")
|
|
129
|
+
* @param resultType BuildResult type field value
|
|
130
|
+
* @param listrTitle Title to display during rebuild
|
|
131
131
|
*/
|
|
132
132
|
protected registerEventHandlersForWorker(
|
|
133
133
|
pkg: PackageInfo,
|
|
@@ -137,10 +137,10 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
137
137
|
): void {
|
|
138
138
|
const worker = this.workerManager.get(workerKey)!;
|
|
139
139
|
|
|
140
|
-
//
|
|
140
|
+
// Track if this is initial build
|
|
141
141
|
let isInitialBuild = true;
|
|
142
142
|
|
|
143
|
-
//
|
|
143
|
+
// Build start (during rebuild)
|
|
144
144
|
worker.on("buildStart", () => {
|
|
145
145
|
if (!isInitialBuild && this.rebuildManager != null) {
|
|
146
146
|
const resolver = this.rebuildManager.registerBuild(workerKey, listrTitle);
|
|
@@ -148,11 +148,11 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
150
|
|
|
151
|
-
//
|
|
151
|
+
// Build complete
|
|
152
152
|
worker.on("build", (data) => {
|
|
153
153
|
const event = data as BuildEventData;
|
|
154
154
|
|
|
155
|
-
// warnings
|
|
155
|
+
// Output warnings
|
|
156
156
|
if (event.warnings != null && event.warnings.length > 0) {
|
|
157
157
|
baseBuilderLogger.warn(formatBuildMessages(pkg.name, pkg.config.target, event.warnings));
|
|
158
158
|
}
|
|
@@ -172,7 +172,7 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
172
172
|
this.completeBuild(pkg);
|
|
173
173
|
});
|
|
174
174
|
|
|
175
|
-
//
|
|
175
|
+
// Error
|
|
176
176
|
worker.on("error", (data) => {
|
|
177
177
|
const event = data as ErrorEventData;
|
|
178
178
|
const result: BuildResult = {
|
|
@@ -192,27 +192,27 @@ export abstract class BaseBuilder implements IBuilder {
|
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
/**
|
|
195
|
-
* Builder
|
|
195
|
+
* Builder type (for result key generation)
|
|
196
196
|
*/
|
|
197
197
|
protected abstract getBuilderType(): string;
|
|
198
198
|
|
|
199
199
|
/**
|
|
200
|
-
*
|
|
200
|
+
* Create Workers
|
|
201
201
|
*/
|
|
202
202
|
protected abstract createWorkers(): void;
|
|
203
203
|
|
|
204
204
|
/**
|
|
205
|
-
*
|
|
205
|
+
* Register event handlers
|
|
206
206
|
*/
|
|
207
207
|
protected abstract registerEventHandlers(): void;
|
|
208
208
|
|
|
209
209
|
/**
|
|
210
|
-
*
|
|
210
|
+
* Single package build (production)
|
|
211
211
|
*/
|
|
212
212
|
protected abstract buildPackage(pkg: PackageInfo): Promise<void>;
|
|
213
213
|
|
|
214
214
|
/**
|
|
215
|
-
*
|
|
215
|
+
* Start watching single package
|
|
216
216
|
*/
|
|
217
217
|
protected abstract startWatchPackage(pkg: PackageInfo): void;
|
|
218
218
|
}
|
|
@@ -6,10 +6,10 @@ import { BaseBuilder } from "./BaseBuilder";
|
|
|
6
6
|
import type { PackageInfo } from "./types";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* .d.ts
|
|
9
|
+
* Builder responsible for generating .d.ts files
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Handles TypeScript declaration file generation for library packages.
|
|
12
|
+
* Supports both watch mode and production builds.
|
|
13
13
|
*/
|
|
14
14
|
export class DtsBuilder extends BaseBuilder {
|
|
15
15
|
private readonly _workerPath: string;
|
|
@@ -24,12 +24,12 @@ export class DtsBuilder extends BaseBuilder {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Determine TypecheckEnv from package target
|
|
28
28
|
*/
|
|
29
29
|
private _getEnv(pkg: PackageInfo): TypecheckEnv {
|
|
30
30
|
const target = pkg.config.target;
|
|
31
31
|
if (target === "node") return "node";
|
|
32
|
-
return "browser"; // browser, neutral, client
|
|
32
|
+
return "browser"; // browser, neutral, client all use browser environment
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
protected createWorkers(): void {
|
|
@@ -6,10 +6,10 @@ import { BaseBuilder } from "./BaseBuilder";
|
|
|
6
6
|
import type { PackageInfo } from "./types";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Builder responsible for Library package builds
|
|
10
10
|
*
|
|
11
|
-
* node/browser/neutral
|
|
12
|
-
*
|
|
11
|
+
* Handles esbuild compilation for node/browser/neutral target packages.
|
|
12
|
+
* Supports both watch mode and production builds.
|
|
13
13
|
*/
|
|
14
14
|
export class LibraryBuilder extends BaseBuilder {
|
|
15
15
|
private readonly _workerPath: string;
|
|
@@ -40,7 +40,7 @@ export class LibraryBuilder extends BaseBuilder {
|
|
|
40
40
|
protected async buildPackage(pkg: PackageInfo): Promise<void> {
|
|
41
41
|
const worker = this.workerManager.get<typeof LibraryWorkerModule>(`${pkg.name}:build`)!;
|
|
42
42
|
|
|
43
|
-
//
|
|
43
|
+
// Create build completion Promise
|
|
44
44
|
const buildPromise = new Promise<void>((resolve) => {
|
|
45
45
|
const originalResolver = this.buildResolvers.get(`${pkg.name}:build`);
|
|
46
46
|
this.buildResolvers.set(`${pkg.name}:build`, () => {
|
|
@@ -49,8 +49,8 @@ export class LibraryBuilder extends BaseBuilder {
|
|
|
49
49
|
});
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//
|
|
53
|
-
// LibraryBuilder
|
|
52
|
+
// Start build (without await - completion detected via events)
|
|
53
|
+
// LibraryBuilder only receives library packages (node/browser/neutral), so casting is safe
|
|
54
54
|
void worker.startWatch({
|
|
55
55
|
name: pkg.name,
|
|
56
56
|
config: pkg.config as SdBuildPackageConfig,
|
|
@@ -64,7 +64,7 @@ export class LibraryBuilder extends BaseBuilder {
|
|
|
64
64
|
protected startWatchPackage(pkg: PackageInfo): void {
|
|
65
65
|
const worker = this.workerManager.get<typeof LibraryWorkerModule>(`${pkg.name}:build`)!;
|
|
66
66
|
|
|
67
|
-
// LibraryBuilder
|
|
67
|
+
// LibraryBuilder only receives library packages (node/browser/neutral), so casting is safe
|
|
68
68
|
worker
|
|
69
69
|
.startWatch({
|
|
70
70
|
name: pkg.name,
|
|
@@ -91,7 +91,7 @@ export class LibraryBuilder extends BaseBuilder {
|
|
|
91
91
|
override async shutdown(): Promise<void> {
|
|
92
92
|
const shutdownTimeout = 3000;
|
|
93
93
|
|
|
94
|
-
//
|
|
94
|
+
// Call stopWatch method on each Worker, then terminate
|
|
95
95
|
await Promise.all(
|
|
96
96
|
this.workerManager.ids.map(async (id) => {
|
|
97
97
|
const worker = this.workerManager.get<typeof LibraryWorkerModule>(id);
|
|
@@ -102,7 +102,7 @@ export class LibraryBuilder extends BaseBuilder {
|
|
|
102
102
|
new Promise<void>((resolve) => setTimeout(resolve, shutdownTimeout)),
|
|
103
103
|
]);
|
|
104
104
|
} catch {
|
|
105
|
-
//
|
|
105
|
+
// Continue even if stopWatch fails
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
}),
|
package/src/builders/types.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { ResultCollector } from "../infra/ResultCollector";
|
|
|
3
3
|
import type { RebuildManager } from "../utils/rebuild-manager";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Package information
|
|
7
7
|
*/
|
|
8
8
|
export interface PackageInfo {
|
|
9
9
|
name: string;
|
|
@@ -12,7 +12,7 @@ export interface PackageInfo {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* Builder
|
|
15
|
+
* Common Builder options
|
|
16
16
|
*/
|
|
17
17
|
export interface BuilderOptions {
|
|
18
18
|
cwd: string;
|
|
@@ -22,34 +22,34 @@ export interface BuilderOptions {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
* Builder
|
|
25
|
+
* Builder interface
|
|
26
26
|
*
|
|
27
|
-
*
|
|
27
|
+
* Common interface that all Builders must implement
|
|
28
28
|
*/
|
|
29
29
|
export interface IBuilder {
|
|
30
30
|
/**
|
|
31
|
-
* Builder
|
|
31
|
+
* Initialize Builder (create Workers, register event handlers)
|
|
32
32
|
*/
|
|
33
33
|
initialize(): Promise<void>;
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* One-time build (for production builds)
|
|
37
37
|
*/
|
|
38
38
|
build(): Promise<void>;
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
42
|
-
* Promise
|
|
41
|
+
* Start watch mode
|
|
42
|
+
* Promise resolves when initial build is complete
|
|
43
43
|
*/
|
|
44
44
|
startWatch(): Promise<void>;
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
|
-
* Builder
|
|
47
|
+
* Shutdown Builder (clean up Workers)
|
|
48
48
|
*/
|
|
49
49
|
shutdown(): Promise<void>;
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* Get initial build Promise map (for Listr tasks)
|
|
53
53
|
*/
|
|
54
54
|
getInitialBuildPromises(): Map<string, Promise<void>>;
|
|
55
55
|
}
|