@simplysm/sd-cli 6.4.6 → 7.0.6

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 (182) hide show
  1. package/.eslintrc.cjs +11 -0
  2. package/dist/bin/sd-cli.d.ts +1 -0
  3. package/dist/bin/sd-cli.mjs +60 -0
  4. package/dist/build-tool/SdCliCacheCompilerHost.d.ts +10 -0
  5. package/dist/build-tool/SdCliCacheCompilerHost.mjs +44 -0
  6. package/dist/build-tool/SdCliNgCacheCompilerHost.d.ts +11 -0
  7. package/dist/build-tool/SdCliNgCacheCompilerHost.mjs +36 -0
  8. package/dist/build-tool/SdCliPackageLinter.d.ts +8 -0
  9. package/dist/build-tool/SdCliPackageLinter.mjs +41 -0
  10. package/dist/builder/SdCliJsLibBuilder.d.ts +14 -0
  11. package/dist/builder/SdCliJsLibBuilder.mjs +50 -0
  12. package/dist/builder/SdCliTsLibBuilder.d.ts +27 -0
  13. package/dist/builder/SdCliTsLibBuilder.mjs +226 -0
  14. package/dist/commons.d.ts +43 -0
  15. package/dist/commons.mjs +2 -0
  16. package/dist/entry-points/SdCliWorkspace.d.ts +17 -0
  17. package/dist/entry-points/SdCliWorkspace.mjs +186 -0
  18. package/dist/packages/SdCliPackage.d.ts +19 -0
  19. package/dist/packages/SdCliPackage.mjs +89 -0
  20. package/dist/utils/SdBuildResultUtil.d.ts +6 -0
  21. package/dist/utils/SdBuildResultUtil.mjs +38 -0
  22. package/lib/ts-node-esm-paths.mjs +15 -0
  23. package/package.json +27 -59
  24. package/src/bin/sd-cli.ts +54 -220
  25. package/src/build-tool/SdCliCacheCompilerHost.ts +71 -0
  26. package/src/build-tool/SdCliNgCacheCompilerHost.ts +50 -0
  27. package/src/build-tool/SdCliPackageLinter.ts +54 -0
  28. package/src/builder/SdCliJsLibBuilder.ts +66 -0
  29. package/src/builder/SdCliTsLibBuilder.ts +335 -0
  30. package/src/commons.ts +15 -124
  31. package/src/entry-points/SdCliWorkspace.ts +222 -0
  32. package/src/packages/SdCliPackage.ts +111 -0
  33. package/src/utils/SdBuildResultUtil.ts +43 -0
  34. package/tsconfig-build.json +9 -0
  35. package/tsconfig.json +7 -18
  36. package/.eslintrc.js +0 -19
  37. package/dist-node/bin/sd-cli.js +0 -197
  38. package/dist-node/bin/sd-cli.js.map +0 -1
  39. package/dist-node/build-tools/SdCliCordova.js +0 -145
  40. package/dist-node/build-tools/SdCliCordova.js.map +0 -1
  41. package/dist-node/build-tools/SdCliIndexFileGenerator.js +0 -51
  42. package/dist-node/build-tools/SdCliIndexFileGenerator.js.map +0 -1
  43. package/dist-node/build-tools/SdCliNgModuleFilesGenerator.js +0 -675
  44. package/dist-node/build-tools/SdCliNgModuleFilesGenerator.js.map +0 -1
  45. package/dist-node/build-tools/metadata/SdAotMetadataReader.js +0 -274
  46. package/dist-node/build-tools/metadata/SdAotMetadataReader.js.map +0 -1
  47. package/dist-node/build-tools/metadata/SdIvyMetadataReader.js +0 -124
  48. package/dist-node/build-tools/metadata/SdIvyMetadataReader.js.map +0 -1
  49. package/dist-node/build-tools/metadata/SdMetadataError.js +0 -13
  50. package/dist-node/build-tools/metadata/SdMetadataError.js.map +0 -1
  51. package/dist-node/build-tools/metadata/SdMyMetadataReader.js +0 -321
  52. package/dist-node/build-tools/metadata/SdMyMetadataReader.js.map +0 -1
  53. package/dist-node/builders/SdCliJavascriptLinter.js +0 -65
  54. package/dist-node/builders/SdCliJavascriptLinter.js.map +0 -1
  55. package/dist-node/builders/SdCliNgClientBuilder.js +0 -636
  56. package/dist-node/builders/SdCliNgClientBuilder.js.map +0 -1
  57. package/dist-node/builders/SdCliNgLibraryBuilder.js +0 -217
  58. package/dist-node/builders/SdCliNgLibraryBuilder.js.map +0 -1
  59. package/dist-node/builders/SdCliPublisher.js +0 -129
  60. package/dist-node/builders/SdCliPublisher.js.map +0 -1
  61. package/dist-node/builders/SdCliServerBuilder.js +0 -452
  62. package/dist-node/builders/SdCliServerBuilder.js.map +0 -1
  63. package/dist-node/builders/SdCliTypescriptBuilder.js +0 -347
  64. package/dist-node/builders/SdCliTypescriptBuilder.js.map +0 -1
  65. package/dist-node/commons.js +0 -3
  66. package/dist-node/commons.js.map +0 -1
  67. package/dist-node/entry-points/SdCliLocalUpdater.js +0 -88
  68. package/dist-node/entry-points/SdCliLocalUpdater.js.map +0 -1
  69. package/dist-node/entry-points/SdCliPrepare.js +0 -56
  70. package/dist-node/entry-points/SdCliPrepare.js.map +0 -1
  71. package/dist-node/entry-points/SdCliProject.js +0 -302
  72. package/dist-node/entry-points/SdCliProject.js.map +0 -1
  73. package/dist-node/packages/SdCliClientPackage.js +0 -91
  74. package/dist-node/packages/SdCliClientPackage.js.map +0 -1
  75. package/dist-node/packages/SdCliLibraryPackage.js +0 -99
  76. package/dist-node/packages/SdCliLibraryPackage.js.map +0 -1
  77. package/dist-node/packages/SdCliPackageBase.js +0 -33
  78. package/dist-node/packages/SdCliPackageBase.js.map +0 -1
  79. package/dist-node/packages/SdCliServerPackage.js +0 -69
  80. package/dist-node/packages/SdCliServerPackage.js.map +0 -1
  81. package/dist-node/packages/SdCliUnknownPackage.js +0 -15
  82. package/dist-node/packages/SdCliUnknownPackage.js.map +0 -1
  83. package/dist-node/utils/SdCliFileCrypto.js +0 -76
  84. package/dist-node/utils/SdCliFileCrypto.js.map +0 -1
  85. package/dist-node/utils/SdProjectConfigUtil.js +0 -62
  86. package/dist-node/utils/SdProjectConfigUtil.js.map +0 -1
  87. package/dist-node/utils/SdTsDiagnosticUtil.js +0 -45
  88. package/dist-node/utils/SdTsDiagnosticUtil.js.map +0 -1
  89. package/dist-node/utils/SdWebpackUtil.js +0 -63
  90. package/dist-node/utils/SdWebpackUtil.js.map +0 -1
  91. package/dist-node/workers/client-ng-gen-worker.js +0 -57
  92. package/dist-node/workers/client-ng-gen-worker.js.map +0 -1
  93. package/dist-node/workers/lib-build-worker.js +0 -88
  94. package/dist-node/workers/lib-build-worker.js.map +0 -1
  95. package/dist-types/bin/sd-cli.d.ts +0 -3
  96. package/dist-types/bin/sd-cli.d.ts.map +0 -1
  97. package/dist-types/build-tools/SdCliCordova.d.ts +0 -15
  98. package/dist-types/build-tools/SdCliCordova.d.ts.map +0 -1
  99. package/dist-types/build-tools/SdCliIndexFileGenerator.d.ts +0 -13
  100. package/dist-types/build-tools/SdCliIndexFileGenerator.d.ts.map +0 -1
  101. package/dist-types/build-tools/SdCliNgModuleFilesGenerator.d.ts +0 -43
  102. package/dist-types/build-tools/SdCliNgModuleFilesGenerator.d.ts.map +0 -1
  103. package/dist-types/build-tools/metadata/SdAotMetadataReader.d.ts +0 -58
  104. package/dist-types/build-tools/metadata/SdAotMetadataReader.d.ts.map +0 -1
  105. package/dist-types/build-tools/metadata/SdIvyMetadataReader.d.ts +0 -43
  106. package/dist-types/build-tools/metadata/SdIvyMetadataReader.d.ts.map +0 -1
  107. package/dist-types/build-tools/metadata/SdMetadataError.d.ts +0 -7
  108. package/dist-types/build-tools/metadata/SdMetadataError.d.ts.map +0 -1
  109. package/dist-types/build-tools/metadata/SdMyMetadataReader.d.ts +0 -59
  110. package/dist-types/build-tools/metadata/SdMyMetadataReader.d.ts.map +0 -1
  111. package/dist-types/builders/SdCliJavascriptLinter.d.ts +0 -14
  112. package/dist-types/builders/SdCliJavascriptLinter.d.ts.map +0 -1
  113. package/dist-types/builders/SdCliNgClientBuilder.d.ts +0 -29
  114. package/dist-types/builders/SdCliNgClientBuilder.d.ts.map +0 -1
  115. package/dist-types/builders/SdCliNgLibraryBuilder.d.ts +0 -30
  116. package/dist-types/builders/SdCliNgLibraryBuilder.d.ts.map +0 -1
  117. package/dist-types/builders/SdCliPublisher.d.ts +0 -9
  118. package/dist-types/builders/SdCliPublisher.d.ts.map +0 -1
  119. package/dist-types/builders/SdCliServerBuilder.d.ts +0 -31
  120. package/dist-types/builders/SdCliServerBuilder.d.ts.map +0 -1
  121. package/dist-types/builders/SdCliTypescriptBuilder.d.ts +0 -56
  122. package/dist-types/builders/SdCliTypescriptBuilder.d.ts.map +0 -1
  123. package/dist-types/commons.d.ts +0 -134
  124. package/dist-types/commons.d.ts.map +0 -1
  125. package/dist-types/entry-points/SdCliLocalUpdater.d.ts +0 -12
  126. package/dist-types/entry-points/SdCliLocalUpdater.d.ts.map +0 -1
  127. package/dist-types/entry-points/SdCliPrepare.d.ts +0 -6
  128. package/dist-types/entry-points/SdCliPrepare.d.ts.map +0 -1
  129. package/dist-types/entry-points/SdCliProject.d.ts +0 -32
  130. package/dist-types/entry-points/SdCliProject.d.ts.map +0 -1
  131. package/dist-types/packages/SdCliClientPackage.d.ts +0 -17
  132. package/dist-types/packages/SdCliClientPackage.d.ts.map +0 -1
  133. package/dist-types/packages/SdCliLibraryPackage.d.ts +0 -20
  134. package/dist-types/packages/SdCliLibraryPackage.d.ts.map +0 -1
  135. package/dist-types/packages/SdCliPackageBase.d.ts +0 -11
  136. package/dist-types/packages/SdCliPackageBase.d.ts.map +0 -1
  137. package/dist-types/packages/SdCliServerPackage.d.ts +0 -16
  138. package/dist-types/packages/SdCliServerPackage.d.ts.map +0 -1
  139. package/dist-types/packages/SdCliUnknownPackage.d.ts +0 -9
  140. package/dist-types/packages/SdCliUnknownPackage.d.ts.map +0 -1
  141. package/dist-types/utils/SdCliFileCrypto.d.ts +0 -8
  142. package/dist-types/utils/SdCliFileCrypto.d.ts.map +0 -1
  143. package/dist-types/utils/SdProjectConfigUtil.d.ts +0 -7
  144. package/dist-types/utils/SdProjectConfigUtil.d.ts.map +0 -1
  145. package/dist-types/utils/SdTsDiagnosticUtil.d.ts +0 -6
  146. package/dist-types/utils/SdTsDiagnosticUtil.d.ts.map +0 -1
  147. package/dist-types/utils/SdWebpackUtil.d.ts +0 -7
  148. package/dist-types/utils/SdWebpackUtil.d.ts.map +0 -1
  149. package/dist-types/workers/client-ng-gen-worker.d.ts +0 -2
  150. package/dist-types/workers/client-ng-gen-worker.d.ts.map +0 -1
  151. package/dist-types/workers/lib-build-worker.d.ts +0 -2
  152. package/dist-types/workers/lib-build-worker.d.ts.map +0 -1
  153. package/schema/schema.json +0 -447
  154. package/sd-tsconfig.node.json +0 -18
  155. package/src/build-tools/SdCliCordova.ts +0 -242
  156. package/src/build-tools/SdCliIndexFileGenerator.ts +0 -61
  157. package/src/build-tools/SdCliNgModuleFilesGenerator.ts +0 -894
  158. package/src/build-tools/metadata/SdAotMetadataReader.ts +0 -374
  159. package/src/build-tools/metadata/SdIvyMetadataReader.ts +0 -183
  160. package/src/build-tools/metadata/SdMetadataError.ts +0 -7
  161. package/src/build-tools/metadata/SdMyMetadataReader.ts +0 -407
  162. package/src/builders/SdCliJavascriptLinter.ts +0 -81
  163. package/src/builders/SdCliNgClientBuilder.ts +0 -793
  164. package/src/builders/SdCliNgLibraryBuilder.ts +0 -301
  165. package/src/builders/SdCliPublisher.ts +0 -144
  166. package/src/builders/SdCliServerBuilder.ts +0 -555
  167. package/src/builders/SdCliTypescriptBuilder.ts +0 -552
  168. package/src/entry-points/SdCliLocalUpdater.ts +0 -114
  169. package/src/entry-points/SdCliPrepare.ts +0 -104
  170. package/src/entry-points/SdCliProject.ts +0 -405
  171. package/src/packages/SdCliClientPackage.ts +0 -111
  172. package/src/packages/SdCliLibraryPackage.ts +0 -118
  173. package/src/packages/SdCliPackageBase.ts +0 -34
  174. package/src/packages/SdCliServerPackage.ts +0 -85
  175. package/src/packages/SdCliUnknownPackage.ts +0 -14
  176. package/src/utils/SdCliFileCrypto.ts +0 -87
  177. package/src/utils/SdCliUtils.ts +0 -56
  178. package/src/utils/SdProjectConfigUtil.ts +0 -145
  179. package/src/utils/SdTsDiagnosticUtil.ts +0 -46
  180. package/src/utils/SdWebpackUtil.ts +0 -71
  181. package/src/workers/client-ng-gen-worker.ts +0 -63
  182. package/src/workers/lib-build-worker.ts +0 -97
@@ -1,452 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdCliServerBuilder = void 0;
4
- const events_1 = require("events");
5
- const ts = require("typescript");
6
- const sd_core_node_1 = require("@simplysm/sd-core-node");
7
- const sd_core_common_1 = require("@simplysm/sd-core-common");
8
- const webpack = require("webpack");
9
- const path = require("path");
10
- const javascript_optimizer_plugin_1 = require("@angular-devkit/build-angular/src/webpack/plugins/javascript-optimizer-plugin");
11
- const plugins_1 = require("@angular-devkit/build-angular/src/webpack/plugins");
12
- const license_webpack_plugin_1 = require("license-webpack-plugin");
13
- const SdWebpackUtil_1 = require("../utils/SdWebpackUtil");
14
- const os = require("os");
15
- const decache_1 = require("decache");
16
- const CopyWebpackPlugin = require("copy-webpack-plugin");
17
- const ESLintWebpackPlugin = require("eslint-webpack-plugin");
18
- class SdCliServerBuilder extends events_1.EventEmitter {
19
- constructor(rootPath, tsconfigFilePath, projectRootPath, config, skipProcesses) {
20
- super();
21
- this.rootPath = rootPath;
22
- this.tsconfigFilePath = tsconfigFilePath;
23
- this.projectRootPath = projectRootPath;
24
- this.config = config;
25
- this.skipProcesses = skipProcesses;
26
- this.npmConfigCache = new Map();
27
- const tsconfig = sd_core_node_1.FsUtil.readJson(this.tsconfigFilePath);
28
- this.parsedTsconfig = ts.parseJsonConfigFileContent(tsconfig, ts.sys, this.rootPath);
29
- const npmConfig = sd_core_node_1.FsUtil.readJson(path.resolve(this.rootPath, "package.json"));
30
- this.npmConfigCache.set(this.rootPath, npmConfig);
31
- this._logger = sd_core_node_1.Logger.get(["simplysm", "sd-cli", this.constructor.name, npmConfig.name]);
32
- }
33
- on(event, listener) {
34
- return super.on(event, listener);
35
- }
36
- async buildAsync() {
37
- this.emit("change");
38
- await sd_core_node_1.FsUtil.removeAsync(this.parsedTsconfig.options.outDir);
39
- const externalModuleNames = this._findExternalModules(false).map((item) => item.name);
40
- this._logger.debug("Webpack 빌드 수행");
41
- const webpackConfig = this._getWebpackConfig(false, externalModuleNames);
42
- const compiler = webpack(webpackConfig);
43
- const buildResults = await new Promise((resolve, reject) => {
44
- compiler.run((err, stat) => {
45
- if (err != null) {
46
- reject(err);
47
- return;
48
- }
49
- const results = SdWebpackUtil_1.SdWebpackUtil.getWebpackResults(stat);
50
- resolve(results);
51
- });
52
- });
53
- this._logger.debug("Webpack 빌드 결과", buildResults);
54
- const targetPath = path.resolve(this.parsedTsconfig.options.outDir, ".config.json");
55
- await sd_core_node_1.FsUtil.writeFileAsync(targetPath, JSON.stringify(this.config.configs ?? {}, undefined, 2));
56
- if (this.config.pm2 !== undefined && this.config.pm2 !== false) {
57
- const npmConfig = this._getNpmConfig(this.rootPath);
58
- const pm2DistPath = path.resolve(this.parsedTsconfig.options.outDir, "pm2.json");
59
- await sd_core_node_1.FsUtil.writeFileAsync(pm2DistPath, JSON.stringify(sd_core_common_1.ObjectUtil.merge({
60
- "name": npmConfig.name.replace(/@/g, "").replace(/\//g, "-"),
61
- "script": path.basename(path.resolve(this.parsedTsconfig.options.outDir, "main.js")),
62
- "watch": true,
63
- "watch_delay": 2000,
64
- "ignore_watch": [
65
- "node_modules",
66
- "www"
67
- ].distinct(),
68
- "interpreter": "node@" + process.versions.node,
69
- "env": {
70
- NODE_ENV: "production",
71
- VERSION: npmConfig.version,
72
- TZ: "Asia/Seoul",
73
- ...this.config.env ? this.config.env : {}
74
- }
75
- }, (typeof this.config.pm2 !== "boolean") ? this.config.pm2 : {}, {
76
- arrayProcess: "concat"
77
- }), undefined, 2));
78
- }
79
- if (this.config.iis !== undefined && this.config.iis !== false) {
80
- const iisDistPath = path.resolve(this.parsedTsconfig.options.outDir, "web.config");
81
- const serverExeFilePath = (this.config.iis !== true && "serverExeFilePath" in this.config.iis)
82
- ? (this.config.iis.serverExeFilePath ?? "C:\\Program Files\\nodejs\\node.exe")
83
- : "C:\\Program Files\\nodejs\\node.exe";
84
- await sd_core_node_1.FsUtil.writeFileAsync(iisDistPath, `
85
- <configuration>
86
- <system.webServer>
87
- <webSocket enabled="false" />
88
- <handlers>
89
- <add name="iisnode" path="main.js" verb="*" modules="iisnode" />
90
- </handlers>
91
- <iisnode nodeProcessCommandLine="${serverExeFilePath}"
92
- watchedFiles="web.config;*.js"
93
- loggingEnabled="true"
94
- devErrorsEnabled="true" />
95
- <rewrite>
96
- <rules>
97
- <rule name="main">
98
- <action type="Rewrite" url="main.js" />
99
- </rule>
100
- </rules>
101
- </rewrite>
102
- <httpErrors errorMode="Detailed" />
103
- </system.webServer>
104
- </configuration>
105
-
106
- `.trim());
107
- }
108
- const distNpmConfig = sd_core_common_1.ObjectUtil.clone(this._getNpmConfig(this.rootPath));
109
- distNpmConfig.dependencies = {};
110
- for (const externalModuleName of externalModuleNames) {
111
- distNpmConfig.dependencies[externalModuleName] = "*";
112
- }
113
- delete distNpmConfig.optionalDependencies;
114
- delete distNpmConfig.devDependencies;
115
- delete distNpmConfig.peerDependencies;
116
- if (this.config.pm2 !== undefined) {
117
- distNpmConfig.scripts = { "start": "pm2 start pm2.json" };
118
- }
119
- await sd_core_node_1.FsUtil.writeFileAsync(path.resolve(this.parsedTsconfig.options.outDir, "package.json"), JSON.stringify(distNpmConfig, undefined, 2));
120
- this.emit("complete", buildResults);
121
- }
122
- async watchAsync() {
123
- await sd_core_node_1.FsUtil.removeAsync(this.parsedTsconfig.options.outDir);
124
- const externalModules = this._findExternalModules(true);
125
- const externalModuleNames = externalModules.map((item) => item.name);
126
- const externalModulePaths = externalModules.map((item) => item.path);
127
- const webpackConfig = this._getWebpackConfig(true, externalModuleNames);
128
- const compiler = webpack(webpackConfig);
129
- await new Promise((resolve, reject) => {
130
- compiler.hooks.watchRun.tapAsync(this.constructor.name, async (args, callback) => {
131
- this.emit("change");
132
- callback();
133
- this._logger.debug("Webpack 빌드 수행");
134
- await this._stopServerAsync();
135
- });
136
- compiler.watch({ poll: undefined }, async (err, stat) => {
137
- if (err != null) {
138
- reject(err);
139
- return;
140
- }
141
- const configDistPath = path.resolve(this.parsedTsconfig.options.outDir, ".config.json");
142
- await sd_core_node_1.FsUtil.writeFileAsync(configDistPath, JSON.stringify(this.config.configs ?? {}, undefined, 2));
143
- const results = SdWebpackUtil_1.SdWebpackUtil.getWebpackResults(stat);
144
- try {
145
- await this._startServerAsync();
146
- }
147
- catch (error) {
148
- if (error instanceof Error) {
149
- results.push({
150
- filePath: undefined,
151
- severity: "error",
152
- message: error.message
153
- });
154
- }
155
- else {
156
- throw error;
157
- }
158
- }
159
- this.emit("complete", results, this._server);
160
- this._logger.debug("Webpack 빌드 수행 결과", results);
161
- resolve();
162
- });
163
- });
164
- const getWatchPathsAsync = async () => {
165
- const result = [];
166
- for (const modulePath of externalModulePaths) {
167
- const npmConfig = this._getNpmConfig(modulePath);
168
- if (!npmConfig)
169
- continue;
170
- const distPath = path.resolve(modulePath, path.dirname(npmConfig.es2020 ?? npmConfig.module ?? npmConfig.main ?? "dist"));
171
- const watchPaths = (await sd_core_node_1.FsUtil.globAsync(path.resolve(distPath, "**")))
172
- .filter((item) => (item.includes("@simplysm")
173
- && sd_core_node_1.FsUtil.exists(item)
174
- && sd_core_node_1.FsUtil.isDirectory(item)));
175
- result.push(...watchPaths);
176
- }
177
- return result;
178
- };
179
- const watchPaths = await getWatchPathsAsync();
180
- const watcher = new sd_core_node_1.SdFsWatcher();
181
- watcher
182
- .onChange(async (changeInfos) => {
183
- const dirtyFilePaths = changeInfos
184
- .map((changeInfo) => changeInfo.filePath)
185
- .filter((item) => path.basename(item).includes("."))
186
- .distinct();
187
- if (dirtyFilePaths.length === 0)
188
- return;
189
- this.emit("change");
190
- this._logger.debug("서버 재시작");
191
- const watchPaths2 = await getWatchPathsAsync();
192
- watcher.replaceWatchPaths(watchPaths2);
193
- await this._stopServerAsync();
194
- const results = [];
195
- try {
196
- await this._startServerAsync();
197
- }
198
- catch (error) {
199
- if (error instanceof Error) {
200
- results.push({
201
- filePath: undefined,
202
- severity: "error",
203
- message: error.message
204
- });
205
- }
206
- else {
207
- throw error;
208
- }
209
- }
210
- this.emit("complete", results, this._server);
211
- this._logger.debug("서버 재시작 결과", results);
212
- })
213
- .watch(watchPaths);
214
- }
215
- async _stopServerAsync() {
216
- if (this._server) {
217
- await this._server.closeAsync();
218
- delete this._server;
219
- }
220
- const mainFilePath = path.resolve(this.parsedTsconfig.options.outDir, "main.js");
221
- decache_1.default(mainFilePath);
222
- }
223
- async _startServerAsync() {
224
- await sd_core_common_1.Wait.true(() => this._server === undefined);
225
- const mainFilePath = path.resolve(this.parsedTsconfig.options.outDir, "main.js");
226
- this._server = require(mainFilePath);
227
- if (!this._server) {
228
- throw new Error(`${mainFilePath}(0, 0): 'SdServiceServer'를 'export'해야 합니다.`);
229
- }
230
- await new Promise((resolve) => {
231
- this._server.on("ready", () => {
232
- resolve();
233
- });
234
- });
235
- }
236
- _getWebpackConfig(watch, externalModuleNames) {
237
- return {
238
- mode: watch ? "development" : "production",
239
- devtool: false,
240
- target: ["node", "es2020"],
241
- profile: false,
242
- resolve: {
243
- roots: [this.rootPath],
244
- extensions: [".ts", ".tsx", ".js"],
245
- symlinks: true,
246
- mainFields: ["es2020", "module", "main"]
247
- },
248
- context: this.projectRootPath,
249
- entry: {
250
- main: [
251
- path.resolve(this.rootPath, "src/main.ts")
252
- ]
253
- },
254
- output: {
255
- clean: true,
256
- path: this.parsedTsconfig.options.outDir,
257
- filename: "[name].js",
258
- chunkFilename: "[name].js",
259
- assetModuleFilename: "resources/[name][ext][query]",
260
- libraryTarget: watch ? "umd" : "commonjs"
261
- },
262
- performance: { hints: false },
263
- module: {
264
- strictExportPresence: true,
265
- rules: [
266
- ...watch ? [
267
- {
268
- test: /\.m?js$/,
269
- enforce: "pre",
270
- loader: require.resolve("source-map-loader"),
271
- options: {
272
- filterSourceMappingUrl: (mapUri, resourcePath) => {
273
- return !resourcePath.includes("node_modules") || (/@simplysm[\\/]sd/).test(resourcePath);
274
- }
275
- }
276
- }
277
- ] : [],
278
- {
279
- test: /\.ts$/,
280
- exclude: /node_modules/,
281
- loader: require.resolve("ts-loader"),
282
- options: {
283
- configFile: this.tsconfigFilePath,
284
- errorFormatter: (msg, colors) => {
285
- return `${msg.file}(${msg.line}, ${msg.character}): ${msg.code}: ${msg.severity} ${msg.content}`;
286
- }
287
- }
288
- },
289
- {
290
- test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|otf|xlsx?|pptx?|docx?|zip|pfx|pkl)$/,
291
- type: "asset/resource"
292
- }
293
- ]
294
- },
295
- ...watch ? {
296
- cache: { type: "memory", maxGenerations: 1 },
297
- snapshot: {
298
- immutablePaths: this._findAllInternalModuleCachePaths(),
299
- managedPaths: this._findAllInternalModuleCachePaths()
300
- }
301
- } : {
302
- cache: false
303
- },
304
- optimization: {
305
- minimizer: watch ? [] : [
306
- new javascript_optimizer_plugin_1.JavaScriptOptimizerPlugin({
307
- sourcemap: false,
308
- target: this.parsedTsconfig.options.target,
309
- keepNames: true,
310
- removeLicenses: true,
311
- advanced: true
312
- })
313
- ],
314
- moduleIds: "deterministic",
315
- chunkIds: watch ? "named" : "deterministic",
316
- emitOnErrors: watch
317
- },
318
- plugins: [
319
- new plugins_1.DedupeModuleResolvePlugin({ verbose: false }),
320
- ...watch ? [] : [
321
- new license_webpack_plugin_1.LicenseWebpackPlugin({
322
- stats: { warnings: false, errors: false },
323
- perChunkOutput: false,
324
- outputFilename: "3rdpartylicenses.txt",
325
- skipChildCompilers: true
326
- })
327
- ],
328
- new CopyWebpackPlugin({
329
- patterns: ["assets/"].map((item) => ({
330
- context: this.rootPath,
331
- to: item,
332
- from: `src/${item}`,
333
- noErrorOnMissing: true,
334
- force: true,
335
- globOptions: {
336
- dot: true,
337
- followSymbolicLinks: false,
338
- ignore: [
339
- ".gitkeep",
340
- "**/.DS_Store",
341
- "**/Thumbs.db"
342
- ].map((i) => sd_core_node_1.PathUtil.posix(this.rootPath, i))
343
- },
344
- priority: 0
345
- }))
346
- }),
347
- new webpack.EnvironmentPlugin({
348
- SD_VERSION: this._getNpmConfig(this.rootPath).version,
349
- ...this.config.env
350
- }),
351
- ...!this.skipProcesses.includes("lint") ? [
352
- new ESLintWebpackPlugin({
353
- context: this.rootPath,
354
- eslintPath: path.resolve(this.projectRootPath, "node_modules", "eslint"),
355
- extensions: ["js", "ts"],
356
- exclude: ["node_modules"],
357
- fix: false,
358
- threads: false,
359
- formatter: (results) => {
360
- const resultMessages = [];
361
- for (const result of results) {
362
- for (const msg of result.messages) {
363
- resultMessages.push(`${result.filePath}(${msg.line}, ${msg.column}): ${msg.ruleId ?? ""}: ${msg.severity === 1 ? "warning" : msg.severity === 2 ? "error" : ""} ${msg.message}`);
364
- }
365
- }
366
- return resultMessages.join(os.EOL);
367
- }
368
- })
369
- ] : [],
370
- new webpack.ProgressPlugin({
371
- handler: (per, msg, ...args) => {
372
- const phaseText = msg ? ` - phase: ${msg}` : "";
373
- const argsText = args.length > 0 ? ` - args: [${args.join(", ")}]` : "";
374
- this._logger.debug(`Webpack 빌드 수행중...(${Math.round(per * 100)}%)${phaseText}${argsText}`);
375
- }
376
- })
377
- ],
378
- node: false,
379
- externals: externalModuleNames,
380
- stats: "errors-warnings"
381
- };
382
- }
383
- _findAllInternalModuleCachePaths() {
384
- return this._findAllNodeModules(this.rootPath, this.projectRootPath)
385
- .mapMany((item) => (sd_core_node_1.FsUtil.readdir(item)
386
- .filter((item1) => item1 !== "@simplysm")
387
- .map((item1) => path.resolve(item, item1))));
388
- }
389
- _findAllNodeModules(from, root) {
390
- const nodeModules = [];
391
- let current = from;
392
- while (current) {
393
- const potential = path.join(current, "node_modules");
394
- if (sd_core_node_1.FsUtil.exists(potential) && sd_core_node_1.FsUtil.isDirectory(potential)) {
395
- nodeModules.push(potential);
396
- }
397
- if (current === root)
398
- break;
399
- const next = path.dirname(current);
400
- if (next === current)
401
- break;
402
- current = next;
403
- }
404
- return nodeModules;
405
- }
406
- _findModulePath(moduleName, currentPath) {
407
- const nodeModulesPaths = this._findAllNodeModules(currentPath, this.projectRootPath);
408
- for (const nodeModulePath of nodeModulesPaths) {
409
- const potential = path.join(nodeModulePath, moduleName);
410
- if (sd_core_node_1.FsUtil.exists(potential)) {
411
- return potential;
412
- }
413
- }
414
- return undefined;
415
- }
416
- _findExternalModules(all) {
417
- const loadedModuleNames = [];
418
- const externalModules = [];
419
- const fn = (currPath) => {
420
- const npmConfig = this._getNpmConfig(currPath);
421
- if (!npmConfig)
422
- return;
423
- for (const moduleName of Object.keys({
424
- ...npmConfig.dependencies,
425
- ...npmConfig.optionalDependencies
426
- })) {
427
- if (loadedModuleNames.includes(moduleName))
428
- continue;
429
- loadedModuleNames.push(moduleName);
430
- const modulePath = this._findModulePath(moduleName, currPath);
431
- if (sd_core_common_1.StringUtil.isNullOrEmpty(modulePath))
432
- continue;
433
- if (all
434
- || this.config.externalDependencies?.includes(moduleName)
435
- || sd_core_node_1.FsUtil.exists(path.resolve(modulePath, "binding.gyp"))) {
436
- externalModules.push({ path: modulePath, name: moduleName });
437
- }
438
- fn(modulePath);
439
- }
440
- };
441
- fn(this.rootPath);
442
- return externalModules.distinct();
443
- }
444
- _getNpmConfig(rootPath) {
445
- if (!this.npmConfigCache.has(rootPath)) {
446
- this.npmConfigCache.set(rootPath, sd_core_node_1.FsUtil.readJson(path.resolve(rootPath, "package.json")));
447
- }
448
- return this.npmConfigCache.get(rootPath);
449
- }
450
- }
451
- exports.SdCliServerBuilder = SdCliServerBuilder;
452
- //# sourceMappingURL=SdCliServerBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SdCliServerBuilder.js","sourceRoot":"","sources":["../../src/builders/SdCliServerBuilder.ts"],"names":[],"mappings":"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"}