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
package/cli/index.js ADDED
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var yargs_parser_1 = __importDefault(require("yargs-parser"));
43
+ var utils_1 = require("./utils");
44
+ var app_1 = require("../app");
45
+ var utils_2 = require("../utils");
46
+ var internal_1 = __importDefault(require("./internal"));
47
+ var exec = function () { return __awaiter(void 0, void 0, void 0, function () {
48
+ var commands, _i, _a, bundle, _b, help, options, args, name, command;
49
+ return __generator(this, function (_c) {
50
+ switch (_c.label) {
51
+ case 0:
52
+ commands = internal_1.default.slice();
53
+ _i = 0;
54
+ return [4 /*yield*/, (0, app_1.getBundles)()];
55
+ case 1:
56
+ _a = _c.sent();
57
+ _c.label = 2;
58
+ case 2:
59
+ if (!(_i < _a.length)) return [3 /*break*/, 7];
60
+ bundle = _a[_i];
61
+ if (!bundle.commands) return [3 /*break*/, 4];
62
+ return [4 /*yield*/, bundle.commands()];
63
+ case 3:
64
+ _b = _c.sent();
65
+ return [3 /*break*/, 5];
66
+ case 4:
67
+ _b = [];
68
+ _c.label = 5;
69
+ case 5:
70
+ (_b)
71
+ .forEach(function (command) { return commands.push(command); });
72
+ _c.label = 6;
73
+ case 6:
74
+ _i++;
75
+ return [3 /*break*/, 2];
76
+ case 7:
77
+ help = (0, utils_1.formatText)([
78
+ 'Usage:',
79
+ (0, utils_1.formatTable)([
80
+ ['ape-cli <command>', 'Execute command.'],
81
+ ['ape-cli help', 'Show help.'],
82
+ ]),
83
+ '',
84
+ 'Commands:',
85
+ (0, utils_1.formatList)(commands.map(function (command) { return command.name; }).sort()),
86
+ ]);
87
+ options = (0, yargs_parser_1.default)(process.argv.slice(2));
88
+ args = options._;
89
+ delete options._;
90
+ name = (0, utils_2.parseString)(args.shift());
91
+ if (!name || name === 'help') {
92
+ (0, utils_1.writeLn)(help);
93
+ (0, utils_1.exit)();
94
+ }
95
+ command = commands.find(function (command) { return command.name === name; });
96
+ if (!command)
97
+ throw new Error("cli: invalid command \"".concat(name, "\""));
98
+ command.handler(args, options);
99
+ return [2 /*return*/];
100
+ }
101
+ });
102
+ }); };
103
+ exports.default = exec;
package/cli/index.ts ADDED
@@ -0,0 +1,41 @@
1
+ import parseArgs from 'yargs-parser'
2
+ import { exit, formatList, formatTable, formatText, writeLn } from './utils'
3
+ import { getBundles } from '../app'
4
+ import { parseString } from '../utils'
5
+ import internalCommands from './internal'
6
+
7
+ const exec = async () => {
8
+ const commands = internalCommands.slice()
9
+ for (const bundle of await getBundles()) {
10
+ (bundle.commands ? await bundle.commands() : [])
11
+ .forEach((command) => commands.push(command))
12
+ }
13
+
14
+ const help = formatText([
15
+ 'Usage:',
16
+ formatTable([
17
+ ['ape-cli <command>', 'Execute command.'],
18
+ ['ape-cli help', 'Show help.'],
19
+ ]),
20
+ '',
21
+ 'Commands:',
22
+ formatList(commands.map((command) => command.name).sort()),
23
+ ])
24
+
25
+ const options: Record<string, any> = parseArgs(process.argv.slice(2))
26
+ const args: any[] = options._
27
+ delete options._
28
+
29
+ const name = parseString(args.shift())
30
+ if (!name || name === 'help') {
31
+ writeLn(help)
32
+ exit()
33
+ }
34
+
35
+ const command = commands.find((command) => command.name === name)
36
+ if (!command) throw new Error(`cli: invalid command "${name}"`)
37
+
38
+ command.handler(args, options)
39
+ }
40
+
41
+ export default exec
@@ -0,0 +1,3 @@
1
+ import type { Command } from '../command';
2
+ declare const command: Command;
3
+ export default command;
@@ -0,0 +1,110 @@
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
+ ['api start', 'Start API server.'],
68
+ ['api help', 'Show help.'],
69
+ ]),
70
+ ]);
71
+ var start = function () { return __awaiter(void 0, void 0, void 0, function () {
72
+ var api;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../api')); })];
76
+ case 1:
77
+ api = (_a.sent()).default;
78
+ api.start();
79
+ return [2 /*return*/];
80
+ }
81
+ });
82
+ }); };
83
+ var command = {
84
+ name: 'api',
85
+ handler: function (args) { return __awaiter(void 0, void 0, void 0, function () {
86
+ var action, _a;
87
+ return __generator(this, function (_b) {
88
+ switch (_b.label) {
89
+ case 0:
90
+ action = (0, utils_2.parseString)(args[0]);
91
+ if (!action || action === 'help') {
92
+ (0, utils_1.writeLn)(help);
93
+ (0, utils_1.exit)();
94
+ }
95
+ _a = action;
96
+ switch (_a) {
97
+ case 'start': return [3 /*break*/, 1];
98
+ }
99
+ return [3 /*break*/, 3];
100
+ case 1: return [4 /*yield*/, start()];
101
+ case 2:
102
+ _b.sent();
103
+ return [3 /*break*/, 4];
104
+ case 3: throw new Error("api: invalid action \"".concat(action, "\""));
105
+ case 4: return [2 /*return*/];
106
+ }
107
+ });
108
+ }); },
109
+ };
110
+ exports.default = command;
@@ -0,0 +1,38 @@
1
+ import { exit, formatTable, formatText, writeLn } from '../utils'
2
+ import { parseString } from '../../utils'
3
+ import type { Api } from '../../api/api'
4
+ import type { Command } from '../command'
5
+
6
+ const help = formatText([
7
+ 'Usage:',
8
+ formatTable([
9
+ ['api start', 'Start API server.'],
10
+ ['api help', 'Show help.'],
11
+ ]),
12
+ ])
13
+
14
+ const start = async () => {
15
+ const api: Api = (await import('../../api')).default
16
+ api.start()
17
+ }
18
+
19
+ const command: Command = {
20
+ name: 'api',
21
+ handler: async (args) => {
22
+ const action = parseString(args[0])
23
+ if (!action || action === 'help') {
24
+ writeLn(help)
25
+ exit()
26
+ }
27
+
28
+ switch (action) {
29
+ case 'start':
30
+ await start()
31
+ break
32
+ default:
33
+ throw new Error(`api: invalid action "${action}"`)
34
+ }
35
+ },
36
+ }
37
+
38
+ export default command
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../command").Command[];
2
+ export default _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var api_1 = __importDefault(require("./api"));
7
+ var migration_1 = __importDefault(require("./migration"));
8
+ var queue_1 = __importDefault(require("./queue"));
9
+ exports.default = [
10
+ api_1.default,
11
+ migration_1.default,
12
+ queue_1.default,
13
+ ];
@@ -0,0 +1,9 @@
1
+ import api from './api'
2
+ import migration from './migration'
3
+ import queue from './queue'
4
+
5
+ export default [
6
+ api,
7
+ migration,
8
+ queue,
9
+ ]
@@ -0,0 +1,3 @@
1
+ import type { Command } from '../command';
2
+ declare const command: Command;
3
+ export default command;
@@ -0,0 +1,214 @@
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 app_1 = require("../../app");
64
+ var utils_2 = require("../../utils");
65
+ var help = (0, utils_1.formatText)([
66
+ 'Usage:',
67
+ (0, utils_1.formatTable)([
68
+ ['migration list [-b <bundleId>] [--pending]', 'List migrations.'],
69
+ ['migration run [-b <bundleId>] [--one]', 'Run migrations.'],
70
+ ['migration rollback [-b <bundleId>] [--one]', 'Rollback migrations.'],
71
+ ['migration help', 'Show help.'],
72
+ ]),
73
+ '',
74
+ 'Options:',
75
+ (0, utils_1.formatTable)([
76
+ ['-b --bundle <bundleId>', 'Process specified bundle migrations.'],
77
+ ['--pending', 'List pending migrations.'],
78
+ ['--one', 'Process one migration.'],
79
+ ]),
80
+ ]);
81
+ var formatMigrations = function (migrations) { return (0, utils_1.formatTable)(migrations.map(function (migration) { return [
82
+ migration.bundleId,
83
+ migration.migrationId,
84
+ migration.pending ? 'pending' : '',
85
+ ]; })); };
86
+ var list = function (bundleId, pending) { return __awaiter(void 0, void 0, void 0, function () {
87
+ var schema, migrations;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../db/schema')); })];
91
+ case 1:
92
+ schema = (_a.sent()).default;
93
+ return [4 /*yield*/, schema.listMigrations(bundleId, pending)];
94
+ case 2:
95
+ migrations = _a.sent();
96
+ if (migrations.length) {
97
+ (0, utils_1.writeLn)((0, utils_1.formatText)([
98
+ 'Migrations:',
99
+ formatMigrations(migrations),
100
+ ]));
101
+ }
102
+ else {
103
+ (0, utils_1.writeLn)('No migration.');
104
+ }
105
+ return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../db')); })];
106
+ case 3:
107
+ (_a.sent()).default.destroy();
108
+ return [2 /*return*/];
109
+ }
110
+ });
111
+ }); };
112
+ var run = function (bundleId, one) { return __awaiter(void 0, void 0, void 0, function () {
113
+ var schema, migrations;
114
+ return __generator(this, function (_a) {
115
+ switch (_a.label) {
116
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../db/schema')); })];
117
+ case 1:
118
+ schema = (_a.sent()).default;
119
+ return [4 /*yield*/, schema.runMigrations(bundleId, one)];
120
+ case 2:
121
+ migrations = _a.sent();
122
+ if (migrations.length) {
123
+ (0, utils_1.writeLn)((0, utils_1.formatText)([
124
+ 'Run migrations:',
125
+ formatMigrations(migrations),
126
+ ]));
127
+ }
128
+ else {
129
+ (0, utils_1.writeLn)('Nothing to do.');
130
+ }
131
+ return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../db')); })];
132
+ case 3:
133
+ (_a.sent()).default.destroy();
134
+ return [2 /*return*/];
135
+ }
136
+ });
137
+ }); };
138
+ var rollback = function (bundleId, one) { return __awaiter(void 0, void 0, void 0, function () {
139
+ var schema, migrations;
140
+ return __generator(this, function (_a) {
141
+ switch (_a.label) {
142
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../db/schema')); })];
143
+ case 1:
144
+ schema = (_a.sent()).default;
145
+ return [4 /*yield*/, schema.rollbackMigrations(bundleId, one)];
146
+ case 2:
147
+ migrations = _a.sent();
148
+ if (migrations.length) {
149
+ (0, utils_1.writeLn)((0, utils_1.formatText)([
150
+ 'Rolled back migrations:',
151
+ formatMigrations(migrations),
152
+ ]));
153
+ }
154
+ else {
155
+ (0, utils_1.writeLn)('Nothing to do.');
156
+ }
157
+ return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../db')); })];
158
+ case 3:
159
+ (_a.sent()).default.destroy();
160
+ return [2 /*return*/];
161
+ }
162
+ });
163
+ }); };
164
+ var command = {
165
+ name: 'migration',
166
+ handler: function (args, options) { return __awaiter(void 0, void 0, void 0, function () {
167
+ var action, bundleId, _a, pending, one, _b;
168
+ return __generator(this, function (_c) {
169
+ switch (_c.label) {
170
+ case 0:
171
+ action = (0, utils_2.parseString)(args[0]);
172
+ if (!action || action === 'help') {
173
+ (0, utils_1.writeLn)(help);
174
+ (0, utils_1.exit)();
175
+ }
176
+ bundleId = (0, utils_2.parseString)(options.b || options.bundle) || undefined;
177
+ _a = bundleId;
178
+ if (!_a) return [3 /*break*/, 2];
179
+ return [4 /*yield*/, (0, app_1.getBundle)(bundleId)];
180
+ case 1:
181
+ _a = !(_c.sent());
182
+ _c.label = 2;
183
+ case 2:
184
+ if (_a) {
185
+ throw new Error("migration: invalid bundleId \"".concat(bundleId, "\""));
186
+ }
187
+ pending = (0, utils_2.parseBoolean)(options.pending);
188
+ one = (0, utils_2.parseBoolean)(options.one);
189
+ _b = action;
190
+ switch (_b) {
191
+ case 'list': return [3 /*break*/, 3];
192
+ case 'run': return [3 /*break*/, 5];
193
+ case 'rollback': return [3 /*break*/, 7];
194
+ }
195
+ return [3 /*break*/, 9];
196
+ case 3: return [4 /*yield*/, list(bundleId, pending)];
197
+ case 4:
198
+ _c.sent();
199
+ return [3 /*break*/, 10];
200
+ case 5: return [4 /*yield*/, run(bundleId, one)];
201
+ case 6:
202
+ _c.sent();
203
+ return [3 /*break*/, 10];
204
+ case 7: return [4 /*yield*/, rollback(bundleId, one)];
205
+ case 8:
206
+ _c.sent();
207
+ return [3 /*break*/, 10];
208
+ case 9: throw new Error("migration: invalid action \"".concat(action, "\""));
209
+ case 10: return [2 /*return*/];
210
+ }
211
+ });
212
+ }); },
213
+ };
214
+ exports.default = command;
@@ -0,0 +1,110 @@
1
+ import { exit, formatTable, formatText, writeLn } from '../utils'
2
+ import { getBundle } from '../../app'
3
+ import { parseBoolean, parseString } from '../../utils'
4
+ import type { Command } from '../command'
5
+ import type { MigrationList } from '../../db/schema/migrationList'
6
+ import type { Schema } from '../../db/schema/schema'
7
+
8
+ const help = formatText([
9
+ 'Usage:',
10
+ formatTable([
11
+ ['migration list [-b <bundleId>] [--pending]', 'List migrations.'],
12
+ ['migration run [-b <bundleId>] [--one]', 'Run migrations.'],
13
+ ['migration rollback [-b <bundleId>] [--one]', 'Rollback migrations.'],
14
+ ['migration help', 'Show help.'],
15
+ ]),
16
+ '',
17
+ 'Options:',
18
+ formatTable([
19
+ ['-b --bundle <bundleId>', 'Process specified bundle migrations.'],
20
+ ['--pending', 'List pending migrations.'],
21
+ ['--one', 'Process one migration.'],
22
+ ]),
23
+ ])
24
+
25
+ const formatMigrations = (migrations: MigrationList) => formatTable(
26
+ migrations.map(
27
+ (migration) => [
28
+ migration.bundleId,
29
+ migration.migrationId,
30
+ migration.pending ? 'pending' : '',
31
+ ],
32
+ ),
33
+ )
34
+
35
+ const list = async (bundleId?: string, pending?: boolean) => {
36
+ const schema: Schema = (await import('../../db/schema')).default
37
+ const migrations = await schema.listMigrations(bundleId, pending)
38
+ if (migrations.length) {
39
+ writeLn(formatText([
40
+ 'Migrations:',
41
+ formatMigrations(migrations),
42
+ ]))
43
+ } else {
44
+ writeLn('No migration.')
45
+ }
46
+ (await import('../../db')).default.destroy()
47
+ }
48
+
49
+ const run = async (bundleId?: string, one?: boolean) => {
50
+ const schema: Schema = (await import('../../db/schema')).default
51
+ const migrations = await schema.runMigrations(bundleId, one)
52
+ if (migrations.length) {
53
+ writeLn(formatText([
54
+ 'Run migrations:',
55
+ formatMigrations(migrations),
56
+ ]))
57
+ } else {
58
+ writeLn('Nothing to do.')
59
+ }
60
+ (await import('../../db')).default.destroy()
61
+ }
62
+
63
+ const rollback = async (bundleId?: string, one?: boolean) => {
64
+ const schema: Schema = (await import('../../db/schema')).default
65
+ const migrations = await schema.rollbackMigrations(bundleId, one)
66
+ if (migrations.length) {
67
+ writeLn(formatText([
68
+ 'Rolled back migrations:',
69
+ formatMigrations(migrations),
70
+ ]))
71
+ } else {
72
+ writeLn('Nothing to do.')
73
+ }
74
+ (await import('../../db')).default.destroy()
75
+ }
76
+
77
+ const command: Command = {
78
+ name: 'migration',
79
+ handler: async (args, options) => {
80
+ const action = parseString(args[0])
81
+ if (!action || action === 'help') {
82
+ writeLn(help)
83
+ exit()
84
+ }
85
+
86
+ const bundleId = parseString(options.b || options.bundle) || undefined
87
+ if (bundleId && !await getBundle(bundleId)) {
88
+ throw new Error(`migration: invalid bundleId "${bundleId}"`)
89
+ }
90
+
91
+ const pending = parseBoolean(options.pending)
92
+ const one = parseBoolean(options.one)
93
+
94
+ switch (action) {
95
+ case 'list':
96
+ await list(bundleId, pending)
97
+ break
98
+ case 'run':
99
+ await run(bundleId, one)
100
+ break
101
+ case 'rollback':
102
+ await rollback(bundleId, one)
103
+ break
104
+ default:
105
+ throw new Error(`migration: invalid action "${action}"`)
106
+ }
107
+ },
108
+ }
109
+
110
+ export default command
@@ -0,0 +1,3 @@
1
+ import type { Command } from '../command';
2
+ declare const command: Command;
3
+ export default command;