@simplysm/sd-cli 11.1.26 → 11.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/commons.d.ts CHANGED
@@ -72,7 +72,9 @@ export interface ISdCliServerPackageConfig {
72
72
  }
73
73
  export interface ISdCliClientPackageConfig {
74
74
  type: "client";
75
- server?: string;
75
+ server?: string | {
76
+ port: number;
77
+ };
76
78
  publish?: ISdCliLocalDirectoryPublishConfig | ISdCliFtpPublishConfig;
77
79
  env?: Record<string, string>;
78
80
  configs?: Record<string, any>;
@@ -4,7 +4,7 @@ import cp from "child_process";
4
4
  import { fileURLToPath, pathToFileURL } from "url";
5
5
  import { SdCliBuildResultUtil } from "../utils/SdCliBuildResultUtil";
6
6
  import semver from "semver";
7
- import { NeverEntryError, StringUtil, Wait } from "@simplysm/sd-core-common";
7
+ import { JsonConvert, NeverEntryError, StringUtil, Wait } from "@simplysm/sd-core-common";
8
8
  import { SdStorage } from "@simplysm/sd-storage";
9
9
  import { SdCliLocalUpdate } from "./SdCliLocalUpdate";
10
10
  import xml2js from "xml2js";
@@ -61,23 +61,30 @@ export class SdCliProject {
61
61
  if (pkgConf.type === "server") {
62
62
  const pkgName = path.basename(message.req.pkgPath);
63
63
  const serverInfo = serverInfoMap.getOrCreate(pkgName, {
64
- hasChanges: false,
64
+ hasChanges: true,
65
65
  hasClientChanges: false,
66
66
  pathProxy: {},
67
67
  // changeFilePaths: []
68
68
  });
69
- serverInfo.pkgPath = message.req.pkgPath;
69
+ const serverPkgConf = projConf.packages[pkgName];
70
+ serverInfo.pkgOrOpt = {
71
+ path: message.req.pkgPath,
72
+ conf: serverPkgConf
73
+ };
70
74
  serverInfo.hasChanges = true;
71
75
  }
72
76
  if (pkgConf.type === "client") {
73
77
  const pkgName = path.basename(message.req.pkgPath);
74
78
  if (pkgConf.server !== undefined) {
75
- const serverInfo = serverInfoMap.getOrCreate(pkgConf.server, {
76
- hasChanges: false,
79
+ const serverInfo = serverInfoMap.getOrCreate(typeof pkgConf.server === "string" ? pkgConf.server : pkgConf.server.port.toString(), {
80
+ hasChanges: true,
77
81
  hasClientChanges: false,
78
82
  pathProxy: {},
79
83
  // changeFilePaths: []
80
84
  });
85
+ if (typeof pkgConf.server !== "string") {
86
+ serverInfo.pkgOrOpt = pkgConf.server;
87
+ }
81
88
  serverInfo.pathProxy[pkgName] = path.resolve(message.req.pkgPath, "dist");
82
89
  // serverInfo.changeFilePaths.push(...message.result!.affectedFilePaths);
83
90
  serverInfo.hasClientChanges = true;
@@ -85,7 +92,7 @@ export class SdCliProject {
85
92
  }
86
93
  else {
87
94
  const serverInfo = serverInfoMap.getOrCreate(pkgName, {
88
- hasChanges: false,
95
+ hasChanges: true,
89
96
  hasClientChanges: false,
90
97
  pathProxy: {},
91
98
  // changeFilePaths: []
@@ -99,12 +106,12 @@ export class SdCliProject {
99
106
  setTimeout(async () => {
100
107
  busyCount--;
101
108
  if (busyCount === 0) {
102
- for (const serverPkgName of serverInfoMap.keys()) {
103
- const serverInfo = serverInfoMap.get(serverPkgName);
104
- if (serverInfo.pkgPath !== undefined && serverInfo.hasChanges) {
109
+ for (const serverPkgNameOrPort of serverInfoMap.keys()) {
110
+ const serverInfo = serverInfoMap.get(serverPkgNameOrPort);
111
+ if (serverInfo.pkgOrOpt && serverInfo.hasChanges) {
105
112
  logger.debug("서버 재시작...");
106
113
  try {
107
- const restartServerResult = await this._restartServerAsync(serverInfo.pkgPath, projConf.packages[path.basename(serverInfo.pkgPath)], serverInfo.worker);
114
+ const restartServerResult = await this._restartServerAsync(serverInfo.pkgOrOpt, serverInfo.worker);
108
115
  serverInfo.worker = restartServerResult.worker;
109
116
  serverInfo.port = restartServerResult.port;
110
117
  serverInfo.hasChanges = false;
@@ -436,21 +443,21 @@ export class SdCliProject {
436
443
  static _closeCluster(cluster) {
437
444
  cluster.kill("SIGKILL");
438
445
  }
439
- static async _restartServerAsync(pkgPath, pkgConf, prevServerProcess) {
446
+ static async _restartServerAsync(pkgOrOpt, prevServerProcess) {
440
447
  const logger = Logger.get(["simplysm", "sd-cli", "SdCliProject", "_restartServerAsync"]);
441
448
  if (prevServerProcess) {
442
449
  prevServerProcess.kill("SIGKILL");
443
450
  }
444
- const npmConf = (await FsUtil.readJsonAsync(path.resolve(pkgPath, "package.json")));
451
+ const npmConf = "path" in pkgOrOpt ? (await FsUtil.readJsonAsync(path.resolve(pkgOrOpt.path, "package.json"))) : undefined;
445
452
  return await new Promise(async (resolve, reject) => {
446
- const worker = cp.fork(fileURLToPath(await import.meta.resolve("../server-worker")), [pkgPath], {
453
+ const worker = cp.fork(fileURLToPath(await import.meta.resolve("../server-worker")), [JsonConvert.stringify("path" in pkgOrOpt ? pkgOrOpt.path : pkgOrOpt)], {
447
454
  stdio: ["pipe", "pipe", "pipe", "ipc"],
448
455
  env: {
449
456
  ...process.env,
450
457
  NODE_ENV: "development",
451
458
  TZ: "Asia/Seoul",
452
- SD_VERSION: npmConf.version,
453
- ...pkgConf.env
459
+ SD_VERSION: npmConf?.version ?? "serverless",
460
+ ..."path" in pkgOrOpt ? pkgOrOpt.conf.env : {}
454
461
  }
455
462
  });
456
463
  worker.stdout.pipe(process.stdout);
@@ -1 +1 @@
1
- {"version":3,"file":"SdCliProject.js","sourceRoot":"","sources":["../../src/entry/SdCliProject.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAU3E,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,KAAK,CAAC;AACjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,eAAe,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,YAAY;IAChB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAI9B;QACC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;QAEhF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAiB,CAAC;QAElJ,IAAI,QAAQ,CAAC,YAAY,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,MAAM,gBAAgB,CAAC,UAAU,CAAC;gBAChC,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC;SACJ;QAED,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAe,CAAC;QAE5G,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;QACD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5G,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5F,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxF;QAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;QACnJ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;SACvE;QAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsC,CAAC;QAClE,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,aAAa,GAAG,IAAI,GAAG,EAWzB,CAAC;QACL,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAqC,EAAE,EAAE;YAC9D,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,IAAI,SAAS,KAAK,CAAC,EAAE;oBACnB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;iBAC5B;gBACD,SAAS,EAAE,CAAC;aACb;iBACI,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;gBACpC,KAAK,MAAM,gBAAgB,IAAI,OAAO,CAAC,MAAO,CAAC,iBAAiB,EAAE;oBAChE,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;iBACtC;gBAED,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,MAAO,CAAC,YAAY,EAAE;oBACtD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC9E,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC7B;gBAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAE,CAAC;gBAEnF,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACnD,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE;wBACpD,UAAU,EAAE,KAAK;wBACjB,gBAAgB,EAAE,KAAK;wBACvB,SAAS,EAAE,EAAE;wBACb,sBAAsB;qBACvB,CAAC,CAAC;oBACH,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;iBAC9B;gBAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;wBAChC,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE;4BAC3D,UAAU,EAAE,KAAK;4BACjB,gBAAgB,EAAE,KAAK;4BACvB,SAAS,EAAE,EAAE;4BACb,sBAAsB;yBACvB,CAAC,CAAC;wBACH,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;wBAC1E,yEAAyE;wBAEzE,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBACnC,sDAAsD;qBACvD;yBACI;wBACH,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE;4BACpD,UAAU,EAAE,KAAK;4BACjB,gBAAgB,EAAE,KAAK;4BACvB,SAAS,EAAE,EAAE;4BACb,sBAAsB;yBACvB,CAAC,CAAC;wBACH,0CAA0C;wBAC1C,yEAAyE;wBAEzE,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBACnC,sDAAsD;qBACvD;iBACF;gBAED,UAAU,CAAC,KAAK,IAAI,EAAE;oBACpB,SAAS,EAAE,CAAC;oBACZ,IAAI,SAAS,KAAK,CAAC,EAAE;wBACnB,KAAK,MAAM,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE;4BAChD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;4BACrD,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE;gCAC7D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gCAC1B,IAAI;oCACF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACxD,UAAU,CAAC,OAAO,EAClB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAA8B,EACjF,UAAU,CAAC,MAAM,CAClB,CAAC;oCACF,UAAU,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;oCAC/C,UAAU,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;oCAC3C,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;iCAC/B;gCACD,OAAO,GAAG,EAAE;oCACV,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iCACnB;6BACF;4BAED,IAAI,UAAU,CAAC,MAAM,EAAE;gCACrB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gCAC5B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;oCACrB,IAAI,EAAE,cAAc;oCACpB,SAAS,EAAE,UAAU,CAAC,SAAS;iCAChC,CAAC,CAAC;gCAEH,IAAI,UAAU,CAAC,gBAAgB,EAAE;oCAC/B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oCAC9B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC,CAAC;iCACnD;6BACF;yBACF;wBAED,MAAM,WAAW,GAAa,EAAE,CAAC;wBACjC,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE;4BAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAChD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oCACzD,WAAW,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC;iCACvE;6BACF;iCACI;gCACH,WAAW,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;6BAC1D;yBACF;wBACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC1B,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;yBAC7D;wBAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;wBAChE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;qBACrC;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjC,SAAS,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE3B,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAE,CAAC;YAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAC,GAAG,EAAE,EAAE,EAAC,CAAC,CAAC;gBAC9D,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;oBACnD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC/E,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aAClE;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,EAAE,CAAC;QACZ,IAAI,SAAS,KAAK,CAAC,EAAE;YACnB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SACrC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAI9B;QACC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;QAEhF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAiB,CAAC;QAEnJ,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAe,CAAC;QAE5G,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;QACD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5G,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5F,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxF;QAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAE1D,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,CACd,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAE,CAAC;YAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAC,GAAG,EAAE,EAAE,EAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;oBAC3D,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACf;iBACI;gBACH,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aACzE;QACH,CAAC,CAAC,CACH,CAAC,OAAO,EAAE,CAAC;QAEZ,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAKhC;QACC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;QAElF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAiB,CAAC;QAEnJ,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAe,CAAC;QAE5G,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,oBAAoB,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;SACpE;QAED,oCAAoC;QACpC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;YACtD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC/B,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAChF,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,eAAe,CAAC,CAAC;aAC1D;SACF;QAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;QACD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5G,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5F,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxF;QAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAE1D,KAAK;QACL,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAElD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,CACd,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAE,CAAC;gBAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAC,GAAG,EAAE,EAAE,EAAC,CAAC,CAAC;oBAC9D,OAAO,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;wBAC3D,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;oBACtF,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBACf;qBACI;oBACH,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;iBACzE;YACH,CAAC,CAAC,CACH,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAChC;QAED,+BAA+B;QAC/B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;YACtD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACpC,MAAM,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,SAAS,CAAC,UAAU,CAAC,mBAAmB,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;YACtE,MAAM,SAAS,CAAC,UAAU,CAAC,gBAAgB,WAAW,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;YAEhG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;SAC/C;QAED,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,OAAO,IAAI,IAAI;gBAAE,OAAO;YAErC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,YAAY,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3D,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,UAA0C;QAC/F,IAAI,UAAU,KAAK,KAAK,EAAE;YACxB,MAAM,SAAS,CAAC,UAAU,CAAC,kCAAkC,EAAE,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC;SAChF;aACI,IAAI,UAAU,EAAE,IAAI,KAAK,iBAAiB,EAAE;YAC/C,MAAM,UAAU,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAe,CAAC;YAErG,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,YAAY,EAAE;oBAC7E,OAAO,UAAU,CAAC,OAAO,CAAC;iBAC3B;gBACD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;gBACjF,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAChF,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBACpE,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,UAAU,EAAE,IAAI,KAAK,KAAK,IAAI,UAAU,EAAE,IAAI,KAAK,MAAM,IAAI,UAAU,EAAE,IAAI,KAAK,MAAM,EAAE;YACjG,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE;gBACxD,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YAChF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;SACxB;aACI;YACH,MAAM,IAAI,eAAe,EAAE,CAAC;SAC7B;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAW,EAAE,GAAW;QAChE,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,KAAK,GAAG,EAAE;gBACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC5B;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;QAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,WAAuB,EAAE,WAAqB;QACtF,0BAA0B;QAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAE,CAAC;QAC7D,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC;QAEjC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YACrF,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,CAAC,IAAwC,EAAQ,EAAE;YAC1E,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;iBAC5B;aACF;QACH,CAAC,CAAC;QACF,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC3C,gBAAgB,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QACnD,gBAAgB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC9C,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACxE,MAAM,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,WAAW,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;QAE1E,2BAA2B;QAC3B,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAClE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;YAEhC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1C,gBAAgB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAClD,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC7C,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAE9C,MAAM,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,UAAU,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;YAExE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE;gBACtD,MAAM,yBAAyB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACtE,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACpH,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC;gBAEnD,MAAM,MAAM,CAAC,cAAc,CAAC,yBAAyB,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;aAChH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,YAAwC,EAAE,MAAc;QAC9E,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/G,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACjE;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrE;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClE;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACjE;QAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;IAED,sBAAsB;IACd,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAC3F,OAAO,MAAM,IAAI,OAAO,CAAkB,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAClE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CACrB,aAAa,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAQ,CAAC,kBAAkB,CAAC,CAAC,EAC7D,EAAE,EACF;gBACE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;gBACtC,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,8BAA8B;iBAC/B;aACF,CACF,CAAC;YAEF,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAErC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE;oBAC9B,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;iBACR;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;gBAChC,IAAI,OAAO,KAAK,OAAO,EAAE;oBACvB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;oBACvC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAClB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAIO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAwB,EAAE,GAAsB,EAAE,QAAsB,EAAE,OAAe,EAAE,UAAmB;QAClJ,OAAO,MAAM,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,EAAE;YACtE,MAAM,EAAE,GAAG,CAAC,OAAqC,EAAQ,EAAE;gBACzD,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE;oBAC7G,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC3B,OAAO,EAAE,CAAC;iBACX;qBACI,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE;oBACrH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC3B,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC;YACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAE1B,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG;gBACH,QAAQ;gBACR,OAAO;gBACP,UAAU;aACqB,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,OAAwB;QACnD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,OAAkC,EAAE,iBAAmC;QAI/H,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAEzF,IAAI,iBAAiB,EAAE;YACrB,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAe,CAAC;QAElG,OAAO,MAAM,IAAI,OAAO,CAGrB,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CACpB,aAAa,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAQ,CAAC,kBAAkB,CAAC,CAAC,EAC7D,CAAC,OAAO,CAAC,EACT;gBACE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;gBACtC,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,QAAQ,EAAE,aAAa;oBACvB,EAAE,EAAE,YAAY;oBAChB,UAAU,EAAE,OAAO,CAAC,OAAO;oBAC3B,GAAG,OAAO,CAAC,GAAG;iBACf;aACF,CACF,CAAC;YAEF,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE;oBAC9B,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;iBACR;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAY,EAAE,EAAE;gBACpC,IAAI,MAAM,IAAI,OAAO,EAAE;oBACrB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC7B,OAAO,CAAC;wBACN,MAAM;wBACN,IAAI,EAAE,OAAO,CAAC,IAAI;qBACnB,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"SdCliProject.js","sourceRoot":"","sources":["../../src/entry/SdCliProject.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { EventEmitter } from "events";
2
2
  import { Logger, LoggerSeverity } from "@simplysm/sd-core-node";
3
3
  import path from "path";
4
4
  import { pathToFileURL } from "url";
5
+ import { SdServiceServer } from "@simplysm/sd-service-server";
6
+ import { JsonConvert } from "@simplysm/sd-core-common";
5
7
  Error.stackTraceLimit = Infinity;
6
8
  EventEmitter.defaultMaxListeners = 0;
7
9
  if (Boolean(process.env["SD_DEBUG"])) {
@@ -17,13 +19,29 @@ else {
17
19
  });
18
20
  }
19
21
  const logger = Logger.get(["simplysm", "sd-cli", "server-worker"]);
20
- const pkgPath = process.argv[2];
21
- const mainFilePath = path.resolve(pkgPath, "dist/main.js");
22
- const serverModule = await import(pathToFileURL(mainFilePath).href);
23
- const server = serverModule.default;
24
- if (server === undefined) {
25
- logger.error(`${mainFilePath}(0, 0): 'SdServiceServer'를 'export'해야 합니다.`);
26
- process.exit();
22
+ const pkgPathOrOpt = JsonConvert.parse(process.argv[2]);
23
+ let server;
24
+ if (typeof pkgPathOrOpt === "string") {
25
+ const mainFilePath = path.resolve(pkgPathOrOpt, "dist/main.js");
26
+ const serverModule = await import(pathToFileURL(mainFilePath).href);
27
+ server = serverModule.default;
28
+ if (server === undefined) {
29
+ logger.error(`${mainFilePath}(0, 0): 'SdServiceServer'를 'export'해야 합니다.`);
30
+ process.exit();
31
+ }
32
+ }
33
+ else {
34
+ server = new SdServiceServer({
35
+ rootPath: process.cwd(),
36
+ services: [],
37
+ port: pkgPathOrOpt.port
38
+ });
39
+ server.listenAsync()
40
+ .catch((err) => {
41
+ // eslint-disable-next-line no-console
42
+ console.error(err);
43
+ process.exit(1);
44
+ });
27
45
  }
28
46
  server.on("ready", () => {
29
47
  process.send({ port: server.options.port });
@@ -1 +1 @@
1
- {"version":3,"file":"server-worker.js","sourceRoot":"","sources":["../src/server-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC9D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAGlC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AACjC,YAAY,CAAC,mBAAmB,GAAG,CAAC,CAAC;AAErC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE;IACpC,MAAM,CAAC,SAAS,CAAC;QACf,OAAO,EAAE;YACP,KAAK,EAAE,cAAc,CAAC,KAAK;SAC5B;KACF,CAAC,CAAC;CACJ;KACI;IACH,MAAM,CAAC,SAAS,CAAC;QACf,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AAEnE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAE3D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAsC,CAAC;AACnE,IAAI,MAAM,KAAK,SAAS,EAAE;IACxB,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,4CAA4C,CAAC,CAAC;IAC1E,OAAO,CAAC,IAAI,EAAE,CAAC;CAChB;AAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;IACtB,OAAO,CAAC,IAAK,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAY,EAAE,EAAE;IACrC,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;QACnC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;KACtC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE;QACtC,MAAM,CAAC,eAAe,EAAE,CAAC;KAC1B;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"server-worker.js","sourceRoot":"","sources":["../src/server-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC9D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAClC,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAErD,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AACjC,YAAY,CAAC,mBAAmB,GAAG,CAAC,CAAC;AAErC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE;IACpC,MAAM,CAAC,SAAS,CAAC;QACf,OAAO,EAAE;YACP,KAAK,EAAE,cAAc,CAAC,KAAK;SAC5B;KACF,CAAC,CAAC;CACJ;KACI;IACH,MAAM,CAAC,SAAS,CAAC;QACf,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AAEnE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAgC,CAAC;AAEvF,IAAI,MAAmC,CAAC;AAExC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,GAAG,YAAY,CAAC,OAAsC,CAAC;IAC7D,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,4CAA4C,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,EAAE,CAAC;KAChB;CACF;KACI;IACH,MAAM,GAAG,IAAI,eAAe,CAAC;QAC3B,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;QACvB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,YAAY,CAAC,IAAI;KACxB,CAAC,CAAC;IACH,MAAM,CAAC,WAAW,EAAE;SACjB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;CACN;AAGD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;IACtB,OAAO,CAAC,IAAK,CAAC,EAAC,IAAI,EAAE,MAAO,CAAC,OAAO,CAAC,IAAI,EAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAY,EAAE,EAAE;IACrC,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;QACnC,MAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;KACvC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE;QACtC,MAAO,CAAC,eAAe,EAAE,CAAC;KAC3B;AACH,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-cli",
3
- "version": "11.1.26",
3
+ "version": "11.1.27",
4
4
  "description": "심플리즘 패키지 - CLI",
5
5
  "author": "김석래",
6
6
  "repository": {
@@ -23,10 +23,10 @@
23
23
  "@angular/compiler-cli": "^17.1.0",
24
24
  "@angular/core": "^17.1.0",
25
25
  "@electron/rebuild": "^3.5.0",
26
- "@simplysm/sd-core-common": "11.1.26",
27
- "@simplysm/sd-core-node": "11.1.26",
28
- "@simplysm/sd-service-server": "11.1.26",
29
- "@simplysm/sd-storage": "11.1.26",
26
+ "@simplysm/sd-core-common": "11.1.27",
27
+ "@simplysm/sd-core-node": "11.1.27",
28
+ "@simplysm/sd-service-server": "11.1.27",
29
+ "@simplysm/sd-storage": "11.1.27",
30
30
  "browserslist": "^4.22.2",
31
31
  "cordova": "^12.0.0",
32
32
  "electron": "^28.1.4",
package/src/commons.ts CHANGED
@@ -85,7 +85,7 @@ export interface ISdCliServerPackageConfig {
85
85
 
86
86
  export interface ISdCliClientPackageConfig {
87
87
  type: "client";
88
- server?: string;
88
+ server?: string | { port: number };
89
89
  publish?: ISdCliLocalDirectoryPublishConfig | ISdCliFtpPublishConfig;
90
90
  env?: Record<string, string>;
91
91
  configs?: Record<string, any>;
@@ -13,7 +13,7 @@ import cp from "child_process";
13
13
  import {fileURLToPath, pathToFileURL} from "url";
14
14
  import {SdCliBuildResultUtil} from "../utils/SdCliBuildResultUtil";
15
15
  import semver from "semver";
16
- import {NeverEntryError, StringUtil, Wait} from "@simplysm/sd-core-common";
16
+ import {JsonConvert, NeverEntryError, StringUtil, Wait} from "@simplysm/sd-core-common";
17
17
  import {SdStorage} from "@simplysm/sd-storage";
18
18
  import {SdCliLocalUpdate} from "./SdCliLocalUpdate";
19
19
  import xml2js from "xml2js";
@@ -64,7 +64,7 @@ export class SdCliProject {
64
64
  let busyCount = 0;
65
65
  const serverInfoMap = new Map<string, {
66
66
  // server
67
- pkgPath?: string; // persist
67
+ pkgOrOpt?: { path: string; conf: ISdCliServerPackageConfig } | { port: number }; // persist
68
68
  worker?: cp.ChildProcess; // persist
69
69
  port?: number;
70
70
  hasChanges: boolean;
@@ -96,12 +96,18 @@ export class SdCliProject {
96
96
  if (pkgConf.type === "server") {
97
97
  const pkgName = path.basename(message.req.pkgPath);
98
98
  const serverInfo = serverInfoMap.getOrCreate(pkgName, {
99
- hasChanges: false,
99
+ hasChanges: true,
100
100
  hasClientChanges: false,
101
101
  pathProxy: {},
102
102
  // changeFilePaths: []
103
103
  });
104
- serverInfo.pkgPath = message.req.pkgPath;
104
+
105
+ const serverPkgConf = projConf.packages[pkgName] as ISdCliServerPackageConfig;
106
+ serverInfo.pkgOrOpt = {
107
+ path: message.req.pkgPath,
108
+ conf: serverPkgConf
109
+ };
110
+
105
111
  serverInfo.hasChanges = true;
106
112
  }
107
113
 
@@ -109,12 +115,17 @@ export class SdCliProject {
109
115
  const pkgName = path.basename(message.req.pkgPath);
110
116
 
111
117
  if (pkgConf.server !== undefined) {
112
- const serverInfo = serverInfoMap.getOrCreate(pkgConf.server, {
113
- hasChanges: false,
118
+ const serverInfo = serverInfoMap.getOrCreate(typeof pkgConf.server === "string" ? pkgConf.server : pkgConf.server.port.toString(), {
119
+ hasChanges: true,
114
120
  hasClientChanges: false,
115
121
  pathProxy: {},
116
122
  // changeFilePaths: []
117
123
  });
124
+
125
+ if (typeof pkgConf.server !== "string") {
126
+ serverInfo.pkgOrOpt = pkgConf.server;
127
+ }
128
+
118
129
  serverInfo.pathProxy[pkgName] = path.resolve(message.req.pkgPath, "dist");
119
130
  // serverInfo.changeFilePaths.push(...message.result!.affectedFilePaths);
120
131
 
@@ -123,7 +134,7 @@ export class SdCliProject {
123
134
  }
124
135
  else {
125
136
  const serverInfo = serverInfoMap.getOrCreate(pkgName, {
126
- hasChanges: false,
137
+ hasChanges: true,
127
138
  hasClientChanges: false,
128
139
  pathProxy: {},
129
140
  // changeFilePaths: []
@@ -139,14 +150,13 @@ export class SdCliProject {
139
150
  setTimeout(async () => {
140
151
  busyCount--;
141
152
  if (busyCount === 0) {
142
- for (const serverPkgName of serverInfoMap.keys()) {
143
- const serverInfo = serverInfoMap.get(serverPkgName)!;
144
- if (serverInfo.pkgPath !== undefined && serverInfo.hasChanges) {
153
+ for (const serverPkgNameOrPort of serverInfoMap.keys()) {
154
+ const serverInfo = serverInfoMap.get(serverPkgNameOrPort)!;
155
+ if (serverInfo.pkgOrOpt && serverInfo.hasChanges) {
145
156
  logger.debug("서버 재시작...");
146
157
  try {
147
158
  const restartServerResult = await this._restartServerAsync(
148
- serverInfo.pkgPath,
149
- projConf.packages[path.basename(serverInfo.pkgPath)] as ISdCliServerPackageConfig,
159
+ serverInfo.pkgOrOpt,
150
160
  serverInfo.worker
151
161
  );
152
162
  serverInfo.worker = restartServerResult.worker;
@@ -556,7 +566,9 @@ export class SdCliProject {
556
566
  cluster.kill("SIGKILL");
557
567
  }
558
568
 
559
- private static async _restartServerAsync(pkgPath: string, pkgConf: ISdCliServerPackageConfig, prevServerProcess?: cp.ChildProcess): Promise<{
569
+ private static async _restartServerAsync(pkgOrOpt: { path: string; conf: ISdCliServerPackageConfig } | {
570
+ port: number
571
+ }, prevServerProcess?: cp.ChildProcess): Promise<{
560
572
  worker: cp.ChildProcess,
561
573
  port: number
562
574
  }> {
@@ -566,7 +578,7 @@ export class SdCliProject {
566
578
  prevServerProcess.kill("SIGKILL");
567
579
  }
568
580
 
569
- const npmConf = (await FsUtil.readJsonAsync(path.resolve(pkgPath, "package.json"))) as INpmConfig;
581
+ const npmConf = "path" in pkgOrOpt ? (await FsUtil.readJsonAsync(path.resolve(pkgOrOpt.path, "package.json"))) as INpmConfig : undefined;
570
582
 
571
583
  return await new Promise<{
572
584
  worker: cp.ChildProcess,
@@ -574,15 +586,15 @@ export class SdCliProject {
574
586
  }>(async (resolve, reject) => {
575
587
  const worker = cp.fork(
576
588
  fileURLToPath(await import.meta.resolve!("../server-worker")),
577
- [pkgPath],
589
+ [JsonConvert.stringify("path" in pkgOrOpt ? pkgOrOpt.path : pkgOrOpt)],
578
590
  {
579
591
  stdio: ["pipe", "pipe", "pipe", "ipc"],
580
592
  env: {
581
593
  ...process.env,
582
594
  NODE_ENV: "development",
583
595
  TZ: "Asia/Seoul",
584
- SD_VERSION: npmConf.version,
585
- ...pkgConf.env
596
+ SD_VERSION: npmConf?.version ?? "serverless",
597
+ ..."path" in pkgOrOpt ? pkgOrOpt.conf.env : {}
586
598
  }
587
599
  }
588
600
  );
@@ -3,6 +3,7 @@ import {Logger, LoggerSeverity} from "@simplysm/sd-core-node";
3
3
  import path from "path";
4
4
  import {pathToFileURL} from "url";
5
5
  import {SdServiceServer} from "@simplysm/sd-service-server";
6
+ import {JsonConvert} from "@simplysm/sd-core-common";
6
7
 
7
8
  Error.stackTraceLimit = Infinity;
8
9
  EventEmitter.defaultMaxListeners = 0;
@@ -22,27 +23,43 @@ else {
22
23
 
23
24
  const logger = Logger.get(["simplysm", "sd-cli", "server-worker"]);
24
25
 
25
- const pkgPath = process.argv[2];
26
+ const pkgPathOrOpt = JsonConvert.parse(process.argv[2]) as (string | { port: number });
26
27
 
27
- const mainFilePath = path.resolve(pkgPath, "dist/main.js");
28
+ let server: SdServiceServer | undefined;
28
29
 
29
- const serverModule = await import(pathToFileURL(mainFilePath).href);
30
-
31
- const server = serverModule.default as SdServiceServer | undefined;
32
- if (server === undefined) {
33
- logger.error(`${mainFilePath}(0, 0): 'SdServiceServer'를 'export'해야 합니다.`);
34
- process.exit();
30
+ if (typeof pkgPathOrOpt === "string") {
31
+ const mainFilePath = path.resolve(pkgPathOrOpt, "dist/main.js");
32
+ const serverModule = await import(pathToFileURL(mainFilePath).href);
33
+ server = serverModule.default as SdServiceServer | undefined;
34
+ if (server === undefined) {
35
+ logger.error(`${mainFilePath}(0, 0): 'SdServiceServer'를 'export'해야 합니다.`);
36
+ process.exit();
37
+ }
35
38
  }
39
+ else {
40
+ server = new SdServiceServer({
41
+ rootPath: process.cwd(),
42
+ services: [],
43
+ port: pkgPathOrOpt.port
44
+ });
45
+ server.listenAsync()
46
+ .catch((err) => {
47
+ // eslint-disable-next-line no-console
48
+ console.error(err);
49
+ process.exit(1);
50
+ });
51
+ }
52
+
36
53
 
37
54
  server.on("ready", () => {
38
- process.send!({port: server.options.port});
55
+ process.send!({port: server!.options.port});
39
56
  });
40
57
 
41
58
  process.on("message", (message: any) => {
42
59
  if (message.type === "setPathProxy") {
43
- server.pathProxy = message.pathProxy;
60
+ server!.pathProxy = message.pathProxy;
44
61
  }
45
62
  if (message.type === "broadcastReload") {
46
- server.broadcastReload();
63
+ server!.broadcastReload();
47
64
  }
48
- });
65
+ });