@simplysm/sd-cli 10.0.22 → 10.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/dist/SdTsIncrementalBuilder.d.ts +1 -1
  2. package/dist/SdTsIncrementalBuilder.js.map +1 -1
  3. package/dist/SdTsIncrementalBuilder.mjs +39 -16
  4. package/package.json +4 -4
  5. package/src/SdTsIncrementalBuilder.ts +29 -4
  6. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +0 -20
  7. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +0 -1
  8. package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +0 -12
  9. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +0 -43
  10. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +0 -1
  11. package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +0 -54
  12. package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +0 -16
  13. package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +0 -1
  14. package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +0 -26
  15. package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +0 -14
  16. package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +0 -1
  17. package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +0 -2
  18. package/dist/sd-core-common/src/errors/ArgumentError.d.ts +0 -10
  19. package/dist/sd-core-common/src/errors/ArgumentError.js.map +0 -1
  20. package/dist/sd-core-common/src/errors/ArgumentError.mjs +0 -13
  21. package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +0 -10
  22. package/dist/sd-core-common/src/errors/NeverEntryError.js.map +0 -1
  23. package/dist/sd-core-common/src/errors/NeverEntryError.mjs +0 -13
  24. package/dist/sd-core-common/src/errors/NotImplementError.d.ts +0 -10
  25. package/dist/sd-core-common/src/errors/NotImplementError.js.map +0 -1
  26. package/dist/sd-core-common/src/errors/NotImplementError.mjs +0 -13
  27. package/dist/sd-core-common/src/errors/SdError.d.ts +0 -23
  28. package/dist/sd-core-common/src/errors/SdError.js.map +0 -1
  29. package/dist/sd-core-common/src/errors/SdError.mjs +0 -40
  30. package/dist/sd-core-common/src/errors/TimeoutError.d.ts +0 -11
  31. package/dist/sd-core-common/src/errors/TimeoutError.js.map +0 -1
  32. package/dist/sd-core-common/src/errors/TimeoutError.mjs +0 -16
  33. package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +0 -147
  34. package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +0 -1
  35. package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +0 -448
  36. package/dist/sd-core-common/src/extensions/MapExtension.d.ts +0 -4
  37. package/dist/sd-core-common/src/extensions/MapExtension.js.map +0 -1
  38. package/dist/sd-core-common/src/extensions/MapExtension.mjs +0 -15
  39. package/dist/sd-core-common/src/extensions/SetExtension.d.ts +0 -3
  40. package/dist/sd-core-common/src/extensions/SetExtension.js.map +0 -1
  41. package/dist/sd-core-common/src/extensions/SetExtension.mjs +0 -10
  42. package/dist/sd-core-common/src/index.d.ts +0 -32
  43. package/dist/sd-core-common/src/index.js.map +0 -1
  44. package/dist/sd-core-common/src/index.mjs +0 -33
  45. package/dist/sd-core-common/src/types/DateOnly.d.ts +0 -135
  46. package/dist/sd-core-common/src/types/DateOnly.js.map +0 -1
  47. package/dist/sd-core-common/src/types/DateOnly.mjs +0 -220
  48. package/dist/sd-core-common/src/types/DateTime.d.ts +0 -42
  49. package/dist/sd-core-common/src/types/DateTime.js.map +0 -1
  50. package/dist/sd-core-common/src/types/DateTime.mjs +0 -156
  51. package/dist/sd-core-common/src/types/DeepPartial.d.ts +0 -3
  52. package/dist/sd-core-common/src/types/DeepPartial.js.map +0 -1
  53. package/dist/sd-core-common/src/types/DeepPartial.mjs +0 -2
  54. package/dist/sd-core-common/src/types/ObjectSet.d.ts +0 -4
  55. package/dist/sd-core-common/src/types/ObjectSet.js.map +0 -1
  56. package/dist/sd-core-common/src/types/ObjectSet.mjs +0 -18
  57. package/dist/sd-core-common/src/types/Time.d.ts +0 -27
  58. package/dist/sd-core-common/src/types/Time.js.map +0 -1
  59. package/dist/sd-core-common/src/types/Time.mjs +0 -108
  60. package/dist/sd-core-common/src/types/Type.d.ts +0 -7
  61. package/dist/sd-core-common/src/types/Type.js.map +0 -1
  62. package/dist/sd-core-common/src/types/Type.mjs +0 -2
  63. package/dist/sd-core-common/src/types/UnwrappedType.d.ts +0 -1
  64. package/dist/sd-core-common/src/types/UnwrappedType.js.map +0 -1
  65. package/dist/sd-core-common/src/types/UnwrappedType.mjs +0 -2
  66. package/dist/sd-core-common/src/types/Uuid.d.ts +0 -8
  67. package/dist/sd-core-common/src/types/Uuid.js.map +0 -1
  68. package/dist/sd-core-common/src/types/Uuid.mjs +0 -26
  69. package/dist/sd-core-common/src/types/WrappedType.d.ts +0 -1
  70. package/dist/sd-core-common/src/types/WrappedType.js.map +0 -1
  71. package/dist/sd-core-common/src/types/WrappedType.mjs +0 -2
  72. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +0 -12
  73. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +0 -1
  74. package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +0 -67
  75. package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +0 -8
  76. package/dist/sd-core-common/src/utils/FunctionQueue.js.map +0 -1
  77. package/dist/sd-core-common/src/utils/FunctionQueue.mjs +0 -46
  78. package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +0 -6
  79. package/dist/sd-core-common/src/utils/FunctionUtil.js.map +0 -1
  80. package/dist/sd-core-common/src/utils/FunctionUtil.mjs +0 -31
  81. package/dist/sd-core-common/src/utils/JsonConvert.d.ts +0 -8
  82. package/dist/sd-core-common/src/utils/JsonConvert.js.map +0 -1
  83. package/dist/sd-core-common/src/utils/JsonConvert.mjs +0 -78
  84. package/dist/sd-core-common/src/utils/MathUtil.d.ts +0 -3
  85. package/dist/sd-core-common/src/utils/MathUtil.js.map +0 -1
  86. package/dist/sd-core-common/src/utils/MathUtil.mjs +0 -6
  87. package/dist/sd-core-common/src/utils/NumberUtil.d.ts +0 -6
  88. package/dist/sd-core-common/src/utils/NumberUtil.js.map +0 -1
  89. package/dist/sd-core-common/src/utils/NumberUtil.mjs +0 -32
  90. package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +0 -80
  91. package/dist/sd-core-common/src/utils/ObjectUtil.js.map +0 -1
  92. package/dist/sd-core-common/src/utils/ObjectUtil.mjs +0 -452
  93. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +0 -6
  94. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +0 -1
  95. package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +0 -27
  96. package/dist/sd-core-common/src/utils/StringUtil.d.ts +0 -8
  97. package/dist/sd-core-common/src/utils/StringUtil.js.map +0 -1
  98. package/dist/sd-core-common/src/utils/StringUtil.mjs +0 -77
  99. package/dist/sd-core-common/src/utils/Wait.d.ts +0 -4
  100. package/dist/sd-core-common/src/utils/Wait.js.map +0 -1
  101. package/dist/sd-core-common/src/utils/Wait.mjs +0 -23
  102. package/dist/sd-core-node/src/index.d.ts +0 -6
  103. package/dist/sd-core-node/src/index.js.map +0 -1
  104. package/dist/sd-core-node/src/index.mjs +0 -7
  105. package/dist/sd-core-node/src/utils/FsUtil.d.ts +0 -44
  106. package/dist/sd-core-node/src/utils/FsUtil.js.map +0 -1
  107. package/dist/sd-core-node/src/utils/FsUtil.mjs +0 -493
  108. package/dist/sd-core-node/src/utils/Logger.d.ts +0 -91
  109. package/dist/sd-core-node/src/utils/Logger.js.map +0 -1
  110. package/dist/sd-core-node/src/utils/Logger.mjs +0 -185
  111. package/dist/sd-core-node/src/utils/PathUtil.d.ts +0 -6
  112. package/dist/sd-core-node/src/utils/PathUtil.js.map +0 -1
  113. package/dist/sd-core-node/src/utils/PathUtil.mjs +0 -24
  114. package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +0 -15
  115. package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +0 -1
  116. package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +0 -43
  117. package/dist/sd-core-node/src/utils/SdProcess.d.ts +0 -5
  118. package/dist/sd-core-node/src/utils/SdProcess.js.map +0 -1
  119. package/dist/sd-core-node/src/utils/SdProcess.mjs +0 -36
  120. package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +0 -12
  121. package/dist/sd-orm-common/src/CaseQueryHelper.js.map +0 -1
  122. package/dist/sd-orm-common/src/CaseQueryHelper.mjs +0 -19
  123. package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +0 -12
  124. package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +0 -1
  125. package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +0 -20
  126. package/dist/sd-orm-common/src/DbContext.d.ts +0 -81
  127. package/dist/sd-orm-common/src/DbContext.js.map +0 -1
  128. package/dist/sd-orm-common/src/DbContext.mjs +0 -635
  129. package/dist/sd-orm-common/src/IDbConnection.d.ts +0 -15
  130. package/dist/sd-orm-common/src/IDbConnection.js.map +0 -1
  131. package/dist/sd-orm-common/src/IDbConnection.mjs +0 -2
  132. package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +0 -17
  133. package/dist/sd-orm-common/src/IDbContextExecutor.js.map +0 -1
  134. package/dist/sd-orm-common/src/IDbContextExecutor.mjs +0 -2
  135. package/dist/sd-orm-common/src/IDbMigration.d.ts +0 -4
  136. package/dist/sd-orm-common/src/IDbMigration.js.map +0 -1
  137. package/dist/sd-orm-common/src/IDbMigration.mjs +0 -2
  138. package/dist/sd-orm-common/src/QueryBuilder.d.ts +0 -48
  139. package/dist/sd-orm-common/src/QueryBuilder.js.map +0 -1
  140. package/dist/sd-orm-common/src/QueryBuilder.mjs +0 -1022
  141. package/dist/sd-orm-common/src/QueryHelper.d.ts +0 -75
  142. package/dist/sd-orm-common/src/QueryHelper.js.map +0 -1
  143. package/dist/sd-orm-common/src/QueryHelper.mjs +0 -627
  144. package/dist/sd-orm-common/src/QueryUnit.d.ts +0 -10
  145. package/dist/sd-orm-common/src/QueryUnit.js.map +0 -1
  146. package/dist/sd-orm-common/src/QueryUnit.mjs +0 -16
  147. package/dist/sd-orm-common/src/Queryable.d.ts +0 -105
  148. package/dist/sd-orm-common/src/Queryable.js.map +0 -1
  149. package/dist/sd-orm-common/src/Queryable.mjs +0 -1375
  150. package/dist/sd-orm-common/src/SdOrmDataType.d.ts +0 -21
  151. package/dist/sd-orm-common/src/SdOrmDataType.js.map +0 -1
  152. package/dist/sd-orm-common/src/SdOrmDataType.mjs +0 -2
  153. package/dist/sd-orm-common/src/commons.d.ts +0 -400
  154. package/dist/sd-orm-common/src/commons.js.map +0 -1
  155. package/dist/sd-orm-common/src/commons.mjs +0 -8
  156. package/dist/sd-orm-common/src/decorators.d.ts +0 -29
  157. package/dist/sd-orm-common/src/decorators.js.map +0 -1
  158. package/dist/sd-orm-common/src/decorators.mjs +0 -89
  159. package/dist/sd-orm-common/src/index.d.ts +0 -17
  160. package/dist/sd-orm-common/src/index.js.map +0 -1
  161. package/dist/sd-orm-common/src/index.mjs +0 -18
  162. package/dist/sd-orm-common/src/models/SystemMigration.d.ts +0 -3
  163. package/dist/sd-orm-common/src/models/SystemMigration.js.map +0 -1
  164. package/dist/sd-orm-common/src/models/SystemMigration.mjs +0 -13
  165. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +0 -14
  166. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +0 -1
  167. package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +0 -66
  168. package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +0 -8
  169. package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +0 -1
  170. package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +0 -248
  171. package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +0 -4
  172. package/dist/sd-orm-node/src/DbConnectionFactory.js.map +0 -1
  173. package/dist/sd-orm-node/src/DbConnectionFactory.mjs +0 -17
  174. package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +0 -19
  175. package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +0 -1
  176. package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +0 -71
  177. package/dist/sd-orm-node/src/SdOrm.d.ts +0 -10
  178. package/dist/sd-orm-node/src/SdOrm.js.map +0 -1
  179. package/dist/sd-orm-node/src/SdOrm.mjs +0 -25
  180. package/dist/sd-orm-node/src/index.d.ts +0 -4
  181. package/dist/sd-orm-node/src/index.js.map +0 -1
  182. package/dist/sd-orm-node/src/index.mjs +0 -5
  183. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +0 -25
  184. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +0 -1
  185. package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +0 -321
  186. package/dist/sd-orm-node-mssql/src/index.d.ts +0 -2
  187. package/dist/sd-orm-node-mssql/src/index.js.map +0 -1
  188. package/dist/sd-orm-node-mssql/src/index.mjs +0 -3
  189. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +0 -22
  190. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +0 -1
  191. package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +0 -200
  192. package/dist/sd-orm-node-mysql/src/index.d.ts +0 -2
  193. package/dist/sd-orm-node-mysql/src/index.js.map +0 -1
  194. package/dist/sd-orm-node-mysql/src/index.mjs +0 -3
  195. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +0 -22
  196. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +0 -1
  197. package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +0 -172
  198. package/dist/sd-orm-node-sqlite/src/index.d.ts +0 -2
  199. package/dist/sd-orm-node-sqlite/src/index.js.map +0 -1
  200. package/dist/sd-orm-node-sqlite/src/index.mjs +0 -3
  201. package/dist/sd-service-common/src/commons-orm.d.ts +0 -4
  202. package/dist/sd-service-common/src/commons-orm.js.map +0 -1
  203. package/dist/sd-service-common/src/commons-orm.mjs +0 -2
  204. package/dist/sd-service-common/src/commons-smtp.d.ts +0 -29
  205. package/dist/sd-service-common/src/commons-smtp.js.map +0 -1
  206. package/dist/sd-service-common/src/commons-smtp.mjs +0 -2
  207. package/dist/sd-service-common/src/commons.d.ts +0 -57
  208. package/dist/sd-service-common/src/commons.js.map +0 -1
  209. package/dist/sd-service-common/src/commons.mjs +0 -3
  210. package/dist/sd-service-common/src/index.d.ts +0 -3
  211. package/dist/sd-service-common/src/index.js.map +0 -1
  212. package/dist/sd-service-common/src/index.mjs +0 -4
  213. package/dist/sd-service-server/src/ApiServiceError.d.ts +0 -12
  214. package/dist/sd-service-server/src/ApiServiceError.js.map +0 -1
  215. package/dist/sd-service-server/src/ApiServiceError.mjs +0 -15
  216. package/dist/sd-service-server/src/SdServiceServer.d.ts +0 -39
  217. package/dist/sd-service-server/src/SdServiceServer.js.map +0 -1
  218. package/dist/sd-service-server/src/SdServiceServer.mjs +0 -513
  219. package/dist/sd-service-server/src/commons.d.ts +0 -23
  220. package/dist/sd-service-server/src/commons.js.map +0 -1
  221. package/dist/sd-service-server/src/commons.mjs +0 -3
  222. package/dist/sd-service-server/src/index.d.ts +0 -8
  223. package/dist/sd-service-server/src/index.js.map +0 -1
  224. package/dist/sd-service-server/src/index.mjs +0 -9
  225. package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +0 -4
  226. package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +0 -1
  227. package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +0 -20
  228. package/dist/sd-service-server/src/services/SdCryptoService.d.ts +0 -7
  229. package/dist/sd-service-server/src/services/SdCryptoService.js.map +0 -1
  230. package/dist/sd-service-server/src/services/SdCryptoService.mjs +0 -39
  231. package/dist/sd-service-server/src/services/SdOrmService.d.ts +0 -22
  232. package/dist/sd-service-server/src/services/SdOrmService.js.map +0 -1
  233. package/dist/sd-service-server/src/services/SdOrmService.mjs +0 -115
  234. package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +0 -6
  235. package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +0 -1
  236. package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +0 -44
  237. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +0 -4
  238. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +0 -1
  239. package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.mjs +0 -36
@@ -1,493 +0,0 @@
1
- import path from "path";
2
- import * as glob from "glob";
3
- import os from "os";
4
- import fs from "fs";
5
- import crypto from "crypto";
6
- import { JsonConvert, SdError } from "@simplysm/sd-core-common";
7
- export class FsUtil {
8
- static getParentPaths(currentPath) {
9
- const result = [];
10
- let curr = currentPath;
11
- while (curr !== path.resolve(curr, "..")) {
12
- curr = path.resolve(curr, "..");
13
- result.push(curr);
14
- }
15
- return result;
16
- }
17
- static async getMd5Async(filePath) {
18
- return await new Promise((resolve, reject) => {
19
- const hash = crypto.createHash("md5").setEncoding("hex");
20
- fs.createReadStream(filePath)
21
- .on("error", (err) => {
22
- reject(new SdError(err, filePath));
23
- })
24
- .pipe(hash)
25
- .once("finish", () => {
26
- resolve(hash.read());
27
- });
28
- });
29
- }
30
- static async globAsync(pattern, options) {
31
- return (await glob.glob(pattern.replace(/\\/g, "/"), options ?? {})).map((item) => path.resolve(item));
32
- /*return await new Promise<string[]>((resolve, reject) => {
33
- glob(pattern.replace(/\\/g, "/"), options ?? {}, (err: (Error | null), matches) => {
34
- if (err) {
35
- reject(err);
36
- return;
37
- }
38
- resolve(matches.map((item) => path.resolve(item)));
39
- });
40
- });*/
41
- }
42
- static glob(pattern, options) {
43
- return glob.globSync(pattern.replace(/\\/g, "/"), options ?? {}).map((item) => path.resolve(item));
44
- }
45
- static async readdirAsync(targetPath) {
46
- try {
47
- return await fs.promises.readdir(targetPath);
48
- }
49
- catch (err) {
50
- if (err instanceof Error) {
51
- throw new SdError(err, targetPath);
52
- }
53
- else {
54
- throw err;
55
- }
56
- }
57
- }
58
- static readdir(targetPath) {
59
- try {
60
- return fs.readdirSync(targetPath);
61
- }
62
- catch (err) {
63
- if (err instanceof Error) {
64
- throw new SdError(err, targetPath);
65
- }
66
- else {
67
- throw err;
68
- }
69
- }
70
- }
71
- static exists(targetPath) {
72
- try {
73
- return fs.existsSync(targetPath);
74
- }
75
- catch (err) {
76
- if (err instanceof Error) {
77
- throw new SdError(err, targetPath);
78
- }
79
- else {
80
- throw err;
81
- }
82
- }
83
- }
84
- static async removeAsync(targetPath) {
85
- try {
86
- await fs.promises.rm(targetPath, { recursive: true, force: true, retryDelay: 500, maxRetries: 6 });
87
- }
88
- catch (err) {
89
- if (err instanceof Error) {
90
- throw new SdError(err, targetPath);
91
- }
92
- else {
93
- throw err;
94
- }
95
- }
96
- }
97
- static remove(targetPath) {
98
- try {
99
- fs.rmSync(targetPath, { recursive: true, force: true });
100
- }
101
- catch (err) {
102
- if (err instanceof Error) {
103
- throw new SdError(err, targetPath);
104
- }
105
- else {
106
- throw err;
107
- }
108
- }
109
- }
110
- static async copyAsync(sourcePath, targetPath, filter) {
111
- if (!FsUtil.exists(sourcePath)) {
112
- return;
113
- }
114
- let lstat;
115
- try {
116
- lstat = await fs.promises.lstat(sourcePath);
117
- }
118
- catch (err) {
119
- if (err instanceof Error) {
120
- throw new SdError(err, targetPath);
121
- }
122
- else {
123
- throw err;
124
- }
125
- }
126
- if (lstat.isDirectory()) {
127
- await FsUtil.mkdirsAsync(targetPath);
128
- const children = await FsUtil.globAsync(path.resolve(sourcePath, "*"));
129
- await children.parallelAsync(async (childPath) => {
130
- if (filter && !filter(childPath)) {
131
- return;
132
- }
133
- const relativeChildPath = path.relative(sourcePath, childPath);
134
- const childTargetPath = path.resolve(targetPath, relativeChildPath);
135
- await FsUtil.copyAsync(childPath, childTargetPath);
136
- });
137
- }
138
- else {
139
- await FsUtil.mkdirsAsync(path.resolve(targetPath, ".."));
140
- try {
141
- await fs.promises.copyFile(sourcePath, targetPath);
142
- }
143
- catch (err) {
144
- if (err instanceof Error) {
145
- throw new SdError(err, targetPath);
146
- }
147
- else {
148
- throw err;
149
- }
150
- }
151
- }
152
- }
153
- static copy(sourcePath, targetPath, filter) {
154
- if (!FsUtil.exists(sourcePath)) {
155
- return;
156
- }
157
- let lstat;
158
- try {
159
- lstat = fs.lstatSync(sourcePath);
160
- }
161
- catch (err) {
162
- if (err instanceof Error) {
163
- throw new SdError(err, targetPath);
164
- }
165
- else {
166
- throw err;
167
- }
168
- }
169
- if (lstat.isDirectory()) {
170
- FsUtil.mkdirs(targetPath);
171
- const children = FsUtil.glob(path.resolve(sourcePath, "*"));
172
- for (const childPath of children) {
173
- if (filter && !filter(childPath)) {
174
- return;
175
- }
176
- const relativeChildPath = path.relative(sourcePath, childPath);
177
- const childTargetPath = path.resolve(targetPath, relativeChildPath);
178
- FsUtil.copy(childPath, childTargetPath);
179
- }
180
- }
181
- else {
182
- FsUtil.mkdirs(path.resolve(targetPath, ".."));
183
- try {
184
- fs.copyFileSync(sourcePath, targetPath);
185
- }
186
- catch (err) {
187
- if (err instanceof Error) {
188
- throw new SdError(err, targetPath);
189
- }
190
- else {
191
- throw err;
192
- }
193
- }
194
- }
195
- }
196
- static async mkdirsAsync(targetPath) {
197
- if (FsUtil.exists(targetPath))
198
- return;
199
- try {
200
- await fs.promises.mkdir(targetPath, { recursive: true });
201
- }
202
- catch (err) {
203
- if (err instanceof Error) {
204
- throw new SdError(err, targetPath);
205
- }
206
- else {
207
- throw err;
208
- }
209
- }
210
- }
211
- static mkdirs(targetPath) {
212
- try {
213
- fs.mkdirSync(targetPath, { recursive: true });
214
- }
215
- catch (err) {
216
- if (err instanceof Error) {
217
- throw new SdError(err, targetPath);
218
- }
219
- else {
220
- throw err;
221
- }
222
- }
223
- }
224
- static async writeJsonAsync(targetPath, data, options) {
225
- const json = JsonConvert.stringify(data, options);
226
- await FsUtil.writeFileAsync(targetPath, json);
227
- }
228
- static async writeFileAsync(targetPath, data) {
229
- await FsUtil.mkdirsAsync(path.dirname(targetPath));
230
- try {
231
- await fs.promises.writeFile(targetPath, data);
232
- }
233
- catch (err) {
234
- if (err instanceof Error) {
235
- throw new SdError(err, targetPath + (typeof data === "object" ? (data.constructor?.name ?? "object") : typeof data));
236
- }
237
- else {
238
- throw err;
239
- }
240
- }
241
- }
242
- static writeFile(targetPath, data) {
243
- FsUtil.mkdirs(path.resolve(targetPath, ".."));
244
- try {
245
- if (typeof data === "string") {
246
- fs.writeFileSync(targetPath, data);
247
- }
248
- else {
249
- fs.writeFileSync(targetPath, data);
250
- }
251
- }
252
- catch (err) {
253
- if (err instanceof Error) {
254
- throw new SdError(err, targetPath);
255
- }
256
- else {
257
- throw err;
258
- }
259
- }
260
- }
261
- static readFile(targetPath) {
262
- try {
263
- return fs.readFileSync(targetPath, "utf-8");
264
- }
265
- catch (err) {
266
- if (err instanceof Error) {
267
- throw new SdError(err, targetPath);
268
- }
269
- else {
270
- throw err;
271
- }
272
- }
273
- }
274
- static async readFileAsync(targetPath) {
275
- if (!FsUtil.exists(targetPath)) {
276
- throw new SdError(targetPath + "파일을 찾을 수 없습니다.");
277
- }
278
- try {
279
- return await fs.promises.readFile(targetPath, "utf-8");
280
- }
281
- catch (err) {
282
- if (err instanceof Error) {
283
- throw new SdError(err, targetPath);
284
- }
285
- else {
286
- throw err;
287
- }
288
- }
289
- }
290
- static readFileBuffer(targetPath) {
291
- try {
292
- return fs.readFileSync(targetPath);
293
- }
294
- catch (err) {
295
- if (err instanceof Error) {
296
- throw new SdError(err, targetPath);
297
- }
298
- else {
299
- throw err;
300
- }
301
- }
302
- }
303
- static async readFileBufferAsync(targetPath) {
304
- try {
305
- return await fs.promises.readFile(targetPath);
306
- }
307
- catch (err) {
308
- if (err instanceof Error) {
309
- throw new SdError(err, targetPath);
310
- }
311
- else {
312
- throw err;
313
- }
314
- }
315
- }
316
- static readJson(targetPath) {
317
- const contents = FsUtil.readFile(targetPath);
318
- return JsonConvert.parse(contents);
319
- }
320
- static async readJsonAsync(targetPath) {
321
- const contents = await FsUtil.readFileAsync(targetPath);
322
- try {
323
- return JsonConvert.parse(contents);
324
- }
325
- catch (err) {
326
- if (err instanceof Error) {
327
- throw new SdError(err, targetPath + os.EOL + contents);
328
- }
329
- else {
330
- throw err;
331
- }
332
- }
333
- }
334
- static lstat(targetPath) {
335
- try {
336
- return fs.lstatSync(targetPath);
337
- }
338
- catch (err) {
339
- if (err instanceof Error) {
340
- throw new SdError(err, targetPath);
341
- }
342
- else {
343
- throw err;
344
- }
345
- }
346
- }
347
- static async lstatAsync(targetPath) {
348
- try {
349
- return await fs.promises.lstat(targetPath);
350
- }
351
- catch (err) {
352
- if (err instanceof Error) {
353
- throw new SdError(err, targetPath);
354
- }
355
- else {
356
- throw err;
357
- }
358
- }
359
- }
360
- static stat(targetPath) {
361
- try {
362
- return fs.statSync(targetPath);
363
- }
364
- catch (err) {
365
- if (err instanceof Error) {
366
- throw new SdError(err, targetPath);
367
- }
368
- else {
369
- throw err;
370
- }
371
- }
372
- }
373
- static async statAsync(targetPath) {
374
- try {
375
- return await fs.promises.stat(targetPath);
376
- }
377
- catch (err) {
378
- if (err instanceof Error) {
379
- throw new SdError(err, targetPath);
380
- }
381
- else {
382
- throw err;
383
- }
384
- }
385
- }
386
- static appendFile(targetPath, data) {
387
- try {
388
- fs.appendFileSync(targetPath, data, "utf8");
389
- }
390
- catch (err) {
391
- if (err instanceof Error) {
392
- throw new SdError(err, targetPath);
393
- }
394
- else {
395
- throw err;
396
- }
397
- }
398
- }
399
- static open(targetPath, flags) {
400
- try {
401
- return fs.openSync(targetPath, flags);
402
- }
403
- catch (err) {
404
- if (err instanceof Error) {
405
- throw new SdError(err, targetPath);
406
- }
407
- else {
408
- throw err;
409
- }
410
- }
411
- }
412
- static async openAsync(targetPath, flags) {
413
- try {
414
- return await fs.promises.open(targetPath, flags);
415
- }
416
- catch (err) {
417
- if (err instanceof Error) {
418
- throw new SdError(err, targetPath);
419
- }
420
- else {
421
- throw err;
422
- }
423
- }
424
- }
425
- static createReadStream(sourcePath) {
426
- try {
427
- return fs.createReadStream(sourcePath);
428
- }
429
- catch (err) {
430
- if (err instanceof Error) {
431
- throw new SdError(err, sourcePath);
432
- }
433
- else {
434
- throw err;
435
- }
436
- }
437
- }
438
- static createWriteStream(targetPath) {
439
- try {
440
- return fs.createWriteStream(targetPath);
441
- }
442
- catch (err) {
443
- if (err instanceof Error) {
444
- throw new SdError(err, targetPath);
445
- }
446
- else {
447
- throw err;
448
- }
449
- }
450
- }
451
- /*public static async isDirectoryAsync(targetPath: string): Promise<boolean> {
452
- return (await FsUtil.lstatAsync(targetPath)).isDirectory();
453
- }
454
-
455
- public static isDirectory(targetPath: string): boolean {
456
- return FsUtil.stat(targetPath).isDirectory();
457
- }*/
458
- static async clearEmptyDirectoryAsync(dirPath) {
459
- if (!FsUtil.exists(dirPath))
460
- return;
461
- const childNames = await FsUtil.readdirAsync(dirPath);
462
- for (const childName of childNames) {
463
- const childPath = path.resolve(dirPath, childName);
464
- if ((await FsUtil.lstatAsync(childPath)).isDirectory()) {
465
- await this.clearEmptyDirectoryAsync(childPath);
466
- }
467
- }
468
- if ((await FsUtil.readdirAsync(dirPath)).length === 0) {
469
- await FsUtil.removeAsync(dirPath);
470
- }
471
- }
472
- static findAllParentChildDirPaths(childGlob, fromPath, rootPath) {
473
- const resultPaths = [];
474
- let current = fromPath;
475
- while (current) {
476
- const potential = path.resolve(current, childGlob);
477
- const globResults = FsUtil.glob(potential);
478
- for (const globResult of globResults) {
479
- if (FsUtil.exists(globResult) && FsUtil.stat(globResult).isDirectory()) {
480
- resultPaths.push(globResult);
481
- }
482
- }
483
- if (current === rootPath)
484
- break;
485
- const next = path.dirname(current);
486
- if (next === current)
487
- break;
488
- current = next;
489
- }
490
- return resultPaths;
491
- }
492
- }
493
- //# sourceMappingURL=FsUtil.js.map
@@ -1,91 +0,0 @@
1
- import { DateTime, DeepPartial } from "@simplysm/sd-core-common";
2
- export declare enum LoggerStyle {
3
- clear = "\u001B[0m",
4
- fgGray = "\u001B[90m",
5
- fgBlack = "\u001B[30m",
6
- fgWhite = "\u001B[37m",
7
- fgRed = "\u001B[31m",
8
- fgGreen = "\u001B[32m",
9
- fgYellow = "\u001B[33m",
10
- fgBlue = "\u001B[34m",
11
- fgMagenta = "\u001B[35m",
12
- fgCyan = "\u001B[36m",
13
- bgBlack = "\u001B[40m\u001B[97m",
14
- bgRed = "\u001B[41m\u001B[97m",
15
- bgGreen = "\u001B[42m\u001B[97m",
16
- bgYellow = "\u001B[43m\u001B[97m",
17
- bgBlue = "\u001B[44m\u001B[97m",
18
- bgMagenta = "\u001B[45m\u001B[97m",
19
- bgWhite = "\u001B[46m\u001B[97m"
20
- }
21
- export declare enum LoggerSeverity {
22
- debug = "debug",
23
- log = "log",
24
- info = "info",
25
- warn = "warn",
26
- error = "error",
27
- none = ""
28
- }
29
- export interface ILoggerConfig {
30
- dot: boolean;
31
- console: {
32
- style: LoggerStyle;
33
- level: LoggerSeverity;
34
- styles: {
35
- debug: LoggerStyle;
36
- log: LoggerStyle;
37
- info: LoggerStyle;
38
- warn: LoggerStyle;
39
- error: LoggerStyle;
40
- };
41
- };
42
- file: {
43
- level: LoggerSeverity;
44
- outDir: string;
45
- maxBytes?: number;
46
- };
47
- }
48
- export interface ILoggerHistory {
49
- datetime: DateTime;
50
- group: string[];
51
- severity: LoggerSeverity;
52
- logs: any[];
53
- }
54
- export declare class Logger {
55
- private readonly _group;
56
- static configs: Map<string, Partial<{
57
- dot: Partial<boolean>;
58
- console: Partial<{
59
- style: Partial<LoggerStyle>;
60
- level: Partial<LoggerSeverity>;
61
- styles: Partial<{
62
- debug: Partial<LoggerStyle>;
63
- log: Partial<LoggerStyle>;
64
- info: Partial<LoggerStyle>;
65
- warn: Partial<LoggerStyle>;
66
- error: Partial<LoggerStyle>;
67
- }>;
68
- }>;
69
- file: Partial<{
70
- level: Partial<LoggerSeverity>;
71
- outDir: string;
72
- maxBytes?: Partial<number | undefined>;
73
- }>;
74
- }>>;
75
- private static _historyLength;
76
- private readonly _randomForStyle;
77
- static get(group?: string[]): Logger;
78
- static setConfig(group: string[], config: DeepPartial<ILoggerConfig>): void;
79
- static setConfig(config: DeepPartial<ILoggerConfig>): void;
80
- static restoreConfig(): void;
81
- static setHistoryLength(len: number): void;
82
- static history: ILoggerHistory[];
83
- private constructor();
84
- debug(...args: any[]): void;
85
- log(...args: any[]): void;
86
- info(...args: any[]): void;
87
- warn(...args: any[]): void;
88
- error(...args: any[]): void;
89
- private _write;
90
- private _getConfig;
91
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../../sd-core-node/src/utils/Logger.ts"],"names":[],"mappings":"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"}