apeframework 0.0.0-dev.1

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 (254) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +55 -0
  3. package/api/api.d.ts +7 -0
  4. package/api/api.js +2 -0
  5. package/api/api.ts +8 -0
  6. package/api/auth.d.ts +9 -0
  7. package/api/auth.js +11 -0
  8. package/api/auth.ts +9 -0
  9. package/api/config.d.ts +13 -0
  10. package/api/config.js +59 -0
  11. package/api/config.ts +69 -0
  12. package/api/endpoint.d.ts +20 -0
  13. package/api/endpoint.js +5 -0
  14. package/api/endpoint.ts +23 -0
  15. package/api/handler.d.ts +8 -0
  16. package/api/handler.js +13 -0
  17. package/api/handler.ts +23 -0
  18. package/api/index.d.ts +7 -0
  19. package/api/index.js +187 -0
  20. package/api/index.ts +97 -0
  21. package/api/route.d.ts +6 -0
  22. package/api/route.js +2 -0
  23. package/api/route.ts +4 -0
  24. package/api/router.d.ts +4 -0
  25. package/api/router.js +111 -0
  26. package/api/router.ts +36 -0
  27. package/api/schema.d.ts +29 -0
  28. package/api/schema.js +69 -0
  29. package/api/schema.ts +98 -0
  30. package/app/app.d.ts +6 -0
  31. package/app/app.js +2 -0
  32. package/app/app.ts +7 -0
  33. package/app/boot.d.ts +4 -0
  34. package/app/boot.js +2 -0
  35. package/app/boot.ts +5 -0
  36. package/app/bundle.d.ts +14 -0
  37. package/app/bundle.js +2 -0
  38. package/app/bundle.ts +15 -0
  39. package/app/config.d.ts +4 -0
  40. package/app/config.js +9 -0
  41. package/app/config.ts +9 -0
  42. package/app/index.d.ts +9 -0
  43. package/app/index.js +103 -0
  44. package/app/index.ts +32 -0
  45. package/bin/ape-cli-ts.js +4 -0
  46. package/bin/ape-cli.js +2 -0
  47. package/cli/command.d.ts +4 -0
  48. package/cli/command.js +2 -0
  49. package/cli/command.ts +7 -0
  50. package/cli/index.d.ts +2 -0
  51. package/cli/index.js +103 -0
  52. package/cli/index.ts +41 -0
  53. package/cli/internal/api.d.ts +3 -0
  54. package/cli/internal/api.js +110 -0
  55. package/cli/internal/api.ts +38 -0
  56. package/cli/internal/index.d.ts +2 -0
  57. package/cli/internal/index.js +13 -0
  58. package/cli/internal/index.ts +9 -0
  59. package/cli/internal/migration.d.ts +3 -0
  60. package/cli/internal/migration.js +214 -0
  61. package/cli/internal/migration.ts +110 -0
  62. package/cli/internal/queue.d.ts +3 -0
  63. package/cli/internal/queue.js +147 -0
  64. package/cli/internal/queue.ts +60 -0
  65. package/cli/utils.d.ts +18 -0
  66. package/cli/utils.js +52 -0
  67. package/cli/utils.ts +48 -0
  68. package/config/config.d.ts +5 -0
  69. package/config/config.js +2 -0
  70. package/config/config.ts +6 -0
  71. package/config/configuration.d.ts +63 -0
  72. package/config/configuration.js +2 -0
  73. package/config/configuration.ts +72 -0
  74. package/config/default.d.ts +33 -0
  75. package/config/default.js +34 -0
  76. package/config/default.ts +40 -0
  77. package/config/env.d.ts +66 -0
  78. package/config/env.js +72 -0
  79. package/config/env.ts +79 -0
  80. package/config/index.d.ts +8 -0
  81. package/config/index.js +91 -0
  82. package/config/index.ts +101 -0
  83. package/config/loadFile.d.ts +2 -0
  84. package/config/loadFile.js +13 -0
  85. package/config/loadFile.ts +9 -0
  86. package/config/node.d.ts +5 -0
  87. package/config/node.js +11 -0
  88. package/config/node.ts +7 -0
  89. package/config/store.d.ts +6 -0
  90. package/config/store.js +20 -0
  91. package/config/store.ts +15 -0
  92. package/db/config/index.d.ts +10 -0
  93. package/db/config/index.js +43 -0
  94. package/db/config/index.ts +35 -0
  95. package/db/config/memory.d.ts +3 -0
  96. package/db/config/memory.js +15 -0
  97. package/db/config/memory.ts +13 -0
  98. package/db/config/mysql.d.ts +3 -0
  99. package/db/config/mysql.js +56 -0
  100. package/db/config/mysql.ts +58 -0
  101. package/db/config/postgres.d.ts +3 -0
  102. package/db/config/postgres.js +59 -0
  103. package/db/config/postgres.ts +61 -0
  104. package/db/config/sqlite.d.ts +3 -0
  105. package/db/config/sqlite.js +21 -0
  106. package/db/config/sqlite.ts +20 -0
  107. package/db/database.d.ts +3 -0
  108. package/db/database.js +3 -0
  109. package/db/database.ts +5 -0
  110. package/db/index.d.ts +10 -0
  111. package/db/index.js +32 -0
  112. package/db/index.ts +26 -0
  113. package/db/postProcess.d.ts +3 -0
  114. package/db/postProcess.js +25 -0
  115. package/db/postProcess.ts +27 -0
  116. package/db/schema/builder/_.d.ts +30 -0
  117. package/db/schema/builder/_.js +87 -0
  118. package/db/schema/builder/_.ts +101 -0
  119. package/db/schema/builder/columnBuilder.d.ts +7 -0
  120. package/db/schema/builder/columnBuilder.js +14 -0
  121. package/db/schema/builder/columnBuilder.ts +15 -0
  122. package/db/schema/builder/dataType.d.ts +28 -0
  123. package/db/schema/builder/dataType.js +170 -0
  124. package/db/schema/builder/dataType.ts +184 -0
  125. package/db/schema/builder/index.d.ts +15 -0
  126. package/db/schema/builder/index.js +42 -0
  127. package/db/schema/builder/index.ts +50 -0
  128. package/db/schema/builder/tableBuilder.d.ts +45 -0
  129. package/db/schema/builder/tableBuilder.js +307 -0
  130. package/db/schema/builder/tableBuilder.ts +409 -0
  131. package/db/schema/config.d.ts +4 -0
  132. package/db/schema/config.js +5 -0
  133. package/db/schema/config.ts +3 -0
  134. package/db/schema/index.d.ts +7 -0
  135. package/db/schema/index.js +252 -0
  136. package/db/schema/index.ts +88 -0
  137. package/db/schema/migration.d.ts +6 -0
  138. package/db/schema/migration.js +2 -0
  139. package/db/schema/migration.ts +7 -0
  140. package/db/schema/migrationList.d.ts +5 -0
  141. package/db/schema/migrationList.js +2 -0
  142. package/db/schema/migrationList.ts +5 -0
  143. package/db/schema/migrationSource.d.ts +10 -0
  144. package/db/schema/migrationSource.js +60 -0
  145. package/db/schema/migrationSource.ts +24 -0
  146. package/db/schema/schema.d.ts +6 -0
  147. package/db/schema/schema.js +2 -0
  148. package/db/schema/schema.ts +7 -0
  149. package/db/utils/index.d.ts +7 -0
  150. package/db/utils/index.js +10 -0
  151. package/db/utils/index.ts +8 -0
  152. package/db/utils/insertGetKey.d.ts +8 -0
  153. package/db/utils/insertGetKey.js +109 -0
  154. package/db/utils/insertGetKey.ts +80 -0
  155. package/i18n/config.d.ts +4 -0
  156. package/i18n/config.js +9 -0
  157. package/i18n/config.ts +9 -0
  158. package/i18n/i18n.d.ts +5 -0
  159. package/i18n/i18n.js +2 -0
  160. package/i18n/i18n.ts +6 -0
  161. package/i18n/index.d.ts +8 -0
  162. package/i18n/index.js +155 -0
  163. package/i18n/index.ts +42 -0
  164. package/i18n/internationalization.d.ts +3 -0
  165. package/i18n/internationalization.js +2 -0
  166. package/i18n/internationalization.ts +5 -0
  167. package/i18n/translation.d.ts +4 -0
  168. package/i18n/translation.js +2 -0
  169. package/i18n/translation.ts +4 -0
  170. package/jwt/config.d.ts +5 -0
  171. package/jwt/config.js +12 -0
  172. package/jwt/config.ts +11 -0
  173. package/jwt/index.d.ts +8 -0
  174. package/jwt/index.js +90 -0
  175. package/jwt/index.ts +60 -0
  176. package/jwt/jwt.d.ts +6 -0
  177. package/jwt/jwt.js +2 -0
  178. package/jwt/jwt.ts +19 -0
  179. package/jwt/user.d.ts +4 -0
  180. package/jwt/user.js +2 -0
  181. package/jwt/user.ts +4 -0
  182. package/log/config.d.ts +23 -0
  183. package/log/config.js +47 -0
  184. package/log/config.ts +43 -0
  185. package/log/index.d.ts +4 -0
  186. package/log/index.js +9 -0
  187. package/log/index.ts +9 -0
  188. package/log/logger.d.ts +3 -0
  189. package/log/logger.js +2 -0
  190. package/log/logger.ts +5 -0
  191. package/mail/config.d.ts +4 -0
  192. package/mail/config.js +5 -0
  193. package/mail/config.ts +3 -0
  194. package/mail/email.d.ts +20 -0
  195. package/mail/email.js +2 -0
  196. package/mail/email.ts +21 -0
  197. package/mail/index.d.ts +2 -0
  198. package/mail/index.js +4 -0
  199. package/mail/index.ts +3 -0
  200. package/mail/mail.d.ts +12 -0
  201. package/mail/mail.js +2 -0
  202. package/mail/mail.ts +13 -0
  203. package/mail/module/bypass/index.d.ts +6 -0
  204. package/mail/module/bypass/index.js +74 -0
  205. package/mail/module/bypass/index.ts +9 -0
  206. package/mail/module/config.d.ts +11 -0
  207. package/mail/module/config.js +24 -0
  208. package/mail/module/config.ts +25 -0
  209. package/mail/module/index.d.ts +8 -0
  210. package/mail/module/index.js +107 -0
  211. package/mail/module/index.ts +61 -0
  212. package/mail/module/smtp/config.d.ts +6 -0
  213. package/mail/module/smtp/config.js +25 -0
  214. package/mail/module/smtp/config.ts +25 -0
  215. package/mail/module/smtp/index.d.ts +9 -0
  216. package/mail/module/smtp/index.js +104 -0
  217. package/mail/module/smtp/index.ts +36 -0
  218. package/mq/index.d.ts +3 -0
  219. package/mq/index.js +27 -0
  220. package/mq/index.ts +4 -0
  221. package/mq/module/bypass/index.d.ts +13 -0
  222. package/mq/module/bypass/index.js +86 -0
  223. package/mq/module/bypass/index.ts +20 -0
  224. package/mq/module/config.d.ts +6 -0
  225. package/mq/module/config.js +15 -0
  226. package/mq/module/config.ts +14 -0
  227. package/mq/module/index.d.ts +9 -0
  228. package/mq/module/index.js +93 -0
  229. package/mq/module/index.ts +24 -0
  230. package/mq/module/redis/config.d.ts +27 -0
  231. package/mq/module/redis/config.js +37 -0
  232. package/mq/module/redis/config.ts +34 -0
  233. package/mq/module/redis/index.d.ts +15 -0
  234. package/mq/module/redis/index.js +132 -0
  235. package/mq/module/redis/index.ts +60 -0
  236. package/mq/mq.d.ts +15 -0
  237. package/mq/mq.js +2 -0
  238. package/mq/mq.ts +18 -0
  239. package/mq/queue.d.ts +9 -0
  240. package/mq/queue.js +2 -0
  241. package/mq/queue.ts +11 -0
  242. package/package.json +53 -0
  243. package/pwd/config.d.ts +4 -0
  244. package/pwd/config.js +9 -0
  245. package/pwd/config.ts +9 -0
  246. package/pwd/index.d.ts +6 -0
  247. package/pwd/index.js +21 -0
  248. package/pwd/index.ts +20 -0
  249. package/pwd/pwd.d.ts +4 -0
  250. package/pwd/pwd.js +2 -0
  251. package/pwd/pwd.ts +4 -0
  252. package/utils/index.d.ts +25 -0
  253. package/utils/index.js +72 -0
  254. package/utils/index.ts +56 -0
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ var utils_1 = require("../utils");
63
+ var utils_2 = require("../../utils");
64
+ var help = (0, utils_1.formatText)([
65
+ 'Usage:',
66
+ (0, utils_1.formatTable)([
67
+ ['queue list', 'List queues.'],
68
+ ['queue process <queueId>', 'Process queue.'],
69
+ ]),
70
+ ]);
71
+ var list = function () { return __awaiter(void 0, void 0, void 0, function () {
72
+ var mq, queues;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../mq')); })];
76
+ case 1:
77
+ mq = (_a.sent()).default;
78
+ return [4 /*yield*/, mq.getQueues()];
79
+ case 2:
80
+ queues = _a.sent();
81
+ if (queues.length) {
82
+ (0, utils_1.writeLn)((0, utils_1.formatText)([
83
+ 'Queues:',
84
+ (0, utils_1.formatList)(queues.map(function (queue) { return queue.queueId; })),
85
+ ]));
86
+ }
87
+ else {
88
+ (0, utils_1.writeLn)('No queue.');
89
+ }
90
+ return [2 /*return*/];
91
+ }
92
+ });
93
+ }); };
94
+ var process = function (queueId) { return __awaiter(void 0, void 0, void 0, function () {
95
+ var mq, queue;
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0:
99
+ if (!queueId)
100
+ throw new Error('queue: queueId not provided');
101
+ return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../mq')); })];
102
+ case 1:
103
+ mq = (_a.sent()).default;
104
+ return [4 /*yield*/, mq.getQueue(queueId)];
105
+ case 2:
106
+ queue = _a.sent();
107
+ if (!queue)
108
+ throw new Error("queue: invalid queueId \"".concat(queueId, "\""));
109
+ mq.createWorker(queue).start();
110
+ return [2 /*return*/];
111
+ }
112
+ });
113
+ }); };
114
+ var command = {
115
+ name: 'queue',
116
+ handler: function (args) { return __awaiter(void 0, void 0, void 0, function () {
117
+ var action, queueId, _a;
118
+ return __generator(this, function (_b) {
119
+ switch (_b.label) {
120
+ case 0:
121
+ action = (0, utils_2.parseString)(args[0]);
122
+ if (!action || action === 'help') {
123
+ (0, utils_1.writeLn)(help);
124
+ (0, utils_1.exit)();
125
+ }
126
+ queueId = (0, utils_2.parseString)(args[1]);
127
+ _a = action;
128
+ switch (_a) {
129
+ case 'list': return [3 /*break*/, 1];
130
+ case 'process': return [3 /*break*/, 3];
131
+ }
132
+ return [3 /*break*/, 5];
133
+ case 1: return [4 /*yield*/, list()];
134
+ case 2:
135
+ _b.sent();
136
+ return [3 /*break*/, 6];
137
+ case 3: return [4 /*yield*/, process(queueId)];
138
+ case 4:
139
+ _b.sent();
140
+ return [3 /*break*/, 6];
141
+ case 5: throw new Error("queue: invalid action \"".concat(action, "\""));
142
+ case 6: return [2 /*return*/];
143
+ }
144
+ });
145
+ }); },
146
+ };
147
+ exports.default = command;
@@ -0,0 +1,60 @@
1
+ import { exit, formatList, formatTable, formatText, writeLn } from '../utils'
2
+ import { parseString } from '../../utils'
3
+ import type { Command } from '../command'
4
+
5
+ const help = formatText([
6
+ 'Usage:',
7
+ formatTable([
8
+ ['queue list', 'List queues.'],
9
+ ['queue process <queueId>', 'Process queue.'],
10
+ ]),
11
+ ])
12
+
13
+ const list = async () => {
14
+ const mq = (await import('../../mq')).default
15
+ const queues = await mq.getQueues()
16
+ if (queues.length) {
17
+ writeLn(formatText([
18
+ 'Queues:',
19
+ formatList(queues.map((queue) => queue.queueId)),
20
+ ]))
21
+ } else {
22
+ writeLn('No queue.')
23
+ }
24
+ }
25
+
26
+ const process = async (queueId: string) => {
27
+ if (!queueId) throw new Error('queue: queueId not provided')
28
+
29
+ const mq = (await import('../../mq')).default
30
+ const queue = await mq.getQueue(queueId)
31
+ if (!queue) throw new Error(`queue: invalid queueId "${queueId}"`)
32
+
33
+ mq.createWorker(queue).start()
34
+ }
35
+
36
+ const command: Command = {
37
+ name: 'queue',
38
+ handler: async (args) => {
39
+ const action = parseString(args[0])
40
+ if (!action || action === 'help') {
41
+ writeLn(help)
42
+ exit()
43
+ }
44
+
45
+ const queueId = parseString(args[1])
46
+
47
+ switch (action) {
48
+ case 'list':
49
+ await list()
50
+ break
51
+ case 'process':
52
+ await process(queueId)
53
+ break
54
+ default:
55
+ throw new Error(`queue: invalid action "${action}"`)
56
+ }
57
+ },
58
+ }
59
+
60
+ export default command
package/cli/utils.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ export type Text = string[];
2
+ export type List = string[];
3
+ export type Table = string[][];
4
+ export declare const exit: (code?: number) => never;
5
+ export declare const write: (s: string) => void;
6
+ export declare const writeLn: (s: string) => void;
7
+ export declare const formatText: (text: Text) => string;
8
+ export declare const formatList: (list: List) => string;
9
+ export declare const formatTable: (table: Table) => string;
10
+ declare const _default: {
11
+ exit: (code?: number | undefined) => never;
12
+ formatList: (list: List) => string;
13
+ formatTable: (table: Table) => string;
14
+ formatText: (text: Text) => string;
15
+ write: (s: string) => void;
16
+ writeLn: (s: string) => void;
17
+ };
18
+ export default _default;
package/cli/utils.js ADDED
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.formatTable = exports.formatList = exports.formatText = exports.writeLn = exports.write = exports.exit = void 0;
13
+ var exit = function (code) {
14
+ process.exit(code);
15
+ };
16
+ exports.exit = exit;
17
+ var write = function (s) {
18
+ process.stdout.write(s);
19
+ };
20
+ exports.write = write;
21
+ var writeLn = function (s) {
22
+ process.stdout.write("".concat(s, "\n"));
23
+ };
24
+ exports.writeLn = writeLn;
25
+ var formatText = function (text) {
26
+ return text.join('\n');
27
+ };
28
+ exports.formatText = formatText;
29
+ var formatList = function (list) {
30
+ return list.map(function (item) { return " ".concat(item); }).join('\n');
31
+ };
32
+ exports.formatList = formatList;
33
+ var formatTable = function (table) {
34
+ var colLen = [];
35
+ table.forEach(function (row) {
36
+ __spreadArray([''], row, true).forEach(function (col, i) {
37
+ colLen[i] = col.length > (colLen[i] || 0)
38
+ ? col.length
39
+ : colLen[i] || 0;
40
+ });
41
+ });
42
+ return table.map(function (row) { return __spreadArray([''], row, true).map(function (col, i) { return col.padEnd(colLen[i], ' '); }).join(' '); }).join('\n');
43
+ };
44
+ exports.formatTable = formatTable;
45
+ exports.default = {
46
+ exit: exports.exit,
47
+ formatList: exports.formatList,
48
+ formatTable: exports.formatTable,
49
+ formatText: exports.formatText,
50
+ write: exports.write,
51
+ writeLn: exports.writeLn,
52
+ };
package/cli/utils.ts ADDED
@@ -0,0 +1,48 @@
1
+ export type Text = string[]
2
+ export type List = string[]
3
+ export type Table = string[][]
4
+
5
+ export const exit = (code?: number) => {
6
+ process.exit(code)
7
+ }
8
+
9
+ export const write = (s: string) => {
10
+ process.stdout.write(s)
11
+ }
12
+
13
+ export const writeLn = (s: string) => {
14
+ process.stdout.write(`${s}\n`)
15
+ }
16
+
17
+ export const formatText = (text: Text) => {
18
+ return text.join('\n')
19
+ }
20
+
21
+ export const formatList = (list: List) => {
22
+ return list.map((item) => ` ${item}`).join('\n')
23
+ }
24
+
25
+ export const formatTable = (table: Table) => {
26
+ const colLen: number[] = []
27
+ table.forEach((row) => {
28
+ ['', ...row].forEach((col, i) => {
29
+ colLen[i] = col.length > (colLen[i] || 0)
30
+ ? col.length
31
+ : colLen[i] || 0
32
+ })
33
+ })
34
+ return table.map(
35
+ (row) => ['', ...row].map(
36
+ (col, i) => col.padEnd(colLen[i], ' '),
37
+ ).join(' '),
38
+ ).join('\n')
39
+ }
40
+
41
+ export default {
42
+ exit,
43
+ formatList,
44
+ formatTable,
45
+ formatText,
46
+ write,
47
+ writeLn,
48
+ }
@@ -0,0 +1,5 @@
1
+ import type { Configuration } from './configuration';
2
+ export interface Config {
3
+ initConfig: (override?: any, file?: string) => Configuration;
4
+ getConfig: () => Configuration;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import type { Configuration } from './configuration'
2
+
3
+ export interface Config {
4
+ initConfig: (override?: any, file?: string) => Configuration,
5
+ getConfig: () => Configuration,
6
+ }
@@ -0,0 +1,63 @@
1
+ export interface Configuration {
2
+ appBoot: string;
3
+ logLevel: string;
4
+ logDestination: string;
5
+ logPretty: boolean;
6
+ logFile: string;
7
+ apiName: string;
8
+ apiVersion: string;
9
+ apiHost: string;
10
+ apiPort: number;
11
+ apiRandomPort: boolean;
12
+ apiConnectionTimeout: number;
13
+ apiRequestTimeout: number;
14
+ apiKeepAliveTimeout: number;
15
+ apiBodyLimit: number;
16
+ apiResponseValidation: boolean;
17
+ jwtIssuer: string;
18
+ jwtSecret: string;
19
+ pwdHashCost: number;
20
+ i18nFallbackLanguage: string;
21
+ dbModule: string;
22
+ dbMysqlHost: string;
23
+ dbMysqlPort: number;
24
+ dbMysqlUser: string;
25
+ dbMysqlPassword: string;
26
+ dbMysqlDatabase: string;
27
+ dbMysqlSsl: boolean;
28
+ dbMysqlSslCa: string;
29
+ dbMysqlSslCert: string;
30
+ dbMysqlSslKey: string;
31
+ dbMysqlSslVerify: boolean;
32
+ dbMysqlPoolMax: number;
33
+ dbPostgresHost: string;
34
+ dbPostgresPort: number;
35
+ dbPostgresUser: string;
36
+ dbPostgresPassword: string;
37
+ dbPostgresDatabase: string;
38
+ dbPostgresSsl: boolean;
39
+ dbPostgresSslCa: string;
40
+ dbPostgresSslCert: string;
41
+ dbPostgresSslKey: string;
42
+ dbPostgresSslVerify: boolean;
43
+ dbPostgresPoolMax: number;
44
+ dbSqliteFile: string;
45
+ cacheModule: string;
46
+ cacheRedisHost: string;
47
+ cacheRedisPort: number;
48
+ cacheRedisUser: string;
49
+ cacheRedisPassword: string;
50
+ cacheRedisPrefix: string;
51
+ mqModule: string;
52
+ mqRedisHost: string;
53
+ mqRedisPort: number;
54
+ mqRedisUser: string;
55
+ mqRedisPassword: string;
56
+ mqRedisPrefix: string;
57
+ mailModule: string;
58
+ mailSmtpHost: string;
59
+ mailSmtpPort: number;
60
+ mailSmtpUser: string;
61
+ mailSmtpPassword: string;
62
+ mailSmtpEmail: string;
63
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,72 @@
1
+ export interface Configuration {
2
+ appBoot: string,
3
+
4
+ logLevel: string,
5
+ logDestination: string,
6
+ logPretty: boolean,
7
+ logFile: string,
8
+
9
+ apiName: string,
10
+ apiVersion: string,
11
+ apiHost: string,
12
+ apiPort: number,
13
+ apiRandomPort: boolean,
14
+ apiConnectionTimeout: number,
15
+ apiRequestTimeout: number,
16
+ apiKeepAliveTimeout: number,
17
+ apiBodyLimit: number,
18
+ apiResponseValidation: boolean,
19
+
20
+ jwtIssuer: string,
21
+ jwtSecret: string,
22
+
23
+ pwdHashCost: number,
24
+
25
+ i18nFallbackLanguage: string,
26
+
27
+ dbModule: string,
28
+ dbMysqlHost: string,
29
+ dbMysqlPort: number,
30
+ dbMysqlUser: string,
31
+ dbMysqlPassword: string,
32
+ dbMysqlDatabase: string,
33
+ dbMysqlSsl: boolean,
34
+ dbMysqlSslCa: string,
35
+ dbMysqlSslCert: string,
36
+ dbMysqlSslKey: string,
37
+ dbMysqlSslVerify: boolean,
38
+ dbMysqlPoolMax: number,
39
+ dbPostgresHost: string,
40
+ dbPostgresPort: number,
41
+ dbPostgresUser: string,
42
+ dbPostgresPassword: string,
43
+ dbPostgresDatabase: string,
44
+ dbPostgresSsl: boolean,
45
+ dbPostgresSslCa: string,
46
+ dbPostgresSslCert: string,
47
+ dbPostgresSslKey: string,
48
+ dbPostgresSslVerify: boolean,
49
+ dbPostgresPoolMax: number,
50
+ dbSqliteFile: string,
51
+
52
+ cacheModule: string,
53
+ cacheRedisHost: string,
54
+ cacheRedisPort: number,
55
+ cacheRedisUser: string,
56
+ cacheRedisPassword: string,
57
+ cacheRedisPrefix: string,
58
+
59
+ mqModule: string,
60
+ mqRedisHost: string,
61
+ mqRedisPort: number,
62
+ mqRedisUser: string,
63
+ mqRedisPassword: string,
64
+ mqRedisPrefix: string,
65
+
66
+ mailModule: string,
67
+ mailSmtpHost: string,
68
+ mailSmtpPort: number,
69
+ mailSmtpUser: string,
70
+ mailSmtpPassword: string,
71
+ mailSmtpEmail: string,
72
+ }
@@ -0,0 +1,33 @@
1
+ declare const _default: {
2
+ appBoot: string;
3
+ logLevel: string;
4
+ logDestination: string;
5
+ logFile: string;
6
+ apiName: string;
7
+ apiVersion: string;
8
+ apiHost: string;
9
+ apiPort: number;
10
+ apiConnectionTimeout: string;
11
+ apiRequestTimeout: string;
12
+ apiKeepAliveTimeout: string;
13
+ apiBodyLimit: string;
14
+ pwdHashCost: number;
15
+ i18nFallbackLanguage: string;
16
+ dbModule: string;
17
+ dbMysqlPort: number;
18
+ dbMysqlSslVerify: boolean;
19
+ dbMysqlPoolMax: number;
20
+ dbPostgresPort: number;
21
+ dbPostgresSslVerify: boolean;
22
+ dbPostgresPoolMax: number;
23
+ dbSqliteFile: string;
24
+ cacheModule: string;
25
+ cacheRedisPort: number;
26
+ cacheRedisPrefix: string;
27
+ mqModule: string;
28
+ mqRedisPort: number;
29
+ mqRedisPrefix: string;
30
+ mailModule: string;
31
+ mailSmtpPort: number;
32
+ };
33
+ export default _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ appBoot: 'boot',
5
+ logLevel: 'info',
6
+ logDestination: 'stdout',
7
+ logFile: 'ape.log',
8
+ apiName: 'New Ape Project',
9
+ apiVersion: '0.0.0',
10
+ apiHost: '0.0.0.0',
11
+ apiPort: 3000,
12
+ apiConnectionTimeout: '10s',
13
+ apiRequestTimeout: '10s',
14
+ apiKeepAliveTimeout: '10s',
15
+ apiBodyLimit: '2kb',
16
+ pwdHashCost: 10,
17
+ i18nFallbackLanguage: 'en',
18
+ dbModule: 'sqlite',
19
+ dbMysqlPort: 3306,
20
+ dbMysqlSslVerify: true,
21
+ dbMysqlPoolMax: 5,
22
+ dbPostgresPort: 5432,
23
+ dbPostgresSslVerify: true,
24
+ dbPostgresPoolMax: 5,
25
+ dbSqliteFile: 'ape.db',
26
+ cacheModule: 'bypass',
27
+ cacheRedisPort: 6379,
28
+ cacheRedisPrefix: 'cache',
29
+ mqModule: 'bypass',
30
+ mqRedisPort: 6379,
31
+ mqRedisPrefix: 'mq',
32
+ mailModule: 'bypass',
33
+ mailSmtpPort: 587,
34
+ };
@@ -0,0 +1,40 @@
1
+ export default {
2
+ appBoot: 'boot',
3
+
4
+ logLevel: 'info',
5
+ logDestination: 'stdout',
6
+ logFile: 'ape.log',
7
+
8
+ apiName: 'New Ape Project',
9
+ apiVersion: '0.0.0',
10
+ apiHost: '0.0.0.0',
11
+ apiPort: 3000,
12
+ apiConnectionTimeout: '10s',
13
+ apiRequestTimeout: '10s',
14
+ apiKeepAliveTimeout: '10s',
15
+ apiBodyLimit: '2kb',
16
+
17
+ pwdHashCost: 10,
18
+
19
+ i18nFallbackLanguage: 'en',
20
+
21
+ dbModule: 'sqlite',
22
+ dbMysqlPort: 3306,
23
+ dbMysqlSslVerify: true,
24
+ dbMysqlPoolMax: 5,
25
+ dbPostgresPort: 5432,
26
+ dbPostgresSslVerify: true,
27
+ dbPostgresPoolMax: 5,
28
+ dbSqliteFile: 'ape.db',
29
+
30
+ cacheModule: 'bypass',
31
+ cacheRedisPort: 6379,
32
+ cacheRedisPrefix: 'cache',
33
+
34
+ mqModule: 'bypass',
35
+ mqRedisPort: 6379,
36
+ mqRedisPrefix: 'mq',
37
+
38
+ mailModule: 'bypass',
39
+ mailSmtpPort: 587,
40
+ }
@@ -0,0 +1,66 @@
1
+ declare const _default: {
2
+ nodeEnv: string | undefined;
3
+ nodePath: string | undefined;
4
+ appBoot: string | undefined;
5
+ logLevel: string | undefined;
6
+ logDestination: string | undefined;
7
+ logPretty: string | undefined;
8
+ logFile: string | undefined;
9
+ apiName: string | undefined;
10
+ apiVersion: string | undefined;
11
+ apiHost: string | undefined;
12
+ apiPort: string | undefined;
13
+ apiRandomPort: string | undefined;
14
+ apiConnectionTimeout: string | undefined;
15
+ apiRequestTimeout: string | undefined;
16
+ apiKeepAliveTimeout: string | undefined;
17
+ apiBodyLimit: string | undefined;
18
+ apiResponseValidation: string | undefined;
19
+ jwtIssuer: string | undefined;
20
+ jwtSecret: string | undefined;
21
+ pwdHashCost: string | undefined;
22
+ i18nFallbackLanguage: string | undefined;
23
+ dbModule: string | undefined;
24
+ dbMysqlHost: string | undefined;
25
+ dbMysqlPort: string | undefined;
26
+ dbMysqlUser: string | undefined;
27
+ dbMysqlPassword: string | undefined;
28
+ dbMysqlDatabase: string | undefined;
29
+ dbMysqlSsl: string | undefined;
30
+ dbMysqlSslCa: string | undefined;
31
+ dbMysqlSslCert: string | undefined;
32
+ dbMysqlSslKey: string | undefined;
33
+ dbMysqlSslVerify: string | undefined;
34
+ dbMysqlPoolMax: string | undefined;
35
+ dbPostgresHost: string | undefined;
36
+ dbPostgresPort: string | undefined;
37
+ dbPostgresUser: string | undefined;
38
+ dbPostgresPassword: string | undefined;
39
+ dbPostgresDatabase: string | undefined;
40
+ dbPostgresSsl: string | undefined;
41
+ dbPostgresSslCa: string | undefined;
42
+ dbPostgresSslCert: string | undefined;
43
+ dbPostgresSslKey: string | undefined;
44
+ dbPostgresSslVerify: string | undefined;
45
+ dbPostgresPoolMax: string | undefined;
46
+ dbSqliteFile: string | undefined;
47
+ cacheModule: string | undefined;
48
+ cacheRedisHost: string | undefined;
49
+ cacheRedisPort: string | undefined;
50
+ cacheRedisUser: string | undefined;
51
+ cacheRedisPassword: string | undefined;
52
+ cacheRedisPrefix: string | undefined;
53
+ mqModule: string | undefined;
54
+ mqRedisHost: string | undefined;
55
+ mqRedisPort: string | undefined;
56
+ mqRedisUser: string | undefined;
57
+ mqRedisPassword: string | undefined;
58
+ mqRedisPrefix: string | undefined;
59
+ mailModule: string | undefined;
60
+ mailSmtpHost: string | undefined;
61
+ mailSmtpPort: string | undefined;
62
+ mailSmtpUser: string | undefined;
63
+ mailSmtpPassword: string | undefined;
64
+ mailSmtpEmail: string | undefined;
65
+ };
66
+ export default _default;