@simplysm/sd-cli 6.4.3 → 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 -58
  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 -144
  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 -637
  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 -240
  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 -794
  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,144 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdCliCordova = void 0;
4
- const path = require("path");
5
- const sd_core_node_1 = require("@simplysm/sd-core-node");
6
- const sd_core_common_1 = require("@simplysm/sd-core-common");
7
- class SdCliCordova {
8
- constructor(_rootPath, _config) {
9
- this._rootPath = _rootPath;
10
- this._config = _config;
11
- this._cordovaPath = path.resolve(this._rootPath, ".cordova");
12
- this._binPath = path.resolve(process.cwd(), "node_modules/.bin/cordova.cmd");
13
- this._npmConfig = sd_core_node_1.FsUtil.readJson(path.resolve(this._rootPath, "package.json"));
14
- this._logger = sd_core_node_1.Logger.get(["simplysm", "sd-cli", this.constructor.name, this._npmConfig.name]);
15
- }
16
- async initializeAsync() {
17
- if (sd_core_node_1.FsUtil.exists(this._cordovaPath)) {
18
- this._logger.log("미리 생성되어있는 '.cordova'를 사용합니다.");
19
- }
20
- else {
21
- await sd_core_node_1.SdProcessManager.spawnAsync(`${this._binPath} telemetry on`, { cwd: this._rootPath }, (message) => {
22
- this._logger.debug("CORDOVA: " + message);
23
- });
24
- this._logger.debug(`CORDOVA 프로젝트 생성`);
25
- await sd_core_node_1.SdProcessManager.spawnAsync(`${this._binPath} create "${this._cordovaPath}" "${this._config.appId}" "${this._config.appName}"`, { cwd: process.cwd() }, (message) => {
26
- this._logger.debug("CORDOVA: " + message);
27
- });
28
- }
29
- await sd_core_node_1.FsUtil.mkdirsAsync(path.resolve(this._cordovaPath, "platforms"));
30
- await sd_core_node_1.FsUtil.mkdirsAsync(path.resolve(this._cordovaPath, "www"));
31
- const alreadyPlatforms = await sd_core_node_1.FsUtil.readdirAsync(path.resolve(this._cordovaPath, "platforms"));
32
- if (!alreadyPlatforms.includes("browser")) {
33
- this._logger.debug(`CORDOVA 플랫폼 생성: browser`);
34
- await sd_core_node_1.SdProcessManager.spawnAsync(`${this._binPath} platform add browser`, { cwd: this._cordovaPath }, (message) => {
35
- this._logger.debug("CORDOVA: " + message);
36
- });
37
- }
38
- for (const target of this._config.targets) {
39
- if (!alreadyPlatforms.includes(target)) {
40
- this._logger.debug(`CORDOVA 플랫폼 생성: ${target}`);
41
- await sd_core_node_1.SdProcessManager.spawnAsync(`${this._binPath} platform add ${target}`, { cwd: this._cordovaPath }, (message) => {
42
- this._logger.debug(`CORDOVA: ${target}: ${message}`);
43
- });
44
- }
45
- }
46
- if (this._config.plugins) {
47
- const pluginsFetch = await sd_core_node_1.FsUtil.readJsonAsync(path.resolve(this._cordovaPath, "plugins/fetch.json"));
48
- const alreadyPlugins = Object.values(pluginsFetch)
49
- .map((item) => (item.source.id !== undefined ? item.source.id.replace(/@.*$/, "") : item.source.url));
50
- for (const plugin of this._config.plugins.distinct()) {
51
- if (!alreadyPlugins.includes(plugin)) {
52
- this._logger.debug(`CORDOVA 플러그인 설치 ${plugin}`);
53
- await sd_core_node_1.SdProcessManager.spawnAsync(`${this._binPath} plugin add ${plugin}`, { cwd: this._cordovaPath }, (message) => {
54
- this._logger.debug("CORDOVA: " + message);
55
- });
56
- }
57
- }
58
- }
59
- if (this._config.sign) {
60
- await sd_core_node_1.FsUtil.copyAsync(path.resolve(this._rootPath, this._config.sign.keystore), path.resolve(this._cordovaPath, path.basename(this._config.sign.keystore)));
61
- await sd_core_node_1.FsUtil.writeJsonAsync(path.resolve(this._cordovaPath, "build.json"), {
62
- android: {
63
- release: {
64
- keystore: path.basename(this._config.sign.keystore),
65
- storePassword: this._config.sign.storePassword,
66
- alias: this._config.sign.alias,
67
- password: this._config.sign.password,
68
- keystoreType: this._config.sign.keystoreType
69
- }
70
- }
71
- });
72
- }
73
- if (this._config.icon !== undefined) {
74
- await sd_core_node_1.FsUtil.copyAsync(path.resolve(this._rootPath, this._config.icon), path.resolve(this._cordovaPath, "res", "icon", "icon.png"));
75
- }
76
- if (this._config.targets.includes("android")) {
77
- const gradleFilePath = path.resolve(this._cordovaPath, "platforms/android/app/build.gradle");
78
- let gradleFileContent = await sd_core_node_1.FsUtil.readFileAsync(gradleFilePath);
79
- gradleFileContent = gradleFileContent.replace(/lintOptions {/g, "lintOptions {\r\n checkReleaseBuilds false;");
80
- await sd_core_node_1.FsUtil.writeFileAsync(gradleFilePath, gradleFileContent);
81
- }
82
- const configFilePath = path.resolve(this._cordovaPath, "config.xml");
83
- let configFileContent = await sd_core_node_1.FsUtil.readFileAsync(configFilePath);
84
- configFileContent = configFileContent.replace(/version="[^"]*"/g, `version="${this._npmConfig.version}"`);
85
- if (this._config.icon !== undefined && !configFileContent.includes("<icon")) {
86
- configFileContent = configFileContent.replace("</widget>", " <icon src=\"res/icon/icon.png\" />\r\n</widget>");
87
- }
88
- if (this._config.targets.includes("android")) {
89
- if (!configFileContent.includes("xmlns:android=\"http://schemas.android.com/apk/res/android\"")) {
90
- configFileContent = configFileContent.replace("xmlns=\"http://www.w3.org/ns/widgets\"", `xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android"`);
91
- }
92
- if (!configFileContent.includes("application android:usesCleartextTraffic=\"true\" />")) {
93
- configFileContent = configFileContent.replace("<platform name=\"android\">", `<platform name="android">
94
- <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
95
- <application android:usesCleartextTraffic="true" />
96
- </edit-config>`);
97
- }
98
- }
99
- await sd_core_node_1.FsUtil.writeFileAsync(configFilePath, configFileContent);
100
- }
101
- async buildAsync(outPath) {
102
- const configFilePath = path.resolve(this._cordovaPath, "config.xml");
103
- let configFileContent = await sd_core_node_1.FsUtil.readFileAsync(configFilePath);
104
- configFileContent = configFileContent.replace(/ {4}<allow-navigation href="[^"]*" \/>\n/g, "");
105
- configFileContent = configFileContent.replace("</widget>", ` <allow-navigation href="*://*/*" />\n</widget>`);
106
- await sd_core_node_1.FsUtil.writeFileAsync(configFilePath, configFileContent);
107
- const buildType = "debug";
108
- for (const target of this._config.targets) {
109
- await sd_core_node_1.SdProcessManager.spawnAsync(`${this._binPath} build ${target} --${buildType}`, { cwd: this._cordovaPath }, (message) => {
110
- this._logger.debug(`CORDOVA: ${target}: ${message}`);
111
- });
112
- }
113
- for (const target of this._config.targets) {
114
- if (target === "android") {
115
- const targetOutPath = path.resolve(outPath, target);
116
- const apkFileName = this._config.sign !== undefined ? `app-${buildType}.apk` : `app-${buildType}-unsigned.apk`;
117
- const distApkFileName = path.basename(`${this._config.appName}${this._config.sign !== undefined ? "" : "-unsigned"}-v${this._npmConfig.version}.apk`);
118
- const latestDistApkFileName = path.basename(`${this._config.appName}${this._config.sign !== undefined ? "" : "-unsigned"}-latest.apk`);
119
- await sd_core_node_1.FsUtil.mkdirsAsync(targetOutPath);
120
- await sd_core_node_1.FsUtil.copyAsync(path.resolve(this._cordovaPath, "platforms/android/app/build/outputs/apk", buildType, apkFileName), path.resolve(targetOutPath, distApkFileName));
121
- await sd_core_node_1.FsUtil.copyAsync(path.resolve(this._cordovaPath, "platforms/android/app/build/outputs/apk", buildType, apkFileName), path.resolve(targetOutPath, latestDistApkFileName));
122
- }
123
- else {
124
- throw new sd_core_common_1.NeverEntryError();
125
- }
126
- }
127
- }
128
- static async runWebviewOnDeviceAsync(cordovaPath, target, url) {
129
- await sd_core_node_1.FsUtil.removeAsync(path.resolve(cordovaPath, "www"));
130
- await sd_core_node_1.FsUtil.mkdirsAsync(path.resolve(cordovaPath, "www"));
131
- await sd_core_node_1.FsUtil.writeFileAsync(path.resolve(cordovaPath, "www/index.html"), `'${url}'로 이동중... <script>setTimeout(function () {window.location.href = "${url}"}, 3000);</script>`.trim());
132
- const configFilePath = path.resolve(cordovaPath, "config.xml");
133
- let configFileContent = await sd_core_node_1.FsUtil.readFileAsync(configFilePath);
134
- configFileContent = configFileContent.replace(/ {4}<allow-navigation href="[^"]*" \/>\n/g, "");
135
- configFileContent = configFileContent.replace("</widget>", ` <allow-navigation href="${url}" />\n</widget>`);
136
- configFileContent = configFileContent.replace("</widget>", ` <allow-navigation href="${url}/*" />\n</widget>`);
137
- configFileContent = configFileContent.replace("</widget>", ` <allow-navigation href="*://*/*" />\n</widget>`);
138
- await sd_core_node_1.FsUtil.writeFileAsync(configFilePath, configFileContent);
139
- const binPath = path.resolve(process.cwd(), "node_modules/.bin/cordova.cmd");
140
- await sd_core_node_1.SdProcessManager.spawnAsync(`${binPath} run ${target} --device`, { cwd: cordovaPath });
141
- }
142
- }
143
- exports.SdCliCordova = SdCliCordova;
144
- //# sourceMappingURL=SdCliCordova.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SdCliCordova.js","sourceRoot":"","sources":["../../src/build-tools/SdCliCordova.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdCliIndexFileGenerator = void 0;
4
- const path = require("path");
5
- const sd_core_node_1 = require("@simplysm/sd-core-node");
6
- const os = require("os");
7
- class SdCliIndexFileGenerator {
8
- constructor(rootPath, config) {
9
- this.rootPath = rootPath;
10
- this.config = config;
11
- this.indexFilePath = sd_core_node_1.PathUtil.posix(this.rootPath, "src/index.ts");
12
- }
13
- async generateAsync() {
14
- const importTexts = [];
15
- if (this.config.polyfills) {
16
- for (const polyfill of this.config.polyfills) {
17
- importTexts.push(`import "${polyfill}";`);
18
- }
19
- }
20
- const filePaths = await this._getFilePathsAsync();
21
- for (const filePath of filePaths) {
22
- const requirePath = sd_core_node_1.PathUtil.posix(path.relative(path.dirname(this.indexFilePath), filePath))
23
- .replace(/\.ts$/, "")
24
- .replace(/\/index$/, "");
25
- const sourceTsFileContent = await sd_core_node_1.FsUtil.readFileAsync(filePath);
26
- if (sourceTsFileContent.split("\n").some((line) => line.startsWith("export "))) {
27
- importTexts.push(`export * from "./${requirePath}";`);
28
- }
29
- else {
30
- importTexts.push(`import "./${requirePath}";`);
31
- }
32
- }
33
- let changed = false;
34
- const content = importTexts.join(os.EOL) + os.EOL;
35
- const prevContent = sd_core_node_1.FsUtil.exists(this.indexFilePath) ? sd_core_node_1.FsUtil.readFile(this.indexFilePath) : undefined;
36
- if (content !== prevContent) {
37
- await sd_core_node_1.FsUtil.writeFileAsync(this.indexFilePath, content);
38
- changed = true;
39
- }
40
- return { result: [], changed };
41
- }
42
- async _getFilePathsAsync() {
43
- const tsconfig = await sd_core_node_1.FsUtil.readJsonAsync(path.resolve(this.rootPath, "tsconfig.json"));
44
- const entryFilePaths = tsconfig.files?.map((item) => path.resolve(this.rootPath, item)) ?? [];
45
- return (await sd_core_node_1.FsUtil.globAsync(path.resolve(this.rootPath, "src/**/*.ts"), { nodir: true }))
46
- .filter((item) => (!entryFilePaths.includes(item)
47
- && item !== this.indexFilePath));
48
- }
49
- }
50
- exports.SdCliIndexFileGenerator = SdCliIndexFileGenerator;
51
- //# sourceMappingURL=SdCliIndexFileGenerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SdCliIndexFileGenerator.js","sourceRoot":"","sources":["../../src/build-tools/SdCliIndexFileGenerator.ts"],"names":[],"mappings":"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"}