@simplysm/sd-cli 7.3.4 → 10.0.21

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 (468) hide show
  1. package/.eslintrc.cjs +18 -0
  2. package/dist/SdLinter.d.ts +5 -0
  3. package/dist/SdLinter.js.map +1 -0
  4. package/dist/SdLinter.mjs +37 -0
  5. package/dist/SdTsIncrementalBuilder.d.ts +16 -0
  6. package/dist/SdTsIncrementalBuilder.js.map +1 -0
  7. package/dist/SdTsIncrementalBuilder.mjs +54 -0
  8. package/dist/build-cluster.js.map +1 -0
  9. package/dist/build-cluster.mjs +124 -0
  10. package/dist/builders/SdCliClientBuilder.d.ts +13 -0
  11. package/dist/builders/SdCliClientBuilder.js.map +1 -0
  12. package/dist/builders/SdCliClientBuilder.mjs +167 -0
  13. package/dist/builders/SdCliJsLibLinter.d.ts +14 -0
  14. package/dist/builders/SdCliJsLibLinter.js.map +1 -0
  15. package/dist/builders/SdCliJsLibLinter.mjs +60 -0
  16. package/dist/builders/SdCliServerBuilder.d.ts +14 -0
  17. package/dist/builders/SdCliServerBuilder.js.map +1 -0
  18. package/dist/builders/SdCliServerBuilder.mjs +171 -0
  19. package/dist/builders/SdCliTsLibBuilder.d.ts +13 -0
  20. package/dist/builders/SdCliTsLibBuilder.js.map +1 -0
  21. package/dist/builders/SdCliTsLibBuilder.mjs +75 -0
  22. package/dist/commons.d.ts +20 -110
  23. package/dist/commons.js.map +1 -0
  24. package/dist/commons.mjs +1 -1
  25. package/dist/entry/SdCliProject.d.ts +29 -0
  26. package/dist/entry/SdCliProject.js.map +1 -0
  27. package/dist/entry/SdCliProject.mjs +353 -0
  28. package/dist/sd-cli.js.map +1 -0
  29. package/dist/sd-cli.mjs +119 -0
  30. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +20 -0
  31. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +1 -0
  32. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +12 -0
  33. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +43 -0
  34. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +1 -0
  35. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +54 -0
  36. package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +16 -0
  37. package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +1 -0
  38. package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +26 -0
  39. package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +14 -0
  40. package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +1 -0
  41. package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +2 -0
  42. package/dist/sd-core-common/src/errors/ArgumentError.d.ts +10 -0
  43. package/dist/sd-core-common/src/errors/ArgumentError.js.map +1 -0
  44. package/dist/sd-core-common/src/errors/ArgumentError.mjs +13 -0
  45. package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +10 -0
  46. package/dist/sd-core-common/src/errors/NeverEntryError.js.map +1 -0
  47. package/dist/sd-core-common/src/errors/NeverEntryError.mjs +13 -0
  48. package/dist/sd-core-common/src/errors/NotImplementError.d.ts +10 -0
  49. package/dist/sd-core-common/src/errors/NotImplementError.js.map +1 -0
  50. package/dist/sd-core-common/src/errors/NotImplementError.mjs +13 -0
  51. package/dist/sd-core-common/src/errors/SdError.d.ts +23 -0
  52. package/dist/sd-core-common/src/errors/SdError.js.map +1 -0
  53. package/dist/sd-core-common/src/errors/SdError.mjs +40 -0
  54. package/dist/sd-core-common/src/errors/TimeoutError.d.ts +11 -0
  55. package/dist/sd-core-common/src/errors/TimeoutError.js.map +1 -0
  56. package/dist/sd-core-common/src/errors/TimeoutError.mjs +16 -0
  57. package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +147 -0
  58. package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +1 -0
  59. package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +448 -0
  60. package/dist/sd-core-common/src/extensions/MapExtension.d.ts +4 -0
  61. package/dist/sd-core-common/src/extensions/MapExtension.js.map +1 -0
  62. package/dist/sd-core-common/src/extensions/MapExtension.mjs +15 -0
  63. package/dist/sd-core-common/src/extensions/SetExtension.d.ts +3 -0
  64. package/dist/sd-core-common/src/extensions/SetExtension.js.map +1 -0
  65. package/dist/sd-core-common/src/extensions/SetExtension.mjs +10 -0
  66. package/dist/sd-core-common/src/index.d.ts +32 -0
  67. package/dist/sd-core-common/src/index.js.map +1 -0
  68. package/dist/sd-core-common/src/index.mjs +33 -0
  69. package/dist/sd-core-common/src/types/DateOnly.d.ts +135 -0
  70. package/dist/sd-core-common/src/types/DateOnly.js.map +1 -0
  71. package/dist/sd-core-common/src/types/DateOnly.mjs +220 -0
  72. package/dist/sd-core-common/src/types/DateTime.d.ts +42 -0
  73. package/dist/sd-core-common/src/types/DateTime.js.map +1 -0
  74. package/dist/sd-core-common/src/types/DateTime.mjs +156 -0
  75. package/dist/sd-core-common/src/types/DeepPartial.d.ts +3 -0
  76. package/dist/sd-core-common/src/types/DeepPartial.js.map +1 -0
  77. package/dist/sd-core-common/src/types/DeepPartial.mjs +2 -0
  78. package/dist/sd-core-common/src/types/ObjectSet.d.ts +4 -0
  79. package/dist/sd-core-common/src/types/ObjectSet.js.map +1 -0
  80. package/dist/sd-core-common/src/types/ObjectSet.mjs +18 -0
  81. package/dist/sd-core-common/src/types/Time.d.ts +27 -0
  82. package/dist/sd-core-common/src/types/Time.js.map +1 -0
  83. package/dist/sd-core-common/src/types/Time.mjs +108 -0
  84. package/dist/sd-core-common/src/types/Type.d.ts +7 -0
  85. package/dist/sd-core-common/src/types/Type.js.map +1 -0
  86. package/dist/sd-core-common/src/types/Type.mjs +2 -0
  87. package/dist/sd-core-common/src/types/UnwrappedType.d.ts +1 -0
  88. package/dist/sd-core-common/src/types/UnwrappedType.js.map +1 -0
  89. package/dist/sd-core-common/src/types/UnwrappedType.mjs +2 -0
  90. package/dist/sd-core-common/src/types/Uuid.d.ts +8 -0
  91. package/dist/sd-core-common/src/types/Uuid.js.map +1 -0
  92. package/dist/sd-core-common/src/types/Uuid.mjs +26 -0
  93. package/dist/sd-core-common/src/types/WrappedType.d.ts +1 -0
  94. package/dist/sd-core-common/src/types/WrappedType.js.map +1 -0
  95. package/dist/sd-core-common/src/types/WrappedType.mjs +2 -0
  96. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +12 -0
  97. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +1 -0
  98. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +67 -0
  99. package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +8 -0
  100. package/dist/sd-core-common/src/utils/FunctionQueue.js.map +1 -0
  101. package/dist/sd-core-common/src/utils/FunctionQueue.mjs +46 -0
  102. package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +6 -0
  103. package/dist/sd-core-common/src/utils/FunctionUtil.js.map +1 -0
  104. package/dist/sd-core-common/src/utils/FunctionUtil.mjs +31 -0
  105. package/dist/sd-core-common/src/utils/JsonConvert.d.ts +8 -0
  106. package/dist/sd-core-common/src/utils/JsonConvert.js.map +1 -0
  107. package/dist/sd-core-common/src/utils/JsonConvert.mjs +78 -0
  108. package/dist/sd-core-common/src/utils/MathUtil.d.ts +3 -0
  109. package/dist/sd-core-common/src/utils/MathUtil.js.map +1 -0
  110. package/dist/sd-core-common/src/utils/MathUtil.mjs +6 -0
  111. package/dist/sd-core-common/src/utils/NumberUtil.d.ts +6 -0
  112. package/dist/sd-core-common/src/utils/NumberUtil.js.map +1 -0
  113. package/dist/sd-core-common/src/utils/NumberUtil.mjs +32 -0
  114. package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +80 -0
  115. package/dist/sd-core-common/src/utils/ObjectUtil.js.map +1 -0
  116. package/dist/sd-core-common/src/utils/ObjectUtil.mjs +452 -0
  117. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +6 -0
  118. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +1 -0
  119. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +27 -0
  120. package/dist/sd-core-common/src/utils/StringUtil.d.ts +8 -0
  121. package/dist/sd-core-common/src/utils/StringUtil.js.map +1 -0
  122. package/dist/sd-core-common/src/utils/StringUtil.mjs +77 -0
  123. package/dist/sd-core-common/src/utils/Wait.d.ts +4 -0
  124. package/dist/sd-core-common/src/utils/Wait.js.map +1 -0
  125. package/dist/sd-core-common/src/utils/Wait.mjs +23 -0
  126. package/dist/sd-core-node/src/index.d.ts +6 -0
  127. package/dist/sd-core-node/src/index.js.map +1 -0
  128. package/dist/sd-core-node/src/index.mjs +7 -0
  129. package/dist/sd-core-node/src/utils/FsUtil.d.ts +44 -0
  130. package/dist/sd-core-node/src/utils/FsUtil.js.map +1 -0
  131. package/dist/sd-core-node/src/utils/FsUtil.mjs +493 -0
  132. package/dist/sd-core-node/src/utils/Logger.d.ts +91 -0
  133. package/dist/sd-core-node/src/utils/Logger.js.map +1 -0
  134. package/dist/sd-core-node/src/utils/Logger.mjs +185 -0
  135. package/dist/sd-core-node/src/utils/PathUtil.d.ts +6 -0
  136. package/dist/sd-core-node/src/utils/PathUtil.js.map +1 -0
  137. package/dist/sd-core-node/src/utils/PathUtil.mjs +24 -0
  138. package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +15 -0
  139. package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +1 -0
  140. package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +43 -0
  141. package/dist/sd-core-node/src/utils/SdProcess.d.ts +5 -0
  142. package/dist/sd-core-node/src/utils/SdProcess.js.map +1 -0
  143. package/dist/sd-core-node/src/utils/SdProcess.mjs +36 -0
  144. package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +12 -0
  145. package/dist/sd-orm-common/src/CaseQueryHelper.js.map +1 -0
  146. package/dist/sd-orm-common/src/CaseQueryHelper.mjs +19 -0
  147. package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +12 -0
  148. package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +1 -0
  149. package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +20 -0
  150. package/dist/sd-orm-common/src/DbContext.d.ts +81 -0
  151. package/dist/sd-orm-common/src/DbContext.js.map +1 -0
  152. package/dist/sd-orm-common/src/DbContext.mjs +635 -0
  153. package/dist/sd-orm-common/src/IDbConnection.d.ts +15 -0
  154. package/dist/sd-orm-common/src/IDbConnection.js.map +1 -0
  155. package/dist/sd-orm-common/src/IDbConnection.mjs +2 -0
  156. package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +17 -0
  157. package/dist/sd-orm-common/src/IDbContextExecutor.js.map +1 -0
  158. package/dist/sd-orm-common/src/IDbContextExecutor.mjs +2 -0
  159. package/dist/sd-orm-common/src/IDbMigration.d.ts +4 -0
  160. package/dist/sd-orm-common/src/IDbMigration.js.map +1 -0
  161. package/dist/sd-orm-common/src/IDbMigration.mjs +2 -0
  162. package/dist/sd-orm-common/src/QueryBuilder.d.ts +48 -0
  163. package/dist/sd-orm-common/src/QueryBuilder.js.map +1 -0
  164. package/dist/sd-orm-common/src/QueryBuilder.mjs +1022 -0
  165. package/dist/sd-orm-common/src/QueryHelper.d.ts +75 -0
  166. package/dist/sd-orm-common/src/QueryHelper.js.map +1 -0
  167. package/dist/sd-orm-common/src/QueryHelper.mjs +627 -0
  168. package/dist/sd-orm-common/src/QueryUnit.d.ts +10 -0
  169. package/dist/sd-orm-common/src/QueryUnit.js.map +1 -0
  170. package/dist/sd-orm-common/src/QueryUnit.mjs +16 -0
  171. package/dist/sd-orm-common/src/Queryable.d.ts +105 -0
  172. package/dist/sd-orm-common/src/Queryable.js.map +1 -0
  173. package/dist/sd-orm-common/src/Queryable.mjs +1375 -0
  174. package/dist/sd-orm-common/src/SdOrmDataType.d.ts +21 -0
  175. package/dist/sd-orm-common/src/SdOrmDataType.js.map +1 -0
  176. package/dist/sd-orm-common/src/SdOrmDataType.mjs +2 -0
  177. package/dist/sd-orm-common/src/commons.d.ts +400 -0
  178. package/dist/sd-orm-common/src/commons.js.map +1 -0
  179. package/dist/sd-orm-common/src/commons.mjs +8 -0
  180. package/dist/sd-orm-common/src/decorators.d.ts +29 -0
  181. package/dist/sd-orm-common/src/decorators.js.map +1 -0
  182. package/dist/sd-orm-common/src/decorators.mjs +89 -0
  183. package/dist/sd-orm-common/src/index.d.ts +17 -0
  184. package/dist/sd-orm-common/src/index.js.map +1 -0
  185. package/dist/sd-orm-common/src/index.mjs +18 -0
  186. package/dist/sd-orm-common/src/models/SystemMigration.d.ts +3 -0
  187. package/dist/sd-orm-common/src/models/SystemMigration.js.map +1 -0
  188. package/dist/sd-orm-common/src/models/SystemMigration.mjs +13 -0
  189. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +14 -0
  190. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +1 -0
  191. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +66 -0
  192. package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +8 -0
  193. package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +1 -0
  194. package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +248 -0
  195. package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +4 -0
  196. package/dist/sd-orm-node/src/DbConnectionFactory.js.map +1 -0
  197. package/dist/sd-orm-node/src/DbConnectionFactory.mjs +17 -0
  198. package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +19 -0
  199. package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +1 -0
  200. package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +71 -0
  201. package/dist/sd-orm-node/src/SdOrm.d.ts +10 -0
  202. package/dist/sd-orm-node/src/SdOrm.js.map +1 -0
  203. package/dist/sd-orm-node/src/SdOrm.mjs +25 -0
  204. package/dist/sd-orm-node/src/index.d.ts +4 -0
  205. package/dist/sd-orm-node/src/index.js.map +1 -0
  206. package/dist/sd-orm-node/src/index.mjs +5 -0
  207. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +25 -0
  208. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +1 -0
  209. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +321 -0
  210. package/dist/sd-orm-node-mssql/src/index.d.ts +2 -0
  211. package/dist/sd-orm-node-mssql/src/index.js.map +1 -0
  212. package/dist/sd-orm-node-mssql/src/index.mjs +3 -0
  213. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +22 -0
  214. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +1 -0
  215. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +200 -0
  216. package/dist/sd-orm-node-mysql/src/index.d.ts +2 -0
  217. package/dist/sd-orm-node-mysql/src/index.js.map +1 -0
  218. package/dist/sd-orm-node-mysql/src/index.mjs +3 -0
  219. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +22 -0
  220. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +1 -0
  221. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +172 -0
  222. package/dist/sd-orm-node-sqlite/src/index.d.ts +2 -0
  223. package/dist/sd-orm-node-sqlite/src/index.js.map +1 -0
  224. package/dist/sd-orm-node-sqlite/src/index.mjs +3 -0
  225. package/dist/sd-service-common/src/commons-orm.d.ts +4 -0
  226. package/dist/sd-service-common/src/commons-orm.js.map +1 -0
  227. package/dist/sd-service-common/src/commons-orm.mjs +2 -0
  228. package/dist/sd-service-common/src/commons-smtp.d.ts +29 -0
  229. package/dist/sd-service-common/src/commons-smtp.js.map +1 -0
  230. package/dist/sd-service-common/src/commons-smtp.mjs +2 -0
  231. package/dist/sd-service-common/src/commons.d.ts +57 -0
  232. package/dist/sd-service-common/src/commons.js.map +1 -0
  233. package/dist/sd-service-common/src/commons.mjs +3 -0
  234. package/dist/sd-service-common/src/index.d.ts +3 -0
  235. package/dist/sd-service-common/src/index.js.map +1 -0
  236. package/dist/sd-service-common/src/index.mjs +4 -0
  237. package/dist/sd-service-server/src/ApiServiceError.d.ts +12 -0
  238. package/dist/sd-service-server/src/ApiServiceError.js.map +1 -0
  239. package/dist/sd-service-server/src/ApiServiceError.mjs +15 -0
  240. package/dist/sd-service-server/src/SdServiceServer.d.ts +39 -0
  241. package/dist/sd-service-server/src/SdServiceServer.js.map +1 -0
  242. package/dist/sd-service-server/src/SdServiceServer.mjs +513 -0
  243. package/dist/sd-service-server/src/commons.d.ts +23 -0
  244. package/dist/sd-service-server/src/commons.js.map +1 -0
  245. package/dist/sd-service-server/src/commons.mjs +3 -0
  246. package/dist/sd-service-server/src/index.d.ts +8 -0
  247. package/dist/sd-service-server/src/index.js.map +1 -0
  248. package/dist/sd-service-server/src/index.mjs +9 -0
  249. package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +4 -0
  250. package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +1 -0
  251. package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +20 -0
  252. package/dist/sd-service-server/src/services/SdCryptoService.d.ts +7 -0
  253. package/dist/sd-service-server/src/services/SdCryptoService.js.map +1 -0
  254. package/dist/sd-service-server/src/services/SdCryptoService.mjs +39 -0
  255. package/dist/sd-service-server/src/services/SdOrmService.d.ts +22 -0
  256. package/dist/sd-service-server/src/services/SdOrmService.js.map +1 -0
  257. package/dist/sd-service-server/src/services/SdOrmService.mjs +115 -0
  258. package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +6 -0
  259. package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +1 -0
  260. package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +44 -0
  261. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +4 -0
  262. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +1 -0
  263. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.mjs +36 -0
  264. package/dist/server-worker.d.ts +1 -0
  265. package/dist/server-worker.js.map +1 -0
  266. package/dist/server-worker.mjs +36 -0
  267. package/dist/utils/SdCliBuildResultUtil.d.ts +1 -4
  268. package/dist/utils/SdCliBuildResultUtil.js.map +1 -0
  269. package/dist/utils/SdCliBuildResultUtil.mjs +3 -29
  270. package/dist/utils/SdCliConfigUtil.js.map +1 -0
  271. package/dist/utils/SdCliConfigUtil.mjs +1 -1
  272. package/package.json +14 -56
  273. package/src/SdLinter.ts +41 -0
  274. package/src/SdTsIncrementalBuilder.ts +75 -0
  275. package/src/build-cluster.ts +133 -0
  276. package/src/builders/SdCliClientBuilder.ts +189 -0
  277. package/src/builders/SdCliJsLibLinter.ts +72 -0
  278. package/src/builders/SdCliServerBuilder.ts +191 -0
  279. package/src/builders/SdCliTsLibBuilder.ts +96 -0
  280. package/src/commons.ts +21 -112
  281. package/src/entry/SdCliProject.ts +467 -0
  282. package/src/sd-cli.ts +136 -0
  283. package/src/server-worker.ts +45 -0
  284. package/src/utils/SdCliBuildResultUtil.ts +5 -38
  285. package/tsconfig.json +9 -0
  286. package/README.md +0 -105
  287. package/assets/client-files/assets/icons/icon-128x128.png +0 -0
  288. package/assets/client-files/assets/icons/icon-144x144.png +0 -0
  289. package/assets/client-files/assets/icons/icon-152x152.png +0 -0
  290. package/assets/client-files/assets/icons/icon-192x192.png +0 -0
  291. package/assets/client-files/assets/icons/icon-384x384.png +0 -0
  292. package/assets/client-files/assets/icons/icon-512x512.png +0 -0
  293. package/assets/client-files/assets/icons/icon-72x72.png +0 -0
  294. package/assets/client-files/assets/icons/icon-96x96.png +0 -0
  295. package/assets/client-files/favicon.ico +0 -0
  296. package/dist/SdCliBuildResultError.d.ts +0 -5
  297. package/dist/SdCliBuildResultError.mjs +0 -8
  298. package/dist/bin/sd-cli.d.ts +0 -2
  299. package/dist/bin/sd-cli.mjs +0 -410
  300. package/dist/build-tool/SdCliCacheCompilerHost.d.ts +0 -10
  301. package/dist/build-tool/SdCliCacheCompilerHost.mjs +0 -51
  302. package/dist/build-tool/SdCliCordova.d.ts +0 -16
  303. package/dist/build-tool/SdCliCordova.mjs +0 -212
  304. package/dist/build-tool/SdCliElectron.d.ts +0 -9
  305. package/dist/build-tool/SdCliElectron.mjs +0 -72
  306. package/dist/build-tool/SdCliGithubApi.d.ts +0 -13
  307. package/dist/build-tool/SdCliGithubApi.mjs +0 -92
  308. package/dist/build-tool/SdCliIndexFileGenerator.d.ts +0 -13
  309. package/dist/build-tool/SdCliIndexFileGenerator.mjs +0 -62
  310. package/dist/build-tool/SdCliNgCacheCompilerHost.d.ts +0 -12
  311. package/dist/build-tool/SdCliNgCacheCompilerHost.mjs +0 -43
  312. package/dist/build-tool/SdCliPackageLinter.d.ts +0 -8
  313. package/dist/build-tool/SdCliPackageLinter.mjs +0 -62
  314. package/dist/builder/SdCliClientBuilder.d.ts +0 -26
  315. package/dist/builder/SdCliClientBuilder.mjs +0 -769
  316. package/dist/builder/SdCliJsLibBuilder.d.ts +0 -14
  317. package/dist/builder/SdCliJsLibBuilder.mjs +0 -54
  318. package/dist/builder/SdCliServerBuilder.d.ts +0 -28
  319. package/dist/builder/SdCliServerBuilder.mjs +0 -482
  320. package/dist/builder/SdCliTsLibBuilder.d.ts +0 -35
  321. package/dist/builder/SdCliTsLibBuilder.mjs +0 -317
  322. package/dist/entry-points/SdCliFileCrypto.d.ts +0 -7
  323. package/dist/entry-points/SdCliFileCrypto.mjs +0 -72
  324. package/dist/entry-points/SdCliLocalUpdate.d.ts +0 -13
  325. package/dist/entry-points/SdCliLocalUpdate.mjs +0 -100
  326. package/dist/entry-points/SdCliPrepare.d.ts +0 -5
  327. package/dist/entry-points/SdCliPrepare.mjs +0 -86
  328. package/dist/entry-points/SdCliProject.d.ts +0 -34
  329. package/dist/entry-points/SdCliProject.mjs +0 -416
  330. package/dist/entry-points/SdCliProjectGenerator.d.ts +0 -44
  331. package/dist/entry-points/SdCliProjectGenerator.mjs +0 -326
  332. package/dist/entry-points/file/base/fc_package_eslintrc.d.ts +0 -3
  333. package/dist/entry-points/file/base/fc_package_eslintrc.mjs +0 -31
  334. package/dist/entry-points/file/base/fc_package_npmconfig.d.ts +0 -9
  335. package/dist/entry-points/file/base/fc_package_npmconfig.mjs +0 -32
  336. package/dist/entry-points/file/base/fc_package_tsconfig.d.ts +0 -5
  337. package/dist/entry-points/file/base/fc_package_tsconfig.mjs +0 -13
  338. package/dist/entry-points/file/client/fc_package_AppModule.d.ts +0 -1
  339. package/dist/entry-points/file/client/fc_package_AppModule.mjs +0 -37
  340. package/dist/entry-points/file/client/fc_package_AppPage.d.ts +0 -1
  341. package/dist/entry-points/file/client/fc_package_AppPage.mjs +0 -14
  342. package/dist/entry-points/file/client/fc_package_Page.d.ts +0 -4
  343. package/dist/entry-points/file/client/fc_package_Page.mjs +0 -19
  344. package/dist/entry-points/file/client/fc_package_client_main.d.ts +0 -1
  345. package/dist/entry-points/file/client/fc_package_client_main.mjs +0 -19
  346. package/dist/entry-points/file/client/fc_package_index.d.ts +0 -3
  347. package/dist/entry-points/file/client/fc_package_index.mjs +0 -88
  348. package/dist/entry-points/file/client/fc_package_manifest.d.ts +0 -5
  349. package/dist/entry-points/file/client/fc_package_manifest.mjs +0 -54
  350. package/dist/entry-points/file/client/fc_package_polyfills.d.ts +0 -1
  351. package/dist/entry-points/file/client/fc_package_polyfills.mjs +0 -11
  352. package/dist/entry-points/file/client/fc_package_styles.d.ts +0 -1
  353. package/dist/entry-points/file/client/fc_package_styles.mjs +0 -7
  354. package/dist/entry-points/file/db/fc_package_DbContext.d.ts +0 -3
  355. package/dist/entry-points/file/db/fc_package_DbContext.mjs +0 -14
  356. package/dist/entry-points/file/db/fc_package_DbModel.d.ts +0 -4
  357. package/dist/entry-points/file/db/fc_package_DbModel.mjs +0 -12
  358. package/dist/entry-points/file/project/fc_project_editor_config.d.ts +0 -1
  359. package/dist/entry-points/file/project/fc_project_editor_config.mjs +0 -22
  360. package/dist/entry-points/file/project/fc_project_eslintrc.d.ts +0 -1
  361. package/dist/entry-points/file/project/fc_project_eslintrc.mjs +0 -30
  362. package/dist/entry-points/file/project/fc_project_gitattributes.d.ts +0 -1
  363. package/dist/entry-points/file/project/fc_project_gitattributes.mjs +0 -6
  364. package/dist/entry-points/file/project/fc_project_gitignore.d.ts +0 -1
  365. package/dist/entry-points/file/project/fc_project_gitignore.mjs +0 -27
  366. package/dist/entry-points/file/project/fc_project_npmconfig.d.ts +0 -7
  367. package/dist/entry-points/file/project/fc_project_npmconfig.mjs +0 -37
  368. package/dist/entry-points/file/project/fc_project_readme.d.ts +0 -3
  369. package/dist/entry-points/file/project/fc_project_readme.mjs +0 -13
  370. package/dist/entry-points/file/project/fc_project_simplysm.d.ts +0 -1
  371. package/dist/entry-points/file/project/fc_project_simplysm.mjs +0 -2
  372. package/dist/entry-points/file/project/fc_project_tsconfig.d.ts +0 -1
  373. package/dist/entry-points/file/project/fc_project_tsconfig.mjs +0 -25
  374. package/dist/entry-points/file/server/fc_package_server_main.d.ts +0 -5
  375. package/dist/entry-points/file/server/fc_package_server_main.mjs +0 -60
  376. package/dist/index.d.ts +0 -54
  377. package/dist/index.mjs +0 -55
  378. package/dist/ng-tools/SdCliNgModuleGenerator.d.ts +0 -29
  379. package/dist/ng-tools/SdCliNgModuleGenerator.mjs +0 -502
  380. package/dist/ng-tools/babel/SdCliBbFileMetadata.d.ts +0 -25
  381. package/dist/ng-tools/babel/SdCliBbFileMetadata.mjs +0 -539
  382. package/dist/ng-tools/babel/SdCliBbRootMetadata.d.ts +0 -23
  383. package/dist/ng-tools/babel/SdCliBbRootMetadata.mjs +0 -247
  384. package/dist/ng-tools/babel/SdCliBbUtil.d.ts +0 -5
  385. package/dist/ng-tools/babel/SdCliBbUtil.mjs +0 -14
  386. package/dist/ng-tools/babel/TSdCliBbNgMetadata.d.ts +0 -42
  387. package/dist/ng-tools/babel/TSdCliBbNgMetadata.mjs +0 -216
  388. package/dist/ng-tools/babel/TSdCliBbTypeMetadata.d.ts +0 -55
  389. package/dist/ng-tools/babel/TSdCliBbTypeMetadata.mjs +0 -151
  390. package/dist/ng-tools/commons.d.ts +0 -9
  391. package/dist/ng-tools/commons.mjs +0 -2
  392. package/dist/ng-tools/typescript/SdCliTsFileMetadata.d.ts +0 -61
  393. package/dist/ng-tools/typescript/SdCliTsFileMetadata.mjs +0 -325
  394. package/dist/ng-tools/typescript/SdCliTsRootMetadata.d.ts +0 -8
  395. package/dist/ng-tools/typescript/SdCliTsRootMetadata.mjs +0 -28
  396. package/dist/ng-tools/typescript/SdCliTsUtil.d.ts +0 -5
  397. package/dist/ng-tools/typescript/SdCliTsUtil.mjs +0 -28
  398. package/dist/packages/SdCliPackage.d.ts +0 -22
  399. package/dist/packages/SdCliPackage.mjs +0 -206
  400. package/dist/utils/SdCliNpmConfigUtil.d.ts +0 -7
  401. package/dist/utils/SdCliNpmConfigUtil.mjs +0 -15
  402. package/dist/worker/build-worker.mjs +0 -67
  403. package/dist/worker/server-worker.mjs +0 -67
  404. package/docs/client-add-page.md +0 -8
  405. package/docs/client-router.md +0 -85
  406. package/docs/client-sw.md +0 -101
  407. package/docs/conf-orm.md +0 -81
  408. package/docs/conf-usage.md +0 -5
  409. package/docs/lib-local-update.md +0 -50
  410. package/docs/lib-ts-paths.md +0 -25
  411. package/lib/cordova-entry.js +0 -22
  412. package/src/SdCliBuildResultError.ts +0 -9
  413. package/src/bin/sd-cli.ts +0 -493
  414. package/src/build-tool/SdCliCacheCompilerHost.ts +0 -79
  415. package/src/build-tool/SdCliCordova.ts +0 -263
  416. package/src/build-tool/SdCliElectron.ts +0 -85
  417. package/src/build-tool/SdCliGithubApi.ts +0 -111
  418. package/src/build-tool/SdCliIndexFileGenerator.ts +0 -79
  419. package/src/build-tool/SdCliNgCacheCompilerHost.ts +0 -58
  420. package/src/build-tool/SdCliPackageLinter.ts +0 -74
  421. package/src/builder/SdCliClientBuilder.ts +0 -879
  422. package/src/builder/SdCliJsLibBuilder.ts +0 -70
  423. package/src/builder/SdCliServerBuilder.ts +0 -552
  424. package/src/builder/SdCliTsLibBuilder.ts +0 -450
  425. package/src/entry-points/SdCliFileCrypto.ts +0 -87
  426. package/src/entry-points/SdCliLocalUpdate.ts +0 -121
  427. package/src/entry-points/SdCliPrepare.ts +0 -86
  428. package/src/entry-points/SdCliProject.ts +0 -491
  429. package/src/entry-points/SdCliProjectGenerator.ts +0 -402
  430. package/src/entry-points/file/base/fc_package_eslintrc.ts +0 -30
  431. package/src/entry-points/file/base/fc_package_npmconfig.ts +0 -43
  432. package/src/entry-points/file/base/fc_package_tsconfig.ts +0 -12
  433. package/src/entry-points/file/client/fc_package_AppModule.ts +0 -36
  434. package/src/entry-points/file/client/fc_package_AppPage.ts +0 -13
  435. package/src/entry-points/file/client/fc_package_Page.ts +0 -19
  436. package/src/entry-points/file/client/fc_package_client_main.ts +0 -18
  437. package/src/entry-points/file/client/fc_package_index.ts +0 -87
  438. package/src/entry-points/file/client/fc_package_manifest.ts +0 -53
  439. package/src/entry-points/file/client/fc_package_polyfills.ts +0 -10
  440. package/src/entry-points/file/client/fc_package_styles.ts +0 -6
  441. package/src/entry-points/file/db/fc_package_DbContext.ts +0 -14
  442. package/src/entry-points/file/db/fc_package_DbModel.ts +0 -11
  443. package/src/entry-points/file/project/fc_project_editor_config.ts +0 -21
  444. package/src/entry-points/file/project/fc_project_eslintrc.ts +0 -29
  445. package/src/entry-points/file/project/fc_project_gitattributes.ts +0 -5
  446. package/src/entry-points/file/project/fc_project_gitignore.ts +0 -26
  447. package/src/entry-points/file/project/fc_project_npmconfig.ts +0 -36
  448. package/src/entry-points/file/project/fc_project_readme.ts +0 -12
  449. package/src/entry-points/file/project/fc_project_simplysm.ts +0 -1
  450. package/src/entry-points/file/project/fc_project_tsconfig.ts +0 -24
  451. package/src/entry-points/file/server/fc_package_server_main.ts +0 -62
  452. package/src/index.ts +0 -54
  453. package/src/ng-tools/SdCliNgModuleGenerator.ts +0 -672
  454. package/src/ng-tools/babel/SdCliBbFileMetadata.ts +0 -629
  455. package/src/ng-tools/babel/SdCliBbRootMetadata.ts +0 -292
  456. package/src/ng-tools/babel/SdCliBbUtil.ts +0 -15
  457. package/src/ng-tools/babel/TSdCliBbNgMetadata.ts +0 -251
  458. package/src/ng-tools/babel/TSdCliBbTypeMetadata.ts +0 -212
  459. package/src/ng-tools/commons.ts +0 -3
  460. package/src/ng-tools/typescript/SdCliTsFileMetadata.ts +0 -384
  461. package/src/ng-tools/typescript/SdCliTsRootMetadata.ts +0 -32
  462. package/src/ng-tools/typescript/SdCliTsUtil.ts +0 -29
  463. package/src/packages/SdCliPackage.ts +0 -259
  464. package/src/utils/SdCliNpmConfigUtil.ts +0 -16
  465. package/src/worker/build-worker.ts +0 -73
  466. package/src/worker/server-worker.ts +0 -72
  467. /package/dist/{worker/build-worker.d.ts → build-cluster.d.ts} +0 -0
  468. /package/dist/{worker/server-worker.d.ts → sd-cli.d.ts} +0 -0
@@ -0,0 +1,185 @@
1
+ import path from "path";
2
+ import { FsUtil } from "./FsUtil";
3
+ import os from "os";
4
+ import { DateTime, MathUtil, ObjectUtil } from "@simplysm/sd-core-common";
5
+ export var LoggerStyle;
6
+ (function (LoggerStyle) {
7
+ LoggerStyle["clear"] = "\u001B[0m";
8
+ LoggerStyle["fgGray"] = "\u001B[90m";
9
+ LoggerStyle["fgBlack"] = "\u001B[30m";
10
+ LoggerStyle["fgWhite"] = "\u001B[37m";
11
+ LoggerStyle["fgRed"] = "\u001B[31m";
12
+ LoggerStyle["fgGreen"] = "\u001B[32m";
13
+ LoggerStyle["fgYellow"] = "\u001B[33m";
14
+ LoggerStyle["fgBlue"] = "\u001B[34m";
15
+ LoggerStyle["fgMagenta"] = "\u001B[35m";
16
+ LoggerStyle["fgCyan"] = "\u001B[36m";
17
+ LoggerStyle["bgBlack"] = "\u001B[40m\u001B[97m";
18
+ LoggerStyle["bgRed"] = "\u001B[41m\u001B[97m";
19
+ LoggerStyle["bgGreen"] = "\u001B[42m\u001B[97m";
20
+ LoggerStyle["bgYellow"] = "\u001B[43m\u001B[97m";
21
+ LoggerStyle["bgBlue"] = "\u001B[44m\u001B[97m";
22
+ LoggerStyle["bgMagenta"] = "\u001B[45m\u001B[97m";
23
+ LoggerStyle["bgWhite"] = "\u001B[46m\u001B[97m";
24
+ })(LoggerStyle || (LoggerStyle = {}));
25
+ export var LoggerSeverity;
26
+ (function (LoggerSeverity) {
27
+ LoggerSeverity["debug"] = "debug";
28
+ LoggerSeverity["log"] = "log";
29
+ LoggerSeverity["info"] = "info";
30
+ LoggerSeverity["warn"] = "warn";
31
+ LoggerSeverity["error"] = "error";
32
+ LoggerSeverity["none"] = "";
33
+ })(LoggerSeverity || (LoggerSeverity = {}));
34
+ export class Logger {
35
+ static get(group = []) {
36
+ return new Logger(group);
37
+ }
38
+ static setConfig(arg1, arg2) {
39
+ const group = (arg2 !== undefined ? arg1 : []);
40
+ const config = (arg2 !== undefined ? arg2 : arg1);
41
+ Logger.configs.set(group.join("_"), config);
42
+ }
43
+ static restoreConfig() {
44
+ Logger.configs.clear();
45
+ }
46
+ static setHistoryLength(len) {
47
+ Logger._historyLength = len;
48
+ }
49
+ constructor(_group) {
50
+ this._group = _group;
51
+ this._randomForStyle = MathUtil.getRandomInt(4, 9);
52
+ }
53
+ debug(...args) {
54
+ this._write(LoggerSeverity.debug, args);
55
+ }
56
+ log(...args) {
57
+ this._write(LoggerSeverity.log, args);
58
+ }
59
+ info(...args) {
60
+ this._write(LoggerSeverity.info, args);
61
+ }
62
+ warn(...args) {
63
+ this._write(LoggerSeverity.warn, args);
64
+ }
65
+ error(...args) {
66
+ this._write(LoggerSeverity.error, args);
67
+ }
68
+ _write(severity, logs) {
69
+ const config = this._getConfig();
70
+ const now = new DateTime();
71
+ const severityIndex = Object.values(LoggerSeverity).indexOf(severity);
72
+ const consoleLevelIndex = Object.values(LoggerSeverity).indexOf(config.console.level);
73
+ const fileLevelIndex = Object.values(LoggerSeverity).indexOf(config.file.level);
74
+ if (severityIndex >= consoleLevelIndex) {
75
+ if (typeof process.stdout.clearLine === "function") {
76
+ process.stdout.clearLine(0);
77
+ process.stdout.cursorTo(0);
78
+ }
79
+ const loggerStyle = config.console.styles[severity];
80
+ let headMessage = LoggerStyle.fgGray;
81
+ headMessage += now.toFormatString("yyyy-MM-dd HH:mm:ss.fff") + " ";
82
+ if (this._group.length > 0) {
83
+ headMessage += config.console.style + "[" + this._group.join(".") + "] ";
84
+ }
85
+ headMessage += loggerStyle;
86
+ headMessage += severity.toUpperCase().padStart(5, " ");
87
+ const logMessages = logs.map((log) => ((log instanceof Error && log.stack !== undefined) ? log.stack : log));
88
+ const tailMessage = LoggerStyle.clear;
89
+ // eslint-disable-next-line no-console
90
+ console.log(headMessage, ...logMessages, tailMessage);
91
+ }
92
+ else if (config.dot) {
93
+ process.stdout.write(".");
94
+ }
95
+ if (severityIndex >= fileLevelIndex) {
96
+ let text = now.toFormatString("yyyy-MM-dd HH:mm:ss.fff") + " ";
97
+ text += (this._group.length > 0 ? "[" + this._group.join(".") + "] " : "");
98
+ text += severity.toUpperCase().padStart(5, " ") + os.EOL;
99
+ for (const log of logs) {
100
+ let logString;
101
+ // 색상빼기
102
+ if (typeof log === "string") {
103
+ logString = log.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, "");
104
+ }
105
+ else if (typeof log.toString === "function" && !(/^\[.*]$/).test(log.toString())) {
106
+ logString = log.toString();
107
+ }
108
+ else {
109
+ logString = JSON.stringify(log);
110
+ }
111
+ text += logString + os.EOL;
112
+ }
113
+ const outPath = path.resolve(config.file.outDir, now.toFormatString("yyyyMMdd"));
114
+ FsUtil.mkdirs(outPath);
115
+ const fileNames = FsUtil.readdir(outPath);
116
+ const lastFileSeq = fileNames
117
+ .filter((fileName) => fileName.endsWith(".log"))
118
+ .map((fileName) => Number(path.basename(fileName, path.extname(fileName))))
119
+ .filter((item) => !Number.isNaN(item))
120
+ .max();
121
+ let logFileName = "1.log";
122
+ if (lastFileSeq !== undefined) {
123
+ const lstat = FsUtil.lstat(path.resolve(outPath, `${lastFileSeq}.log`));
124
+ if (lstat.size > (config.file.maxBytes ?? 500 * 1000)) {
125
+ logFileName = `${lastFileSeq + 1}.log`;
126
+ }
127
+ else {
128
+ logFileName = lastFileSeq.toString() + ".log";
129
+ }
130
+ }
131
+ const logFilePath = path.resolve(outPath, logFileName);
132
+ if (FsUtil.exists(logFilePath)) {
133
+ FsUtil.appendFile(logFilePath, text);
134
+ }
135
+ else {
136
+ FsUtil.writeFile(logFilePath, text);
137
+ }
138
+ }
139
+ if (Logger._historyLength > 0) {
140
+ Logger.history.push({
141
+ datetime: now,
142
+ group: this._group,
143
+ severity,
144
+ logs
145
+ });
146
+ while (Logger.history.length > Logger._historyLength) {
147
+ Logger.history.remove(Logger.history[0]);
148
+ }
149
+ }
150
+ }
151
+ _getConfig() {
152
+ let config = {
153
+ dot: false,
154
+ console: {
155
+ style: LoggerStyle[Object.keys(LoggerStyle)[this._randomForStyle]],
156
+ level: LoggerSeverity.log,
157
+ styles: {
158
+ debug: LoggerStyle.fgGray,
159
+ log: LoggerStyle.clear,
160
+ info: LoggerStyle.fgCyan,
161
+ warn: LoggerStyle.fgYellow,
162
+ error: LoggerStyle.fgRed
163
+ }
164
+ },
165
+ file: {
166
+ level: LoggerSeverity.none,
167
+ outDir: path.resolve(process.cwd(), "_logs"),
168
+ maxBytes: 300 * 1000
169
+ }
170
+ };
171
+ const currGroup = [];
172
+ config = ObjectUtil.merge(config, Logger.configs.get(currGroup.join("_")));
173
+ for (const groupItem of this._group) {
174
+ currGroup.push(groupItem);
175
+ if (Logger.configs.has(currGroup.join("_"))) {
176
+ config = ObjectUtil.merge(config, Logger.configs.get(currGroup.join("_")));
177
+ }
178
+ }
179
+ return config;
180
+ }
181
+ }
182
+ Logger.configs = new Map();
183
+ Logger._historyLength = 0;
184
+ Logger.history = [];
185
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1,6 @@
1
+ export declare class PathUtil {
2
+ static posix(...args: string[]): string;
3
+ static changeFileDirectory(filePath: string, fromDirectory: string, toDirectory: string): string;
4
+ static removeExt(filePath: string): string;
5
+ static isChildPath(childPath: string, parentPath: string): boolean;
6
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PathUtil.js","sourceRoot":"","sources":["../../../../../sd-core-node/src/utils/PathUtil.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,OAAO,QAAQ;IACZ,MAAM,CAAC,KAAK,CAAC,GAAG,IAAc;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxC,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,QAAgB,EAAE,aAAqB,EAAE,WAAmB;QAC5F,IAAI,QAAQ,KAAK,aAAa,EAAE;YAC9B,OAAO,WAAW,CAAC;SACpB;QAED,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,IAAI,QAAQ,MAAM,aAAa,UAAU,CAAC,CAAC;SAC5D;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,QAAgB;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,SAAiB,EAAE,UAAkB;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACnG,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import path from "path";
2
+ export class PathUtil {
3
+ static posix(...args) {
4
+ const resolvedPath = path.join(...args);
5
+ return resolvedPath.replace(/\\/g, "/");
6
+ }
7
+ static changeFileDirectory(filePath, fromDirectory, toDirectory) {
8
+ if (filePath === fromDirectory) {
9
+ return toDirectory;
10
+ }
11
+ if (!PathUtil.isChildPath(filePath, fromDirectory)) {
12
+ throw new Error(`'${filePath}'가 ${fromDirectory}안에 없습니다.`);
13
+ }
14
+ return path.resolve(toDirectory, path.relative(fromDirectory, filePath));
15
+ }
16
+ static removeExt(filePath) {
17
+ return path.basename(filePath, path.extname(filePath));
18
+ }
19
+ static isChildPath(childPath, parentPath) {
20
+ const relativePath = path.relative(parentPath, childPath);
21
+ return Boolean(relativePath) && !relativePath.startsWith("..") && !path.isAbsolute(relativePath);
22
+ }
23
+ }
24
+ //# sourceMappingURL=PathUtil.js.map
@@ -0,0 +1,15 @@
1
+ export declare class SdFsWatcher {
2
+ private readonly _watcher;
3
+ private constructor();
4
+ static watch(paths: string[]): SdFsWatcher;
5
+ onChange(opt: {
6
+ delay?: number;
7
+ }, cb: (changeInfos: ISdFsWatcherChangeInfo[]) => void | Promise<void>): void;
8
+ add(paths: string[]): void;
9
+ closeAsync(): Promise<void>;
10
+ }
11
+ export type TSdFsWatcherEvent = "change" | "unlink" | "add" | "unlinkDir" | "addDir";
12
+ export interface ISdFsWatcherChangeInfo {
13
+ event: TSdFsWatcherEvent;
14
+ path: string;
15
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdFsWatcher.js","sourceRoot":"","sources":["../../../../../sd-core-node/src/utils/SdFsWatcher.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,OAAO,WAAW;IAGtB,YAAoB,KAAe,EAAE,OAA+B;QAClE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,KAAe;QACjC,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,QAAQ,CAAC,GAAuB,EAAE,EAAmE;QAC1G,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC3D,IAAI,CAAC,QAAQ;aACV,EAAE,CAAC,KAAK,EAAE,CAAC,KAAwB,EAAE,QAAgB,EAAE,EAAE;YACxD,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7D,IAAI,SAAS,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,EAAE;gBAC7C,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aACxC;iBACI,IACH,CAAC,SAAS,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC;gBAC3C,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW,CAAC,EACjD;aACD;iBACI;gBACH,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aACpC;YAED,UAAU,CAAC,KAAK,IAAI,EAAE;gBACpB,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO;gBACrC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACnE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;oBACZ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;iBACZ,CAAC,CAAC,CAAC;gBACJ,aAAa,CAAC,KAAK,EAAE,CAAC;gBAEtB,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,GAAG,CAAC,KAAe;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ import chokidar from "chokidar";
2
+ import { ObjectUtil } from "@simplysm/sd-core-common";
3
+ export class SdFsWatcher {
4
+ constructor(paths, options) {
5
+ this._watcher = chokidar.watch(paths, ObjectUtil.merge(options, { ignoreInitial: true, persistent: true }));
6
+ }
7
+ static watch(paths) {
8
+ return new SdFsWatcher(paths);
9
+ }
10
+ onChange(opt, cb) {
11
+ const changeInfoMap = new Map();
12
+ this._watcher
13
+ .on("all", (event, filePath) => {
14
+ const prevEvent = changeInfoMap.getOrCreate(filePath, event);
15
+ if (prevEvent === "add" && event === "change") {
16
+ changeInfoMap.set(filePath, prevEvent);
17
+ }
18
+ else if ((prevEvent === "add" && event === "unlink") ||
19
+ (prevEvent === "addDir" && event === "unlinkDir")) {
20
+ }
21
+ else {
22
+ changeInfoMap.set(filePath, event);
23
+ }
24
+ setTimeout(async () => {
25
+ if (changeInfoMap.size === 0)
26
+ return;
27
+ const changeInfos = Array.from(changeInfoMap.entries()).map((en) => ({
28
+ event: en[1],
29
+ path: en[0]
30
+ }));
31
+ changeInfoMap.clear();
32
+ await cb(changeInfos);
33
+ }, opt.delay ?? 500);
34
+ });
35
+ }
36
+ add(paths) {
37
+ this._watcher.add(paths);
38
+ }
39
+ async closeAsync() {
40
+ await this._watcher.close();
41
+ }
42
+ }
43
+ //# sourceMappingURL=SdFsWatcher.js.map
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import cp from "child_process";
3
+ export declare class SdProcess {
4
+ static spawnAsync(cmd: string, opts?: cp.SpawnOptionsWithoutStdio, showMessage?: boolean): Promise<string>;
5
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdProcess.js","sourceRoot":"","sources":["../../../../../sd-core-node/src/utils/SdProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,eAAe,CAAC;AAE/B,MAAM,OAAO,SAAS;IACb,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,IAAkC,EAAE,WAAqB;QACnG,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC9D,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,MAAM;gBACb,GAAG,IAAI;aACR,CAAC,CAAC;YACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;gBACrD,IAAI,WAAW,EAAE;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;gBACrD,IAAI,WAAW,EAAE;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,IAAI,KAAK,CAAC,EAAE;oBACd,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,oBAAoB,IAAI,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;oBACnF,OAAO;iBACR;gBAED,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,36 @@
1
+ import cp from "child_process";
2
+ export class SdProcess {
3
+ static async spawnAsync(cmd, opts, showMessage) {
4
+ return await new Promise((resolve, reject) => {
5
+ const ps = cp.spawn(cmd.split(" ")[0], cmd.split(" ").slice(1), {
6
+ shell: true,
7
+ stdio: "pipe",
8
+ ...opts
9
+ });
10
+ ps.on("error", (err) => {
11
+ reject(err);
12
+ });
13
+ let messageBuffer = Buffer.from([]);
14
+ ps.stdout.on("data", (data) => {
15
+ messageBuffer = Buffer.concat([messageBuffer, data]);
16
+ if (showMessage) {
17
+ process.stdout.write(data);
18
+ }
19
+ });
20
+ ps.stderr.on("data", (data) => {
21
+ messageBuffer = Buffer.concat([messageBuffer, data]);
22
+ if (showMessage) {
23
+ process.stderr.write(data);
24
+ }
25
+ });
26
+ ps.on("exit", (code) => {
27
+ if (code !== 0) {
28
+ reject(new Error(`'${cmd}' 명령이 오류와 함께 닫힘 (${code})\n${messageBuffer.toString()}`));
29
+ return;
30
+ }
31
+ resolve(messageBuffer.toString());
32
+ });
33
+ });
34
+ }
35
+ }
36
+ //# sourceMappingURL=SdProcess.js.map
@@ -0,0 +1,12 @@
1
+ import { TEntityValue, TQueryBuilderValue, TQueryValue } from "./commons";
2
+ import { Type } from "@simplysm/sd-core-common";
3
+ import { QueryUnit } from "./QueryUnit";
4
+ import { QueryHelper } from "./QueryHelper";
5
+ export declare class CaseQueryHelper<T extends TQueryValue> {
6
+ private readonly _qh;
7
+ private _type;
8
+ private readonly _cases;
9
+ constructor(_qh: QueryHelper, _type: Type<T> | undefined);
10
+ case(predicate: TEntityValue<boolean | Boolean> | TQueryBuilderValue, then: TEntityValue<T>): this;
11
+ else(then: TEntityValue<T>): QueryUnit<T>;
12
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CaseQueryHelper.js","sourceRoot":"","sources":["../../../../sd-orm-common/src/CaseQueryHelper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,OAAO,eAAe;IAG1B,YAAoC,GAAgB,EACzB,KAA0B;QADjB,QAAG,GAAH,GAAG,CAAa;QACzB,UAAK,GAAL,KAAK,CAAqB;QAHpC,WAAM,GAAU,EAAE,CAAC;IAIpC,CAAC;IAEM,IAAI,CAAC,SAA+D,EAAE,IAAqB;QAChG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;QAE7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3G,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CAAC,IAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;QAC7D,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9G,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import { SdOrmUtil } from "./utils/SdOrmUtil";
2
+ import { QueryUnit } from "./QueryUnit";
3
+ export class CaseQueryHelper {
4
+ constructor(_qh, _type) {
5
+ this._qh = _qh;
6
+ this._type = _type;
7
+ this._cases = [];
8
+ }
9
+ case(predicate, then) {
10
+ this._type = SdOrmUtil.getQueryValueType(then) ?? this._type;
11
+ this._cases.push(...[" WHEN ", this._qh.getQueryValue(predicate), " THEN ", this._qh.getQueryValue(then)]);
12
+ return this;
13
+ }
14
+ else(then) {
15
+ this._type = SdOrmUtil.getQueryValueType(then) ?? this._type;
16
+ return new QueryUnit(this._type, ["CASE ", ...this._cases, " ELSE ", this._qh.getQueryValue(then), " END"]);
17
+ }
18
+ }
19
+ //# sourceMappingURL=CaseQueryHelper.js.map
@@ -0,0 +1,12 @@
1
+ import { TEntityValue, TQueryValue } from "./commons";
2
+ import { QueryUnit } from "./QueryUnit";
3
+ import { QueryHelper } from "./QueryHelper";
4
+ export declare class CaseWhenQueryHelper<T extends TQueryValue> {
5
+ private readonly _qh;
6
+ private readonly _arg;
7
+ private readonly _cases;
8
+ private _type;
9
+ constructor(_qh: QueryHelper, _arg: TEntityValue<TQueryValue>);
10
+ when(arg: TEntityValue<TQueryValue>, then: TEntityValue<T>): CaseWhenQueryHelper<T>;
11
+ else(then: TEntityValue<T>): QueryUnit<T>;
12
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CaseWhenQueryHelper.js","sourceRoot":"","sources":["../../../../sd-orm-common/src/CaseWhenQueryHelper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,MAAM,OAAO,mBAAmB;IAI9B,YAAoC,GAAgB,EAChB,IAA+B;QAD/B,QAAG,GAAH,GAAG,CAAa;QAChB,SAAI,GAAJ,IAAI,CAA2B;QAJlD,WAAM,GAAU,EAAE,CAAC;QAC5B,UAAK,GAAwB,SAAS,CAAC;IAI/C,CAAC;IAEM,IAAI,CAAC,GAA8B,EAAE,IAAqB;QAC/D,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChI,OAAO,IAAW,CAAC;IACrB,CAAC;IAEM,IAAI,CAAC,IAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;QAC7D,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9G,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { SdOrmUtil } from "./utils/SdOrmUtil";
2
+ import { QueryUnit } from "./QueryUnit";
3
+ export class CaseWhenQueryHelper {
4
+ constructor(_qh, _arg) {
5
+ this._qh = _qh;
6
+ this._arg = _arg;
7
+ this._cases = [];
8
+ this._type = undefined;
9
+ }
10
+ when(arg, then) {
11
+ this._type = SdOrmUtil.getQueryValueType(then) ?? this._type;
12
+ this._cases.push(...[" WHEN ", this._qh.getQueryValue(this._qh.equal(this._arg, arg)), " THEN ", this._qh.getQueryValue(then)]);
13
+ return this;
14
+ }
15
+ else(then) {
16
+ this._type = SdOrmUtil.getQueryValueType(then) ?? this._type;
17
+ return new QueryUnit(this._type, ["CASE ", ...this._cases, " ELSE ", this._qh.getQueryValue(then), " END"]);
18
+ }
19
+ }
20
+ //# sourceMappingURL=CaseWhenQueryHelper.js.map
@@ -0,0 +1,81 @@
1
+ import { QueryBuilder } from "./QueryBuilder";
2
+ import { IDbContextExecutor } from "./IDbContextExecutor";
3
+ import { QueryHelper } from "./QueryHelper";
4
+ import { IQueryColumnDef, IQueryResultParseOption, IQueryTableNameDef, ISOLATION_LEVEL, ITableDef, TQueryDef } from "./commons";
5
+ import { DateTime, Type } from "@simplysm/sd-core-common";
6
+ import { IDbMigration } from "./IDbMigration";
7
+ import { Queryable } from "./Queryable";
8
+ import { SystemMigration } from "./models/SystemMigration";
9
+ export declare abstract class DbContext {
10
+ private readonly _executor;
11
+ readonly opt: TDbContextOption;
12
+ status: "ready" | "connect" | "transact";
13
+ lastConnectionDateTime?: DateTime;
14
+ prepareDefs: TQueryDef[];
15
+ abstract get migrations(): Type<IDbMigration>[];
16
+ readonly qb: QueryBuilder;
17
+ readonly qh: QueryHelper;
18
+ readonly systemMigration: Queryable<this, SystemMigration>;
19
+ getTableDefinitions(): ITableDef[];
20
+ constructor(_executor: IDbContextExecutor | undefined, opt: TDbContextOption);
21
+ connectWithoutTransactionAsync<R>(callback: () => Promise<R>): Promise<R>;
22
+ connectAsync<R>(fn: () => Promise<R>, isolationLevel?: ISOLATION_LEVEL): Promise<R>;
23
+ transAsync<R>(fn: () => Promise<R>, isolationLevel?: ISOLATION_LEVEL): Promise<R>;
24
+ executeDefsAsync(defs: TQueryDef[], options?: (IQueryResultParseOption | undefined)[]): Promise<any[][]>;
25
+ executeQueriesAsync(queries: string[]): Promise<any[][]>;
26
+ bulkInsertAsync(tableName: string, columnDefs: IQueryColumnDef[], records: Record<string, any>[]): Promise<void>;
27
+ executePreparedAsync(): Promise<void>;
28
+ getIsDbExistsAsync(database?: string): Promise<boolean>;
29
+ getIsTableExistsAsync(tableNameDef: IQueryTableNameDef): Promise<boolean>;
30
+ get tableDefs(): ITableDef[];
31
+ getTableInfosAsync(database: string, schema?: string): Promise<{
32
+ schema: string;
33
+ name: string;
34
+ }[]>;
35
+ getTableColumnInfosAsync(database: string, schema: string, table: string): Promise<{
36
+ name: string;
37
+ dataType: string;
38
+ length?: number;
39
+ precision?: number;
40
+ digits?: number;
41
+ nullable: boolean;
42
+ autoIncrement: boolean;
43
+ }[]>;
44
+ getTablePkColumnNamesAsync(database: string, schema: string, table: string): Promise<string[]>;
45
+ getTableFksAsync(database: string, schema: string, table: string): Promise<{
46
+ name: string;
47
+ sourceColumnNames: string[];
48
+ targetSchemaName: string;
49
+ targetTableName: string;
50
+ }[]>;
51
+ getTableIndexesAsync(database: string, schema: string, table: string): Promise<{
52
+ name: string;
53
+ columns: {
54
+ name: string;
55
+ orderBy: "ASC" | "DESC";
56
+ }[];
57
+ }[]>;
58
+ truncateTable(table: string): Promise<void>;
59
+ initializeAsync(dbs?: string[], force?: boolean): Promise<boolean>;
60
+ getCreateTablesFullQueryDefsFromTableDef(tableDefs: ITableDef[]): TQueryDef[][];
61
+ getCreateTableQueryDefFromTableDef(tableDef: ITableDef): TQueryDef;
62
+ getCreateFksQueryDefsFromTableDef(tableDef: ITableDef): TQueryDef[];
63
+ getCreateIndexesQueryDefsFromTableDef(tableDef: ITableDef): TQueryDef[];
64
+ getAddColumnQueryDefFromTableDef(tableDef: ITableDef, columnName: string): TQueryDef;
65
+ getModifyColumnQueryDefFromTableDef(tableDef: ITableDef, columnName: string): TQueryDef;
66
+ getModifyPkQueryDefFromTableDef(tableDef: ITableDef, columnNames: string[]): TQueryDef[];
67
+ getAddFkQueryDefFromTableDef(tableDef: ITableDef, fkName: string): TQueryDef;
68
+ getRemoveFkQueryDefFromTableDef(tableDef: ITableDef, fkName: string): TQueryDef;
69
+ getCreateIndexQueryDefFromTableDef(tableDef: ITableDef, indexName: string): TQueryDef;
70
+ getDropIndexQueryDefFromTableDef(tableDef: ITableDef, indexName: string): TQueryDef;
71
+ getTableNameDef(tableDef: ITableDef): IQueryTableNameDef;
72
+ }
73
+ export type TDbContextOption = IDefaultDbContextOption | ISqliteDbContextOption;
74
+ export interface IDefaultDbContextOption {
75
+ dialect: "mysql" | "mssql" | "mssql-azure";
76
+ database?: string;
77
+ schema?: string;
78
+ }
79
+ export interface ISqliteDbContextOption {
80
+ dialect: "sqlite";
81
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DbContext.js","sourceRoot":"","sources":["../../../../sd-orm-common/src/DbContext.ts"],"names":[],"mappings":"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"}