@simplysm/sd-cli 6.4.5 → 7.0.9

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 (185) 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 +86 -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 +46 -0
  15. package/dist/commons.mjs +2 -0
  16. package/dist/entry-points/SdCliWorkspace.d.ts +18 -0
  17. package/dist/entry-points/SdCliWorkspace.mjs +193 -0
  18. package/dist/packages/SdCliPackage.d.ts +19 -0
  19. package/dist/packages/SdCliPackage.mjs +89 -0
  20. package/dist/utils/SdCliBuildResultUtil.d.ts +6 -0
  21. package/dist/utils/SdCliBuildResultUtil.mjs +38 -0
  22. package/dist/utils/SdCliConfigUtil.d.ts +7 -0
  23. package/dist/utils/SdCliConfigUtil.mjs +69 -0
  24. package/lib/ts-node-esm-paths.mjs +15 -0
  25. package/package.json +27 -59
  26. package/src/bin/sd-cli.ts +86 -214
  27. package/src/build-tool/SdCliCacheCompilerHost.ts +71 -0
  28. package/src/build-tool/SdCliNgCacheCompilerHost.ts +50 -0
  29. package/src/build-tool/SdCliPackageLinter.ts +54 -0
  30. package/src/builder/SdCliJsLibBuilder.ts +66 -0
  31. package/src/builder/SdCliTsLibBuilder.ts +335 -0
  32. package/src/commons.ts +17 -122
  33. package/src/entry-points/SdCliWorkspace.ts +229 -0
  34. package/src/packages/SdCliPackage.ts +111 -0
  35. package/src/utils/SdCliBuildResultUtil.ts +43 -0
  36. package/src/utils/SdCliConfigUtil.ts +94 -0
  37. package/tsconfig-build.json +9 -0
  38. package/tsconfig.json +7 -18
  39. package/.eslintrc.js +0 -19
  40. package/dist-node/bin/sd-cli.js +0 -197
  41. package/dist-node/bin/sd-cli.js.map +0 -1
  42. package/dist-node/build-tools/SdCliCordova.js +0 -144
  43. package/dist-node/build-tools/SdCliCordova.js.map +0 -1
  44. package/dist-node/build-tools/SdCliIndexFileGenerator.js +0 -51
  45. package/dist-node/build-tools/SdCliIndexFileGenerator.js.map +0 -1
  46. package/dist-node/build-tools/SdCliNgModuleFilesGenerator.js +0 -675
  47. package/dist-node/build-tools/SdCliNgModuleFilesGenerator.js.map +0 -1
  48. package/dist-node/build-tools/metadata/SdAotMetadataReader.js +0 -274
  49. package/dist-node/build-tools/metadata/SdAotMetadataReader.js.map +0 -1
  50. package/dist-node/build-tools/metadata/SdIvyMetadataReader.js +0 -124
  51. package/dist-node/build-tools/metadata/SdIvyMetadataReader.js.map +0 -1
  52. package/dist-node/build-tools/metadata/SdMetadataError.js +0 -13
  53. package/dist-node/build-tools/metadata/SdMetadataError.js.map +0 -1
  54. package/dist-node/build-tools/metadata/SdMyMetadataReader.js +0 -321
  55. package/dist-node/build-tools/metadata/SdMyMetadataReader.js.map +0 -1
  56. package/dist-node/builders/SdCliJavascriptLinter.js +0 -65
  57. package/dist-node/builders/SdCliJavascriptLinter.js.map +0 -1
  58. package/dist-node/builders/SdCliNgClientBuilder.js +0 -636
  59. package/dist-node/builders/SdCliNgClientBuilder.js.map +0 -1
  60. package/dist-node/builders/SdCliNgLibraryBuilder.js +0 -217
  61. package/dist-node/builders/SdCliNgLibraryBuilder.js.map +0 -1
  62. package/dist-node/builders/SdCliPublisher.js +0 -129
  63. package/dist-node/builders/SdCliPublisher.js.map +0 -1
  64. package/dist-node/builders/SdCliServerBuilder.js +0 -452
  65. package/dist-node/builders/SdCliServerBuilder.js.map +0 -1
  66. package/dist-node/builders/SdCliTypescriptBuilder.js +0 -347
  67. package/dist-node/builders/SdCliTypescriptBuilder.js.map +0 -1
  68. package/dist-node/commons.js +0 -3
  69. package/dist-node/commons.js.map +0 -1
  70. package/dist-node/entry-points/SdCliLocalUpdater.js +0 -88
  71. package/dist-node/entry-points/SdCliLocalUpdater.js.map +0 -1
  72. package/dist-node/entry-points/SdCliPrepare.js +0 -56
  73. package/dist-node/entry-points/SdCliPrepare.js.map +0 -1
  74. package/dist-node/entry-points/SdCliProject.js +0 -302
  75. package/dist-node/entry-points/SdCliProject.js.map +0 -1
  76. package/dist-node/packages/SdCliClientPackage.js +0 -91
  77. package/dist-node/packages/SdCliClientPackage.js.map +0 -1
  78. package/dist-node/packages/SdCliLibraryPackage.js +0 -99
  79. package/dist-node/packages/SdCliLibraryPackage.js.map +0 -1
  80. package/dist-node/packages/SdCliPackageBase.js +0 -33
  81. package/dist-node/packages/SdCliPackageBase.js.map +0 -1
  82. package/dist-node/packages/SdCliServerPackage.js +0 -69
  83. package/dist-node/packages/SdCliServerPackage.js.map +0 -1
  84. package/dist-node/packages/SdCliUnknownPackage.js +0 -15
  85. package/dist-node/packages/SdCliUnknownPackage.js.map +0 -1
  86. package/dist-node/utils/SdCliFileCrypto.js +0 -76
  87. package/dist-node/utils/SdCliFileCrypto.js.map +0 -1
  88. package/dist-node/utils/SdProjectConfigUtil.js +0 -62
  89. package/dist-node/utils/SdProjectConfigUtil.js.map +0 -1
  90. package/dist-node/utils/SdTsDiagnosticUtil.js +0 -45
  91. package/dist-node/utils/SdTsDiagnosticUtil.js.map +0 -1
  92. package/dist-node/utils/SdWebpackUtil.js +0 -63
  93. package/dist-node/utils/SdWebpackUtil.js.map +0 -1
  94. package/dist-node/workers/client-ng-gen-worker.js +0 -57
  95. package/dist-node/workers/client-ng-gen-worker.js.map +0 -1
  96. package/dist-node/workers/lib-build-worker.js +0 -88
  97. package/dist-node/workers/lib-build-worker.js.map +0 -1
  98. package/dist-types/bin/sd-cli.d.ts +0 -3
  99. package/dist-types/bin/sd-cli.d.ts.map +0 -1
  100. package/dist-types/build-tools/SdCliCordova.d.ts +0 -15
  101. package/dist-types/build-tools/SdCliCordova.d.ts.map +0 -1
  102. package/dist-types/build-tools/SdCliIndexFileGenerator.d.ts +0 -13
  103. package/dist-types/build-tools/SdCliIndexFileGenerator.d.ts.map +0 -1
  104. package/dist-types/build-tools/SdCliNgModuleFilesGenerator.d.ts +0 -43
  105. package/dist-types/build-tools/SdCliNgModuleFilesGenerator.d.ts.map +0 -1
  106. package/dist-types/build-tools/metadata/SdAotMetadataReader.d.ts +0 -58
  107. package/dist-types/build-tools/metadata/SdAotMetadataReader.d.ts.map +0 -1
  108. package/dist-types/build-tools/metadata/SdIvyMetadataReader.d.ts +0 -43
  109. package/dist-types/build-tools/metadata/SdIvyMetadataReader.d.ts.map +0 -1
  110. package/dist-types/build-tools/metadata/SdMetadataError.d.ts +0 -7
  111. package/dist-types/build-tools/metadata/SdMetadataError.d.ts.map +0 -1
  112. package/dist-types/build-tools/metadata/SdMyMetadataReader.d.ts +0 -59
  113. package/dist-types/build-tools/metadata/SdMyMetadataReader.d.ts.map +0 -1
  114. package/dist-types/builders/SdCliJavascriptLinter.d.ts +0 -14
  115. package/dist-types/builders/SdCliJavascriptLinter.d.ts.map +0 -1
  116. package/dist-types/builders/SdCliNgClientBuilder.d.ts +0 -29
  117. package/dist-types/builders/SdCliNgClientBuilder.d.ts.map +0 -1
  118. package/dist-types/builders/SdCliNgLibraryBuilder.d.ts +0 -30
  119. package/dist-types/builders/SdCliNgLibraryBuilder.d.ts.map +0 -1
  120. package/dist-types/builders/SdCliPublisher.d.ts +0 -9
  121. package/dist-types/builders/SdCliPublisher.d.ts.map +0 -1
  122. package/dist-types/builders/SdCliServerBuilder.d.ts +0 -31
  123. package/dist-types/builders/SdCliServerBuilder.d.ts.map +0 -1
  124. package/dist-types/builders/SdCliTypescriptBuilder.d.ts +0 -56
  125. package/dist-types/builders/SdCliTypescriptBuilder.d.ts.map +0 -1
  126. package/dist-types/commons.d.ts +0 -134
  127. package/dist-types/commons.d.ts.map +0 -1
  128. package/dist-types/entry-points/SdCliLocalUpdater.d.ts +0 -12
  129. package/dist-types/entry-points/SdCliLocalUpdater.d.ts.map +0 -1
  130. package/dist-types/entry-points/SdCliPrepare.d.ts +0 -6
  131. package/dist-types/entry-points/SdCliPrepare.d.ts.map +0 -1
  132. package/dist-types/entry-points/SdCliProject.d.ts +0 -32
  133. package/dist-types/entry-points/SdCliProject.d.ts.map +0 -1
  134. package/dist-types/packages/SdCliClientPackage.d.ts +0 -17
  135. package/dist-types/packages/SdCliClientPackage.d.ts.map +0 -1
  136. package/dist-types/packages/SdCliLibraryPackage.d.ts +0 -20
  137. package/dist-types/packages/SdCliLibraryPackage.d.ts.map +0 -1
  138. package/dist-types/packages/SdCliPackageBase.d.ts +0 -11
  139. package/dist-types/packages/SdCliPackageBase.d.ts.map +0 -1
  140. package/dist-types/packages/SdCliServerPackage.d.ts +0 -16
  141. package/dist-types/packages/SdCliServerPackage.d.ts.map +0 -1
  142. package/dist-types/packages/SdCliUnknownPackage.d.ts +0 -9
  143. package/dist-types/packages/SdCliUnknownPackage.d.ts.map +0 -1
  144. package/dist-types/utils/SdCliFileCrypto.d.ts +0 -8
  145. package/dist-types/utils/SdCliFileCrypto.d.ts.map +0 -1
  146. package/dist-types/utils/SdProjectConfigUtil.d.ts +0 -7
  147. package/dist-types/utils/SdProjectConfigUtil.d.ts.map +0 -1
  148. package/dist-types/utils/SdTsDiagnosticUtil.d.ts +0 -6
  149. package/dist-types/utils/SdTsDiagnosticUtil.d.ts.map +0 -1
  150. package/dist-types/utils/SdWebpackUtil.d.ts +0 -7
  151. package/dist-types/utils/SdWebpackUtil.d.ts.map +0 -1
  152. package/dist-types/workers/client-ng-gen-worker.d.ts +0 -2
  153. package/dist-types/workers/client-ng-gen-worker.d.ts.map +0 -1
  154. package/dist-types/workers/lib-build-worker.d.ts +0 -2
  155. package/dist-types/workers/lib-build-worker.d.ts.map +0 -1
  156. package/schema/schema.json +0 -447
  157. package/sd-tsconfig.node.json +0 -18
  158. package/src/build-tools/SdCliCordova.ts +0 -240
  159. package/src/build-tools/SdCliIndexFileGenerator.ts +0 -61
  160. package/src/build-tools/SdCliNgModuleFilesGenerator.ts +0 -894
  161. package/src/build-tools/metadata/SdAotMetadataReader.ts +0 -374
  162. package/src/build-tools/metadata/SdIvyMetadataReader.ts +0 -183
  163. package/src/build-tools/metadata/SdMetadataError.ts +0 -7
  164. package/src/build-tools/metadata/SdMyMetadataReader.ts +0 -407
  165. package/src/builders/SdCliJavascriptLinter.ts +0 -81
  166. package/src/builders/SdCliNgClientBuilder.ts +0 -793
  167. package/src/builders/SdCliNgLibraryBuilder.ts +0 -301
  168. package/src/builders/SdCliPublisher.ts +0 -144
  169. package/src/builders/SdCliServerBuilder.ts +0 -555
  170. package/src/builders/SdCliTypescriptBuilder.ts +0 -552
  171. package/src/entry-points/SdCliLocalUpdater.ts +0 -114
  172. package/src/entry-points/SdCliPrepare.ts +0 -104
  173. package/src/entry-points/SdCliProject.ts +0 -405
  174. package/src/packages/SdCliClientPackage.ts +0 -111
  175. package/src/packages/SdCliLibraryPackage.ts +0 -118
  176. package/src/packages/SdCliPackageBase.ts +0 -34
  177. package/src/packages/SdCliServerPackage.ts +0 -85
  178. package/src/packages/SdCliUnknownPackage.ts +0 -14
  179. package/src/utils/SdCliFileCrypto.ts +0 -87
  180. package/src/utils/SdCliUtils.ts +0 -56
  181. package/src/utils/SdProjectConfigUtil.ts +0 -145
  182. package/src/utils/SdTsDiagnosticUtil.ts +0 -46
  183. package/src/utils/SdWebpackUtil.ts +0 -71
  184. package/src/workers/client-ng-gen-worker.ts +0 -63
  185. package/src/workers/lib-build-worker.ts +0 -97
@@ -1,347 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdCliTypescriptBuilder = void 0;
4
- const ts = require("typescript");
5
- const sd_core_node_1 = require("@simplysm/sd-core-node");
6
- const sd_core_common_1 = require("@simplysm/sd-core-common");
7
- const events_1 = require("events");
8
- const path = require("path");
9
- const SdTsDiagnosticUtil_1 = require("../utils/SdTsDiagnosticUtil");
10
- const eslint_1 = require("eslint");
11
- const crypto_1 = require("crypto");
12
- const SdCliIndexFileGenerator_1 = require("../build-tools/SdCliIndexFileGenerator");
13
- class SdCliTypescriptBuilder extends events_1.EventEmitter {
14
- constructor(rootPath, tsconfigFilePath, skipProcesses, autoIndexConfig) {
15
- super();
16
- this.rootPath = rootPath;
17
- this.tsconfigFilePath = tsconfigFilePath;
18
- this.autoIndexConfig = autoIndexConfig;
19
- this._fileCache = new Map();
20
- this.skipProcesses = skipProcesses;
21
- this._tsconfig = sd_core_node_1.FsUtil.readJson(this.tsconfigFilePath);
22
- this.npmConfig = sd_core_node_1.FsUtil.readJson(path.resolve(this.rootPath, "package.json"));
23
- this._logger = sd_core_node_1.Logger.get(["simplysm", "sd-cli", this.constructor.name, this.npmConfig.name]);
24
- if (this.autoIndexConfig) {
25
- this._indexFileGenerator = new SdCliIndexFileGenerator_1.SdCliIndexFileGenerator(this.rootPath, this.autoIndexConfig);
26
- }
27
- }
28
- on(event, listener) {
29
- return super.on(event, listener);
30
- }
31
- async buildAsync(watch) {
32
- this.emit("change");
33
- const parsedTsconfig = ts.parseJsonConfigFileContent(this._tsconfig, ts.sys, this.rootPath);
34
- await sd_core_node_1.FsUtil.removeAsync(parsedTsconfig.options.outDir);
35
- if (parsedTsconfig.options.declarationDir !== undefined) {
36
- await sd_core_node_1.FsUtil.removeAsync(parsedTsconfig.options.declarationDir);
37
- }
38
- const buildResult = [];
39
- const reloadProgramResult = await this.reloadProgramAsync(watch);
40
- buildResult.push(...reloadProgramResult.result);
41
- const buildGenAdditionalResult = await this.generateAdditionalFilesAsync(reloadProgramResult.dirtyFilePaths, watch);
42
- buildResult.push(...buildGenAdditionalResult.result);
43
- reloadProgramResult.dirtyFilePaths.push(...buildGenAdditionalResult.dirtyFilePaths);
44
- if (!watch) {
45
- const buildDoAllResults = await this.doAllAsync(reloadProgramResult.dirtyFilePaths.distinct());
46
- buildResult.push(...buildDoAllResults);
47
- this.emit("complete", buildResult.distinct());
48
- return;
49
- }
50
- const resultMap = new Map();
51
- const watchPaths = this.getWatchPaths();
52
- this._watcher = new sd_core_node_1.SdFsWatcher();
53
- this._watcher
54
- .onChange(async (changeInfos) => {
55
- try {
56
- const changedFilePaths = changeInfos
57
- .map((item) => sd_core_node_1.PathUtil.posix(item.filePath))
58
- .filter((item) => path.basename(item).includes("."))
59
- .distinct();
60
- if (changedFilePaths.length === 0)
61
- return;
62
- this.emit("change");
63
- const reloadChangedProgramResult = await this.reloadChangedProgramAsync(changedFilePaths, watch);
64
- const watchDirtyFilePaths = reloadChangedProgramResult.dirtyFilePaths;
65
- if (watchDirtyFilePaths.length === 0) {
66
- this.emit("complete", Array.from(resultMap.values()).mapMany());
67
- return;
68
- }
69
- const watchGenAdditionalResult = await this.generateAdditionalFilesAsync([...changedFilePaths, ...watchDirtyFilePaths], watch);
70
- watchDirtyFilePaths.push(...watchGenAdditionalResult.dirtyFilePaths);
71
- watchDirtyFilePaths.distinctThis();
72
- const watchDoAllResults = await this.doAllAsync(watchDirtyFilePaths);
73
- resultMap.delete("undefined");
74
- for (const dirtyFilePath of watchDirtyFilePaths) {
75
- resultMap.delete(dirtyFilePath);
76
- }
77
- const result = [...reloadChangedProgramResult.result, ...watchGenAdditionalResult.result, ...watchDoAllResults].distinct();
78
- for (const resultItem of result) {
79
- const posixFilePath = resultItem.filePath !== undefined ? sd_core_node_1.PathUtil.posix(resultItem.filePath) : "undefined";
80
- const resultMapValue = resultMap.getOrCreate(posixFilePath, []);
81
- resultMapValue.push(resultItem);
82
- }
83
- this.emit("complete", Array.from(resultMap.values()).mapMany());
84
- }
85
- catch (err) {
86
- if (err instanceof Error) {
87
- this.emit("complete", [{
88
- filePath: undefined,
89
- severity: "error",
90
- message: err.stack ?? err.message
91
- }]);
92
- }
93
- else {
94
- throw err;
95
- }
96
- }
97
- })
98
- .watch(watchPaths);
99
- const buildDoAllResults = await this.doAllAsync(reloadProgramResult.dirtyFilePaths.distinct());
100
- buildResult.push(...buildDoAllResults);
101
- buildResult.distinctThis();
102
- for (const buildResultItem of buildResult) {
103
- const posixFilePath = buildResultItem.filePath !== undefined ? sd_core_node_1.PathUtil.posix(buildResultItem.filePath) : "undefined";
104
- const resultMapValue = resultMap.getOrCreate(posixFilePath, []);
105
- resultMapValue.push(buildResultItem);
106
- resultMapValue.distinctThis();
107
- }
108
- this.emit("complete", Array.from(resultMap.values()).mapMany());
109
- }
110
- async generateAdditionalFilesAsync(dirtyFilePaths, watch) {
111
- return await this._generateIndexFileAsync(watch);
112
- }
113
- async _generateIndexFileAsync(watch) {
114
- this._logger.debug("index.ts 생성");
115
- const result = { dirtyFilePaths: [], result: [] };
116
- if (!this.skipProcesses.includes("genIndex") && this._indexFileGenerator && this.autoIndexConfig) {
117
- const generateResult = await this._indexFileGenerator.generateAsync();
118
- result.result.push(...generateResult.result);
119
- if (generateResult.changed) {
120
- const reloadChangedProgramResult = await this.reloadChangedProgramAsync([this._indexFileGenerator.indexFilePath], watch);
121
- result.dirtyFilePaths = reloadChangedProgramResult.dirtyFilePaths;
122
- result.result.push(...reloadChangedProgramResult.result);
123
- }
124
- }
125
- this._logger.debug("index.ts 생성 결과", result);
126
- return result;
127
- }
128
- _reloadWatchPaths() {
129
- if (this._watcher) {
130
- this._watcher.replaceWatchPaths(this.getWatchPaths());
131
- }
132
- }
133
- async doAllAsync(dirtyFilePaths) {
134
- return (await Promise.all([
135
- this._runProgramAsync(dirtyFilePaths),
136
- this._lintAsync(dirtyFilePaths)
137
- ])).mapMany();
138
- }
139
- async _lintAsync(dirtyFilePaths) {
140
- if (!this.skipProcesses.includes("lint")) {
141
- this._logger.debug("LINT");
142
- const linter = new eslint_1.ESLint({
143
- overrideConfig: {
144
- overrides: [
145
- {
146
- files: ["*.ts"],
147
- parserOptions: {
148
- program: this._program
149
- },
150
- settings: {
151
- "import/resolver": {
152
- typescript: {
153
- project: this.tsconfigFilePath
154
- }
155
- }
156
- }
157
- }
158
- ]
159
- }
160
- });
161
- const filePaths = await dirtyFilePaths
162
- .filterAsync(async (item) => (!item.includes("node_modules")
163
- && sd_core_node_1.PathUtil.isChildPath(item, this.rootPath)
164
- && sd_core_node_1.FsUtil.exists(item)
165
- && !sd_core_node_1.FsUtil.isDirectory(item)
166
- && Boolean(this._program?.getSourceFiles().some((item1) => sd_core_node_1.PathUtil.posix(item1.fileName) === sd_core_node_1.PathUtil.posix(item)))
167
- && !await linter.isPathIgnored(item)));
168
- const lintResults = await linter.lintFiles(filePaths);
169
- const result = lintResults.mapMany((report) => (report.messages.map((msg) => {
170
- const severity = msg.severity === 1 ? "warning" : "error";
171
- return {
172
- type: "lint",
173
- filePath: report.filePath,
174
- severity,
175
- message: `${report.filePath}(${msg.line}, ${msg.column}): ${msg.ruleId ?? ""}: ${severity} ${msg.message}`
176
- };
177
- })));
178
- this._logger.debug("LINT 결과", result);
179
- return result;
180
- }
181
- return [];
182
- }
183
- getWatchPaths() {
184
- const result = [];
185
- for (const sourceFile of this._builder.getSourceFiles()) {
186
- result.push(sourceFile.fileName);
187
- }
188
- return result.map((item) => sd_core_node_1.PathUtil.posix(path.dirname(item))).filter((item) => sd_core_node_1.FsUtil.exists(item)).distinct();
189
- }
190
- _deleteFileCaches(filePaths) {
191
- for (const filePath of filePaths) {
192
- this._fileCache.delete(filePath);
193
- }
194
- }
195
- async _runProgramAsync(dirtyFilePaths) {
196
- this._logger.debug("빌드");
197
- if (!this._builder)
198
- throw new sd_core_common_1.NeverEntryError();
199
- const diagnostics = [];
200
- if (!this.skipProcesses.includes("check")) {
201
- diagnostics.push(...this._builder.getOptionsDiagnostics(), ...this._builder.getGlobalDiagnostics());
202
- for (const sourceFile of this._builder.getSourceFiles()) {
203
- if (sourceFile.isDeclarationFile)
204
- continue;
205
- diagnostics.push(...this._builder.getSyntacticDiagnostics(sourceFile), ...this._builder.getSemanticDiagnostics(sourceFile));
206
- }
207
- }
208
- if (!this.skipProcesses.includes("emit")) {
209
- for (const dirtyFilePath of dirtyFilePaths) {
210
- const sourceFile = this._builder.getSourceFile(dirtyFilePath);
211
- if (!sourceFile)
212
- continue;
213
- if (sourceFile.isDeclarationFile)
214
- continue;
215
- this._builder.emit(sourceFile);
216
- }
217
- }
218
- const result = diagnostics.map((item) => SdTsDiagnosticUtil_1.SdTsDiagnosticUtil.convertDiagnosticsToResult(item)).filterExists();
219
- this._logger.debug("빌드", result);
220
- return result;
221
- }
222
- async reloadChangedProgramAsync(changedFilePaths, watch) {
223
- this._logger.debug("변경 프로그램 리로드", changedFilePaths);
224
- this._deleteFileCaches(changedFilePaths);
225
- const reloadProgramResult = await this.reloadProgramAsync(watch);
226
- if (reloadProgramResult.dirtyFilePaths.length > 0 && watch) {
227
- this._reloadWatchPaths();
228
- }
229
- this._logger.debug("변경 프로그램 리로드 결과", reloadProgramResult.dirtyFilePaths);
230
- return reloadProgramResult;
231
- }
232
- getParsedTsconfig() {
233
- return ts.parseJsonConfigFileContent(this._tsconfig, ts.sys, this.rootPath);
234
- }
235
- configProgram(parsedTsconfig) {
236
- this._program = ts.createProgram(parsedTsconfig.fileNames, parsedTsconfig.options, this._cacheCompilerHost, this._program);
237
- }
238
- getSemanticDiagnosticsOfNextAffectedFiles() {
239
- const builder = this._builder;
240
- const result = builder.getSemanticDiagnosticsOfNextAffectedFile();
241
- if (result && "fileName" in result.affected) {
242
- return [result.affected.fileName];
243
- }
244
- if (!result) {
245
- return undefined;
246
- }
247
- return [];
248
- }
249
- async reloadProgramAsync(watch) {
250
- this._logger.debug("프로그램 리로드");
251
- const parsedTsconfig = this.getParsedTsconfig();
252
- this._moduleResolutionCache = ts.createModuleResolutionCache(this.rootPath, (s) => s, parsedTsconfig.options);
253
- this._cacheCompilerHost = await this._createCacheCompilerHostAsync(parsedTsconfig, this._moduleResolutionCache);
254
- this.configProgram(parsedTsconfig);
255
- const baseGetSourceFiles = this._program.getSourceFiles;
256
- this._program.getSourceFiles = function (...parameters) {
257
- const files = baseGetSourceFiles(...parameters);
258
- for (const file of files) {
259
- if (file.version === undefined) {
260
- file.version = crypto_1.createHash("sha256").update(file.text).digest("hex");
261
- }
262
- }
263
- return files;
264
- };
265
- if (watch) {
266
- if (this.skipProcesses.includes("emit")) {
267
- this._builder = ts.createSemanticDiagnosticsBuilderProgram(this._program, this._cacheCompilerHost, this._builder);
268
- }
269
- else {
270
- this._builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(this._program, this._cacheCompilerHost, this._builder);
271
- }
272
- const buildResults = [];
273
- let seq = 0;
274
- const affectedFilePathSet = new Set();
275
- while (true) {
276
- if (process.env.SD_CLI_LOGGER_SEVERITY === "DEBUG") {
277
- this._logger.debug(`프로그램 리로드 > 변경파일 목록구성: [SEQ: ${++seq}]`);
278
- }
279
- const affectedFilePaths = this.getSemanticDiagnosticsOfNextAffectedFiles();
280
- if (affectedFilePaths) {
281
- if (affectedFilePaths.length > 0) {
282
- affectedFilePathSet.adds(...affectedFilePaths.distinct());
283
- }
284
- if (process.env.SD_CLI_LOGGER_SEVERITY === "DEBUG") {
285
- this._logger.debug(`프로그램 리로드 > 변경파일 목록구성: [SEQ: ${seq}, SIZE:${affectedFilePathSet.size}]\n` + affectedFilePaths.map((item) => "- " + item).join("\n"));
286
- }
287
- }
288
- else {
289
- break;
290
- }
291
- }
292
- const dirtyFilePaths = Array.from(affectedFilePathSet.values());
293
- this._logger.debug("프로그램 리로드 결과", dirtyFilePaths);
294
- return { dirtyFilePaths, result: buildResults };
295
- }
296
- else {
297
- this._builder = ts.createAbstractBuilder(this._program, this._cacheCompilerHost);
298
- const dirtyFilePaths = this._builder.getSourceFiles().map((item) => item.fileName).distinct();
299
- this._logger.debug("프로그램 리로드 결과", dirtyFilePaths);
300
- return { dirtyFilePaths, result: [] };
301
- }
302
- }
303
- async _createCacheCompilerHostAsync(parsedTsconfig, moduleResolutionCache) {
304
- const compilerHost = ts.createIncrementalCompilerHost(parsedTsconfig.options);
305
- const cacheCompilerHost = { ...compilerHost };
306
- cacheCompilerHost.fileExists = (fileName) => {
307
- const cache = this._fileCache.getOrCreate(sd_core_node_1.PathUtil.posix(fileName), {});
308
- if (cache.exists === undefined) {
309
- cache.exists = compilerHost.fileExists.call(cacheCompilerHost, fileName);
310
- }
311
- return cache.exists;
312
- };
313
- cacheCompilerHost.getSourceFile = (fileName, languageVersion) => {
314
- const cache = this._fileCache.getOrCreate(sd_core_node_1.PathUtil.posix(fileName), {});
315
- if (!cache.sourceFile) {
316
- cache.sourceFile = compilerHost.getSourceFile.call(cacheCompilerHost, fileName, languageVersion);
317
- }
318
- return cache.sourceFile;
319
- };
320
- cacheCompilerHost.writeFile = (fileName, data, writeByteOrderMark, onError, sourceFiles) => {
321
- if (sourceFiles) {
322
- sourceFiles.forEach((source) => {
323
- const cache = this._fileCache.getOrCreate(sd_core_node_1.PathUtil.posix(source.fileName), {});
324
- cache.distFilePaths = (cache.distFilePaths ?? []).concat([sd_core_node_1.PathUtil.posix(fileName)]).distinct();
325
- });
326
- }
327
- if (!sd_core_node_1.FsUtil.exists(fileName) || sd_core_node_1.FsUtil.readFile(fileName) !== data) {
328
- compilerHost.writeFile.call(cacheCompilerHost, fileName, data, writeByteOrderMark, onError, sourceFiles);
329
- }
330
- };
331
- cacheCompilerHost.readFile = (fileName) => {
332
- const cache = this._fileCache.getOrCreate(sd_core_node_1.PathUtil.posix(fileName), {});
333
- if (cache.content === undefined) {
334
- cache.content = compilerHost.readFile.call(cacheCompilerHost, fileName);
335
- }
336
- return cache.content;
337
- };
338
- cacheCompilerHost.resolveModuleNames = (moduleNames, containingFile) => {
339
- return moduleNames.map((moduleName) => {
340
- return ts.resolveModuleName(moduleName, containingFile, parsedTsconfig.options, compilerHost, moduleResolutionCache).resolvedModule;
341
- });
342
- };
343
- return cacheCompilerHost;
344
- }
345
- }
346
- exports.SdCliTypescriptBuilder = SdCliTypescriptBuilder;
347
- //# sourceMappingURL=SdCliTypescriptBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SdCliTypescriptBuilder.js","sourceRoot":"","sources":["../../src/builders/SdCliTypescriptBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=commons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commons.js","sourceRoot":"","sources":["../src/commons.ts"],"names":[],"mappings":""}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdCliLocalUpdater = void 0;
4
- const sd_core_node_1 = require("@simplysm/sd-core-node");
5
- const SdProjectConfigUtil_1 = require("../utils/SdProjectConfigUtil");
6
- const path = require("path");
7
- class SdCliLocalUpdater {
8
- constructor(_rootPath) {
9
- this._rootPath = _rootPath;
10
- this._logger = sd_core_node_1.Logger.get(["simplysm", "sd-cli", this.constructor.name]);
11
- }
12
- async localUpdateAsync(watch, opt) {
13
- this._logger.debug("프로젝트 설정 가져오기...");
14
- const config = await SdProjectConfigUtil_1.SdProjectConfigUtil.loadConfigAsync(this._rootPath, watch, undefined, opt?.config);
15
- if (config.localUpdates) {
16
- const updatePathInfos = await this._getUpdatePathInfosAsync(config.localUpdates);
17
- if (watch) {
18
- const watchPaths = (await updatePathInfos.mapManyAsync(async (item) => await this._getWatchPathsAsync(item.source))).distinct();
19
- const watcher = new sd_core_node_1.SdFsWatcher();
20
- watcher
21
- .onChange(async (changedInfos) => {
22
- this._logger.log("로컬 라이브러리 변경감지...");
23
- const watchPaths2 = (await updatePathInfos.mapManyAsync(async (item) => await this._getWatchPathsAsync(item.source))).distinct();
24
- watcher.replaceWatchPaths(watchPaths2);
25
- const changedFilePaths = changedInfos.map((item) => item.filePath).distinct();
26
- for (const changedFilePath of changedFilePaths) {
27
- if (changedFilePath.includes("node_modules") || changedFilePath.endsWith("package.json")) {
28
- continue;
29
- }
30
- const currentUpdatePathInfos = updatePathInfos.filter((item) => sd_core_node_1.PathUtil.isChildPath(changedFilePath, item.source));
31
- const targetFilePaths = currentUpdatePathInfos.map((item) => path.resolve(item.target, path.relative(item.source, changedFilePath)));
32
- if (sd_core_node_1.FsUtil.exists(changedFilePath)) {
33
- this._logger.debug(`변경파일감지(복사): ${changedFilePath}`);
34
- for (const targetFilePath of targetFilePaths) {
35
- await sd_core_node_1.FsUtil.copyAsync(changedFilePath, targetFilePath);
36
- }
37
- }
38
- }
39
- this._logger.info("로컬 라이브러리 변경감지 및 복사 완료");
40
- })
41
- .watch(watchPaths);
42
- }
43
- else {
44
- this._logger.log("로컬 라이브러리 업데이트 시작...");
45
- for (const updatePathInfo of updatePathInfos) {
46
- await this._runAsync(updatePathInfo);
47
- }
48
- this._logger.info("로컬 라이브러리 업데이트 완료");
49
- }
50
- }
51
- }
52
- async _runAsync(updatePath) {
53
- if (!sd_core_node_1.FsUtil.exists(updatePath.source)) {
54
- this._logger.warn(`소스경로를 찾을 수 없어 무시됩니다(${updatePath.source})`);
55
- return;
56
- }
57
- await sd_core_node_1.FsUtil.copyAsync(updatePath.source, updatePath.target, (src) => {
58
- return !src.includes("node_modules") && !src.endsWith("package.json");
59
- });
60
- }
61
- async _getWatchPathsAsync(updateSourcePath) {
62
- return (await sd_core_node_1.FsUtil.globAsync(path.resolve(updateSourcePath, "**")))
63
- .filter((item) => (!item.includes("node_modules")
64
- && sd_core_node_1.FsUtil.exists(item)
65
- && sd_core_node_1.FsUtil.isDirectory(item)));
66
- }
67
- async _getUpdatePathInfosAsync(record) {
68
- return (await Object.keys(record).parallelAsync(async (packageGlobPath) => {
69
- const targetPaths = await sd_core_node_1.FsUtil.globAsync(path.resolve(process.cwd(), "node_modules", packageGlobPath));
70
- return targetPaths
71
- .map((targetPath) => {
72
- const regexpText = packageGlobPath.replace(/[\\/.*]/g, (item) => (item === "/" ? "[\\\\\\/]"
73
- : item === "." ? "\\."
74
- : item === "*" ? "(.*)"
75
- : item));
76
- const targetNameMatch = new RegExp(regexpText).exec(targetPath);
77
- if (!targetNameMatch || typeof targetNameMatch[1] === "undefined")
78
- return undefined;
79
- const targetName = targetNameMatch[1];
80
- const sourcePath = path.resolve(record[packageGlobPath].replace(/\*/g, targetName));
81
- return { source: sourcePath, target: targetPath };
82
- })
83
- .filterExists();
84
- })).mapMany();
85
- }
86
- }
87
- exports.SdCliLocalUpdater = SdCliLocalUpdater;
88
- //# sourceMappingURL=SdCliLocalUpdater.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SdCliLocalUpdater.js","sourceRoot":"","sources":["../../src/entry-points/SdCliLocalUpdater.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdCliPrepare = void 0;
4
- const sd_core_node_1 = require("@simplysm/sd-core-node");
5
- class SdCliPrepare {
6
- constructor() {
7
- this._logger = sd_core_node_1.Logger.get(["simplysm", "sd-cli", this.constructor.name]);
8
- }
9
- async prepareAsync() {
10
- const r1 = await this._modifyTypescriptCodeForTypeCheckPerformanceWarning();
11
- this._logger.log(`[모듈수정] 타입체크 속도 지연 메시지 추가 (${r1 ? "O" : "X"})`);
12
- }
13
- async _modifyTypescriptCodeForTypeCheckPerformanceWarning() {
14
- const filePath = require.resolve("typescript");
15
- const fileContent = await sd_core_node_1.FsUtil.readFileAsync(filePath);
16
- const modifiedFileContent = fileContent.replace(`
17
- function checkSourceElement(node) {
18
- if (node) {
19
- var saveCurrentNode = currentNode;
20
- currentNode = node;
21
- instantiationCount = 0;
22
- checkSourceElementWorker(node);
23
- currentNode = saveCurrentNode;
24
- }
25
- }`, `
26
- function checkSourceElement(node) {
27
- if (node) {
28
- const prevUsage = process.cpuUsage();
29
-
30
- var saveCurrentNode = currentNode;
31
- currentNode = node;
32
- instantiationCount = 0;
33
- checkSourceElementWorker(node);
34
- currentNode = saveCurrentNode;
35
-
36
- const usage = process.cpuUsage(prevUsage);
37
- if (node.hasChildPerformanceWarning) {
38
- node.parent.hasChildPerformanceWarning = true;
39
- }
40
- else if (usage.user + usage.system > 2000 * 1000 && node.kind !== 253) {
41
- error(node, {
42
- code: 9000,
43
- category: ts.DiagnosticCategory.Warning,
44
- key: "simplysm_check_source_element_performance_slow",
45
- message: "소스코드 타입분석에 너무 오랜 시간이 소요됩니다. [" + Math.round((usage.user + usage.system) / 1000) + "ms/cpu, KIND: " + node.kind + "]"
46
- });
47
- node.parent.hasChildPerformanceWarning = true;
48
- }
49
- }
50
- }`);
51
- await sd_core_node_1.FsUtil.writeFileAsync(filePath, modifiedFileContent);
52
- return fileContent !== modifiedFileContent;
53
- }
54
- }
55
- exports.SdCliPrepare = SdCliPrepare;
56
- //# sourceMappingURL=SdCliPrepare.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SdCliPrepare.js","sourceRoot":"","sources":["../../src/entry-points/SdCliPrepare.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AAExD,MAAa,YAAY;IAAzB;QACmB,YAAO,GAAG,qBAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAoGvF,CAAC;IAlGQ,KAAK,CAAC,YAAY;QAEvB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mDAAmD,EAAE,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAcnE,CAAC;IAEO,KAAK,CAAC,mDAAmD;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,qBAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,CAAC;;;;;;;;;UAS1C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;UAyBF,CAAC,CAAC;QACR,MAAM,qBAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAC3D,OAAO,WAAW,KAAK,mBAAmB,CAAC;IAC7C,CAAC;CAuCF;AArGD,oCAqGC"}