@simplysm/sd-cli 13.0.76 → 13.0.77

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.
Files changed (154) hide show
  1. package/README.md +341 -16
  2. package/dist/builders/DtsBuilder.js +2 -2
  3. package/dist/builders/DtsBuilder.js.map +1 -1
  4. package/dist/builders/LibraryBuilder.d.ts +3 -3
  5. package/dist/builders/LibraryBuilder.d.ts.map +1 -1
  6. package/dist/builders/LibraryBuilder.js +2 -2
  7. package/dist/builders/LibraryBuilder.js.map +1 -1
  8. package/dist/builders/types.d.ts +7 -1
  9. package/dist/builders/types.d.ts.map +1 -1
  10. package/dist/capacitor/capacitor.d.ts +5 -0
  11. package/dist/capacitor/capacitor.d.ts.map +1 -1
  12. package/dist/capacitor/capacitor.js +59 -59
  13. package/dist/capacitor/capacitor.js.map +1 -1
  14. package/dist/commands/check.js +4 -4
  15. package/dist/commands/check.js.map +1 -1
  16. package/dist/commands/device.js +3 -3
  17. package/dist/commands/device.js.map +1 -1
  18. package/dist/commands/lint.js +4 -4
  19. package/dist/commands/lint.js.map +1 -1
  20. package/dist/commands/publish.js +20 -20
  21. package/dist/commands/publish.js.map +1 -1
  22. package/dist/commands/replace-deps.js +1 -1
  23. package/dist/commands/replace-deps.js.map +1 -1
  24. package/dist/commands/typecheck.js +9 -9
  25. package/dist/commands/typecheck.js.map +1 -1
  26. package/dist/electron/electron.js +16 -16
  27. package/dist/electron/electron.js.map +1 -1
  28. package/dist/orchestrators/BuildOrchestrator.js +6 -6
  29. package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
  30. package/dist/orchestrators/DevOrchestrator.d.ts +7 -6
  31. package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -1
  32. package/dist/orchestrators/DevOrchestrator.js +157 -203
  33. package/dist/orchestrators/DevOrchestrator.js.map +1 -1
  34. package/dist/orchestrators/WatchOrchestrator.d.ts.map +1 -1
  35. package/dist/orchestrators/WatchOrchestrator.js +3 -4
  36. package/dist/orchestrators/WatchOrchestrator.js.map +1 -1
  37. package/dist/sd-cli.js +1 -1
  38. package/dist/sd-cli.js.map +1 -1
  39. package/dist/sd-config.types.d.ts +9 -3
  40. package/dist/sd-config.types.d.ts.map +1 -1
  41. package/dist/utils/copy-public.d.ts.map +1 -1
  42. package/dist/utils/copy-public.js +23 -27
  43. package/dist/utils/copy-public.js.map +1 -1
  44. package/dist/utils/copy-src.d.ts.map +1 -1
  45. package/dist/utils/copy-src.js +7 -7
  46. package/dist/utils/copy-src.js.map +1 -1
  47. package/dist/utils/esbuild-config.d.ts.map +1 -1
  48. package/dist/utils/esbuild-config.js +36 -42
  49. package/dist/utils/esbuild-config.js.map +1 -1
  50. package/dist/utils/replace-deps.js +7 -7
  51. package/dist/utils/replace-deps.js.map +1 -1
  52. package/dist/utils/sd-config.js +2 -2
  53. package/dist/utils/sd-config.js.map +1 -1
  54. package/dist/utils/template.js +7 -7
  55. package/dist/utils/template.js.map +1 -1
  56. package/dist/utils/tsconfig.d.ts +1 -2
  57. package/dist/utils/tsconfig.d.ts.map +1 -1
  58. package/dist/utils/tsconfig.js +5 -8
  59. package/dist/utils/tsconfig.js.map +1 -1
  60. package/dist/utils/typecheck-serialization.js +2 -2
  61. package/dist/utils/typecheck-serialization.js.map +1 -1
  62. package/dist/utils/vite-config.d.ts +2 -0
  63. package/dist/utils/vite-config.d.ts.map +1 -1
  64. package/dist/utils/vite-config.js +36 -3
  65. package/dist/utils/vite-config.js.map +1 -1
  66. package/dist/utils/worker-events.d.ts +11 -1
  67. package/dist/utils/worker-events.d.ts.map +1 -1
  68. package/dist/utils/worker-events.js +3 -5
  69. package/dist/utils/worker-events.js.map +1 -1
  70. package/dist/utils/worker-utils.d.ts +2 -2
  71. package/dist/utils/worker-utils.d.ts.map +1 -1
  72. package/dist/utils/worker-utils.js +1 -1
  73. package/dist/utils/worker-utils.js.map +1 -1
  74. package/dist/workers/client.worker.d.ts +1 -1
  75. package/dist/workers/client.worker.js +3 -3
  76. package/dist/workers/client.worker.js.map +1 -1
  77. package/dist/workers/dts.worker.d.ts +1 -1
  78. package/dist/workers/dts.worker.d.ts.map +1 -1
  79. package/dist/workers/dts.worker.js +13 -28
  80. package/dist/workers/dts.worker.js.map +1 -1
  81. package/dist/workers/library.worker.d.ts +1 -1
  82. package/dist/workers/library.worker.js +4 -4
  83. package/dist/workers/library.worker.js.map +1 -1
  84. package/dist/workers/lint.worker.d.ts +1 -1
  85. package/dist/workers/server-runtime.worker.d.ts +1 -1
  86. package/dist/workers/server-runtime.worker.js +4 -4
  87. package/dist/workers/server-runtime.worker.js.map +1 -1
  88. package/dist/workers/server.worker.d.ts +1 -1
  89. package/dist/workers/server.worker.js +6 -6
  90. package/dist/workers/server.worker.js.map +1 -1
  91. package/package.json +4 -4
  92. package/src/builders/DtsBuilder.ts +2 -2
  93. package/src/builders/LibraryBuilder.ts +7 -10
  94. package/src/builders/types.ts +6 -1
  95. package/src/capacitor/capacitor.ts +61 -60
  96. package/src/commands/check.ts +4 -4
  97. package/src/commands/device.ts +3 -3
  98. package/src/commands/lint.ts +4 -4
  99. package/src/commands/publish.ts +20 -20
  100. package/src/commands/replace-deps.ts +1 -1
  101. package/src/commands/typecheck.ts +9 -9
  102. package/src/electron/electron.ts +16 -16
  103. package/src/orchestrators/BuildOrchestrator.ts +6 -6
  104. package/src/orchestrators/DevOrchestrator.ts +210 -256
  105. package/src/orchestrators/WatchOrchestrator.ts +8 -10
  106. package/src/sd-cli.ts +1 -1
  107. package/src/sd-config.types.ts +10 -3
  108. package/src/utils/copy-public.ts +22 -26
  109. package/src/utils/copy-src.ts +7 -7
  110. package/src/utils/esbuild-config.ts +51 -63
  111. package/src/utils/replace-deps.ts +7 -7
  112. package/src/utils/sd-config.ts +2 -2
  113. package/src/utils/template.ts +7 -7
  114. package/src/utils/tsconfig.ts +6 -10
  115. package/src/utils/typecheck-serialization.ts +2 -2
  116. package/src/utils/vite-config.ts +376 -341
  117. package/src/utils/worker-events.ts +13 -10
  118. package/src/utils/worker-utils.ts +45 -45
  119. package/src/workers/client.worker.ts +3 -3
  120. package/src/workers/dts.worker.ts +451 -467
  121. package/src/workers/library.worker.ts +4 -4
  122. package/src/workers/server-runtime.worker.ts +4 -4
  123. package/src/workers/server.worker.ts +572 -572
  124. package/templates/init/package.json.hbs +2 -2
  125. package/templates/init/packages/client-admin/package.json.hbs +5 -5
  126. package/templates/init/packages/client-admin/src/views/auth/LoginView.tsx +2 -2
  127. package/templates/init/packages/client-admin/src/views/home/base/employee/EmployeeSheet.tsx.hbs +1 -1
  128. package/templates/init/packages/client-admin/src/views/home/base/role-permission/RoleSheet.tsx.hbs +1 -1
  129. package/templates/init/packages/db-main/package.json.hbs +2 -2
  130. package/templates/init/packages/server/package.json.hbs +4 -4
  131. package/templates/init/tests/e2e/package.json.hbs +1 -1
  132. package/tests/get-compiler-options-for-package.spec.ts +13 -27
  133. package/tests/get-types-from-package-json.spec.ts +15 -11
  134. package/tests/load-ignore-patterns.spec.ts +15 -11
  135. package/tests/load-sd-config.spec.ts +16 -14
  136. package/tests/publish-config-narrowing.spec.ts +20 -0
  137. package/tests/run-lint.spec.ts +38 -34
  138. package/tests/run-typecheck.spec.ts +194 -135
  139. package/tests/sd-public-dev-plugin-mime.spec.ts +19 -0
  140. package/dist/builders/index.d.ts +0 -5
  141. package/dist/builders/index.d.ts.map +0 -1
  142. package/dist/builders/index.js +0 -5
  143. package/dist/builders/index.js.map +0 -6
  144. package/dist/infra/index.d.ts +0 -4
  145. package/dist/infra/index.d.ts.map +0 -1
  146. package/dist/infra/index.js +0 -4
  147. package/dist/infra/index.js.map +0 -6
  148. package/dist/orchestrators/index.d.ts +0 -4
  149. package/dist/orchestrators/index.d.ts.map +0 -1
  150. package/dist/orchestrators/index.js +0 -4
  151. package/dist/orchestrators/index.js.map +0 -6
  152. package/src/builders/index.ts +0 -4
  153. package/src/infra/index.ts +0 -3
  154. package/src/orchestrators/index.ts +0 -3
@@ -63,11 +63,16 @@ export interface WorkerEventHandlerOptions {
63
63
  * @param rebuildManager Rebuild manager
64
64
  * @returns completeTask function (saves result and signals build completion)
65
65
  */
66
- export function registerWorkerEventHandlers<
67
- TEvents extends Record<string, unknown>,
68
- T extends BaseWorkerInfo<TEvents>,
69
- >(
70
- workerInfo: T,
66
+ export function registerWorkerEventHandlers(
67
+ workerInfo: {
68
+ name: string;
69
+ config: { target: string };
70
+ worker: {
71
+ on(event: string, handler: (data: any) => void): void;
72
+ };
73
+ isInitialBuild: boolean;
74
+ buildResolver: (() => void) | undefined;
75
+ },
71
76
  opts: WorkerEventHandlerOptions,
72
77
  results: Map<string, BuildResult>,
73
78
  rebuildManager: RebuildManager,
@@ -87,8 +92,7 @@ export function registerWorkerEventHandlers<
87
92
  });
88
93
 
89
94
  // Build completion
90
- workerInfo.worker.on("build", (_data) => {
91
- const data = _data as BuildEventData;
95
+ workerInfo.worker.on("build", (data) => {
92
96
  workerEventsLogger.debug(`[${workerInfo.name}] build: success=${String(data.success)}`);
93
97
 
94
98
  // Print warnings
@@ -102,14 +106,13 @@ export function registerWorkerEventHandlers<
102
106
  name: workerInfo.name,
103
107
  target: workerInfo.config.target,
104
108
  type: opts.resultType,
105
- status: data.success ? "success" : "error",
109
+ status: data.success === true ? "success" : "error",
106
110
  message: data.errors?.join("\n"),
107
111
  });
108
112
  });
109
113
 
110
114
  // Error
111
- workerInfo.worker.on("error", (_data) => {
112
- const data = _data as ErrorEventData;
115
+ workerInfo.worker.on("error", (data) => {
113
116
  workerEventsLogger.debug(`[${workerInfo.name}] error: ${data.message}`);
114
117
  completeTask({
115
118
  name: workerInfo.name,
@@ -1,45 +1,45 @@
1
- import type { ConsolaInstance } from "consola";
2
-
3
- /**
4
- * Register cleanup handlers for worker process shutdown signals
5
- *
6
- * Registers SIGINT and SIGTERM handlers to gracefully cleanup resources
7
- * before process exit. Both handlers execute the cleanup function and
8
- * exit with code 0.
9
- *
10
- * @param cleanup - Async cleanup function to execute on shutdown
11
- * @param logger - Consola logger instance for error logging
12
- */
13
- export function registerCleanupHandlers(
14
- cleanup: () => Promise<void>,
15
- logger: ConsolaInstance,
16
- ): void {
17
- const handleSignal = () => {
18
- cleanup()
19
- .catch((err) => {
20
- logger.error("cleanup failed", err);
21
- })
22
- .finally(() => {
23
- process.exit(0);
24
- });
25
- };
26
-
27
- process.on("SIGTERM", handleSignal);
28
- process.on("SIGINT", handleSignal);
29
- }
30
-
31
- /**
32
- * Create guard to prevent duplicate calls to Worker function
33
- *
34
- * @param label - Function name to use in error message
35
- * @returns Guard function that throws error if called twice
36
- */
37
- export function createOnceGuard(label: string): () => void {
38
- let called = false;
39
- return () => {
40
- if (called) {
41
- throw new Error(`${label} can only be called once per Worker`);
42
- }
43
- called = true;
44
- };
45
- }
1
+ import type { ConsolaInstance } from "consola";
2
+
3
+ /**
4
+ * Register cleanup handlers for worker process shutdown signals
5
+ *
6
+ * Registers SIGINT and SIGTERM handlers to gracefully cleanup resources
7
+ * before process exit. Both handlers execute the cleanup function and
8
+ * exit with code 0.
9
+ *
10
+ * @param cleanup - Cleanup function to execute on shutdown (sync or async)
11
+ * @param logger - Consola logger instance for error logging
12
+ */
13
+ export function registerCleanupHandlers(
14
+ cleanup: () => void | Promise<void>,
15
+ logger: ConsolaInstance,
16
+ ): void {
17
+ const handleSignal = () => {
18
+ Promise.resolve(cleanup())
19
+ .catch((err) => {
20
+ logger.error("cleanup failed", err);
21
+ })
22
+ .finally(() => {
23
+ process.exit(0);
24
+ });
25
+ };
26
+
27
+ process.on("SIGTERM", handleSignal);
28
+ process.on("SIGINT", handleSignal);
29
+ }
30
+
31
+ /**
32
+ * Create guard to prevent duplicate calls to Worker function
33
+ *
34
+ * @param label - Function name to use in error message
35
+ * @returns Guard function that throws error if called twice
36
+ */
37
+ export function createOnceGuard(label: string): () => void {
38
+ let called = false;
39
+ return () => {
40
+ if (called) {
41
+ throw new Error(`${label} can only be called once per Worker`);
42
+ }
43
+ called = true;
44
+ };
45
+ }
@@ -2,7 +2,7 @@ import path from "path";
2
2
  import fs from "fs";
3
3
  import { build as viteBuild, createServer, type ViteDevServer } from "vite";
4
4
  import { createWorker } from "@simplysm/core-node";
5
- import { errorMessage } from "@simplysm/core-common";
5
+ import { err as errNs } from "@simplysm/core-common";
6
6
  import { consola } from "consola";
7
7
  import type { SdClientPackageConfig } from "../sd-config.types";
8
8
  import { parseRootTsconfig, getCompilerOptionsForPackage } from "../utils/tsconfig";
@@ -143,7 +143,7 @@ async function build(info: ClientBuildInfo): Promise<ClientBuildResult> {
143
143
  } catch (err) {
144
144
  return {
145
145
  success: false,
146
- errors: [errorMessage(err)],
146
+ errors: [errNs.message(err)],
147
147
  };
148
148
  }
149
149
  }
@@ -211,7 +211,7 @@ async function startWatch(info: ClientWatchInfo): Promise<void> {
211
211
  sender.send("serverReady", { port: actualPort });
212
212
  } catch (err) {
213
213
  sender.send("error", {
214
- message: errorMessage(err),
214
+ message: errNs.message(err),
215
215
  });
216
216
  }
217
217
  }