@simplysm/sd-cli 13.0.93 → 13.0.96

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 (67) hide show
  1. package/README.md +67 -44
  2. package/dist/capacitor/capacitor.d.ts +15 -1
  3. package/dist/capacitor/capacitor.d.ts.map +1 -1
  4. package/dist/capacitor/capacitor.js +52 -31
  5. package/dist/capacitor/capacitor.js.map +1 -1
  6. package/dist/electron/electron.d.ts +6 -2
  7. package/dist/electron/electron.d.ts.map +1 -1
  8. package/dist/electron/electron.js +12 -6
  9. package/dist/electron/electron.js.map +1 -1
  10. package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -1
  11. package/dist/orchestrators/DevOrchestrator.js +22 -4
  12. package/dist/orchestrators/DevOrchestrator.js.map +1 -1
  13. package/dist/sd-cli-entry.d.ts.map +1 -1
  14. package/dist/sd-cli-entry.js +4 -1
  15. package/dist/sd-cli-entry.js.map +1 -1
  16. package/dist/utils/esbuild-config.d.ts +2 -0
  17. package/dist/utils/esbuild-config.d.ts.map +1 -1
  18. package/dist/utils/esbuild-config.js +86 -6
  19. package/dist/utils/esbuild-config.js.map +1 -1
  20. package/dist/utils/package-utils.d.ts.map +1 -1
  21. package/dist/utils/package-utils.js +7 -0
  22. package/dist/utils/package-utils.js.map +1 -1
  23. package/dist/utils/replace-deps.d.ts.map +1 -1
  24. package/dist/utils/replace-deps.js +17 -0
  25. package/dist/utils/replace-deps.js.map +1 -1
  26. package/dist/utils/worker-utils.d.ts +9 -1
  27. package/dist/utils/worker-utils.d.ts.map +1 -1
  28. package/dist/utils/worker-utils.js +7 -0
  29. package/dist/utils/worker-utils.js.map +1 -1
  30. package/dist/workers/client.worker.d.ts.map +1 -1
  31. package/dist/workers/client.worker.js +2 -1
  32. package/dist/workers/client.worker.js.map +1 -1
  33. package/dist/workers/dts.worker.d.ts.map +1 -1
  34. package/dist/workers/dts.worker.js +2 -1
  35. package/dist/workers/dts.worker.js.map +1 -1
  36. package/dist/workers/library.worker.d.ts.map +1 -1
  37. package/dist/workers/library.worker.js +2 -1
  38. package/dist/workers/library.worker.js.map +1 -1
  39. package/dist/workers/server-runtime.worker.d.ts +1 -0
  40. package/dist/workers/server-runtime.worker.d.ts.map +1 -1
  41. package/dist/workers/server-runtime.worker.js +36 -2
  42. package/dist/workers/server-runtime.worker.js.map +1 -1
  43. package/dist/workers/server.worker.d.ts.map +1 -1
  44. package/dist/workers/server.worker.js +144 -4
  45. package/dist/workers/server.worker.js.map +1 -1
  46. package/docs/architecture.md +14 -14
  47. package/docs/config-types.md +12 -2
  48. package/package.json +4 -4
  49. package/src/capacitor/capacitor.ts +59 -31
  50. package/src/electron/electron.ts +13 -6
  51. package/src/orchestrators/DevOrchestrator.ts +20 -1
  52. package/src/sd-cli-entry.ts +4 -1
  53. package/src/utils/esbuild-config.ts +86 -6
  54. package/src/utils/package-utils.ts +8 -0
  55. package/src/utils/replace-deps.ts +20 -0
  56. package/src/utils/worker-utils.ts +14 -1
  57. package/src/workers/client.worker.ts +3 -1
  58. package/src/workers/dts.worker.ts +3 -1
  59. package/src/workers/library.worker.ts +3 -1
  60. package/src/workers/server-runtime.worker.ts +42 -2
  61. package/src/workers/server.worker.ts +165 -3
  62. package/templates/init/package.json.hbs +3 -3
  63. package/templates/init/packages/client-admin/package.json.hbs +7 -7
  64. package/templates/init/packages/db-main/package.json.hbs +2 -2
  65. package/templates/init/packages/server/package.json.hbs +5 -5
  66. package/templates/init/tests-e2e/package.json.hbs +1 -1
  67. package/tests/capacitor.spec.ts +49 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/workers/library.worker.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -4,6 +4,7 @@
4
4
  export interface ServerRuntimeStartInfo {
5
5
  mainJsPath: string;
6
6
  clientPorts: Record<string, number>;
7
+ env?: Record<string, string>;
7
8
  }
8
9
  /**
9
10
  * Server ready event
@@ -1 +1 @@
1
- {"version":3,"file":"server-runtime.worker.d.ts","sourceRoot":"","sources":["..\\..\\src\\workers\\server-runtime.worker.ts"],"names":[],"mappings":"AAUA;;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;AAmED;;;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"}
1
+ {"version":3,"file":"server-runtime.worker.d.ts","sourceRoot":"","sources":["..\\..\\src\\workers\\server-runtime.worker.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;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;AAqED;;;GAGG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EhE;AAED,QAAA,MAAM,MAAM;;;eAAyB,OAAO,KAAK;;;CAE/C,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -4,7 +4,8 @@ import { err as errNs } from "@simplysm/core-common";
4
4
  import { consola } from "consola";
5
5
  import net from "net";
6
6
  import { pathToFileURL } from "url";
7
- import { registerCleanupHandlers } from "../utils/worker-utils.js";
7
+ import { registerCleanupHandlers, applyDebugLevel } from "../utils/worker-utils.js";
8
+ applyDebugLevel();
8
9
  const logger = consola.withTag("sd:cli:server-runtime:worker");
9
10
  let serverInstance;
10
11
  async function cleanup() {
@@ -50,19 +51,41 @@ async function findAvailablePort(startPort, maxRetries = 20) {
50
51
  }
51
52
  async function start(info) {
52
53
  try {
54
+ const startTime = performance.now();
55
+ if (info.env != null) {
56
+ for (const [key, value] of Object.entries(info.env)) {
57
+ process.env[key] = value;
58
+ }
59
+ }
60
+ logger.debug("[start] Importing main.js...");
61
+ let stepStart = performance.now();
53
62
  const module = await import(pathToFileURL(info.mainJsPath).href);
63
+ logger.debug(`[start] main.js imported (${Math.round(performance.now() - stepStart)}ms)`);
54
64
  const server = module.server;
55
65
  if (server == null) {
56
66
  throw new Error("main.js must export a server instance.");
57
67
  }
58
68
  serverInstance = server;
69
+ logger.debug("[start] Finding available port...");
70
+ stepStart = performance.now();
59
71
  const originalPort = server.options.port;
60
72
  const availablePort = await findAvailablePort(originalPort);
61
73
  if (availablePort !== originalPort) {
62
74
  logger.info(`Port ${originalPort} in use, changing to ${availablePort}`);
63
75
  server.options.port = availablePort;
64
76
  }
65
- for (const [name, port] of Object.entries(info.clientPorts)) {
77
+ logger.debug(
78
+ `[start] Port ${String(availablePort)} available (${Math.round(performance.now() - stepStart)}ms)`
79
+ );
80
+ const clientEntries = Object.entries(info.clientPorts);
81
+ if (clientEntries.length > 0) {
82
+ logger.debug(
83
+ `[start] Configuring ${String(clientEntries.length)} Vite proxy(s)...`
84
+ );
85
+ stepStart = performance.now();
86
+ }
87
+ for (const [name, port] of clientEntries) {
88
+ logger.debug(`[start] Registering proxy: /${name} -> http://127.0.0.1:${String(port)}`);
66
89
  await server.fastify.register(proxy, {
67
90
  prefix: `/${name}`,
68
91
  upstream: `http://127.0.0.1:${port}`,
@@ -70,7 +93,18 @@ async function start(info) {
70
93
  websocket: true
71
94
  });
72
95
  }
96
+ if (clientEntries.length > 0) {
97
+ logger.debug(
98
+ `[start] Proxies configured (${Math.round(performance.now() - stepStart)}ms)`
99
+ );
100
+ }
101
+ logger.debug("[start] Starting server listen...");
102
+ stepStart = performance.now();
73
103
  await server.listen();
104
+ logger.debug(`[start] Server listening (${Math.round(performance.now() - stepStart)}ms)`);
105
+ logger.debug(
106
+ `[start] Total runtime startup: ${Math.round(performance.now() - startTime)}ms`
107
+ );
74
108
  sender.send("serverReady", { port: server.options.port });
75
109
  } catch (err) {
76
110
  logger.error("Server Runtime startup failed", err);
@@ -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,OAAO,aAAa;AAC7B,SAAS,eAAe;AACxB,OAAO,SAAS;AAChB,SAAS,qBAAqB;AAC9B,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,kCAAkC,GAAG;AAClD,SAAO,KAAK,SAAS;AAAA,IACnB,SAAS,MAAM,QAAQ,GAAG;AAAA,EAC5B,CAAC;AACH,CAAC;AAED,QAAQ,GAAG,sBAAsB,CAAC,WAAW;AAC3C,SAAO,MAAM,8CAA8C,MAAM;AACjE,SAAO,KAAK,SAAS;AAAA,IACnB,SAAS,MAAM,QAAQ,MAAM;AAAA,EAC/B,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;AAAA,IACR,mCAAmC,SAAS,QAAQ,YAAY,aAAa,CAAC;AAAA,EAChF;AACF;AAMA,eAAe,MAAM,MAA6C;AAChE,MAAI;AAEF,UAAM,SAAS,MAAM,OAAO,cAAc,KAAK,UAAU,EAAE;AAC3D,UAAM,SAAS,OAAO;AAEtB,QAAI,UAAU,MAAM;AAClB,YAAM,IAAI,MAAM,wCAAwC;AAAA,IAC1D;AAGA,qBAAiB;AAGjB,UAAM,eAAe,OAAO,QAAQ;AACpC,UAAM,gBAAgB,MAAM,kBAAkB,YAAY;AAC1D,QAAI,kBAAkB,cAAc;AAClC,aAAO,KAAK,QAAQ,YAAY,wBAAwB,aAAa,EAAE;AACvE,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,iCAAiC,GAAG;AACjD,WAAO,KAAK,SAAS;AAAA,MACnB,SAAS,MAAM,QAAQ,GAAG;AAAA,IAC5B,CAAC;AAAA,EACH;AACF;AAEA,MAAM,SAAS,aAAiE;AAAA,EAC9E;AACF,CAAC;AAED,IAAO,gCAAQ;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.worker.d.ts","sourceRoot":"","sources":["..\\..\\src\\workers\\server.worker.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uEAAuE;IACvE,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;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,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,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;AA4MD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsDtE;AA4FD;;;;GAIG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA+F9D;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"}
1
+ {"version":3,"file":"server.worker.d.ts","sourceRoot":"","sources":["..\\..\\src\\workers\\server.worker.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uEAAuE;IACvE,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;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,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,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;AA0ND;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsFtE;AAiLD;;;;GAIG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8H9D;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"}
@@ -16,9 +16,10 @@ import {
16
16
  collectNativeModuleExternals,
17
17
  writeChangedOutputFiles
18
18
  } from "../utils/esbuild-config.js";
19
- import { registerCleanupHandlers, createOnceGuard } from "../utils/worker-utils.js";
19
+ import { registerCleanupHandlers, createOnceGuard, applyDebugLevel } from "../utils/worker-utils.js";
20
20
  import { collectDeps } from "../utils/package-utils.js";
21
21
  import { copyPublicFiles, watchPublicFiles } from "../utils/copy-public.js";
22
+ applyDebugLevel();
22
23
  const logger = consola.withTag("sd:cli:server:worker");
23
24
  let esbuildContext;
24
25
  let lastMetafile;
@@ -43,8 +44,18 @@ async function cleanup() {
43
44
  }
44
45
  }
45
46
  function collectAllExternals(pkgDir, manualExternals) {
47
+ logger.debug("[externals] Scanning optional peer deps...");
48
+ let stepStart = performance.now();
46
49
  const optionalPeerDeps = collectUninstalledOptionalPeerDeps(pkgDir);
50
+ logger.debug(
51
+ `[externals] Optional peer deps done: ${String(optionalPeerDeps.length)} found (${Math.round(performance.now() - stepStart)}ms)`
52
+ );
53
+ logger.debug("[externals] Scanning native modules...");
54
+ stepStart = performance.now();
47
55
  const nativeModules = collectNativeModuleExternals(pkgDir);
56
+ logger.debug(
57
+ `[externals] Native modules done: ${String(nativeModules.length)} found (${Math.round(performance.now() - stepStart)}ms)`
58
+ );
48
59
  const manual = manualExternals ?? [];
49
60
  const merged = [.../* @__PURE__ */ new Set([...optionalPeerDeps, ...nativeModules, ...manual])];
50
61
  if (optionalPeerDeps.length > 0) {
@@ -159,14 +170,32 @@ registerCleanupHandlers(cleanup, logger);
159
170
  async function build(info) {
160
171
  const mainJsPath = path.join(info.pkgDir, "dist", "main.js");
161
172
  try {
173
+ logger.debug("[build] Parsing tsconfig...");
174
+ let stepStart = performance.now();
162
175
  const parsedConfig = parseRootTsconfig(info.cwd);
176
+ logger.debug(`[build] tsconfig parsed (${Math.round(performance.now() - stepStart)}ms)`);
177
+ stepStart = performance.now();
163
178
  const entryPoints = getPackageSourceFiles(info.pkgDir, parsedConfig);
179
+ logger.debug(
180
+ `[build] Found ${String(entryPoints.length)} source files (${Math.round(performance.now() - stepStart)}ms)`
181
+ );
182
+ logger.debug("[build] Getting compiler options...");
183
+ stepStart = performance.now();
164
184
  const compilerOptions = await getCompilerOptionsForPackage(
165
185
  parsedConfig.options,
166
186
  "node",
167
187
  info.pkgDir
168
188
  );
189
+ logger.debug(
190
+ `[build] Compiler options ready (${Math.round(performance.now() - stepStart)}ms)`
191
+ );
192
+ logger.debug("[build] Collecting externals...");
193
+ stepStart = performance.now();
169
194
  const external = collectAllExternals(info.pkgDir, info.externals);
195
+ logger.debug(
196
+ `[build] Collected ${String(external.length)} externals (${Math.round(performance.now() - stepStart)}ms)`
197
+ );
198
+ logger.debug("[build] Creating esbuild options...");
170
199
  const esbuildOptions = createServerEsbuildOptions({
171
200
  pkgDir: info.pkgDir,
172
201
  entryPoints,
@@ -174,11 +203,24 @@ async function build(info) {
174
203
  env: info.env,
175
204
  external
176
205
  });
206
+ logger.debug("[build] Running esbuild...");
207
+ stepStart = performance.now();
177
208
  const result = await esbuild.build(esbuildOptions);
209
+ logger.debug(`[build] esbuild done (${Math.round(performance.now() - stepStart)}ms)`);
178
210
  const confDistPath = path.join(info.pkgDir, "dist", ".config.json");
179
211
  fs.writeFileSync(confDistPath, JSON.stringify(info.configs ?? {}, void 0, 2));
212
+ logger.debug("[build] Copying public files...");
213
+ stepStart = performance.now();
180
214
  await copyPublicFiles(info.pkgDir, false);
215
+ logger.debug(
216
+ `[build] Public files copied (${Math.round(performance.now() - stepStart)}ms)`
217
+ );
218
+ logger.debug("[build] Generating production files...");
219
+ stepStart = performance.now();
181
220
  generateProductionFiles(info, external);
221
+ logger.debug(
222
+ `[build] Production files generated (${Math.round(performance.now() - stepStart)}ms)`
223
+ );
182
224
  const errors = result.errors.map((e) => e.text);
183
225
  const warnings = result.warnings.map((w) => w.text);
184
226
  return {
@@ -197,23 +239,45 @@ async function build(info) {
197
239
  }
198
240
  const guardStartWatch = createOnceGuard("startWatch");
199
241
  async function createAndBuildContext(info, isFirstBuild, resolveFirstBuild) {
242
+ const contextStart = performance.now();
243
+ logger.debug("[context] Parsing tsconfig...");
244
+ let stepStart = performance.now();
200
245
  const parsedConfig = parseRootTsconfig(info.cwd);
246
+ logger.debug(`[context] tsconfig parsed (${Math.round(performance.now() - stepStart)}ms)`);
247
+ stepStart = performance.now();
201
248
  const entryPoints = getPackageSourceFiles(info.pkgDir, parsedConfig);
249
+ logger.debug(
250
+ `[context] Found ${String(entryPoints.length)} source files (${Math.round(performance.now() - stepStart)}ms)`
251
+ );
252
+ logger.debug("[context] Getting compiler options...");
253
+ stepStart = performance.now();
202
254
  const compilerOptions = await getCompilerOptionsForPackage(
203
255
  parsedConfig.options,
204
256
  "node",
205
257
  info.pkgDir
206
258
  );
259
+ logger.debug(
260
+ `[context] Compiler options ready (${Math.round(performance.now() - stepStart)}ms)`
261
+ );
207
262
  const mainJsPath = path.join(info.pkgDir, "dist", "main.js");
263
+ logger.debug("[context] Collecting externals...");
264
+ stepStart = performance.now();
208
265
  const external = collectAllExternals(info.pkgDir, info.externals);
266
+ logger.debug(
267
+ `[context] Collected ${String(external.length)} externals (${Math.round(performance.now() - stepStart)}ms)`
268
+ );
269
+ logger.debug("[context] Creating esbuild options (dev mode, minify disabled)...");
209
270
  const baseOptions = createServerEsbuildOptions({
210
271
  pkgDir: info.pkgDir,
211
272
  entryPoints,
212
273
  compilerOptions,
213
274
  env: info.env,
214
- external
275
+ external,
276
+ dev: true
215
277
  });
216
278
  let isBuildFirstTime = isFirstBuild;
279
+ logger.debug("[context] Creating esbuild context...");
280
+ stepStart = performance.now();
217
281
  const context = await esbuild.context({
218
282
  ...baseOptions,
219
283
  metafile: true,
@@ -222,19 +286,44 @@ async function createAndBuildContext(info, isFirstBuild, resolveFirstBuild) {
222
286
  {
223
287
  name: "watch-notify",
224
288
  setup(pluginBuild) {
289
+ let consecutiveStarts = 0;
225
290
  pluginBuild.onStart(() => {
226
- sender.send("buildStart", {});
291
+ consecutiveStarts++;
292
+ logger.debug(`[esbuild] onStart (#${String(consecutiveStarts)})`);
293
+ if (consecutiveStarts > 3) {
294
+ void context.dispose().catch(() => {
295
+ });
296
+ void esbuild.build(baseOptions).catch((err) => {
297
+ sender.send("build", {
298
+ success: false,
299
+ mainJsPath,
300
+ errors: [errNs.message(err)]
301
+ });
302
+ }).finally(() => {
303
+ resolveFirstBuild?.();
304
+ });
305
+ } else {
306
+ sender.send("buildStart", {});
307
+ }
227
308
  });
228
309
  pluginBuild.onEnd(async (result) => {
310
+ consecutiveStarts = 0;
229
311
  if (result.metafile != null) {
230
312
  lastMetafile = result.metafile;
313
+ logger.debug(
314
+ `[esbuild] Metafile: ${String(Object.keys(result.metafile.inputs).length)} inputs, ${String(Object.keys(result.metafile.outputs).length)} outputs`
315
+ );
231
316
  }
232
317
  const errors = result.errors.map((e) => e.text);
233
318
  const warnings = result.warnings.map((w) => w.text);
234
319
  const success = result.errors.length === 0;
235
320
  let hasOutputChange = false;
236
321
  if (success && result.outputFiles != null) {
322
+ const writeStart = performance.now();
237
323
  hasOutputChange = await writeChangedOutputFiles(result.outputFiles);
324
+ logger.debug(
325
+ `[esbuild] Output files written: changed=${String(hasOutputChange)}, count=${String(result.outputFiles.length)} (${Math.round(performance.now() - writeStart)}ms)`
326
+ );
238
327
  }
239
328
  if (isBuildFirstTime && success) {
240
329
  const confDistPath = path.join(info.pkgDir, "dist", ".config.json");
@@ -259,20 +348,63 @@ async function createAndBuildContext(info, isFirstBuild, resolveFirstBuild) {
259
348
  }
260
349
  ]
261
350
  });
262
- await context.rebuild();
351
+ logger.debug(
352
+ `[context] esbuild context created (${Math.round(performance.now() - stepStart)}ms)`
353
+ );
354
+ logger.debug("[context] Running initial rebuild...");
355
+ stepStart = performance.now();
356
+ const progressTimer = setInterval(() => {
357
+ logger.debug(
358
+ `[esbuild] Still building... (${Math.round((performance.now() - stepStart) / 1e3)}s elapsed)`
359
+ );
360
+ }, 5e3);
361
+ try {
362
+ await context.rebuild();
363
+ } catch {
364
+ } finally {
365
+ clearInterval(progressTimer);
366
+ }
367
+ logger.debug(
368
+ `[context] Initial rebuild done (${Math.round(performance.now() - stepStart)}ms)`
369
+ );
370
+ logger.debug(
371
+ `[context] Total context setup: ${Math.round(performance.now() - contextStart)}ms`
372
+ );
263
373
  return context;
264
374
  }
265
375
  async function startWatch(info) {
266
376
  guardStartWatch();
267
377
  try {
378
+ const watchStart = performance.now();
379
+ logger.debug("[startWatch] Starting watch setup...");
268
380
  let resolveFirstBuild;
269
381
  const firstBuildPromise = new Promise((resolve) => {
270
382
  resolveFirstBuild = resolve;
271
383
  });
384
+ logger.debug("[startWatch] Creating initial esbuild context...");
385
+ let stepStart = performance.now();
272
386
  esbuildContext = await createAndBuildContext(info, true, resolveFirstBuild);
387
+ logger.debug(
388
+ `[startWatch] Initial context created (${Math.round(performance.now() - stepStart)}ms)`
389
+ );
390
+ logger.debug("[startWatch] Waiting for first build completion...");
391
+ stepStart = performance.now();
273
392
  await firstBuildPromise;
393
+ logger.debug(
394
+ `[startWatch] First build completed (${Math.round(performance.now() - stepStart)}ms)`
395
+ );
396
+ logger.debug("[startWatch] Setting up public file watcher...");
397
+ stepStart = performance.now();
274
398
  publicWatcher = await watchPublicFiles(info.pkgDir, true);
399
+ logger.debug(
400
+ `[startWatch] Public watcher ready (${Math.round(performance.now() - stepStart)}ms)`
401
+ );
402
+ logger.debug("[startWatch] Collecting dependencies for watch paths...");
403
+ stepStart = performance.now();
275
404
  const { workspaceDeps, replaceDeps } = collectDeps(info.pkgDir, info.cwd, info.replaceDeps);
405
+ logger.debug(
406
+ `[startWatch] Deps collected: workspace=${String(workspaceDeps.length)}, replace=${String(replaceDeps.length)} (${Math.round(performance.now() - stepStart)}ms)`
407
+ );
276
408
  const watchPaths = [];
277
409
  const watchDirs = [
278
410
  info.pkgDir,
@@ -288,7 +420,15 @@ async function startWatch(info) {
288
420
  path.join(info.pkgDir, "node_modules", ...pkg.split("/"), "dist", "**", "*.js")
289
421
  );
290
422
  }
423
+ logger.debug(`[startWatch] Starting FsWatcher with ${String(watchPaths.length)} paths...`);
424
+ stepStart = performance.now();
291
425
  srcWatcher = await FsWatcher.watch(watchPaths);
426
+ logger.debug(
427
+ `[startWatch] FsWatcher ready (${Math.round(performance.now() - stepStart)}ms)`
428
+ );
429
+ logger.debug(
430
+ `[startWatch] Total watch setup: ${Math.round(performance.now() - watchStart)}ms`
431
+ );
292
432
  srcWatcher.onChange({ delay: 300 }, async (changes) => {
293
433
  try {
294
434
  const hasFileAddOrRemove = changes.some((c) => c.event === "add" || c.event === "unlink");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/workers/server.worker.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -8,7 +8,7 @@ sd-cli의 내부 아키텍처 상세 문서.
8
8
 
9
9
  ```
10
10
  sd-cli.ts (런처)
11
- ├─ 개발 모드 (.ts): CPU 어피니티 설정 sd-cli-entry.ts 직접 import
11
+ ├─ 개발 모드 (.ts): CPU 어피니티 설정 -> sd-cli-entry.ts 직접 import
12
12
  └─ 프로덕션 모드 (.js):
13
13
  1. replaceDeps 실행 (모듈 캐시 전 심링크 설정)
14
14
  2. 새 프로세스에서 sd-cli-entry.ts 실행 (모듈 캐시 리셋)
@@ -42,8 +42,8 @@ export function createCliParser(argv: string[]): Argv
42
42
  **라이브러리 빌드** (`createLibraryEsbuildOptions`):
43
43
  - `bundle: false` (개별 파일 트랜스파일)
44
44
  - `format: "esm"`, `sourcemap: true`
45
- - `platform`: node `"node"`, browser/neutral `"browser"`
46
- - `target`: node `"node20"`, browser/neutral `"chrome84"`
45
+ - `platform`: node -> `"node"`, browser/neutral -> `"browser"`
46
+ - `target`: node -> `"node20"`, browser/neutral -> `"chrome84"`
47
47
  - solid-js 의존성 감지 시 `esbuild-plugin-solid` 자동 적용
48
48
  - 출력 후 ESM import 경로에 `.js` 확장자 자동 추가
49
49
 
@@ -81,13 +81,13 @@ initialize()
81
81
  ├─ 패키지 분류 (build/client/server)
82
82
  └─ 환경 변수 준비 (VER, DEV)
83
83
 
84
- start() boolean (에러 여부)
84
+ start() -> boolean (에러 여부)
85
85
  ├─ Phase 1: Clean (dist 폴더 삭제)
86
86
  └─ Phase 2: Lint + Build (병렬)
87
87
  ├─ Lint Worker
88
- ├─ buildPackages Library Worker + DTS Worker (병렬)
89
- ├─ clientPackages Client Worker + DTS Worker (병렬) + Capacitor/Electron
90
- └─ serverPackages Server Worker
88
+ ├─ buildPackages -> Library Worker + DTS Worker (병렬)
89
+ ├─ clientPackages -> Client Worker + DTS Worker (병렬) + Capacitor/Electron
90
+ └─ serverPackages -> Server Worker
91
91
 
92
92
  shutdown()
93
93
  ```
@@ -108,12 +108,12 @@ start()
108
108
  │ ├─ standalone (server가 number이거나 서버가 dev 대상 아님)
109
109
  │ └─ server-connected (server가 string이고 서버가 dev 대상)
110
110
  ├─ 서버 Build Worker 시작
111
- │ └─ build 이벤트 Server Runtime Worker 시작
112
- │ └─ Vite 클라이언트 ready 대기 프록시 포트 전달
111
+ │ └─ build 이벤트 -> Server Runtime Worker 시작
112
+ │ └─ Vite 클라이언트 ready 대기 -> 프록시 포트 전달
113
113
  └─ Capacitor 초기화
114
114
 
115
- awaitTermination() SIGINT/SIGTERM 대기
116
- shutdown() 모든 Worker 종료
115
+ awaitTermination() -> SIGINT/SIGTERM 대기
116
+ shutdown() -> 모든 Worker 종료
117
117
  ```
118
118
 
119
119
  서버-클라이언트 프록시 연결:
@@ -140,8 +140,8 @@ start()
140
140
  ├─ DtsBuilder.startWatch()
141
141
  └─ 초기 빌드 완료 대기
142
142
 
143
- awaitTermination() SIGINT/SIGTERM 대기
144
- shutdown() 빌더 종료 + watcher 정리
143
+ awaitTermination() -> SIGINT/SIGTERM 대기
144
+ shutdown() -> 빌더 종료 + watcher 정리
145
145
  ```
146
146
 
147
147
  ## 빌더
@@ -179,7 +179,7 @@ esbuild 기반 JS 컴파일. Worker 키: `{패키지명}:build`.
179
179
 
180
180
  TypeScript .d.ts 파일 생성. Worker 키: `{패키지명}:dts`.
181
181
 
182
- - 환경 결정: node `"node"`, browser/neutral/client `"browser"`
182
+ - 환경 결정: node -> `"node"`, browser/neutral/client -> `"browser"`
183
183
 
184
184
  ## Worker 스레드
185
185
 
@@ -26,7 +26,7 @@ interface SdConfig {
26
26
  replaceDeps: {
27
27
  "@simplysm/*": "../simplysm/packages/*"
28
28
  }
29
- // @simplysm/core-common ../simplysm/packages/core-common 으로 심링크
29
+ // @simplysm/core-common -> ../simplysm/packages/core-common 으로 심링크
30
30
  ```
31
31
 
32
32
  ## SdConfigFn / SdConfigParams
@@ -43,6 +43,16 @@ interface SdConfigParams {
43
43
 
44
44
  ## 패키지 설정 타입
45
45
 
46
+ ### SdPackageConfig (유니온)
47
+
48
+ ```typescript
49
+ type SdPackageConfig =
50
+ | SdBuildPackageConfig
51
+ | SdClientPackageConfig
52
+ | SdServerPackageConfig
53
+ | SdScriptsPackageConfig;
54
+ ```
55
+
46
56
  ### SdBuildPackageConfig
47
57
 
48
58
  라이브러리 패키지 (node/browser/neutral) 설정.
@@ -112,7 +122,7 @@ interface SdServerPackageConfig {
112
122
  | `env` | `Record<string, string>` | `process.env.KEY` 치환 값 |
113
123
  | `publish` | `SdPublishConfig` | 배포 설정 |
114
124
  | `configs` | `Record<string, unknown>` | 런타임 설정 (`dist/.config.json`에 기록) |
115
- | `externals` | `string[]` | esbuild 번들에서 제외할 외부 모듈 |
125
+ | `externals` | `string[]` | esbuild 번들에서 제외할 외부 모듈 (binding.gyp 자동 감지 외 추가분) |
116
126
  | `pm2` | `object` | PM2 설정 (`dist/pm2.config.cjs` 생성) |
117
127
  | `packageManager` | `"volta" \| "mise"` | 패키지 매니저 설정 파일 생성 |
118
128
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-cli",
3
- "version": "13.0.93",
3
+ "version": "13.0.96",
4
4
  "description": "Simplysm package - CLI tool",
5
5
  "author": "simplysm",
6
6
  "license": "Apache-2.0",
@@ -43,9 +43,9 @@
43
43
  "vite-plugin-solid": "^2.11.11",
44
44
  "vite-tsconfig-paths": "^6.1.1",
45
45
  "yargs": "^18.0.0",
46
- "@simplysm/core-common": "13.0.93",
47
- "@simplysm/core-node": "13.0.93",
48
- "@simplysm/storage": "13.0.93"
46
+ "@simplysm/core-node": "13.0.96",
47
+ "@simplysm/core-common": "13.0.96",
48
+ "@simplysm/storage": "13.0.96"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/semver": "^7.7.1",