@simplysm/sd-cli 13.0.69 → 13.0.71
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SdPackageConfig } from "../sd-config.types";
|
|
2
2
|
/**
|
|
3
|
-
* import.meta.dirname
|
|
3
|
+
* Walk up from import.meta.dirname to find package.json and return package root
|
|
4
4
|
*/
|
|
5
5
|
export declare function findPackageRoot(startDir: string): string;
|
|
6
6
|
export interface DepsResult {
|
|
@@ -9,11 +9,11 @@ export interface DepsResult {
|
|
|
9
9
|
}
|
|
10
10
|
export declare function collectDeps(pkgDir: string, cwd: string, replaceDepsConfig?: Record<string, string>): DepsResult;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
* @param packages
|
|
14
|
-
* @param targets
|
|
15
|
-
* @returns
|
|
16
|
-
* @internal
|
|
12
|
+
* Filter packages config by targets (excluding scripts target)
|
|
13
|
+
* @param packages Package config map
|
|
14
|
+
* @param targets List of package names to filter. If empty array, return all packages except scripts
|
|
15
|
+
* @returns Filtered package config map
|
|
16
|
+
* @internal exported for testing
|
|
17
17
|
*/
|
|
18
18
|
export declare function filterPackagesByTargets(packages: Record<string, SdPackageConfig | undefined>, targets: string[]): Record<string, SdPackageConfig>;
|
|
19
19
|
//# sourceMappingURL=package-utils.d.ts.map
|
|
@@ -4,7 +4,7 @@ function findPackageRoot(startDir) {
|
|
|
4
4
|
let dir = startDir;
|
|
5
5
|
while (!fs.existsSync(path.join(dir, "package.json"))) {
|
|
6
6
|
const parent = path.dirname(dir);
|
|
7
|
-
if (parent === dir) throw new Error("package.json
|
|
7
|
+
if (parent === dir) throw new Error("package.json not found");
|
|
8
8
|
dir = parent;
|
|
9
9
|
}
|
|
10
10
|
return dir;
|
|
@@ -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,
|
|
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,wBAAwB;AAC5D,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
|
}
|
|
@@ -28,15 +28,15 @@ class RebuildManager extends EventEmitter {
|
|
|
28
28
|
this._pendingBuilds.clear();
|
|
29
29
|
const tasks = Array.from(batchBuilds.entries());
|
|
30
30
|
const titles = tasks.map(([, { title }]) => title).join(", ");
|
|
31
|
-
this._logger.start(
|
|
31
|
+
this._logger.start(`Rebuilding... (${titles})`);
|
|
32
32
|
const results = await Promise.allSettled(tasks.map(([, { promise }]) => promise));
|
|
33
33
|
const failed = results.filter((r) => r.status === "rejected");
|
|
34
34
|
if (failed.length > 0) {
|
|
35
35
|
for (const result of failed) {
|
|
36
|
-
this._logger.error("
|
|
36
|
+
this._logger.error("Error during rebuild", { error: String(result.reason) });
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
this._logger.success(
|
|
39
|
+
this._logger.success(`Rebuild completed (${titles})`);
|
|
40
40
|
this.emit("batchComplete");
|
|
41
41
|
this._isRunning = false;
|
|
42
42
|
if (this._pendingBuilds.size > 0) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/rebuild-manager.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AAMjB,MAAM,uBAAuB,aAAmC;AAAA,EAC7D,aAAa;AAAA,EACJ,iBAAiB,oBAAI,IAGpC;AAAA,EACe;AAAA,EAEjB,YAAY,QAA4C;AACtD,UAAM;AACN,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,cAAc,KAAa,OAA2B;AACpD,QAAI;AACJ,UAAM,UAAU,IAAI,QAAc,CAAC,YAAY;AAC7C,iBAAW;AAAA,IACb,CAAC;AAED,SAAK,eAAe,IAAI,KAAK,EAAE,OAAO,SAAS,SAAS,CAAC;AAEzD,QAAI,CAAC,KAAK,YAAY;AACpB,WAAK,QAAQ,QAAQ,EAAE,KAAK,MAAM,KAAK,KAAK,UAAU,CAAC;AAAA,IACzD;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,YAA2B;AACvC,QAAI,KAAK,cAAc,KAAK,eAAe,SAAS,GAAG;AACrD;AAAA,IACF;AAEA,SAAK,aAAa;AAElB,UAAM,cAAc,IAAI,IAAI,KAAK,cAAc;AAC/C,SAAK,eAAe,MAAM;AAE1B,UAAM,QAAQ,MAAM,KAAK,YAAY,QAAQ,CAAC;AAC9C,UAAM,SAAS,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,EAAE,KAAK,IAAI;AAC5D,SAAK,QAAQ,MAAM,
|
|
4
|
+
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AAMjB,MAAM,uBAAuB,aAAmC;AAAA,EAC7D,aAAa;AAAA,EACJ,iBAAiB,oBAAI,IAGpC;AAAA,EACe;AAAA,EAEjB,YAAY,QAA4C;AACtD,UAAM;AACN,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,cAAc,KAAa,OAA2B;AACpD,QAAI;AACJ,UAAM,UAAU,IAAI,QAAc,CAAC,YAAY;AAC7C,iBAAW;AAAA,IACb,CAAC;AAED,SAAK,eAAe,IAAI,KAAK,EAAE,OAAO,SAAS,SAAS,CAAC;AAEzD,QAAI,CAAC,KAAK,YAAY;AACpB,WAAK,QAAQ,QAAQ,EAAE,KAAK,MAAM,KAAK,KAAK,UAAU,CAAC;AAAA,IACzD;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,YAA2B;AACvC,QAAI,KAAK,cAAc,KAAK,eAAe,SAAS,GAAG;AACrD;AAAA,IACF;AAEA,SAAK,aAAa;AAElB,UAAM,cAAc,IAAI,IAAI,KAAK,cAAc;AAC/C,SAAK,eAAe,MAAM;AAE1B,UAAM,QAAQ,MAAM,KAAK,YAAY,QAAQ,CAAC;AAC9C,UAAM,SAAS,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,EAAE,KAAK,IAAI;AAC5D,SAAK,QAAQ,MAAM,kBAAkB,MAAM,GAAG;AAE9C,UAAM,UAAU,MAAM,QAAQ,WAAW,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,OAAO,CAAC;AAEhF,UAAM,SAAS,QAAQ,OAAO,CAAC,MAAkC,EAAE,WAAW,UAAU;AACxF,QAAI,OAAO,SAAS,GAAG;AACrB,iBAAW,UAAU,QAAQ;AAC3B,aAAK,QAAQ,MAAM,wBAAwB,EAAE,OAAO,OAAO,OAAO,MAAM,EAAE,CAAC;AAAA,MAC7E;AAAA,IACF;AAEA,SAAK,QAAQ,QAAQ,sBAAsB,MAAM,GAAG;AAEpD,SAAK,KAAK,eAAe;AAEzB,SAAK,aAAa;AAElB,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,WAAK,KAAK,UAAU;AAAA,IACtB;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* { targetName, sourcePath }
|
|
2
|
+
* Match glob patterns from replaceDeps config with target package list
|
|
3
|
+
* and return { targetName, sourcePath } pairs
|
|
4
4
|
*
|
|
5
|
-
* @param replaceDeps - sd.config.ts
|
|
6
|
-
* @param targetNames -
|
|
7
|
-
* @returns
|
|
5
|
+
* @param replaceDeps - replaceDeps config from sd.config.ts (key: glob pattern, value: source path)
|
|
6
|
+
* @param targetNames - List of package names found in node_modules (e.g., ["@simplysm/solid", ...])
|
|
7
|
+
* @returns Array of matched { targetName, sourcePath }
|
|
8
8
|
*/
|
|
9
9
|
export declare function resolveReplaceDepEntries(replaceDeps: Record<string, string>, targetNames: string[]): Array<{
|
|
10
10
|
targetName: string;
|
|
11
11
|
sourcePath: string;
|
|
12
12
|
}>;
|
|
13
13
|
/**
|
|
14
|
-
* pnpm-workspace.yaml
|
|
15
|
-
*
|
|
14
|
+
* Parse pnpm-workspace.yaml content and return array of workspace packages globs
|
|
15
|
+
* Simple line parsing without separate YAML library
|
|
16
16
|
*
|
|
17
|
-
* @param content - pnpm-workspace.yaml
|
|
18
|
-
* @returns glob
|
|
17
|
+
* @param content - Content of pnpm-workspace.yaml file
|
|
18
|
+
* @returns Array of glob patterns (e.g., ["packages/*", "tools/*"])
|
|
19
19
|
*/
|
|
20
20
|
export declare function parseWorkspaceGlobs(content: string): string[];
|
|
21
21
|
/**
|
|
22
|
-
* replaceDeps
|
|
22
|
+
* replaceDeps copy/replace item
|
|
23
23
|
*/
|
|
24
24
|
export interface ReplaceDepEntry {
|
|
25
25
|
targetName: string;
|
|
@@ -29,34 +29,34 @@ export interface ReplaceDepEntry {
|
|
|
29
29
|
actualTargetPath: string;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Return type of watchReplaceDeps
|
|
33
33
|
*/
|
|
34
34
|
export interface WatchReplaceDepResult {
|
|
35
35
|
entries: ReplaceDepEntry[];
|
|
36
36
|
dispose: () => void;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* Replace packages in node_modules with source directories according to replaceDeps config.
|
|
40
40
|
*
|
|
41
|
-
* 1. pnpm-workspace.yaml
|
|
42
|
-
* 2. [
|
|
43
|
-
* 3.
|
|
41
|
+
* 1. Parse pnpm-workspace.yaml → workspace package paths
|
|
42
|
+
* 2. Find matching packages in [root, ...workspace packages] node_modules
|
|
43
|
+
* 3. Remove existing symlinks/directories → copy source path (excluding node_modules, package.json, .cache, tests)
|
|
44
44
|
*
|
|
45
|
-
* @param projectRoot -
|
|
46
|
-
* @param replaceDeps - sd.config.ts
|
|
45
|
+
* @param projectRoot - Project root path
|
|
46
|
+
* @param replaceDeps - replaceDeps config from sd.config.ts
|
|
47
47
|
*/
|
|
48
48
|
export declare function setupReplaceDeps(projectRoot: string, replaceDeps: Record<string, string>): Promise<void>;
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* Watch source directories according to replaceDeps config and copy changes to target paths.
|
|
51
51
|
*
|
|
52
|
-
* 1. pnpm-workspace.yaml
|
|
53
|
-
* 2. [
|
|
54
|
-
* 3.
|
|
55
|
-
* 4.
|
|
52
|
+
* 1. Parse pnpm-workspace.yaml → workspace package paths
|
|
53
|
+
* 2. Find matching packages in [root, ...workspace packages] node_modules
|
|
54
|
+
* 3. Watch source directories with FsWatcher (300ms delay)
|
|
55
|
+
* 4. Copy changes to target paths (excluding node_modules, package.json, .cache, tests)
|
|
56
56
|
*
|
|
57
|
-
* @param projectRoot -
|
|
58
|
-
* @param replaceDeps - sd.config.ts
|
|
59
|
-
* @returns entries
|
|
57
|
+
* @param projectRoot - Project root path
|
|
58
|
+
* @param replaceDeps - replaceDeps config from sd.config.ts
|
|
59
|
+
* @returns entries and dispose function
|
|
60
60
|
*/
|
|
61
61
|
export declare function watchReplaceDeps(projectRoot: string, replaceDeps: Record<string, string>): Promise<WatchReplaceDepResult>;
|
|
62
62
|
//# sourceMappingURL=replace-deps.d.ts.map
|
|
@@ -87,7 +87,7 @@ async function resolveAllReplaceDepEntries(projectRoot, replaceDeps, logger) {
|
|
|
87
87
|
try {
|
|
88
88
|
await fs.promises.access(resolvedSourcePath);
|
|
89
89
|
} catch {
|
|
90
|
-
logger.warn(
|
|
90
|
+
logger.warn(`Source path does not exist, skipping: ${resolvedSourcePath}`);
|
|
91
91
|
continue;
|
|
92
92
|
}
|
|
93
93
|
let actualTargetPath = targetPath;
|
|
@@ -119,7 +119,7 @@ async function setupReplaceDeps(projectRoot, replaceDeps) {
|
|
|
119
119
|
await fsCopy(resolvedSourcePath, actualTargetPath, replaceDepsCopyFilter);
|
|
120
120
|
setupCount += 1;
|
|
121
121
|
} catch (err) {
|
|
122
|
-
logger.error(
|
|
122
|
+
logger.error(`Copy replace failed (${targetName}): ${err instanceof Error ? err.message : err}`);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
logger.success(`Replaced ${setupCount} dependencies`);
|
|
@@ -166,7 +166,7 @@ async function watchReplaceDeps(projectRoot, replaceDeps) {
|
|
|
166
166
|
}
|
|
167
167
|
} catch (err) {
|
|
168
168
|
logger.error(
|
|
169
|
-
|
|
169
|
+
`Copy failed (${e.targetName}/${relativePath}): ${err instanceof Error ? err.message : err}`
|
|
170
170
|
);
|
|
171
171
|
}
|
|
172
172
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/replace-deps.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { SdConfig, SdConfigParams } from "../sd-config.types";
|
|
2
2
|
/**
|
|
3
|
-
* sd.config.ts
|
|
4
|
-
* @returns SdConfig
|
|
5
|
-
* @throws sd.config.ts
|
|
3
|
+
* Load sd.config.ts
|
|
4
|
+
* @returns SdConfig object
|
|
5
|
+
* @throws if sd.config.ts is missing or format is incorrect
|
|
6
6
|
*/
|
|
7
7
|
export declare function loadSdConfig(params: SdConfigParams): Promise<SdConfig>;
|
|
8
8
|
//# sourceMappingURL=sd-config.d.ts.map
|
package/dist/utils/sd-config.js
CHANGED
|
@@ -5,16 +5,16 @@ import { fsExists } from "@simplysm/core-node";
|
|
|
5
5
|
async function loadSdConfig(params) {
|
|
6
6
|
const sdConfigPath = path.resolve(params.cwd, "sd.config.ts");
|
|
7
7
|
if (!await fsExists(sdConfigPath)) {
|
|
8
|
-
throw new SdError(`sd.config.ts
|
|
8
|
+
throw new SdError(`sd.config.ts file not found: ${sdConfigPath}`);
|
|
9
9
|
}
|
|
10
10
|
const jiti = createJiti(import.meta.url);
|
|
11
11
|
const sdConfigModule = await jiti.import(sdConfigPath);
|
|
12
12
|
if (sdConfigModule == null || typeof sdConfigModule !== "object" || !("default" in sdConfigModule) || typeof sdConfigModule.default !== "function") {
|
|
13
|
-
throw new SdError(`sd.config.ts
|
|
13
|
+
throw new SdError(`sd.config.ts must export a function as default: ${sdConfigPath}`);
|
|
14
14
|
}
|
|
15
15
|
const config = await sdConfigModule.default(params);
|
|
16
16
|
if (config == null || typeof config !== "object" || !("packages" in config) || config.packages == null || typeof config.packages !== "object" || Array.isArray(config.packages)) {
|
|
17
|
-
throw new SdError(`sd.config.ts
|
|
17
|
+
throw new SdError(`sd.config.ts return value is not in the correct format: ${sdConfigPath}`);
|
|
18
18
|
}
|
|
19
19
|
return config;
|
|
20
20
|
}
|
|
@@ -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,QAA2C;AAC5E,QAAM,eAAe,KAAK,QAAQ,OAAO,KAAK,cAAc;AAE5D,MAAI,CAAE,MAAM,SAAS,YAAY,GAAI;AACnC,UAAM,IAAI,QAAQ,
|
|
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,gCAAgC,YAAY,EAAE;AAAA,EAClE;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,mDAAmD,YAAY,EAAE;AAAA,EACrF;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,2DAA2D,YAAY,EAAE;AAAA,EAC7F;AACA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Recursively collect dependencies of Tailwind config file
|
|
3
3
|
*
|
|
4
|
-
* Tailwind
|
|
5
|
-
*
|
|
4
|
+
* Tailwind built-in `getModuleDependencies` only tracks relative path imports,
|
|
5
|
+
* but this function also resolves `node_modules` symlinks to track actual files for packages in specified scope.
|
|
6
6
|
*/
|
|
7
7
|
export declare function getTailwindConfigDeps(configPath: string, replaceDeps: string[]): string[];
|
|
8
8
|
//# sourceMappingURL=tailwind-config-deps.d.ts.map
|
package/dist/utils/template.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Recursively traverse template directory, render with Handlebars, and generate files
|
|
3
3
|
*
|
|
4
|
-
* - `.hbs`
|
|
5
|
-
* - `.hbs`
|
|
6
|
-
* -
|
|
4
|
+
* - `.hbs` extension files: Compile with Handlebars → save with `.hbs` removed from name
|
|
5
|
+
* - If `.hbs` result is empty string/whitespace only: skip file creation
|
|
6
|
+
* - Other files: copy as-is (binary)
|
|
7
7
|
*
|
|
8
|
-
* @param srcDir -
|
|
9
|
-
* @param destDir -
|
|
10
|
-
* @param context - Handlebars
|
|
11
|
-
* @param dirReplacements -
|
|
8
|
+
* @param srcDir - Template source directory
|
|
9
|
+
* @param destDir - Output destination directory
|
|
10
|
+
* @param context - Handlebars template variables
|
|
11
|
+
* @param dirReplacements - Directory name substitution map (e.g., `{ __CLIENT__: "client-admin" }`)
|
|
12
12
|
*/
|
|
13
13
|
export declare function renderTemplateDir(srcDir: string, destDir: string, context: Record<string, unknown>, dirReplacements?: Record<string, string>): Promise<void>;
|
|
14
14
|
//# sourceMappingURL=template.d.ts.map
|
package/dist/utils/tsconfig.d.ts
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Read @types/* devDependencies from package.json and return types list
|
|
4
4
|
*/
|
|
5
5
|
export declare function getTypesFromPackageJson(packageDir: string): Promise<string[]>;
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
* - node: DOM lib
|
|
9
|
-
* - browser: node
|
|
10
|
-
* - neutral: DOM lib
|
|
7
|
+
* Type check environment
|
|
8
|
+
* - node: remove DOM lib + add node types
|
|
9
|
+
* - browser: remove node types
|
|
10
|
+
* - neutral: keep DOM lib + add node types (for Node/browser shared packages)
|
|
11
11
|
*/
|
|
12
12
|
export type TypecheckEnv = "node" | "browser" | "neutral";
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Create compiler options for package
|
|
15
15
|
*
|
|
16
|
-
* @param baseOptions
|
|
17
|
-
* @param env
|
|
18
|
-
* @param packageDir
|
|
16
|
+
* @param baseOptions - Compiler options from root tsconfig
|
|
17
|
+
* @param env - Type check environment (node: remove DOM lib + add node types, browser: remove node types)
|
|
18
|
+
* @param packageDir - Package directory path
|
|
19
19
|
*
|
|
20
20
|
* @remarks
|
|
21
|
-
* types
|
|
22
|
-
*
|
|
23
|
-
* (
|
|
21
|
+
* The types option ignores baseOptions.types and is newly constructed per package.
|
|
22
|
+
* This is because the global types in root tsconfig may not fit the package environment.
|
|
23
|
+
* (e.g., prevent node types from being included in browser packages)
|
|
24
24
|
*/
|
|
25
25
|
export declare function getCompilerOptionsForPackage(baseOptions: ts.CompilerOptions, env: TypecheckEnv, packageDir: string): Promise<ts.CompilerOptions>;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
28
|
-
* @throws
|
|
27
|
+
* Parse root tsconfig
|
|
28
|
+
* @throws If unable to read or parse tsconfig.json
|
|
29
29
|
*/
|
|
30
30
|
export declare function parseRootTsconfig(cwd: string): ts.ParsedCommandLine;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Get list of package source files (based on tsconfig)
|
|
33
33
|
*/
|
|
34
34
|
export declare function getPackageSourceFiles(pkgDir: string, parsedConfig: ts.ParsedCommandLine): string[];
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Get full list of package files (including src + tests)
|
|
37
37
|
*/
|
|
38
38
|
export declare function getPackageFiles(pkgDir: string, parsedConfig: ts.ParsedCommandLine): string[];
|
|
39
39
|
//# sourceMappingURL=tsconfig.d.ts.map
|
package/dist/utils/tsconfig.js
CHANGED
|
@@ -42,12 +42,12 @@ function parseRootTsconfig(cwd) {
|
|
|
42
42
|
const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
|
|
43
43
|
if (configFile.error) {
|
|
44
44
|
const message = ts.flattenDiagnosticMessageText(configFile.error.messageText, "\n");
|
|
45
|
-
throw new SdError(`tsconfig.json
|
|
45
|
+
throw new SdError(`Failed to read tsconfig.json: ${message}`);
|
|
46
46
|
}
|
|
47
47
|
const parsed = ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd);
|
|
48
48
|
if (parsed.errors.length > 0) {
|
|
49
49
|
const messages = parsed.errors.map((e) => ts.flattenDiagnosticMessageText(e.messageText, "\n"));
|
|
50
|
-
throw new SdError(`tsconfig.json
|
|
50
|
+
throw new SdError(`Failed to parse tsconfig.json: ${messages.join("; ")}`);
|
|
51
51
|
}
|
|
52
52
|
return parsed;
|
|
53
53
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/tsconfig.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,UAAU,YAAY,uBAAuB;AACtD,SAAS,eAAe;AAMxB,MAAM,mBAAmB,CAAC,OAAO,WAAW;AAK5C,eAAsB,wBAAwB,YAAuC;AACnF,QAAM,kBAAkB,KAAK,KAAK,YAAY,cAAc;AAC5D,MAAI,CAAE,MAAM,SAAS,eAAe,GAAI;AACtC,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,cAAc,MAAM;AAAA,IACxB;AAAA,EACF;AACA,QAAM,UAAU,YAAY,mBAAmB,CAAC;AAEhD,SAAO,OAAO,KAAK,OAAO,EACvB,OAAO,CAAC,QAAQ,IAAI,WAAW,SAAS,CAAC,EACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,WAAW,EAAE,CAAC;AAC5C;AAsBA,eAAsB,6BACpB,aACA,KACA,YAC6B;AAC7B,QAAM,UAAU,EAAE,GAAG,YAAY;AACjC,QAAM,eAAe,MAAM,wBAAwB,UAAU;AAG7D,UAAQ,YAAY;AAAA,IAClB,KAAK,KAAK,YAAY,gBAAgB,QAAQ;AAAA,IAC9C,KAAK,KAAK,QAAQ,IAAI,GAAG,gBAAgB,QAAQ;AAAA,EACnD;AAEA,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,cAAQ,MAAM,QAAQ,KAAK;AAAA,QACzB,CAAC,QAAQ,CAAC,iBAAiB,KAAK,CAAC,YAAY,IAAI,YAAY,EAAE,SAAS,OAAO,CAAC;AAAA,MAClF;AACA,cAAQ,QAAQ,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,cAAc,MAAM,CAAC,CAAC;AACtD;AAAA,IACF,KAAK;AACH,cAAQ,QAAQ,aAAa,OAAO,CAAC,MAAM,MAAM,MAAM;AACvD;AAAA,IACF,KAAK;AACH,cAAQ,QAAQ,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,cAAc,MAAM,CAAC,CAAC;AACtD;AAAA,EACJ;AAEA,SAAO;AACT;AAMO,SAAS,kBAAkB,KAAmC;AACnE,QAAM,eAAe,KAAK,KAAK,KAAK,eAAe;AACnD,QAAM,aAAa,GAAG,eAAe,cAAc,GAAG,IAAI,QAAQ;AAElE,MAAI,WAAW,OAAO;AACpB,UAAM,UAAU,GAAG,6BAA6B,WAAW,MAAM,aAAa,IAAI;AAClF,UAAM,IAAI,QAAQ,
|
|
4
|
+
"mappings": "AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,UAAU,YAAY,uBAAuB;AACtD,SAAS,eAAe;AAMxB,MAAM,mBAAmB,CAAC,OAAO,WAAW;AAK5C,eAAsB,wBAAwB,YAAuC;AACnF,QAAM,kBAAkB,KAAK,KAAK,YAAY,cAAc;AAC5D,MAAI,CAAE,MAAM,SAAS,eAAe,GAAI;AACtC,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,cAAc,MAAM;AAAA,IACxB;AAAA,EACF;AACA,QAAM,UAAU,YAAY,mBAAmB,CAAC;AAEhD,SAAO,OAAO,KAAK,OAAO,EACvB,OAAO,CAAC,QAAQ,IAAI,WAAW,SAAS,CAAC,EACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,WAAW,EAAE,CAAC;AAC5C;AAsBA,eAAsB,6BACpB,aACA,KACA,YAC6B;AAC7B,QAAM,UAAU,EAAE,GAAG,YAAY;AACjC,QAAM,eAAe,MAAM,wBAAwB,UAAU;AAG7D,UAAQ,YAAY;AAAA,IAClB,KAAK,KAAK,YAAY,gBAAgB,QAAQ;AAAA,IAC9C,KAAK,KAAK,QAAQ,IAAI,GAAG,gBAAgB,QAAQ;AAAA,EACnD;AAEA,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,cAAQ,MAAM,QAAQ,KAAK;AAAA,QACzB,CAAC,QAAQ,CAAC,iBAAiB,KAAK,CAAC,YAAY,IAAI,YAAY,EAAE,SAAS,OAAO,CAAC;AAAA,MAClF;AACA,cAAQ,QAAQ,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,cAAc,MAAM,CAAC,CAAC;AACtD;AAAA,IACF,KAAK;AACH,cAAQ,QAAQ,aAAa,OAAO,CAAC,MAAM,MAAM,MAAM;AACvD;AAAA,IACF,KAAK;AACH,cAAQ,QAAQ,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,cAAc,MAAM,CAAC,CAAC;AACtD;AAAA,EACJ;AAEA,SAAO;AACT;AAMO,SAAS,kBAAkB,KAAmC;AACnE,QAAM,eAAe,KAAK,KAAK,KAAK,eAAe;AACnD,QAAM,aAAa,GAAG,eAAe,cAAc,GAAG,IAAI,QAAQ;AAElE,MAAI,WAAW,OAAO;AACpB,UAAM,UAAU,GAAG,6BAA6B,WAAW,MAAM,aAAa,IAAI;AAClF,UAAM,IAAI,QAAQ,iCAAiC,OAAO,EAAE;AAAA,EAC9D;AAEA,QAAM,SAAS,GAAG,2BAA2B,WAAW,QAAQ,GAAG,KAAK,GAAG;AAE3E,MAAI,OAAO,OAAO,SAAS,GAAG;AAC5B,UAAM,WAAW,OAAO,OAAO,IAAI,CAAC,MAAM,GAAG,6BAA6B,EAAE,aAAa,IAAI,CAAC;AAC9F,UAAM,IAAI,QAAQ,kCAAkC,SAAS,KAAK,IAAI,CAAC,EAAE;AAAA,EAC3E;AAEA,SAAO;AACT;AAKO,SAAS,sBACd,QACA,cACU;AACV,QAAM,YAAY,KAAK,KAAK,QAAQ,KAAK;AACzC,SAAO,aAAa,UAAU,OAAO,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAC3E;AAKO,SAAS,gBAAgB,QAAgB,cAA8C;AAC5F,SAAO,aAAa,UAAU,OAAO,CAAC,MAAM;AAC1C,QAAI,CAAC,gBAAgB,GAAG,MAAM,EAAG,QAAO;AAExC,UAAM,WAAW,KAAK,SAAS,QAAQ,CAAC;AACxC,WAAO,KAAK,QAAQ,QAAQ,MAAM;AAAA,EACpC,CAAC;AACH;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Serialized Diagnostic that can be passed to Worker
|
|
4
4
|
*/
|
|
5
5
|
export interface SerializedDiagnostic {
|
|
6
6
|
category: number;
|
|
@@ -13,16 +13,16 @@ export interface SerializedDiagnostic {
|
|
|
13
13
|
length?: number;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* Diagnostic
|
|
17
|
-
* (
|
|
16
|
+
* Convert Diagnostic to serializable form
|
|
17
|
+
* (remove circular references/functions for structured clone communication between Worker threads)
|
|
18
18
|
*/
|
|
19
19
|
export declare function serializeDiagnostic(diagnostic: ts.Diagnostic): SerializedDiagnostic;
|
|
20
20
|
/**
|
|
21
|
-
* SerializedDiagnostic
|
|
22
|
-
*
|
|
23
|
-
* @param serialized
|
|
24
|
-
* @param fileCache
|
|
25
|
-
* @returns
|
|
21
|
+
* Restore SerializedDiagnostic to ts.Diagnostic
|
|
22
|
+
* Reads actual file contents so source code context is displayed in formatDiagnosticsWithColorAndContext
|
|
23
|
+
* @param serialized - Serialized diagnostic information
|
|
24
|
+
* @param fileCache - File content cache (prevent duplicate reads of same file)
|
|
25
|
+
* @returns Restored ts.Diagnostic object
|
|
26
26
|
*/
|
|
27
27
|
export declare function deserializeDiagnostic(serialized: SerializedDiagnostic, fileCache: Map<string, string>): ts.Diagnostic;
|
|
28
28
|
//# sourceMappingURL=typecheck-serialization.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { UserConfig as ViteUserConfig } from "vite";
|
|
2
2
|
/**
|
|
3
|
-
* Vite
|
|
3
|
+
* Vite config generation options
|
|
4
4
|
*/
|
|
5
5
|
export interface ViteConfigOptions {
|
|
6
6
|
pkgDir: string;
|
|
@@ -9,19 +9,19 @@ export interface ViteConfigOptions {
|
|
|
9
9
|
compilerOptions: Record<string, unknown>;
|
|
10
10
|
env?: Record<string, string>;
|
|
11
11
|
mode: "build" | "dev";
|
|
12
|
-
/**
|
|
12
|
+
/** Server port in dev mode (0 for auto-assign) */
|
|
13
13
|
serverPort?: number;
|
|
14
|
-
/** replaceDeps
|
|
14
|
+
/** Array of replaceDeps package names (resolved state) */
|
|
15
15
|
replaceDeps?: string[];
|
|
16
|
-
/** replaceDeps
|
|
16
|
+
/** Callback when replaceDeps package dist changes */
|
|
17
17
|
onScopeRebuild?: () => void;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Vite
|
|
20
|
+
* Create Vite config
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
* - build
|
|
24
|
-
* - dev
|
|
22
|
+
* Configuration for building/dev server for client packages based on SolidJS + TailwindCSS.
|
|
23
|
+
* - build mode: production build (logLevel: silent)
|
|
24
|
+
* - dev mode: dev server (env substitution via define, server configuration)
|
|
25
25
|
*/
|
|
26
26
|
export declare function createViteConfig(options: ViteConfigOptions): ViteUserConfig;
|
|
27
27
|
//# sourceMappingURL=vite-config.d.ts.map
|
|
@@ -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;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,
|
|
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,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAuE3E"}
|
|
@@ -204,9 +204,9 @@ function createViteConfig(options) {
|
|
|
204
204
|
config.logLevel = "silent";
|
|
205
205
|
} else {
|
|
206
206
|
config.server = {
|
|
207
|
-
// serverPort === 0:
|
|
208
|
-
// → host
|
|
209
|
-
// (Windows
|
|
207
|
+
// serverPort === 0: server-connected client (proxy target)
|
|
208
|
+
// → explicitly set host to 127.0.0.1 to ensure IPv4 binding
|
|
209
|
+
// (On Windows, if localhost resolves to ::1 (IPv6), proxy connection to 127.0.0.1 causes ECONNREFUSED)
|
|
210
210
|
host: serverPort === 0 ? "127.0.0.1" : void 0,
|
|
211
211
|
port: serverPort === 0 ? void 0 : serverPort,
|
|
212
212
|
strictPort: serverPort !== 0 && serverPort !== void 0
|
|
@@ -1,21 +1,21 @@
|
|
|
1
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
|
-
/** Worker
|
|
4
|
+
/** Worker build completion event data */
|
|
5
5
|
export interface BuildEventData {
|
|
6
6
|
success: boolean;
|
|
7
7
|
errors?: string[];
|
|
8
8
|
warnings?: string[];
|
|
9
9
|
}
|
|
10
|
-
/** Worker
|
|
10
|
+
/** Worker error event data */
|
|
11
11
|
export interface ErrorEventData {
|
|
12
12
|
message: string;
|
|
13
13
|
}
|
|
14
|
-
/** Worker
|
|
14
|
+
/** Worker server ready event data */
|
|
15
15
|
export interface ServerReadyEventData {
|
|
16
16
|
port: number;
|
|
17
17
|
}
|
|
18
|
-
/** Server Build
|
|
18
|
+
/** Server Build completion event data */
|
|
19
19
|
export interface ServerBuildEventData {
|
|
20
20
|
success: boolean;
|
|
21
21
|
mainJsPath: string;
|
|
@@ -23,7 +23,7 @@ export interface ServerBuildEventData {
|
|
|
23
23
|
warnings?: string[];
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Base Worker info type
|
|
27
27
|
*/
|
|
28
28
|
export interface BaseWorkerInfo<TEvents extends Record<string, unknown> = Record<string, unknown>> {
|
|
29
29
|
name: string;
|
|
@@ -36,7 +36,7 @@ export interface BaseWorkerInfo<TEvents extends Record<string, unknown> = Record
|
|
|
36
36
|
buildResolver: (() => void) | undefined;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Worker
|
|
39
|
+
* Worker event handler options
|
|
40
40
|
*/
|
|
41
41
|
export interface WorkerEventHandlerOptions {
|
|
42
42
|
resultKey: string;
|
|
@@ -44,13 +44,13 @@ export interface WorkerEventHandlerOptions {
|
|
|
44
44
|
resultType: "build" | "dts";
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* Register common Worker event handlers (buildStart, build, error only - serverReady not included)
|
|
48
48
|
*
|
|
49
|
-
* @param workerInfo Worker
|
|
50
|
-
* @param opts
|
|
51
|
-
* @param results
|
|
52
|
-
* @param rebuildManager
|
|
53
|
-
* @returns completeTask
|
|
49
|
+
* @param workerInfo Worker info
|
|
50
|
+
* @param opts Handler options
|
|
51
|
+
* @param results Result map
|
|
52
|
+
* @param rebuildManager Rebuild manager
|
|
53
|
+
* @returns completeTask function (saves result and signals build completion)
|
|
54
54
|
*/
|
|
55
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,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxD,
|
|
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,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,8BAA8B;AAC9B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qCAAqC;AACrC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yCAAyC;AACzC,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"}
|
|
@@ -11,10 +11,10 @@ import type { ConsolaInstance } from "consola";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function registerCleanupHandlers(cleanup: () => Promise<void>, logger: ConsolaInstance): void;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Create guard to prevent duplicate calls to Worker function
|
|
15
15
|
*
|
|
16
|
-
* @param label -
|
|
17
|
-
* @returns
|
|
16
|
+
* @param label - Function name to use in error message
|
|
17
|
+
* @returns Guard function that throws error if called twice
|
|
18
18
|
*/
|
|
19
19
|
export declare function createOnceGuard(label: string): () => void;
|
|
20
20
|
//# sourceMappingURL=worker-utils.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function registerCleanupHandlers(cleanup, logger) {
|
|
2
2
|
const handleSignal = () => {
|
|
3
3
|
cleanup().catch((err) => {
|
|
4
|
-
logger.error("cleanup
|
|
4
|
+
logger.error("cleanup failed", err);
|
|
5
5
|
}).finally(() => {
|
|
6
6
|
process.exit(0);
|
|
7
7
|
});
|
|
@@ -13,7 +13,7 @@ function createOnceGuard(label) {
|
|
|
13
13
|
let called = false;
|
|
14
14
|
return () => {
|
|
15
15
|
if (called) {
|
|
16
|
-
throw new Error(`${label}
|
|
16
|
+
throw new Error(`${label} can only be called once per Worker`);
|
|
17
17
|
}
|
|
18
18
|
called = true;
|
|
19
19
|
};
|