@simplysm/sd-cli 7.3.1 → 10.0.4

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 (217) hide show
  1. package/.eslintrc.cjs +18 -0
  2. package/dist/build-cluster.js +75 -0
  3. package/dist/build-cluster.js.map +1 -0
  4. package/dist/builders/SdCliJsLibLinter.d.ts +18 -0
  5. package/dist/builders/SdCliJsLibLinter.js +69 -0
  6. package/dist/builders/SdCliJsLibLinter.js.map +1 -0
  7. package/dist/builders/SdCliTsLibBuilder.d.ts +20 -0
  8. package/dist/builders/SdCliTsLibBuilder.js +205 -0
  9. package/dist/builders/SdCliTsLibBuilder.js.map +1 -0
  10. package/dist/commons.d.ts +3 -117
  11. package/dist/commons.js +2 -0
  12. package/dist/commons.js.map +1 -0
  13. package/dist/entry/SdCliProject.d.ts +28 -0
  14. package/dist/entry/SdCliProject.js +269 -0
  15. package/dist/entry/SdCliProject.js.map +1 -0
  16. package/dist/sd-cli.js +118 -0
  17. package/dist/sd-cli.js.map +1 -0
  18. package/dist/utils/SdCliBuildResultUtil.d.ts +1 -4
  19. package/dist/utils/SdCliBuildResultUtil.js +37 -0
  20. package/dist/utils/SdCliBuildResultUtil.js.map +1 -0
  21. package/dist/utils/SdCliConfigUtil.js +69 -0
  22. package/dist/utils/SdCliConfigUtil.js.map +1 -0
  23. package/package.json +10 -59
  24. package/src/build-cluster.ts +82 -0
  25. package/src/builders/SdCliJsLibLinter.ts +84 -0
  26. package/src/builders/SdCliTsLibBuilder.ts +265 -0
  27. package/src/commons.ts +3 -123
  28. package/src/entry/SdCliProject.ts +351 -0
  29. package/src/sd-cli.ts +135 -0
  30. package/src/utils/SdCliBuildResultUtil.ts +5 -38
  31. package/tsconfig.json +18 -0
  32. package/README.md +0 -105
  33. package/assets/client-files/assets/icons/icon-128x128.png +0 -0
  34. package/assets/client-files/assets/icons/icon-144x144.png +0 -0
  35. package/assets/client-files/assets/icons/icon-152x152.png +0 -0
  36. package/assets/client-files/assets/icons/icon-192x192.png +0 -0
  37. package/assets/client-files/assets/icons/icon-384x384.png +0 -0
  38. package/assets/client-files/assets/icons/icon-512x512.png +0 -0
  39. package/assets/client-files/assets/icons/icon-72x72.png +0 -0
  40. package/assets/client-files/assets/icons/icon-96x96.png +0 -0
  41. package/assets/client-files/favicon.ico +0 -0
  42. package/dist/SdCliBuildResultError.d.ts +0 -5
  43. package/dist/SdCliBuildResultError.mjs +0 -8
  44. package/dist/bin/sd-cli.d.ts +0 -2
  45. package/dist/bin/sd-cli.mjs +0 -410
  46. package/dist/build-tool/SdCliCacheCompilerHost.d.ts +0 -10
  47. package/dist/build-tool/SdCliCacheCompilerHost.mjs +0 -51
  48. package/dist/build-tool/SdCliCordova.d.ts +0 -16
  49. package/dist/build-tool/SdCliCordova.mjs +0 -212
  50. package/dist/build-tool/SdCliElectron.d.ts +0 -9
  51. package/dist/build-tool/SdCliElectron.mjs +0 -71
  52. package/dist/build-tool/SdCliGithubApi.d.ts +0 -13
  53. package/dist/build-tool/SdCliGithubApi.mjs +0 -92
  54. package/dist/build-tool/SdCliIndexFileGenerator.d.ts +0 -13
  55. package/dist/build-tool/SdCliIndexFileGenerator.mjs +0 -62
  56. package/dist/build-tool/SdCliNgCacheCompilerHost.d.ts +0 -12
  57. package/dist/build-tool/SdCliNgCacheCompilerHost.mjs +0 -43
  58. package/dist/build-tool/SdCliPackageLinter.d.ts +0 -8
  59. package/dist/build-tool/SdCliPackageLinter.mjs +0 -62
  60. package/dist/builder/SdCliClientBuilder.d.ts +0 -26
  61. package/dist/builder/SdCliClientBuilder.mjs +0 -761
  62. package/dist/builder/SdCliJsLibBuilder.d.ts +0 -14
  63. package/dist/builder/SdCliJsLibBuilder.mjs +0 -54
  64. package/dist/builder/SdCliServerBuilder.d.ts +0 -28
  65. package/dist/builder/SdCliServerBuilder.mjs +0 -482
  66. package/dist/builder/SdCliTsLibBuilder.d.ts +0 -35
  67. package/dist/builder/SdCliTsLibBuilder.mjs +0 -317
  68. package/dist/commons.mjs +0 -2
  69. package/dist/entry-points/SdCliFileCrypto.d.ts +0 -7
  70. package/dist/entry-points/SdCliFileCrypto.mjs +0 -72
  71. package/dist/entry-points/SdCliLocalUpdate.d.ts +0 -13
  72. package/dist/entry-points/SdCliLocalUpdate.mjs +0 -100
  73. package/dist/entry-points/SdCliPrepare.d.ts +0 -5
  74. package/dist/entry-points/SdCliPrepare.mjs +0 -86
  75. package/dist/entry-points/SdCliProject.d.ts +0 -34
  76. package/dist/entry-points/SdCliProject.mjs +0 -416
  77. package/dist/entry-points/SdCliProjectGenerator.d.ts +0 -44
  78. package/dist/entry-points/SdCliProjectGenerator.mjs +0 -326
  79. package/dist/entry-points/file/base/fc_package_eslintrc.d.ts +0 -3
  80. package/dist/entry-points/file/base/fc_package_eslintrc.mjs +0 -31
  81. package/dist/entry-points/file/base/fc_package_npmconfig.d.ts +0 -9
  82. package/dist/entry-points/file/base/fc_package_npmconfig.mjs +0 -32
  83. package/dist/entry-points/file/base/fc_package_tsconfig.d.ts +0 -5
  84. package/dist/entry-points/file/base/fc_package_tsconfig.mjs +0 -13
  85. package/dist/entry-points/file/client/fc_package_AppModule.d.ts +0 -1
  86. package/dist/entry-points/file/client/fc_package_AppModule.mjs +0 -37
  87. package/dist/entry-points/file/client/fc_package_AppPage.d.ts +0 -1
  88. package/dist/entry-points/file/client/fc_package_AppPage.mjs +0 -14
  89. package/dist/entry-points/file/client/fc_package_Page.d.ts +0 -4
  90. package/dist/entry-points/file/client/fc_package_Page.mjs +0 -19
  91. package/dist/entry-points/file/client/fc_package_client_main.d.ts +0 -1
  92. package/dist/entry-points/file/client/fc_package_client_main.mjs +0 -19
  93. package/dist/entry-points/file/client/fc_package_index.d.ts +0 -3
  94. package/dist/entry-points/file/client/fc_package_index.mjs +0 -88
  95. package/dist/entry-points/file/client/fc_package_manifest.d.ts +0 -5
  96. package/dist/entry-points/file/client/fc_package_manifest.mjs +0 -54
  97. package/dist/entry-points/file/client/fc_package_polyfills.d.ts +0 -1
  98. package/dist/entry-points/file/client/fc_package_polyfills.mjs +0 -11
  99. package/dist/entry-points/file/client/fc_package_styles.d.ts +0 -1
  100. package/dist/entry-points/file/client/fc_package_styles.mjs +0 -7
  101. package/dist/entry-points/file/db/fc_package_DbContext.d.ts +0 -3
  102. package/dist/entry-points/file/db/fc_package_DbContext.mjs +0 -14
  103. package/dist/entry-points/file/db/fc_package_DbModel.d.ts +0 -4
  104. package/dist/entry-points/file/db/fc_package_DbModel.mjs +0 -12
  105. package/dist/entry-points/file/project/fc_project_editor_config.d.ts +0 -1
  106. package/dist/entry-points/file/project/fc_project_editor_config.mjs +0 -22
  107. package/dist/entry-points/file/project/fc_project_eslintrc.d.ts +0 -1
  108. package/dist/entry-points/file/project/fc_project_eslintrc.mjs +0 -30
  109. package/dist/entry-points/file/project/fc_project_gitattributes.d.ts +0 -1
  110. package/dist/entry-points/file/project/fc_project_gitattributes.mjs +0 -6
  111. package/dist/entry-points/file/project/fc_project_gitignore.d.ts +0 -1
  112. package/dist/entry-points/file/project/fc_project_gitignore.mjs +0 -27
  113. package/dist/entry-points/file/project/fc_project_npmconfig.d.ts +0 -7
  114. package/dist/entry-points/file/project/fc_project_npmconfig.mjs +0 -37
  115. package/dist/entry-points/file/project/fc_project_readme.d.ts +0 -3
  116. package/dist/entry-points/file/project/fc_project_readme.mjs +0 -13
  117. package/dist/entry-points/file/project/fc_project_simplysm.d.ts +0 -1
  118. package/dist/entry-points/file/project/fc_project_simplysm.mjs +0 -2
  119. package/dist/entry-points/file/project/fc_project_tsconfig.d.ts +0 -1
  120. package/dist/entry-points/file/project/fc_project_tsconfig.mjs +0 -25
  121. package/dist/entry-points/file/server/fc_package_server_main.d.ts +0 -5
  122. package/dist/entry-points/file/server/fc_package_server_main.mjs +0 -60
  123. package/dist/index.d.ts +0 -54
  124. package/dist/index.mjs +0 -55
  125. package/dist/ng-tools/SdCliNgModuleGenerator.d.ts +0 -29
  126. package/dist/ng-tools/SdCliNgModuleGenerator.mjs +0 -502
  127. package/dist/ng-tools/babel/SdCliBbFileMetadata.d.ts +0 -25
  128. package/dist/ng-tools/babel/SdCliBbFileMetadata.mjs +0 -539
  129. package/dist/ng-tools/babel/SdCliBbRootMetadata.d.ts +0 -23
  130. package/dist/ng-tools/babel/SdCliBbRootMetadata.mjs +0 -247
  131. package/dist/ng-tools/babel/SdCliBbUtil.d.ts +0 -5
  132. package/dist/ng-tools/babel/SdCliBbUtil.mjs +0 -14
  133. package/dist/ng-tools/babel/TSdCliBbNgMetadata.d.ts +0 -42
  134. package/dist/ng-tools/babel/TSdCliBbNgMetadata.mjs +0 -216
  135. package/dist/ng-tools/babel/TSdCliBbTypeMetadata.d.ts +0 -55
  136. package/dist/ng-tools/babel/TSdCliBbTypeMetadata.mjs +0 -151
  137. package/dist/ng-tools/commons.d.ts +0 -9
  138. package/dist/ng-tools/commons.mjs +0 -2
  139. package/dist/ng-tools/typescript/SdCliTsFileMetadata.d.ts +0 -61
  140. package/dist/ng-tools/typescript/SdCliTsFileMetadata.mjs +0 -325
  141. package/dist/ng-tools/typescript/SdCliTsRootMetadata.d.ts +0 -8
  142. package/dist/ng-tools/typescript/SdCliTsRootMetadata.mjs +0 -28
  143. package/dist/ng-tools/typescript/SdCliTsUtil.d.ts +0 -5
  144. package/dist/ng-tools/typescript/SdCliTsUtil.mjs +0 -28
  145. package/dist/packages/SdCliPackage.d.ts +0 -22
  146. package/dist/packages/SdCliPackage.mjs +0 -206
  147. package/dist/utils/SdCliBuildResultUtil.mjs +0 -63
  148. package/dist/utils/SdCliConfigUtil.mjs +0 -69
  149. package/dist/utils/SdCliNpmConfigUtil.d.ts +0 -7
  150. package/dist/utils/SdCliNpmConfigUtil.mjs +0 -15
  151. package/dist/worker/build-worker.mjs +0 -67
  152. package/dist/worker/server-worker.mjs +0 -67
  153. package/docs/client-add-page.md +0 -8
  154. package/docs/client-router.md +0 -85
  155. package/docs/client-sw.md +0 -101
  156. package/docs/conf-orm.md +0 -81
  157. package/docs/conf-usage.md +0 -5
  158. package/docs/lib-local-update.md +0 -50
  159. package/docs/lib-ts-paths.md +0 -25
  160. package/lib/cordova-entry.js +0 -22
  161. package/src/SdCliBuildResultError.ts +0 -9
  162. package/src/bin/sd-cli.ts +0 -493
  163. package/src/build-tool/SdCliCacheCompilerHost.ts +0 -79
  164. package/src/build-tool/SdCliCordova.ts +0 -263
  165. package/src/build-tool/SdCliElectron.ts +0 -84
  166. package/src/build-tool/SdCliGithubApi.ts +0 -111
  167. package/src/build-tool/SdCliIndexFileGenerator.ts +0 -79
  168. package/src/build-tool/SdCliNgCacheCompilerHost.ts +0 -58
  169. package/src/build-tool/SdCliPackageLinter.ts +0 -74
  170. package/src/builder/SdCliClientBuilder.ts +0 -871
  171. package/src/builder/SdCliJsLibBuilder.ts +0 -70
  172. package/src/builder/SdCliServerBuilder.ts +0 -552
  173. package/src/builder/SdCliTsLibBuilder.ts +0 -450
  174. package/src/entry-points/SdCliFileCrypto.ts +0 -87
  175. package/src/entry-points/SdCliLocalUpdate.ts +0 -121
  176. package/src/entry-points/SdCliPrepare.ts +0 -86
  177. package/src/entry-points/SdCliProject.ts +0 -491
  178. package/src/entry-points/SdCliProjectGenerator.ts +0 -402
  179. package/src/entry-points/file/base/fc_package_eslintrc.ts +0 -30
  180. package/src/entry-points/file/base/fc_package_npmconfig.ts +0 -43
  181. package/src/entry-points/file/base/fc_package_tsconfig.ts +0 -12
  182. package/src/entry-points/file/client/fc_package_AppModule.ts +0 -36
  183. package/src/entry-points/file/client/fc_package_AppPage.ts +0 -13
  184. package/src/entry-points/file/client/fc_package_Page.ts +0 -19
  185. package/src/entry-points/file/client/fc_package_client_main.ts +0 -18
  186. package/src/entry-points/file/client/fc_package_index.ts +0 -87
  187. package/src/entry-points/file/client/fc_package_manifest.ts +0 -53
  188. package/src/entry-points/file/client/fc_package_polyfills.ts +0 -10
  189. package/src/entry-points/file/client/fc_package_styles.ts +0 -6
  190. package/src/entry-points/file/db/fc_package_DbContext.ts +0 -14
  191. package/src/entry-points/file/db/fc_package_DbModel.ts +0 -11
  192. package/src/entry-points/file/project/fc_project_editor_config.ts +0 -21
  193. package/src/entry-points/file/project/fc_project_eslintrc.ts +0 -29
  194. package/src/entry-points/file/project/fc_project_gitattributes.ts +0 -5
  195. package/src/entry-points/file/project/fc_project_gitignore.ts +0 -26
  196. package/src/entry-points/file/project/fc_project_npmconfig.ts +0 -36
  197. package/src/entry-points/file/project/fc_project_readme.ts +0 -12
  198. package/src/entry-points/file/project/fc_project_simplysm.ts +0 -1
  199. package/src/entry-points/file/project/fc_project_tsconfig.ts +0 -24
  200. package/src/entry-points/file/server/fc_package_server_main.ts +0 -62
  201. package/src/index.ts +0 -54
  202. package/src/ng-tools/SdCliNgModuleGenerator.ts +0 -672
  203. package/src/ng-tools/babel/SdCliBbFileMetadata.ts +0 -629
  204. package/src/ng-tools/babel/SdCliBbRootMetadata.ts +0 -292
  205. package/src/ng-tools/babel/SdCliBbUtil.ts +0 -15
  206. package/src/ng-tools/babel/TSdCliBbNgMetadata.ts +0 -251
  207. package/src/ng-tools/babel/TSdCliBbTypeMetadata.ts +0 -212
  208. package/src/ng-tools/commons.ts +0 -3
  209. package/src/ng-tools/typescript/SdCliTsFileMetadata.ts +0 -384
  210. package/src/ng-tools/typescript/SdCliTsRootMetadata.ts +0 -32
  211. package/src/ng-tools/typescript/SdCliTsUtil.ts +0 -29
  212. package/src/packages/SdCliPackage.ts +0 -259
  213. package/src/utils/SdCliNpmConfigUtil.ts +0 -16
  214. package/src/worker/build-worker.ts +0 -73
  215. package/src/worker/server-worker.ts +0 -72
  216. /package/dist/{worker/build-worker.d.ts → build-cluster.d.ts} +0 -0
  217. /package/dist/{worker/server-worker.d.ts → sd-cli.d.ts} +0 -0
package/src/bin/sd-cli.ts DELETED
@@ -1,493 +0,0 @@
1
- #!/usr/bin/env node --no-warnings --experimental-specifier-resolution=node --experimental-import-meta-resolve
2
-
3
- import yargs from "yargs";
4
- import { hideBin } from "yargs/helpers";
5
- import { Logger, LoggerSeverity } from "@simplysm/sd-core-node";
6
- import { SdCliProject } from "../entry-points/SdCliProject";
7
- import { SdCliLocalUpdate } from "../entry-points/SdCliLocalUpdate";
8
- import { SdCliPrepare } from "../entry-points/SdCliPrepare";
9
- import { SdCliFileCrypto } from "../entry-points/SdCliFileCrypto";
10
- import { SdCliCordova } from "../build-tool/SdCliCordova";
11
- import { SdCliElectron } from "../build-tool/SdCliElectron";
12
- import { SdCliProjectGenerator } from "../entry-points/SdCliProjectGenerator";
13
-
14
- Error.stackTraceLimit = Infinity;
15
-
16
- const argv = (yargs(hideBin(process.argv)) as any)
17
- .help("help", "도움말")
18
- .alias("help", "h")
19
- .options({
20
- debug: {
21
- type: "boolean",
22
- describe: "디버그 로그를 표시할 것인지 여부",
23
- default: false
24
- }
25
- })
26
- .command(
27
- "prepare",
28
- "sd-cli 준비",
29
- (cmd) => cmd.version(false).hide("help").hide("debug")
30
- )
31
- .command(
32
- "local-update",
33
- "로컬 라이브러리 업데이트를 수행합니다.",
34
- (cmd) => cmd.version(false).hide("help").hide("debug")
35
- .options({
36
- config: {
37
- type: "string",
38
- describe: "simplysm.json 파일 경로"
39
- }
40
- })
41
- )
42
- .command(
43
- "watch",
44
- "프로젝트의 각 패키지에 대한 변경감지 빌드를 수행합니다.",
45
- (cmd) => cmd.version(false).hide("help").hide("debug")
46
- .options({
47
- config: {
48
- type: "string",
49
- describe: "simplysm.json 파일 경로"
50
- },
51
- options: {
52
- type: "string",
53
- array: true,
54
- describe: "옵션 설정 (설정파일에서 @로 시작하는 부분)"
55
- },
56
- packages: {
57
- type: "string",
58
- array: true,
59
- describe: "수행할 패키지 설정"
60
- }
61
- })
62
- )
63
- .command(
64
- "run-electron <package> <url>",
65
- "변경감지중인 플랫폼을 ELECTRON 앱 형태로 띄웁니다.",
66
- (cmd) => cmd
67
- .positional("package", {
68
- type: "string",
69
- describe: "패키지명",
70
- demandOption: true
71
- })
72
- .positional("url", {
73
- type: "string",
74
- describe: "Webview로 오픈할 URL",
75
- demandOption: true
76
- })
77
- .options({
78
- config: {
79
- type: "string",
80
- describe: "simplysm.json 파일 경로"
81
- },
82
- options: {
83
- type: "string",
84
- array: true,
85
- describe: "옵션 설정 (설정파일에서 @로 시작하는 부분)"
86
- }
87
- })
88
- )
89
- .command(
90
- "run-cordova <platform> <package> <url>",
91
- "변경감지중인 플랫폼을 코도바 디바이스에 앱 형태로 띄웁니다.",
92
- (cmd) => cmd
93
- .positional("platform", {
94
- type: "string",
95
- describe: "빌드 플랫폼(android,...)",
96
- demandOption: true
97
- })
98
- .positional("package", {
99
- type: "string",
100
- describe: "패키지명",
101
- demandOption: true
102
- })
103
- .positional("url", {
104
- type: "string",
105
- describe: "Webview로 오픈할 URL",
106
- demandOption: true
107
- })
108
- )
109
- .command(
110
- "build",
111
- "프로젝트의 각 패키지에 대한 빌드를 수행합니다.",
112
- (cmd) => cmd.version(false).hide("help").hide("debug")
113
- .options({
114
- config: {
115
- type: "string",
116
- describe: "simplysm.json 파일 경로"
117
- },
118
- options: {
119
- type: "string",
120
- array: true,
121
- describe: "옵션 설정 (설정파일에서 @로 시작하는 부분)"
122
- },
123
- packages: {
124
- type: "string",
125
- array: true,
126
- describe: "수행할 패키지 설정"
127
- }
128
- })
129
- )
130
- .command(
131
- "publish",
132
- "프로젝트의 각 패키지를 배포합니다.",
133
- (cmd) => cmd.version(false).hide("help").hide("debug")
134
- .options({
135
- noBuild: {
136
- type: "boolean",
137
- describe: "빌드를 하지않고 배포합니다.",
138
- default: false
139
- },
140
- config: {
141
- type: "string",
142
- describe: "simplysm.json 파일 경로"
143
- },
144
- options: {
145
- type: "string",
146
- array: true,
147
- describe: "옵션 설정 (설정파일에서 @로 시작하는 부분)"
148
- },
149
- packages: {
150
- type: "string",
151
- array: true,
152
- describe: "수행할 패키지 설정"
153
- }
154
- })
155
- )
156
- .command(
157
- "enc-file <file>",
158
- "파일을 암호화 합니다.",
159
- (cmd) => cmd.version(false).hide("help").hide("debug")
160
- .positional("file", {
161
- type: "string",
162
- describe: "암호화할 파일명",
163
- demandOption: true
164
- })
165
- )
166
- .command(
167
- "dec-file <file>",
168
- "파일을 복호화 합니다.",
169
- (cmd) => cmd.version(false).hide("help").hide("debug")
170
- .positional("file", {
171
- type: "string",
172
- describe: "암호화된 파일명",
173
- demandOption: true
174
- })
175
- )
176
- .command(
177
- "init <description> <author> <gitUrl> [name]",
178
- "프로젝트를 초기화 합니다.",
179
- (cmd) => cmd.version(false).hide("help").hide("debug")
180
- .positional("description", {
181
- type: "string",
182
- describe: "프로젝트 설명(=명칭)",
183
- demandOption: true
184
- })
185
- .positional("author", {
186
- type: "string",
187
- describe: "작성자",
188
- demandOption: true
189
- })
190
- .positional("gitUrl", {
191
- type: "string",
192
- describe: "소스코드 관리를 위한 GIT 레파지토리 URL",
193
- demandOption: true
194
- })
195
- .positional("name", {
196
- type: "string",
197
- describe: "프로젝트 영문명 (기본값: 최종폴더명)"
198
- })
199
- .example([
200
- ["$0 init sample 샘플프로젝트 홍길동 https://github.com/my/sample.git"]
201
- ])
202
- )
203
- .command(
204
- "add",
205
- "프로젝트에 패키지/기능등을 추가합니다.",
206
- (cmd) => cmd.version(false).hide("help").hide("debug")
207
- .command(
208
- "ts-lib <name> <description>",
209
- "타입스트립트 라이브러리 패키지를 추가합니다.",
210
- (cmd1) => cmd1.version(false).hide("help").hide("debug")
211
- .positional("name", {
212
- type: "string",
213
- describe: "패키지명",
214
- demandOption: true
215
- })
216
- .positional("description", {
217
- type: "string",
218
- describe: "패키지설명",
219
- demandOption: true
220
- })
221
- .options({
222
- useDom: {
223
- type: "boolean",
224
- describe: "DOM객체(window, document 등) 사용 여부",
225
- default: false
226
- },
227
- isForAngular: {
228
- type: "boolean",
229
- describe: "Angular 라이브러리 여부 (useDom 옵션을 덮어씁니다)",
230
- default: false
231
- }
232
- })
233
- .example([
234
- ["$0 add ts-lib common 공통모듈"],
235
- ["$0 sd-cli add ts-lib client-common \"클라이언트 공통\" --useDom"]
236
- ])
237
- )
238
- .command(
239
- "db-lib <name>",
240
- "DB 라이브러리 패키지를 추가합니다.",
241
- (cmd1) => cmd1.version(false).hide("help").hide("debug")
242
- .positional("name", {
243
- type: "string",
244
- describe: "패키지명",
245
- demandOption: true
246
- })
247
- .example([
248
- ["$0 add db-lib main"]
249
- ])
250
- )
251
- .command(
252
- "db-model <dbName> <category> <name> <description>",
253
- "DB 패키지에 모델를 추가합니다.",
254
- (cmd1) => cmd1.version(false).hide("help").hide("debug")
255
- .positional("dbName", {
256
- type: "string",
257
- describe: "DB 패키지 영문명 = 'DbContext'명칭",
258
- demandOption: true
259
- })
260
- .positional("category", {
261
- type: "string",
262
- describe: "추가할 모델의 분류명",
263
- demandOption: true
264
- })
265
- .positional("name", {
266
- type: "string",
267
- describe: "추가할 모델의 명칭 (테이블명)",
268
- demandOption: true
269
- })
270
- .positional("description", {
271
- type: "string",
272
- describe: "추가할 모델의 설명 (테이블 설명)",
273
- demandOption: true
274
- })
275
- .example([
276
- ["$0 add db-model main base Employee 직원"]
277
- ])
278
- )
279
- .command(
280
- "server [name] [description]",
281
- "서버 패키지를 추가합니다.",
282
- (cmd1) => cmd1.version(false).hide("help").hide("debug")
283
- .positional("name", {
284
- type: "string",
285
- describe: "패키지명"
286
- })
287
- .positional("description", {
288
- type: "string",
289
- describe: "패키지 설명"
290
- })
291
- .example([
292
- ["$0 add server"]
293
- ])
294
- )
295
- .command(
296
- "client <name> <description> <serverName>",
297
- "클라이언트 패키지를 추가합니다.",
298
- (cmd1) => cmd1.version(false).hide("help").hide("debug")
299
- .positional("name", {
300
- type: "string",
301
- describe: "패키지명",
302
- demandOption: true
303
- })
304
- .positional("description", {
305
- type: "string",
306
- describe: "패키지 설명",
307
- demandOption: true
308
- })
309
- .positional("serverName", {
310
- type: "string",
311
- describe: "서버 패키지명",
312
- demandOption: true
313
- })
314
- .example([
315
- ["$0 add client admin 관리자 server"]
316
- ])
317
- )
318
- .command(
319
- "page <pkgName> <name> [category]",
320
- "패키지에 페이지를 추가합니다.",
321
- (cmd1) => cmd1.version(false).hide("help").hide("debug")
322
- .positional("pkgName", {
323
- type: "string",
324
- describe: "패키지명",
325
- demandOption: true
326
- })
327
- .positional("name", {
328
- type: "string",
329
- describe: "페이지명",
330
- demandOption: true
331
- })
332
- .positional("category", {
333
- type: "string",
334
- describe: "추가할 페이지의 분류명"
335
- })
336
- .options({
337
- isRouteParent: {
338
- type: "boolean",
339
- describe: "router-outlet 포함 여부",
340
- default: false
341
- }
342
- })
343
- .example([
344
- ["$0 add page admin Employee home/base"]
345
- ])
346
- )
347
- )
348
- .parseSync();
349
-
350
- if (Boolean(argv.debug)) {
351
- process.env["SD_CLI_LOGGER_SEVERITY"] = "DEBUG";
352
-
353
- Logger.setConfig({
354
- console: {
355
- level: LoggerSeverity.debug
356
- }
357
- });
358
- }
359
- else {
360
- Logger.setConfig({
361
- dot: true
362
- });
363
- }
364
-
365
- const logger = Logger.get(["simplysm", "sd-cli", "bin", "sd-cli"]);
366
-
367
- (async () => {
368
- if (argv._[0] === "prepare") {
369
- await new SdCliPrepare()
370
- .prepareAsync();
371
- }
372
- else if (argv._[0] === "local-update") {
373
- await new SdCliLocalUpdate(process.cwd())
374
- .runAsync({
375
- confFileRelPath: argv.config ?? "simplysm.json"
376
- });
377
- }
378
- else if (argv._[0] === "watch") {
379
- await new SdCliProject(process.cwd())
380
- .watchAsync({
381
- confFileRelPath: argv.config ?? "simplysm.json",
382
- optNames: argv.options ?? [],
383
- pkgs: argv.packages ?? []
384
- });
385
- }
386
- else if (argv._[0] === "run-electron") {
387
- await new SdCliElectron(process.cwd())
388
- .runWebviewOnDeviceAsync(
389
- argv.package,
390
- argv.url,
391
- {
392
- confFileRelPath: argv.config ?? "simplysm.json",
393
- optNames: argv.options ?? []
394
- }
395
- );
396
- }
397
- else if (argv._[0] === "run-cordova") {
398
- await SdCliCordova.runWebviewOnDeviceAsync(
399
- process.cwd(),
400
- argv.platform as "browser" | "android",
401
- argv.package,
402
- argv.url
403
- );
404
- }
405
- else if (argv._[0] === "build") {
406
- await new SdCliProject(process.cwd())
407
- .buildAsync({
408
- confFileRelPath: argv.config ?? "simplysm.json",
409
- optNames: argv.options ?? [],
410
- pkgs: argv.packages ?? []
411
- });
412
- process.exit(0);
413
- }
414
- else if (argv._[0] === "publish") {
415
- await new SdCliProject(process.cwd())
416
- .publishAsync({
417
- noBuild: argv.noBuild,
418
- confFileRelPath: argv.config ?? "simplysm.json",
419
- optNames: argv.options ?? [],
420
- pkgs: argv.packages ?? []
421
- });
422
- if (!Boolean(argv.noBuild)) {
423
- process.exit(0);
424
- }
425
- }
426
- else if (argv._[0] === "enc-file") {
427
- await new SdCliFileCrypto().encryptAsync(argv.file!);
428
- }
429
- else if (argv._[0] === "dec-file") {
430
- await new SdCliFileCrypto().decryptAsync(argv.file!);
431
- }
432
- else if (argv._[0] === "init") {
433
- await new SdCliProjectGenerator(process.cwd()).initAsync({
434
- name: argv.name,
435
- description: argv.description!,
436
- author: argv.author,
437
- gitUrl: argv.gitUrl
438
- });
439
- }
440
- else if (argv._[0] === "add") {
441
- if (argv._[1] === "ts-lib") {
442
- await new SdCliProjectGenerator(process.cwd()).addTsLibAsync({
443
- name: argv.name!,
444
- description: argv.description!,
445
- useDom: argv.useDom,
446
- isForAngular: argv.isForAngular
447
- });
448
- }
449
- else if (argv._[1] === "db-lib") {
450
- await new SdCliProjectGenerator(process.cwd()).addDbLibAsync({
451
- name: argv.name!
452
- });
453
- }
454
- else if (argv._[1] === "db-model") {
455
- await new SdCliProjectGenerator(process.cwd()).addDbLibModelAsync({
456
- dbPkgName: argv.dbName,
457
- category: argv.category,
458
- name: argv.name!,
459
- description: argv.description!
460
- });
461
- }
462
- else if (argv._[1] === "page") {
463
- await new SdCliProjectGenerator(process.cwd()).addPageAsync({
464
- pkgName: argv.pkgName,
465
- category: argv.category,
466
- name: argv.name!,
467
- isRouteParent: argv.isRouteParent
468
- });
469
- }
470
- else if (argv._[1] === "server") {
471
- await new SdCliProjectGenerator(process.cwd()).addServerAsync({
472
- name: argv.name,
473
- description: argv.description
474
- });
475
- }
476
- else if (argv._[1] === "client") {
477
- await new SdCliProjectGenerator(process.cwd()).addClientAsync({
478
- name: argv.name!,
479
- description: argv.description!,
480
- serverName: argv.serverName
481
- });
482
- }
483
- else {
484
- throw new Error(`명령어가 잘못 되었습니다.\n\t${argv._[1]}\n`);
485
- }
486
- }
487
- else {
488
- throw new Error(`명령어가 잘못 되었습니다.\n\t${argv._[0]}\n`);
489
- }
490
- })().catch((err) => {
491
- logger.error(err);
492
- process.exit(1);
493
- });
@@ -1,79 +0,0 @@
1
- import ts from "typescript";
2
- import { PathUtil } from "@simplysm/sd-core-node";
3
-
4
- export class SdCliCacheCompilerHost {
5
- public static create(parsedTsconfig: ts.ParsedCommandLine,
6
- moduleResolutionCache: ts.ModuleResolutionCache,
7
- sourceFileCache: Map<string, IFileCache>,
8
- outputFileCache: Map<string, string>): ts.CompilerHost {
9
- const compilerHost = ts.createIncrementalCompilerHost(parsedTsconfig.options);
10
-
11
- const cacheCompilerHost = { ...compilerHost };
12
-
13
- cacheCompilerHost.fileExists = (fileName: string) => {
14
- const cache = sourceFileCache.getOrCreate(PathUtil.posix(fileName), {});
15
- if (cache.exists === undefined) {
16
- cache.exists = compilerHost.fileExists.call(cacheCompilerHost, fileName);
17
- }
18
- return cache.exists;
19
- };
20
-
21
- cacheCompilerHost.getSourceFile = (fileName: string, languageVersion: ts.ScriptTarget) => {
22
- const cache = sourceFileCache.getOrCreate(PathUtil.posix(fileName), {});
23
- if (!cache.sourceFile) {
24
- cache.sourceFile = compilerHost.getSourceFile.call(cacheCompilerHost, fileName, languageVersion);
25
- }
26
- return cache.sourceFile;
27
- };
28
-
29
- cacheCompilerHost.writeFile = (fileName: string,
30
- data: string,
31
- writeByteOrderMark: boolean,
32
- onError?: (message: string) => void,
33
- sourceFiles?: readonly ts.SourceFile[]) => {
34
- if (parsedTsconfig.options.module === ts.ModuleKind.CommonJS) {
35
- fileName = fileName.replace(/\.js(\.map)?$/, ".cjs$1");
36
- data = data.replace(/\.js\.map$/, ".cjs.map");
37
- }
38
- else {
39
- fileName = fileName.replace(/\.js(\.map)?$/, ".mjs$1");
40
- data = data.replace(/\.js\.map$/, ".mjs.map");
41
- }
42
-
43
-
44
- const writeCache = outputFileCache.get(PathUtil.posix(fileName));
45
- if (writeCache !== data) {
46
- outputFileCache.set(PathUtil.posix(fileName), data);
47
- compilerHost.writeFile.call(cacheCompilerHost, fileName, data, writeByteOrderMark, onError, sourceFiles);
48
- }
49
- };
50
-
51
- cacheCompilerHost.readFile = (fileName: string) => {
52
- const cache = sourceFileCache.getOrCreate(PathUtil.posix(fileName), {});
53
- if (cache.content === undefined) {
54
- cache.content = compilerHost.readFile.call(cacheCompilerHost, fileName);
55
- }
56
- return cache.content;
57
- };
58
-
59
- cacheCompilerHost.resolveModuleNames = (moduleNames: string[], containingFile: string) => {
60
- return moduleNames.map((moduleName) => {
61
- return ts.resolveModuleName(
62
- moduleName,
63
- PathUtil.posix(containingFile),
64
- parsedTsconfig.options,
65
- compilerHost,
66
- moduleResolutionCache
67
- ).resolvedModule;
68
- });
69
- };
70
-
71
- return cacheCompilerHost;
72
- }
73
- }
74
-
75
- interface IFileCache {
76
- exists?: boolean;
77
- sourceFile?: ts.SourceFile;
78
- content?: string;
79
- }