@simplysm/sd-cli 12.13.21 → 12.13.23

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 (237) hide show
  1. package/package.json +12 -12
  2. package/src/entry/{sd-cli-cordova.ts → SdCliCordova.ts} +2 -2
  3. package/src/entry/{sd-cli-electron.ts → SdCliElectron.ts} +3 -3
  4. package/src/entry/{sd-cli-local-update.ts → SdCliLocalUpdate.ts} +6 -4
  5. package/src/entry/{sd-cli-project.ts → SdCliProject.ts} +55 -71
  6. package/src/pkg-builders/SdProjectBuildRunner.ts +347 -0
  7. package/src/pkg-builders/client/{sd-client.build-runner.ts → SdClientBuildRunner.ts} +31 -38
  8. package/src/pkg-builders/client/{sd-ng.bundler.ts → SdNgBundler.ts} +22 -31
  9. package/src/pkg-builders/client/{sd-ng.bundler-context.ts → SdNgBundlerContext.ts} +7 -9
  10. package/src/pkg-builders/client/{sd-ng.plugin-creator.ts → createSdNgPlugin.ts} +11 -94
  11. package/src/pkg-builders/commons/{scope-path.ts → ScopePathSet.ts} +3 -3
  12. package/src/pkg-builders/commons/SdBuildRunnerBase.ts +47 -0
  13. package/src/pkg-builders/lib/{sd-cli-db-context.file-generator.ts → SdCliDbContextFileGenerator.ts} +1 -1
  14. package/src/pkg-builders/lib/{sd-js-lib.build-runner.ts → SdJsLibBuildRunner.ts} +13 -32
  15. package/src/pkg-builders/lib/SdTsLibBuildRunner.ts +47 -0
  16. package/src/pkg-builders/lib/{sd-ts-lib.builder.ts → SdTsLibBuilder.ts} +12 -14
  17. package/src/pkg-builders/server/{sd-server.build-runner.ts → SdServerBuildRunner.ts} +25 -48
  18. package/src/pkg-builders/server/{sd-server.bundler.ts → SdServerBundler.ts} +26 -23
  19. package/src/pkg-builders/server/{sd-server.plugin-creator.ts → createSdServerPlugin.ts} +9 -7
  20. package/src/sd-cli-entry.ts +6 -12
  21. package/src/sd-cli.ts +1 -15
  22. package/src/ts-compiler/{sd-dependency-analyzer.ts → SdDepAnalyzer.ts} +5 -9
  23. package/src/ts-compiler/{sd-dependency-cache.ts → SdDepCache.ts} +1 -137
  24. package/src/ts-compiler/{sd-style-bundler.ts → SdStyleBundler.ts} +5 -5
  25. package/src/ts-compiler/{sd-ts-compiler.ts → SdTsCompiler.ts} +17 -144
  26. package/src/types/{build.types.ts → build/ISdBuildMessage.ts} +0 -6
  27. package/src/types/build/ISdBuildResult.ts +9 -0
  28. package/src/types/build/ISdTsCompilerOptions.ts +15 -0
  29. package/src/types/build/ISdTsCompilerResult.ts +12 -0
  30. package/src/types/build/TStylesheetBundlingResult.ts +15 -0
  31. package/src/types/{common-configs.types.ts → common-config/INpmConfig.ts} +0 -6
  32. package/src/types/common-config/ITsConfig.ts +5 -0
  33. package/src/types/{config.types.ts → config/ISdProjectConfig.ts} +0 -1
  34. package/src/types/plugin/ISdCliNgPluginResultCache.ts +9 -0
  35. package/src/types/{build-plugin.types.ts → plugin/ISdCliServerPluginResultCache.ts} +0 -7
  36. package/src/types/worker/ISdBuildRunnerWorkerType.ts +24 -0
  37. package/src/types/worker/IServerWorkerType.ts +8 -0
  38. package/src/utils/{sd-cli-convert-message.utils.ts → SdCliConvertMessageUtils.ts} +6 -3
  39. package/src/{entry/utils → utils}/loadProjConfAsync.ts +10 -6
  40. package/src/workers/build-runner.worker.ts +30 -29
  41. package/src/workers/server.worker.ts +7 -7
  42. package/tests/deps/sd-dependency-analyzer.spec.ts +38 -69
  43. package/tests/deps/sd-dependency-cache.spec.ts +3 -6
  44. package/dist/entry/sd-cli-ai-command.d.ts +0 -3
  45. package/dist/entry/sd-cli-ai-command.js +0 -65
  46. package/dist/entry/sd-cli-ai-command.js.map +0 -1
  47. package/dist/entry/sd-cli-cordova.d.ts +0 -16
  48. package/dist/entry/sd-cli-cordova.js +0 -398
  49. package/dist/entry/sd-cli-cordova.js.map +0 -1
  50. package/dist/entry/sd-cli-electron.d.ts +0 -18
  51. package/dist/entry/sd-cli-electron.js +0 -129
  52. package/dist/entry/sd-cli-electron.js.map +0 -1
  53. package/dist/entry/sd-cli-local-update.d.ts +0 -11
  54. package/dist/entry/sd-cli-local-update.js +0 -84
  55. package/dist/entry/sd-cli-local-update.js.map +0 -1
  56. package/dist/entry/sd-cli-postinstall.d.ts +0 -3
  57. package/dist/entry/sd-cli-postinstall.js +0 -39
  58. package/dist/entry/sd-cli-postinstall.js.map +0 -1
  59. package/dist/entry/sd-cli-project.d.ts +0 -22
  60. package/dist/entry/sd-cli-project.js +0 -325
  61. package/dist/entry/sd-cli-project.js.map +0 -1
  62. package/dist/entry/utils/loadProjConfAsync.d.ts +0 -5
  63. package/dist/entry/utils/loadProjConfAsync.js +0 -8
  64. package/dist/entry/utils/loadProjConfAsync.js.map +0 -1
  65. package/dist/fix/convert-extends-sd-modal-base-to-interface.d.ts +0 -1
  66. package/dist/fix/convert-extends-sd-modal-base-to-interface.js +0 -289
  67. package/dist/fix/convert-extends-sd-modal-base-to-interface.js.map +0 -1
  68. package/dist/fix/convert-extends-sd-print-template-base-to-interface.d.ts +0 -1
  69. package/dist/fix/convert-extends-sd-print-template-base-to-interface.js +0 -179
  70. package/dist/fix/convert-extends-sd-print-template-base-to-interface.js.map +0 -1
  71. package/dist/fix/convert-flat-pages-to-flat-menus.d.ts +0 -1
  72. package/dist/fix/convert-flat-pages-to-flat-menus.js +0 -68
  73. package/dist/fix/convert-flat-pages-to-flat-menus.js.map +0 -1
  74. package/dist/fix/convert-get-menus-to-usable-menus.d.ts +0 -1
  75. package/dist/fix/convert-get-menus-to-usable-menus.js +0 -48
  76. package/dist/fix/convert-get-menus-to-usable-menus.js.map +0 -1
  77. package/dist/fix/convert-modal-show-params.d.ts +0 -1
  78. package/dist/fix/convert-modal-show-params.js +0 -29
  79. package/dist/fix/convert-modal-show-params.js.map +0 -1
  80. package/dist/fix/convert-print-params.d.ts +0 -1
  81. package/dist/fix/convert-print-params.js +0 -37
  82. package/dist/fix/convert-print-params.js.map +0 -1
  83. package/dist/fix/convert-private-to-hash.d.ts +0 -1
  84. package/dist/fix/convert-private-to-hash.js +0 -59
  85. package/dist/fix/convert-private-to-hash.js.map +0 -1
  86. package/dist/fix/convert-sd-angular-symbol-names.d.ts +0 -1
  87. package/dist/fix/convert-sd-angular-symbol-names.js +0 -23
  88. package/dist/fix/convert-sd-angular-symbol-names.js.map +0 -1
  89. package/dist/fix/convert-sd-icon-to-fa-icon.d.ts +0 -1
  90. package/dist/fix/convert-sd-icon-to-fa-icon.js +0 -80
  91. package/dist/fix/convert-sd-icon-to-fa-icon.js.map +0 -1
  92. package/dist/fix/convert-sd-sheet-bindings-safety.d.ts +0 -1
  93. package/dist/fix/convert-sd-sheet-bindings-safety.js +0 -57
  94. package/dist/fix/convert-sd-sheet-bindings-safety.js.map +0 -1
  95. package/dist/fix/convert-select-modal-button-to-select-button.d.ts +0 -1
  96. package/dist/fix/convert-select-modal-button-to-select-button.js +0 -64
  97. package/dist/fix/convert-select-modal-button-to-select-button.js.map +0 -1
  98. package/dist/fix/convert-setup-cumulate-selected-keys-to-object-param.d.ts +0 -1
  99. package/dist/fix/convert-setup-cumulate-selected-keys-to-object-param.js +0 -38
  100. package/dist/fix/convert-setup-cumulate-selected-keys-to-object-param.js.map +0 -1
  101. package/dist/fix/convert-to-use-perms-signal.d.ts +0 -1
  102. package/dist/fix/convert-to-use-perms-signal.js +0 -99
  103. package/dist/fix/convert-to-use-perms-signal.js.map +0 -1
  104. package/dist/fix/core/convert-symbol.d.ts +0 -1
  105. package/dist/fix/core/convert-symbol.js +0 -93
  106. package/dist/fix/core/convert-symbol.js.map +0 -1
  107. package/dist/fix/core/get-ts-morph-source-files.d.ts +0 -1
  108. package/dist/fix/core/get-ts-morph-source-files.js +0 -8
  109. package/dist/fix/core/get-ts-morph-source-files.js.map +0 -1
  110. package/dist/fix/core/remove-named-import.d.ts +0 -1
  111. package/dist/fix/core/remove-named-import.js +0 -14
  112. package/dist/fix/core/remove-named-import.js.map +0 -1
  113. package/dist/fix/core/remove-symbol.d.ts +0 -1
  114. package/dist/fix/core/remove-symbol.js +0 -76
  115. package/dist/fix/core/remove-symbol.js.map +0 -1
  116. package/dist/fix/remove-sd-angular-symbol-names.d.ts +0 -1
  117. package/dist/fix/remove-sd-angular-symbol-names.js +0 -9
  118. package/dist/fix/remove-sd-angular-symbol-names.js.map +0 -1
  119. package/dist/fix/remove-unused-imports.d.ts +0 -1
  120. package/dist/fix/remove-unused-imports.js +0 -42
  121. package/dist/fix/remove-unused-imports.js.map +0 -1
  122. package/dist/fix/remove-unused-injects.d.ts +0 -1
  123. package/dist/fix/remove-unused-injects.js +0 -38
  124. package/dist/fix/remove-unused-injects.js.map +0 -1
  125. package/dist/fix/remove-unused-protected-readonly.d.ts +0 -1
  126. package/dist/fix/remove-unused-protected-readonly.js +0 -52
  127. package/dist/fix/remove-unused-protected-readonly.js.map +0 -1
  128. package/dist/pkg-builders/client/sd-cli-ng-routes.file-generator.d.ts +0 -9
  129. package/dist/pkg-builders/client/sd-cli-ng-routes.file-generator.js +0 -89
  130. package/dist/pkg-builders/client/sd-cli-ng-routes.file-generator.js.map +0 -1
  131. package/dist/pkg-builders/client/sd-client.build-runner.d.ts +0 -7
  132. package/dist/pkg-builders/client/sd-client.build-runner.js +0 -119
  133. package/dist/pkg-builders/client/sd-client.build-runner.js.map +0 -1
  134. package/dist/pkg-builders/client/sd-ng.bundler-context.d.ts +0 -22
  135. package/dist/pkg-builders/client/sd-ng.bundler-context.js +0 -91
  136. package/dist/pkg-builders/client/sd-ng.bundler-context.js.map +0 -1
  137. package/dist/pkg-builders/client/sd-ng.bundler.d.ts +0 -27
  138. package/dist/pkg-builders/client/sd-ng.bundler.js +0 -489
  139. package/dist/pkg-builders/client/sd-ng.bundler.js.map +0 -1
  140. package/dist/pkg-builders/client/sd-ng.plugin-creator.d.ts +0 -13
  141. package/dist/pkg-builders/client/sd-ng.plugin-creator.js +0 -223
  142. package/dist/pkg-builders/client/sd-ng.plugin-creator.js.map +0 -1
  143. package/dist/pkg-builders/commons/build-runner.base.d.ts +0 -29
  144. package/dist/pkg-builders/commons/build-runner.base.js +0 -114
  145. package/dist/pkg-builders/commons/build-runner.base.js.map +0 -1
  146. package/dist/pkg-builders/commons/scope-path.d.ts +0 -7
  147. package/dist/pkg-builders/commons/scope-path.js +0 -14
  148. package/dist/pkg-builders/commons/scope-path.js.map +0 -1
  149. package/dist/pkg-builders/lib/sd-cli-db-context.file-generator.d.ts +0 -9
  150. package/dist/pkg-builders/lib/sd-cli-db-context.file-generator.js +0 -134
  151. package/dist/pkg-builders/lib/sd-cli-db-context.file-generator.js.map +0 -1
  152. package/dist/pkg-builders/lib/sd-cli-index.file-generator.d.ts +0 -10
  153. package/dist/pkg-builders/lib/sd-cli-index.file-generator.js +0 -61
  154. package/dist/pkg-builders/lib/sd-cli-index.file-generator.js.map +0 -1
  155. package/dist/pkg-builders/lib/sd-js-lib.build-runner.d.ts +0 -8
  156. package/dist/pkg-builders/lib/sd-js-lib.build-runner.js +0 -50
  157. package/dist/pkg-builders/lib/sd-js-lib.build-runner.js.map +0 -1
  158. package/dist/pkg-builders/lib/sd-ts-lib.build-runner.d.ts +0 -7
  159. package/dist/pkg-builders/lib/sd-ts-lib.build-runner.js +0 -41
  160. package/dist/pkg-builders/lib/sd-ts-lib.build-runner.js.map +0 -1
  161. package/dist/pkg-builders/lib/sd-ts-lib.builder.d.ts +0 -14
  162. package/dist/pkg-builders/lib/sd-ts-lib.builder.js +0 -65
  163. package/dist/pkg-builders/lib/sd-ts-lib.builder.js.map +0 -1
  164. package/dist/pkg-builders/sd-multi.build-runner.d.ts +0 -14
  165. package/dist/pkg-builders/sd-multi.build-runner.js +0 -228
  166. package/dist/pkg-builders/sd-multi.build-runner.js.map +0 -1
  167. package/dist/pkg-builders/server/sd-server.build-runner.d.ts +0 -7
  168. package/dist/pkg-builders/server/sd-server.build-runner.js +0 -264
  169. package/dist/pkg-builders/server/sd-server.build-runner.js.map +0 -1
  170. package/dist/pkg-builders/server/sd-server.bundler.d.ts +0 -22
  171. package/dist/pkg-builders/server/sd-server.bundler.js +0 -153
  172. package/dist/pkg-builders/server/sd-server.bundler.js.map +0 -1
  173. package/dist/pkg-builders/server/sd-server.plugin-creator.d.ts +0 -13
  174. package/dist/pkg-builders/server/sd-server.plugin-creator.js +0 -62
  175. package/dist/pkg-builders/server/sd-server.plugin-creator.js.map +0 -1
  176. package/dist/sd-cli-entry.d.ts +0 -2
  177. package/dist/sd-cli-entry.js +0 -263
  178. package/dist/sd-cli-entry.js.map +0 -1
  179. package/dist/sd-cli.d.ts +0 -2
  180. package/dist/sd-cli.js +0 -97
  181. package/dist/sd-cli.js.map +0 -1
  182. package/dist/ts-compiler/sd-dependency-analyzer.d.ts +0 -15
  183. package/dist/ts-compiler/sd-dependency-analyzer.js +0 -302
  184. package/dist/ts-compiler/sd-dependency-analyzer.js.map +0 -1
  185. package/dist/ts-compiler/sd-dependency-cache.d.ts +0 -43
  186. package/dist/ts-compiler/sd-dependency-cache.js +0 -310
  187. package/dist/ts-compiler/sd-dependency-cache.js.map +0 -1
  188. package/dist/ts-compiler/sd-style-bundler.d.ts +0 -16
  189. package/dist/ts-compiler/sd-style-bundler.js +0 -118
  190. package/dist/ts-compiler/sd-style-bundler.js.map +0 -1
  191. package/dist/ts-compiler/sd-ts-compiler.d.ts +0 -8
  192. package/dist/ts-compiler/sd-ts-compiler.js +0 -522
  193. package/dist/ts-compiler/sd-ts-compiler.js.map +0 -1
  194. package/dist/types/build-plugin.types.d.ts +0 -14
  195. package/dist/types/build-plugin.types.js +0 -2
  196. package/dist/types/build-plugin.types.js.map +0 -1
  197. package/dist/types/build-runner.types.d.ts +0 -10
  198. package/dist/types/build-runner.types.js +0 -2
  199. package/dist/types/build-runner.types.js.map +0 -1
  200. package/dist/types/build.types.d.ts +0 -15
  201. package/dist/types/build.types.js +0 -2
  202. package/dist/types/build.types.js.map +0 -1
  203. package/dist/types/common-configs.types.d.ts +0 -24
  204. package/dist/types/common-configs.types.js +0 -2
  205. package/dist/types/common-configs.types.js.map +0 -1
  206. package/dist/types/config.types.d.ts +0 -109
  207. package/dist/types/config.types.js +0 -2
  208. package/dist/types/config.types.js.map +0 -1
  209. package/dist/types/ts-compiler.types.d.ts +0 -37
  210. package/dist/types/ts-compiler.types.js +0 -2
  211. package/dist/types/ts-compiler.types.js.map +0 -1
  212. package/dist/types/worker.types.d.ts +0 -67
  213. package/dist/types/worker.types.js +0 -2
  214. package/dist/types/worker.types.js.map +0 -1
  215. package/dist/utils/sd-cli-convert-message.utils.d.ts +0 -21
  216. package/dist/utils/sd-cli-convert-message.utils.js +0 -137
  217. package/dist/utils/sd-cli-convert-message.utils.js.map +0 -1
  218. package/dist/utils/sd-cli-performance-time.d.ts +0 -9
  219. package/dist/utils/sd-cli-performance-time.js +0 -51
  220. package/dist/utils/sd-cli-performance-time.js.map +0 -1
  221. package/dist/workers/build-runner.worker.d.ts +0 -1
  222. package/dist/workers/build-runner.worker.js +0 -49
  223. package/dist/workers/build-runner.worker.js.map +0 -1
  224. package/dist/workers/server.worker.d.ts +0 -1
  225. package/dist/workers/server.worker.js +0 -50
  226. package/dist/workers/server.worker.js.map +0 -1
  227. package/src/pkg-builders/commons/build-runner.base.ts +0 -184
  228. package/src/pkg-builders/lib/sd-ts-lib.build-runner.ts +0 -57
  229. package/src/pkg-builders/sd-multi.build-runner.ts +0 -304
  230. package/src/types/build-runner.types.ts +0 -11
  231. package/src/types/ts-compiler.types.ts +0 -43
  232. package/src/types/worker.types.ts +0 -51
  233. /package/src/entry/{sd-cli-ai-command.ts → SdCliAiCommand.ts} +0 -0
  234. /package/src/entry/{sd-cli-postinstall.ts → SdCliPostinstall.ts} +0 -0
  235. /package/src/pkg-builders/client/{sd-cli-ng-routes.file-generator.ts → SdCliNgRoutesFileGenerator.ts} +0 -0
  236. /package/src/pkg-builders/lib/{sd-cli-index.file-generator.ts → SdCliIndexFileGenerator.ts} +0 -0
  237. /package/src/utils/{sd-cli-performance-time.ts → SdCliPerformanceTimer.ts} +0 -0
@@ -1,489 +0,0 @@
1
- import path from "path";
2
- import { FsUtils, HashUtils, PathUtils, SdLogger } from "@simplysm/sd-core-node";
3
- import { fileURLToPath } from "url";
4
- import nodeStdLibBrowser from "node-stdlib-browser";
5
- import nodeStdLibBrowserPlugin from "node-stdlib-browser/helpers/esbuild/plugin";
6
- import browserslist from "browserslist";
7
- import { SdNgBundlerContext } from "./sd-ng.bundler-context";
8
- import { MemoryLoadResultCache } from "@angular/build/src/tools/esbuild/load-result-cache";
9
- import { convertOutputFile, createOutputFile, transformSupportedBrowsersToTargets, } from "@angular/build/src/tools/esbuild/utils";
10
- import { BuildOutputFileType, } from "@angular/build/src/tools/esbuild/bundler-context";
11
- import { extractLicenses } from "@angular/build/src/tools/esbuild/license-extractor";
12
- import { IndexHtmlGenerator, } from "@angular/build/src/utils/index-file/index-html-generator";
13
- import { CrossOrigin } from "@angular/build/src/builders/application/schema";
14
- import { augmentAppWithServiceWorkerEsbuild } from "@angular/build/src/utils/service-worker";
15
- import { createSourcemapIgnorelistPlugin } from "@angular/build/src/tools/esbuild/sourcemap-ignorelist-plugin";
16
- import { StylesheetPluginFactory } from "@angular/build/src/tools/esbuild/stylesheets/stylesheet-plugin-factory";
17
- import { SassStylesheetLanguage } from "@angular/build/src/tools/esbuild/stylesheets/sass-language";
18
- import { CssStylesheetLanguage } from "@angular/build/src/tools/esbuild/stylesheets/css-language";
19
- import { createCssResourcePlugin } from "@angular/build/src/tools/esbuild/stylesheets/css-resource-plugin";
20
- import { resolveAssets } from "@angular/build/src/utils/resolve-assets";
21
- import { createSdNgPlugin } from "./sd-ng.plugin-creator";
22
- import { SdCliPerformanceTimer } from "../../utils/sd-cli-performance-time";
23
- import nodeModule from "module";
24
- export class SdNgBundler {
25
- #logger = SdLogger.get(["simplysm", "sd-cli", "SdNgBundler"]);
26
- #modifiedFileSet = new Set();
27
- #ngResultCache = {
28
- affectedFileSet: new Set(),
29
- watchFileSet: new Set(),
30
- };
31
- #styleLoadResultCache = new MemoryLoadResultCache();
32
- #contexts;
33
- #outputHashCache = new Map();
34
- #pkgNpmConf;
35
- #mainFilePath;
36
- #tsConfigFilePath;
37
- #swConfFilePath;
38
- #browserTarget;
39
- #indexHtmlFilePath;
40
- #pkgName;
41
- #baseHref;
42
- constructor(_opt) {
43
- this._opt = _opt;
44
- this.#pkgNpmConf = FsUtils.readJson(path.resolve(this._opt.pkgPath, "package.json"));
45
- this.#mainFilePath = path.resolve(this._opt.pkgPath, "src/main.ts");
46
- this.#tsConfigFilePath = path.resolve(this._opt.pkgPath, "tsconfig.json");
47
- this.#swConfFilePath = path.resolve(this._opt.pkgPath, "ngsw-config.json");
48
- this.#browserTarget = transformSupportedBrowsersToTargets(browserslist(["Chrome > 78"]));
49
- this.#indexHtmlFilePath = path.resolve(this._opt.pkgPath, "src/index.html");
50
- this.#pkgName = path.basename(this._opt.pkgPath);
51
- this.#baseHref =
52
- this._opt.builderType === "web"
53
- ? `/${this.#pkgName}/`
54
- : this._opt.dev
55
- ? `/${this.#pkgName}/${this._opt.builderType}/`
56
- : ``;
57
- }
58
- markForChanges(filePaths) {
59
- for (const filePath of filePaths) {
60
- this.#modifiedFileSet.add(PathUtils.norm(filePath));
61
- this.#styleLoadResultCache.invalidate(PathUtils.norm(filePath));
62
- }
63
- // this._sourceFileCache.invalidate(filePaths);
64
- }
65
- async bundleAsync() {
66
- const perf = new SdCliPerformanceTimer("ng bundle");
67
- this.#debug(`get contexts...`);
68
- if (!this.#contexts) {
69
- this.#contexts = perf.run("get contexts", () => [
70
- this.#getAppContext(),
71
- ...(FsUtils.exists(path.resolve(this._opt.pkgPath, "src/styles.scss"))
72
- ? [this.#getStyleContext()]
73
- : []),
74
- ...(this._opt.builderType === "electron" ? [this.#getElectronMainContext()] : []),
75
- ]);
76
- }
77
- this.#debug(`build...`);
78
- const bundlingResults = await perf.run("build", async () => {
79
- return await this.#contexts.mapAsync(async (ctx) => await ctx.bundleAsync());
80
- });
81
- //-- results
82
- const results = bundlingResults.mapMany((bundlingResult) => bundlingResult.results);
83
- if (this._opt.noEmit) {
84
- return {
85
- watchFileSet: this.#ngResultCache.watchFileSet,
86
- affectedFileSet: this.#ngResultCache.affectedFileSet,
87
- results,
88
- emitFileSet: new Set(),
89
- };
90
- }
91
- else {
92
- this.#debug(`convert result...`);
93
- const outputFiles = bundlingResults.mapMany((item) => item.outputFiles?.map((file) => convertOutputFile(file, BuildOutputFileType.Root)) ?? []);
94
- const initialFiles = new Map();
95
- const metafile = {
96
- inputs: {},
97
- outputs: {},
98
- };
99
- for (const bundlingResult of bundlingResults) {
100
- bundlingResult.initialFiles.forEach((v, k) => initialFiles.set(k, v));
101
- metafile.inputs = { ...metafile.inputs, ...bundlingResult.metafile?.inputs };
102
- metafile.outputs = { ...metafile.outputs, ...bundlingResult.metafile?.outputs };
103
- }
104
- //-- cordova empty
105
- /*if (this._opt.builderType === "cordova" && this._opt.cordovaConfig?.plugins) {
106
- outputFiles.push(createOutputFile("cordova-empty.js", "export default {};", BuildOutputFileType.Root));
107
- }*/
108
- this.#debug(`create index.html...`);
109
- await perf.run("create index.html", async () => {
110
- const genIndexHtmlResult = await this.#genIndexHtmlAsync(outputFiles, initialFiles);
111
- for (const warning of genIndexHtmlResult.warnings) {
112
- results.push({
113
- filePath: undefined,
114
- line: undefined,
115
- char: undefined,
116
- code: undefined,
117
- severity: "warning",
118
- message: `${warning}`,
119
- type: "gen-index",
120
- });
121
- }
122
- for (const error of genIndexHtmlResult.errors) {
123
- results.push({
124
- filePath: undefined,
125
- line: undefined,
126
- char: undefined,
127
- code: undefined,
128
- severity: "error",
129
- message: `${error}`,
130
- type: "gen-index",
131
- });
132
- }
133
- outputFiles.push(createOutputFile("index.html", genIndexHtmlResult.csrContent, BuildOutputFileType.Root));
134
- });
135
- const assetFiles = [];
136
- await perf.run("assets", async () => {
137
- //-- copy assets
138
- assetFiles.push(...(await this.#copyAssetsAsync()));
139
- //-- extract 3rdpartylicenses
140
- if (!this._opt.dev) {
141
- outputFiles.push(createOutputFile("3rdpartylicenses.txt", await extractLicenses(metafile, this._opt.pkgPath), BuildOutputFileType.Root));
142
- }
143
- });
144
- //-- service worker
145
- if (FsUtils.exists(this.#swConfFilePath)) {
146
- this.#debug(`prepare service worker...`);
147
- await perf.run("prepare service worker", async () => {
148
- try {
149
- const serviceWorkerResult = await this.#genServiceWorkerAsync(outputFiles, assetFiles);
150
- outputFiles.push(createOutputFile("ngsw.json", serviceWorkerResult.manifest, BuildOutputFileType.Root));
151
- assetFiles.push(...serviceWorkerResult.assetFiles);
152
- }
153
- catch (err) {
154
- results.push({
155
- filePath: undefined,
156
- line: undefined,
157
- char: undefined,
158
- code: undefined,
159
- severity: "error",
160
- message: `${err.toString()}`,
161
- type: "gen-sw",
162
- });
163
- }
164
- });
165
- }
166
- //-- write
167
- this.#debug(`write output files...(${outputFiles.length})`);
168
- const emitFileSet = new Set();
169
- perf.run("write output file", () => {
170
- for (const outputFile of outputFiles) {
171
- const distFilePath = PathUtils.norm(this._opt.outputPath, outputFile.path);
172
- const prevHash = this.#outputHashCache.get(distFilePath);
173
- const currHash = HashUtils.get(Buffer.from(outputFile.contents));
174
- if (prevHash !== currHash) {
175
- FsUtils.writeFile(distFilePath, outputFile.contents);
176
- this.#outputHashCache.set(distFilePath, currHash);
177
- emitFileSet.add(distFilePath);
178
- }
179
- }
180
- for (const assetFile of assetFiles) {
181
- const prevHash = this.#outputHashCache.get(PathUtils.norm(assetFile.source));
182
- const currHash = HashUtils.get(FsUtils.readFileBuffer(assetFile.source));
183
- if (prevHash !== currHash) {
184
- FsUtils.copy(assetFile.source, path.resolve(this._opt.outputPath, assetFile.destination));
185
- this.#outputHashCache.set(PathUtils.norm(assetFile.source), currHash);
186
- emitFileSet.add(PathUtils.norm(this._opt.outputPath, assetFile.destination));
187
- }
188
- }
189
- });
190
- this.#debug(perf.toString());
191
- return {
192
- watchFileSet: new Set([
193
- ...this.#ngResultCache.watchFileSet,
194
- ...this.#styleLoadResultCache.watchFiles.map((item) => PathUtils.norm(item)),
195
- ...assetFiles.map((item) => PathUtils.norm(item.source)),
196
- PathUtils.norm(this.#indexHtmlFilePath),
197
- ]),
198
- affectedFileSet: this.#ngResultCache.affectedFileSet,
199
- results,
200
- emitFileSet: emitFileSet,
201
- };
202
- }
203
- }
204
- async #genIndexHtmlAsync(outputFiles, initialFiles) {
205
- const readAsset = (filePath) => {
206
- const relFilePath = path.relative("/", filePath);
207
- const currFile = outputFiles.find((outputFile) => outputFile.path === relFilePath);
208
- if (currFile) {
209
- return Promise.resolve(currFile.text);
210
- }
211
- throw new Error(`Output file does not exist: ${relFilePath}`);
212
- };
213
- const indexHtmlGenerator = new IndexHtmlGenerator({
214
- indexPath: this.#indexHtmlFilePath,
215
- entrypoints: [
216
- ["polyfills", true],
217
- ["styles", false],
218
- ["main", true],
219
- ...(this._opt.builderType === "cordova" ? [["cordova-entry", true]] : []),
220
- ],
221
- sri: false,
222
- optimization: {
223
- scripts: !this._opt.dev,
224
- styles: {
225
- minify: !this._opt.dev,
226
- inlineCritical: !this._opt.dev,
227
- removeSpecialComments: !this._opt.dev,
228
- },
229
- fonts: { inline: !this._opt.dev },
230
- },
231
- crossOrigin: CrossOrigin.None,
232
- generateDedicatedSSRContent: false,
233
- });
234
- indexHtmlGenerator.readAsset = readAsset;
235
- const modulePreloads = [];
236
- const hints = [];
237
- if (!this._opt.dev) {
238
- for (const [key, value] of initialFiles) {
239
- if (value.entrypoint || value.serverFile) {
240
- continue;
241
- }
242
- if (value.type === "script") {
243
- modulePreloads.push({ url: key, mode: "modulepreload", depth: value.depth });
244
- }
245
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
246
- else if (value.type === "style") {
247
- hints.push({ url: key, mode: "preload", as: "style" });
248
- }
249
- }
250
- modulePreloads.sort((a, b) => a.depth - b.depth);
251
- hints.push(...modulePreloads.slice(0, 10));
252
- }
253
- return await indexHtmlGenerator.process({
254
- baseHref: this.#baseHref,
255
- lang: undefined,
256
- outputPath: "/",
257
- files: [...initialFiles].map(([file, record]) => ({
258
- name: record.name ?? "",
259
- file,
260
- extension: path.extname(file),
261
- })),
262
- hints,
263
- });
264
- }
265
- async #copyAssetsAsync() {
266
- return await resolveAssets([
267
- { input: "public", glob: "**/*", output: "." },
268
- ...(this._opt.dev ? [{ input: "public-dev", glob: "**/*", output: "." }] : []),
269
- ...(this._opt.dev && this._opt.builderType === "cordova"
270
- ? Object.keys(this._opt.cordovaConfig?.platform ?? { browser: {} }).mapMany((platform) => [
271
- {
272
- input: `.cordova/platforms/${platform}/platform_www/plugins`,
273
- glob: "**/*",
274
- output: `cordova-${platform}/plugins`,
275
- },
276
- {
277
- input: `.cordova/platforms/${platform}/platform_www`,
278
- glob: "cordova.js",
279
- output: `cordova-${platform}`,
280
- },
281
- {
282
- input: `.cordova/platforms/${platform}/platform_www`,
283
- glob: "cordova_plugins.js",
284
- output: `cordova-${platform}`,
285
- },
286
- {
287
- input: `.cordova/platforms/${platform}/www`,
288
- glob: "config.xml",
289
- output: `cordova-${platform}`,
290
- },
291
- ])
292
- : []),
293
- ], this._opt.pkgPath);
294
- }
295
- async #genServiceWorkerAsync(outputFiles, assetFiles) {
296
- return await augmentAppWithServiceWorkerEsbuild(this._opt.pkgPath, this.#swConfFilePath, this.#baseHref, "index.html", outputFiles, assetFiles);
297
- }
298
- #getAppContext() {
299
- const workerEntries = FsUtils.glob(path.resolve(this._opt.pkgPath, "src/workers/*.ts")).toObject((p) => "workers/" + path.basename(p, path.extname(p)));
300
- return new SdNgBundlerContext(this._opt.pkgPath, {
301
- absWorkingDir: this._opt.pkgPath,
302
- bundle: true,
303
- keepNames: true,
304
- assetNames: "media/[name]",
305
- conditions: ["es2020", "es2015", "module"],
306
- resolveExtensions: [".js", ".mjs", ".cjs", ".ts"],
307
- metafile: true,
308
- legalComments: this._opt.dev ? "eof" : "none",
309
- logLevel: "silent",
310
- minifyIdentifiers: !this._opt.dev,
311
- minifySyntax: !this._opt.dev,
312
- minifyWhitespace: !this._opt.dev,
313
- pure: ["forwardRef"],
314
- outdir: this._opt.pkgPath,
315
- outExtension: undefined,
316
- sourcemap: this._opt.dev,
317
- chunkNames: "[name]-[hash]",
318
- tsconfig: this.#tsConfigFilePath,
319
- write: false,
320
- preserveSymlinks: false,
321
- define: {
322
- ...(!this._opt.dev ? { ngDevMode: "false" } : {}),
323
- "ngJitMode": "false",
324
- "global": "global",
325
- "process": "process",
326
- "Buffer": "Buffer",
327
- "process.env.SD_VERSION": JSON.stringify(this.#pkgNpmConf.version),
328
- "process.env.NODE_ENV": JSON.stringify(this._opt.dev ? "development" : "production"),
329
- ...(this._opt.env
330
- ? Object.keys(this._opt.env).toObject((key) => `process.env.${key}`, (key) => JSON.stringify(this._opt.env[key]))
331
- : {}),
332
- },
333
- mainFields: ["es2020", "es2015", "browser", "module", "main"],
334
- entryNames: "[dir]/[name]",
335
- entryPoints: {
336
- main: this.#mainFilePath,
337
- ...(FsUtils.exists(path.resolve(this._opt.pkgPath, "src/polyfills.ts"))
338
- ? {
339
- polyfills: path.resolve(this._opt.pkgPath, "src/polyfills.ts"),
340
- }
341
- : {}),
342
- ...(this._opt.builderType === "cordova"
343
- ? {
344
- "cordova-entry": path.resolve(path.dirname(fileURLToPath(import.meta.url)), `../../../lib/cordova-entry.js`),
345
- }
346
- : {}),
347
- ...workerEntries,
348
- },
349
- supported: { "async-await": false, "object-rest-spread": false },
350
- loader: {
351
- ".png": "file",
352
- ".jpeg": "file",
353
- ".jpg": "file",
354
- ".jfif": "file",
355
- ".gif": "file",
356
- ".svg": "file",
357
- ".woff": "file",
358
- ".woff2": "file",
359
- ".ttf": "file",
360
- ".ttc": "file",
361
- ".eot": "file",
362
- ".ico": "file",
363
- ".otf": "file",
364
- ".csv": "file",
365
- ".xlsx": "file",
366
- ".xls": "file",
367
- ".pptx": "file",
368
- ".ppt": "file",
369
- ".docx": "file",
370
- ".doc": "file",
371
- ".zip": "file",
372
- ".pfx": "file",
373
- ".pkl": "file",
374
- ".mp3": "file",
375
- ".ogg": "file",
376
- },
377
- ...(this._opt.builderType === "electron"
378
- ? {
379
- platform: "node",
380
- target: "node20",
381
- external: ["electron", ...nodeModule.builtinModules, ...this._opt.external],
382
- }
383
- : {
384
- platform: "browser",
385
- target: this.#browserTarget,
386
- format: "esm",
387
- splitting: true,
388
- inject: [
389
- PathUtils.posix(fileURLToPath(import.meta.resolve("node-stdlib-browser/helpers/esbuild/shim"))),
390
- ],
391
- }),
392
- plugins: [
393
- createSourcemapIgnorelistPlugin(),
394
- createSdNgPlugin({
395
- modifiedFileSet: this.#modifiedFileSet,
396
- dev: this._opt.dev,
397
- emitOnly: this._opt.emitOnly,
398
- noEmit: this._opt.noEmit,
399
- pkgPath: this._opt.pkgPath,
400
- result: this.#ngResultCache,
401
- watchScopePathSet: this._opt.watchScopePathSet,
402
- }),
403
- ...(this._opt.builderType === "electron"
404
- ? []
405
- : [nodeStdLibBrowserPlugin(nodeStdLibBrowser)]),
406
- // {
407
- // name: "log-circular",
408
- // setup(build) {
409
- // build.onEnd(result => {
410
- // if (result.metafile) {
411
- // const analysis = esbuild.analyzeMetafile(result.metafile);
412
- // console.log(analysis);
413
- // }
414
- // });
415
- // },
416
- // },
417
- ],
418
- });
419
- }
420
- #getStyleContext() {
421
- const pluginFactory = new StylesheetPluginFactory({
422
- sourcemap: this._opt.dev,
423
- includePaths: [],
424
- }, this.#styleLoadResultCache);
425
- return new SdNgBundlerContext(this._opt.pkgPath, {
426
- absWorkingDir: this._opt.pkgPath,
427
- bundle: true,
428
- entryNames: "[name]",
429
- assetNames: "media/[name]",
430
- logLevel: "silent",
431
- minify: !this._opt.dev,
432
- metafile: true,
433
- sourcemap: this._opt.dev,
434
- outdir: this._opt.pkgPath,
435
- write: false,
436
- platform: "browser",
437
- target: this.#browserTarget,
438
- preserveSymlinks: false,
439
- external: [],
440
- conditions: ["style", "sass"],
441
- mainFields: ["style", "sass"],
442
- legalComments: !this._opt.dev ? "none" : "eof",
443
- entryPoints: {
444
- styles: path.resolve(this._opt.pkgPath, "src/styles.scss"),
445
- },
446
- plugins: [
447
- pluginFactory.create(SassStylesheetLanguage),
448
- pluginFactory.create(CssStylesheetLanguage),
449
- createCssResourcePlugin(this.#styleLoadResultCache),
450
- ],
451
- });
452
- }
453
- #getElectronMainContext() {
454
- return new SdNgBundlerContext(this._opt.pkgPath, {
455
- absWorkingDir: this._opt.pkgPath,
456
- bundle: true,
457
- entryNames: "[name]",
458
- assetNames: "media/[name]",
459
- conditions: ["es2020", "es2015", "module"],
460
- resolveExtensions: [".js", ".mjs", ".cjs", ".ts"],
461
- metafile: true,
462
- legalComments: this._opt.dev ? "eof" : "none",
463
- logLevel: "silent",
464
- minify: !this._opt.dev,
465
- outdir: this._opt.pkgPath,
466
- sourcemap: this._opt.dev,
467
- tsconfig: this.#tsConfigFilePath,
468
- write: false,
469
- preserveSymlinks: false,
470
- external: ["electron"],
471
- define: {
472
- ...(!this._opt.dev ? { ngDevMode: "false" } : {}),
473
- "process.env.SD_VERSION": JSON.stringify(this.#pkgNpmConf.version),
474
- "process.env.NODE_ENV": JSON.stringify(this._opt.dev ? "development" : "production"),
475
- ...(this._opt.env
476
- ? Object.keys(this._opt.env).toObject((key) => `process.env.${key}`, (key) => JSON.stringify(this._opt.env[key]))
477
- : {}),
478
- },
479
- platform: "node",
480
- entryPoints: {
481
- "electron-main": path.resolve(this._opt.pkgPath, "src/electron-main.ts"),
482
- },
483
- });
484
- }
485
- #debug(...msg) {
486
- this.#logger.debug(`[${path.basename(this._opt.pkgPath)}]`, ...msg);
487
- }
488
- }
489
- //# sourceMappingURL=sd-ng.bundler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sd-ng.bundler.js","sourceRoot":"","sources":["../../../src/pkg-builders/client/sd-ng.bundler.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import esbuild from "esbuild";
2
- import { TNormPath } from "@simplysm/sd-core-node";
3
- import { ISdCliNgPluginResultCache } from "../../types/build-plugin.types";
4
- import { ScopePathSet } from "../commons/scope-path";
5
- export declare function createSdNgPlugin(conf: {
6
- pkgPath: TNormPath;
7
- dev: boolean;
8
- emitOnly: boolean;
9
- noEmit: boolean;
10
- modifiedFileSet: Set<TNormPath>;
11
- result: ISdCliNgPluginResultCache;
12
- watchScopePathSet: ScopePathSet;
13
- }): esbuild.Plugin;