exisjs 0.9.2 → 0.10.0-alpha.0

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 (135) hide show
  1. package/README.md +3 -0
  2. package/bin/exis.js +76 -1
  3. package/dist/config/types.d.ts +11 -2
  4. package/dist/config/types.d.ts.map +1 -1
  5. package/dist/docs/content/README.md +1 -0
  6. package/dist/docs/content/cli/commands.mdx +23 -1
  7. package/dist/docs/content/cli/usage.mdx +2 -1
  8. package/dist/docs/content/config.mdx +47 -3
  9. package/dist/docs/content/deployment.mdx +163 -0
  10. package/dist/docs/content/installation.mdx +1 -1
  11. package/dist/docs/content/introduction.mdx +3 -0
  12. package/dist/docs/content/validation.mdx +1 -1
  13. package/dist/docs/reference/config.mdx +2 -1
  14. package/dist/docs/reference/validator.mdx +4 -0
  15. package/dist/internal.d.ts +16 -0
  16. package/dist/internal.d.ts.map +1 -0
  17. package/dist/internal.js +45 -0
  18. package/dist/internal.js.map +1 -0
  19. package/dist/{cli → lib}/resolve-aliases.d.ts.map +1 -1
  20. package/dist/{cli → lib}/resolve-aliases.js.map +1 -1
  21. package/dist/lib/start-command.d.ts +11 -0
  22. package/dist/lib/start-command.d.ts.map +1 -0
  23. package/dist/lib/start-command.js +79 -0
  24. package/dist/lib/start-command.js.map +1 -0
  25. package/dist/lib/start-server.js +4 -2
  26. package/dist/lib/start-server.js.map +1 -1
  27. package/dist/middleware/backpressure.d.ts +5 -0
  28. package/dist/middleware/backpressure.d.ts.map +1 -1
  29. package/dist/middleware/backpressure.js +66 -36
  30. package/dist/middleware/backpressure.js.map +1 -1
  31. package/dist/router/route-scanner.d.ts.map +1 -1
  32. package/dist/router/route-scanner.js +19 -20
  33. package/dist/router/route-scanner.js.map +1 -1
  34. package/dist/server/app.d.ts.map +1 -1
  35. package/dist/server/app.js +24 -1
  36. package/dist/server/app.js.map +1 -1
  37. package/dist/server/bootstrapper.d.ts.map +1 -1
  38. package/dist/server/bootstrapper.js +3 -1
  39. package/dist/server/bootstrapper.js.map +1 -1
  40. package/dist/server/cluster.d.ts.map +1 -1
  41. package/dist/server/cluster.js +3 -0
  42. package/dist/server/cluster.js.map +1 -1
  43. package/dist/server/metrics.d.ts +43 -0
  44. package/dist/server/metrics.d.ts.map +1 -0
  45. package/dist/server/metrics.js +254 -0
  46. package/dist/server/metrics.js.map +1 -0
  47. package/dist/utils/logger.d.ts.map +1 -1
  48. package/dist/utils/logger.js +31 -3
  49. package/dist/utils/logger.js.map +1 -1
  50. package/dist/validator/builder.d.ts +20 -16
  51. package/dist/validator/builder.d.ts.map +1 -1
  52. package/dist/validator/builder.js +21 -1
  53. package/dist/validator/builder.js.map +1 -1
  54. package/dist/validator/engine.d.ts.map +1 -1
  55. package/dist/validator/engine.js +8 -1
  56. package/dist/validator/engine.js.map +1 -1
  57. package/dist/validator/index.d.ts +4 -1
  58. package/dist/validator/index.d.ts.map +1 -1
  59. package/dist/validator/index.js +5 -1
  60. package/dist/validator/index.js.map +1 -1
  61. package/dist/validator/tex.d.ts +1 -1
  62. package/dist/validator/tex.d.ts.map +1 -1
  63. package/dist/validator/types.d.ts +7 -0
  64. package/dist/validator/types.d.ts.map +1 -1
  65. package/package.json +81 -9
  66. package/dist/cli/commands/build.d.ts +0 -11
  67. package/dist/cli/commands/build.d.ts.map +0 -1
  68. package/dist/cli/commands/build.js +0 -344
  69. package/dist/cli/commands/build.js.map +0 -1
  70. package/dist/cli/commands/clean.d.ts +0 -5
  71. package/dist/cli/commands/clean.d.ts.map +0 -1
  72. package/dist/cli/commands/clean.js +0 -30
  73. package/dist/cli/commands/clean.js.map +0 -1
  74. package/dist/cli/commands/dev.d.ts +0 -21
  75. package/dist/cli/commands/dev.d.ts.map +0 -1
  76. package/dist/cli/commands/dev.js +0 -842
  77. package/dist/cli/commands/dev.js.map +0 -1
  78. package/dist/cli/commands/doctor.d.ts +0 -2
  79. package/dist/cli/commands/doctor.d.ts.map +0 -1
  80. package/dist/cli/commands/doctor.js +0 -228
  81. package/dist/cli/commands/doctor.js.map +0 -1
  82. package/dist/cli/commands/exports.d.ts +0 -2
  83. package/dist/cli/commands/exports.d.ts.map +0 -1
  84. package/dist/cli/commands/exports.js +0 -48
  85. package/dist/cli/commands/exports.js.map +0 -1
  86. package/dist/cli/commands/generate.d.ts +0 -33
  87. package/dist/cli/commands/generate.d.ts.map +0 -1
  88. package/dist/cli/commands/generate.js +0 -469
  89. package/dist/cli/commands/generate.js.map +0 -1
  90. package/dist/cli/commands/init.d.ts +0 -2
  91. package/dist/cli/commands/init.d.ts.map +0 -1
  92. package/dist/cli/commands/init.js +0 -37
  93. package/dist/cli/commands/init.js.map +0 -1
  94. package/dist/cli/commands/repl.d.ts +0 -6
  95. package/dist/cli/commands/repl.d.ts.map +0 -1
  96. package/dist/cli/commands/repl.js +0 -75
  97. package/dist/cli/commands/repl.js.map +0 -1
  98. package/dist/cli/commands/run.d.ts +0 -7
  99. package/dist/cli/commands/run.d.ts.map +0 -1
  100. package/dist/cli/commands/run.js +0 -101
  101. package/dist/cli/commands/run.js.map +0 -1
  102. package/dist/cli/commands/start.d.ts +0 -8
  103. package/dist/cli/commands/start.d.ts.map +0 -1
  104. package/dist/cli/commands/start.js +0 -155
  105. package/dist/cli/commands/start.js.map +0 -1
  106. package/dist/cli/commands/test.d.ts +0 -8
  107. package/dist/cli/commands/test.d.ts.map +0 -1
  108. package/dist/cli/commands/test.js +0 -165
  109. package/dist/cli/commands/test.js.map +0 -1
  110. package/dist/cli/index.d.ts +0 -3
  111. package/dist/cli/index.d.ts.map +0 -1
  112. package/dist/cli/index.js +0 -268
  113. package/dist/cli/index.js.map +0 -1
  114. package/dist/cli/manifest.d.ts +0 -4
  115. package/dist/cli/manifest.d.ts.map +0 -1
  116. package/dist/cli/manifest.js +0 -489
  117. package/dist/cli/manifest.js.map +0 -1
  118. package/dist/cli/routes.d.ts +0 -17
  119. package/dist/cli/routes.d.ts.map +0 -1
  120. package/dist/cli/routes.js +0 -317
  121. package/dist/cli/routes.js.map +0 -1
  122. package/dist/cli/utils.d.ts +0 -24
  123. package/dist/cli/utils.d.ts.map +0 -1
  124. package/dist/cli/utils.js +0 -54
  125. package/dist/cli/utils.js.map +0 -1
  126. package/dist/lib/inspect-routes.d.ts +0 -2
  127. package/dist/lib/inspect-routes.d.ts.map +0 -1
  128. package/dist/lib/inspect-routes.js +0 -150
  129. package/dist/lib/inspect-routes.js.map +0 -1
  130. package/dist/lib/start-repl.d.ts +0 -2
  131. package/dist/lib/start-repl.d.ts.map +0 -1
  132. package/dist/lib/start-repl.js +0 -120
  133. package/dist/lib/start-repl.js.map +0 -1
  134. /package/dist/{cli → lib}/resolve-aliases.d.ts +0 -0
  135. /package/dist/{cli → lib}/resolve-aliases.js +0 -0
@@ -1,317 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.routesCommand = routesCommand;
40
- const node_path_1 = __importDefault(require("node:path"));
41
- const node_fs_1 = __importDefault(require("node:fs"));
42
- const node_child_process_1 = require("node:child_process");
43
- const node_url_1 = require("node:url");
44
- const config_1 = require("../config/config");
45
- const resolve_aliases_1 = require("./resolve-aliases");
46
- async function routesCommand(cwd = process.cwd(), options = {}) {
47
- process.env.EXIS_CLI_MODE = '1';
48
- await (0, config_1.loadConfig)(cwd);
49
- const opts = typeof options === 'string' ? { entry: options } : options;
50
- let appPath = null;
51
- if (opts.entry) {
52
- const abs = node_path_1.default.resolve(cwd, opts.entry);
53
- appPath = node_fs_1.default.existsSync(abs) ? abs : null;
54
- }
55
- else {
56
- const srcTs = node_path_1.default.join(cwd, 'src/http/server.ts');
57
- const srcJs = node_path_1.default.join(cwd, 'src/http/server.js');
58
- const rootTs = node_path_1.default.join(cwd, 'http/server.ts');
59
- const rootJs = node_path_1.default.join(cwd, 'http/server.js');
60
- if (node_fs_1.default.existsSync(srcTs))
61
- appPath = srcTs;
62
- else if (node_fs_1.default.existsSync(srcJs))
63
- appPath = srcJs;
64
- else if (node_fs_1.default.existsSync(rootTs))
65
- appPath = rootTs;
66
- else if (node_fs_1.default.existsSync(rootJs))
67
- appPath = rootJs;
68
- }
69
- if (!appPath || !node_fs_1.default.existsSync(appPath)) {
70
- console.error('\x1b[31m[Exis CLI Error]\x1b[0m Could not find application entry point (tried src/http/server.ts or http/server.ts).');
71
- process.exit(1);
72
- }
73
- // Ensure path aliases work
74
- try {
75
- (0, resolve_aliases_1.registerPathAliasLoader)(cwd);
76
- }
77
- catch {
78
- /* ignore */
79
- }
80
- // Check if we can/should extract routes via tsx child process (mandatory for .ts / .mts files)
81
- const isTsFile = appPath.endsWith('.ts') || appPath.endsWith('.mts');
82
- let routes;
83
- if (isTsFile) {
84
- routes = await extractRoutesViaSubprocess(cwd, appPath);
85
- }
86
- else {
87
- // Try in-process import for pure .js / .mjs
88
- try {
89
- const dynamicImport = new Function('specifier', 'return import(specifier)');
90
- const mod = await dynamicImport((0, node_url_1.pathToFileURL)(appPath).href);
91
- const isApp = (obj) => !!(obj &&
92
- typeof obj === 'object' &&
93
- 'getRoutes' in obj &&
94
- typeof obj.getRoutes === 'function');
95
- let rawApp = mod.default || mod.app;
96
- if (rawApp &&
97
- !rawApp._isExisAppDefinition &&
98
- typeof rawApp.create !== 'function' &&
99
- rawApp.default) {
100
- rawApp = rawApp.default;
101
- }
102
- let app;
103
- if (rawApp && rawApp._isExisAppDefinition) {
104
- const { App, setActiveAppInstance } = await Promise.resolve().then(() => __importStar(require('../server/app')));
105
- app = new App(rawApp.options);
106
- setActiveAppInstance(app);
107
- }
108
- else if (rawApp &&
109
- typeof rawApp === 'function' &&
110
- rawApp.prototype &&
111
- rawApp.prototype[Symbol.for('exisjs:server_config')]) {
112
- const serverConfig = rawApp.prototype[Symbol.for('exisjs:server_config')];
113
- const { App, setActiveAppInstance } = await Promise.resolve().then(() => __importStar(require('../server/app')));
114
- app = new App({ plugins: serverConfig.plugins });
115
- setActiveAppInstance(app);
116
- }
117
- else {
118
- const appExport = Object.values(mod).find(isApp);
119
- app = isApp(rawApp) ? rawApp : appExport;
120
- }
121
- if (!app) {
122
- throw new Error('Your entry file must export an instance of Exis App.');
123
- }
124
- try {
125
- await app.create();
126
- if (app.routeScanner?.loadAllRoutes) {
127
- await app.routeScanner.loadAllRoutes();
128
- }
129
- }
130
- catch {
131
- /* ignore */
132
- }
133
- routes = app.getRoutes().map((r) => ({
134
- method: r.method,
135
- path: r.path,
136
- handlersCount: r.handlers ? r.handlers.length : 1,
137
- sourceFile: r.sourceFile || null,
138
- }));
139
- }
140
- catch {
141
- // Fallback to subprocess if in-process import failed
142
- routes = await extractRoutesViaSubprocess(cwd, appPath);
143
- }
144
- }
145
- // Filter by method if specified
146
- if (opts.method) {
147
- const targetMethod = opts.method.toUpperCase();
148
- routes = routes.filter((r) => r.method.toUpperCase() === targetMethod);
149
- }
150
- // Filter by keyword if specified
151
- if (opts.filter) {
152
- const kw = opts.filter.toLowerCase();
153
- routes = routes.filter((r) => r.path.toLowerCase().includes(kw) ||
154
- r.method.toLowerCase().includes(kw) ||
155
- (r.sourceFile && r.sourceFile.toLowerCase().includes(kw)));
156
- }
157
- // JSON Output
158
- if (opts.json) {
159
- const jsonOutput = routes.map((r) => ({
160
- method: r.method,
161
- path: r.path,
162
- middlewares: Math.max(0, r.handlersCount - 1),
163
- access: r.access ?? '-',
164
- sourceFile: r.sourceFile
165
- ? node_path_1.default.relative(cwd, r.sourceFile).replace(/\\/g, '/')
166
- : null,
167
- }));
168
- console.log(JSON.stringify(jsonOutput, null, 2));
169
- process.exit(0);
170
- }
171
- // Terminal Visual Output
172
- const reset = '\x1b[0m';
173
- const bold = '\x1b[1m';
174
- const dim = '\x1b[2m';
175
- const primary = '\x1b[38;2;160;70;255m';
176
- const cyan = '\x1b[36m';
177
- const yellow = '\x1b[33m';
178
- const gray = '\x1b[90m';
179
- const methodBadges = {
180
- GET: '\x1b[1;30;42m GET \x1b[0m',
181
- POST: '\x1b[1;37;44m POST \x1b[0m',
182
- PUT: '\x1b[1;30;43m PUT \x1b[0m',
183
- PATCH: '\x1b[1;37;45m PATCH \x1b[0m',
184
- DELETE: '\x1b[1;37;41m DEL \x1b[0m',
185
- OPTIONS: '\x1b[1;37;100m OPT \x1b[0m',
186
- HEAD: '\x1b[1;37;100m HEAD \x1b[0m',
187
- ALL: '\x1b[1;37;46m ALL \x1b[0m',
188
- };
189
- const formatPath = (routePath) => {
190
- // Highlight dynamic parameters like :id or *slug with yellow/cyan
191
- return routePath.replace(/(:[a-zA-Z0-9_]+|\*[a-zA-Z0-9_]+)/g, `${yellow}$1${reset}`);
192
- };
193
- console.log(`\n${primary}${bold}⚡ ExisJS Routing Table${reset}\n`);
194
- if (routes.length === 0) {
195
- console.log(` ${dim}No routes matching criteria.${reset}\n`);
196
- process.exit(0);
197
- }
198
- // Compute column widths
199
- const renderedPaths = routes.map((r) => r.path);
200
- const maxPathLen = Math.max(20, ...renderedPaths.map((p) => p.length));
201
- const maxAccessLen = Math.max(6, ...routes.map((r) => (r.access ?? '-').length));
202
- const maxSourceLen = Math.max(15, ...routes.map((r) => {
203
- if (!r.sourceFile)
204
- return 6;
205
- const rel = node_path_1.default.relative(cwd, r.sourceFile).replace(/\\/g, '/');
206
- return rel.length;
207
- }));
208
- // Table Header
209
- console.log(` ${dim}┌───────┬─${'─'.repeat(maxPathLen)}─┬────────────┬─${'─'.repeat(maxAccessLen)}─┬─${'─'.repeat(maxSourceLen)}─┐${reset}`);
210
- console.log(` ${dim}│${reset} ${bold}METHOD${reset} ${dim}│${reset} ${bold}${'PATH'.padEnd(maxPathLen)}${reset} ${dim}│${reset} ${bold}MIDDLEWARES${reset} ${dim}│${reset} ${bold}${'ACCESS'.padEnd(maxAccessLen)}${reset} ${dim}│${reset} ${bold}${'SOURCE'.padEnd(maxSourceLen)}${reset} ${dim}│${reset}`);
211
- console.log(` ${dim}├───────┼─${'─'.repeat(maxPathLen)}─┼────────────┼─${'─'.repeat(maxAccessLen)}─┼─${'─'.repeat(maxSourceLen)}─┤${reset}`);
212
- const methodCounts = {};
213
- for (const route of routes) {
214
- const method = route.method.toUpperCase();
215
- methodCounts[method] = (methodCounts[method] || 0) + 1;
216
- const badge = methodBadges[method] || `\x1b[1;37;100m ${method.slice(0, 5)} \x1b[0m`;
217
- const rawMethodLen = method === 'DELETE' ? 3 : method.length;
218
- const methodPadding = ' '.repeat(Math.max(0, 5 - rawMethodLen));
219
- const highlightedPath = formatPath(route.path);
220
- const pathPadding = ' '.repeat(Math.max(0, maxPathLen - route.path.length));
221
- const mwCount = Math.max(0, route.handlersCount - 1);
222
- const mwStr = mwCount > 0
223
- ? `${cyan}+${mwCount} step${mwCount > 1 ? 's' : ''}${reset}`
224
- : `${dim}none${reset}`;
225
- const mwPadding = ' '.repeat(Math.max(0, 10 - (mwCount > 0 ? (mwCount > 9 ? 8 : 7) : 4)));
226
- const access = route.access ?? '-';
227
- const accessStr = access === 'public'
228
- ? `${yellow}${access}${reset}`
229
- : access === '-'
230
- ? `${dim}${access}${reset}`
231
- : `${cyan}${access}${reset}`;
232
- const accessPadding = ' '.repeat(Math.max(0, maxAccessLen - access.length));
233
- let relSource = '-';
234
- if (route.sourceFile) {
235
- relSource = node_path_1.default.relative(cwd, route.sourceFile).replace(/\\/g, '/');
236
- }
237
- const sourcePadding = ' '.repeat(Math.max(0, maxSourceLen - relSource.length));
238
- console.log(` ${dim}│${reset} ${badge}${methodPadding} ${dim}│${reset} ${highlightedPath}${pathPadding} ${dim}│${reset} ${mwStr}${mwPadding} ${dim}│${reset} ${accessStr}${accessPadding} ${dim}│${reset} ${dim}${relSource}${reset}${sourcePadding} ${dim}│${reset}`);
239
- }
240
- console.log(` ${dim}└───────┴─${'─'.repeat(maxPathLen)}─┴────────────┴─${'─'.repeat(maxAccessLen)}─┴─${'─'.repeat(maxSourceLen)}─┘${reset}`);
241
- // Summary Card
242
- const breakdown = Object.entries(methodCounts)
243
- .map(([m, c]) => `${bold}${c}${reset} ${dim}${m}${reset}`)
244
- .join(` ${gray}·${reset} `);
245
- console.log(`\n ${primary}●${reset} Total Endpoints: ${bold}${routes.length}${reset} (${breakdown})\n`);
246
- process.exit(0);
247
- }
248
- /**
249
- * Spawns a subprocess with tsx runner to safely import and extract routes from TypeScript applications on Windows and POSIX.
250
- */
251
- async function extractRoutesViaSubprocess(cwd, appPath) {
252
- const inspectScript = node_path_1.default.resolve(__dirname, '../lib/inspect-routes.js');
253
- // Resolve tsx import or cli
254
- let execArgv = [];
255
- try {
256
- const resolvedTsx = require.resolve('tsx', { paths: [cwd, __dirname] });
257
- execArgv = ['--import', (0, node_url_1.pathToFileURL)(resolvedTsx).href];
258
- }
259
- catch {
260
- try {
261
- execArgv = [require.resolve('tsx/cli')];
262
- }
263
- catch {
264
- execArgv = [];
265
- }
266
- }
267
- return new Promise((resolve, reject) => {
268
- let capturedRoutes = null;
269
- const child = (0, node_child_process_1.fork)(inspectScript, [], {
270
- cwd,
271
- execArgv,
272
- env: {
273
- ...process.env,
274
- EXIS_ENTRY_FILE: appPath,
275
- EXIS_CLI_MODE: '1',
276
- },
277
- stdio: ['pipe', 'pipe', 'inherit', 'ipc'],
278
- });
279
- child.stdout?.on('data', (data) => {
280
- const text = data.toString();
281
- if (text.includes('__EXIS_ROUTES_PAYLOAD__:')) {
282
- const line = text
283
- .split('\n')
284
- .find((l) => l.includes('__EXIS_ROUTES_PAYLOAD__:'));
285
- if (line) {
286
- try {
287
- const rawJson = line.split('__EXIS_ROUTES_PAYLOAD__:')[1];
288
- capturedRoutes = JSON.parse(rawJson);
289
- }
290
- catch {
291
- /* ignore */
292
- }
293
- }
294
- }
295
- });
296
- child.on('message', (msg) => {
297
- if (msg && msg.type === 'exis:routes' && Array.isArray(msg.routes)) {
298
- capturedRoutes = msg.routes;
299
- }
300
- });
301
- child.on('exit', (code) => {
302
- if (capturedRoutes) {
303
- resolve(capturedRoutes);
304
- }
305
- else if (code === 0) {
306
- resolve([]);
307
- }
308
- else {
309
- reject(new Error(`Failed to extract routes (inspector process exited with code ${code}).`));
310
- }
311
- });
312
- child.on('error', (err) => {
313
- reject(err);
314
- });
315
- });
316
- }
317
- //# sourceMappingURL=routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/cli/routes.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- export declare const c: {
2
- reset: string;
3
- bold: string;
4
- dim: string;
5
- red: string;
6
- green: string;
7
- yellow: string;
8
- cyan: string;
9
- white: string;
10
- gray: string;
11
- magenta: string;
12
- bgCyan: string;
13
- bgBlack: string;
14
- bgMagenta: string;
15
- primary: string;
16
- blue: string;
17
- };
18
- export declare function banner(): void;
19
- export declare function log(msg: string): void;
20
- export declare function success(msg: string): void;
21
- export declare function warn(msg: string): void;
22
- export declare function error(msg: string): void;
23
- export declare function info(msg: string): void;
24
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;CAgBb,CAAA;AAED,wBAAgB,MAAM,IAAI,IAAI,CAU7B;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErC;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC"}
package/dist/cli/utils.js DELETED
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.c = void 0;
4
- exports.banner = banner;
5
- exports.log = log;
6
- exports.success = success;
7
- exports.warn = warn;
8
- exports.error = error;
9
- exports.info = info;
10
- // Terminal colors (no chalk dependency needed for these basics)
11
- exports.c = {
12
- reset: '\x1b[0m',
13
- bold: '\x1b[1m',
14
- dim: '\x1b[2m',
15
- red: '\x1b[31m',
16
- green: '\x1b[32m',
17
- yellow: '\x1b[33m',
18
- cyan: '\x1b[36m',
19
- white: '\x1b[37m',
20
- gray: '\x1b[90m',
21
- magenta: '\x1b[35m',
22
- bgCyan: '\x1b[46m',
23
- bgBlack: '\x1b[40m',
24
- bgMagenta: '\x1b[45m',
25
- primary: '\x1b[38;2;160;70;255m',
26
- blue: '\x1b[38;2;41;169;206m',
27
- };
28
- function banner() {
29
- console.log(`
30
- ${exports.c.primary}${exports.c.bold} ███████╗██╗ ██╗██╗███████╗ ██╗███████╗${exports.c.reset}
31
- ${exports.c.primary}${exports.c.bold} ██╔════╝╚██╗██╔╝██║██╔════╝ ██║██╔════╝${exports.c.reset}
32
- ${exports.c.primary}${exports.c.bold} █████╗ ╚███╔╝ ██║███████╗ ██║███████╗${exports.c.reset}
33
- ${exports.c.primary}${exports.c.bold} ██╔══╝ ██╔██╗ ██║╚════██║ ██ ██║╚════██║${exports.c.reset}
34
- ${exports.c.primary}${exports.c.bold} ███████╗██╔╝ ██╗██║███████║ ███████║███████║${exports.c.reset}
35
- ${exports.c.primary}${exports.c.bold} ╚══════╝╚═╝ ╚═╝╚═╝╚══════╝ ╚══════╝╚══════╝${exports.c.reset}
36
- ${exports.c.gray} The elegantly structured TypeScript Node.js framework${exports.c.reset}
37
- `);
38
- }
39
- function log(msg) {
40
- console.log(` ${msg}`);
41
- }
42
- function success(msg) {
43
- console.log(`${exports.c.green}✓${exports.c.reset} ${msg}`);
44
- }
45
- function warn(msg) {
46
- console.log(`${exports.c.yellow}⚠${exports.c.reset} ${msg}`);
47
- }
48
- function error(msg) {
49
- console.error(`${exports.c.red}✗${exports.c.reset} ${msg}`);
50
- }
51
- function info(msg) {
52
- console.log(`${exports.c.gray} ${msg}${exports.c.reset}`);
53
- }
54
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":";;;AAmBA,wBAUC;AAED,kBAEC;AAED,0BAEC;AAED,oBAEC;AAED,sBAEC;AAED,oBAEC;AAjDD,gEAAgE;AACnD,QAAA,CAAC,GAAG;IACf,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,uBAAuB;CAC9B,CAAA;AAED,SAAgB,MAAM;IACpB,OAAO,CAAC,GAAG,CAAC;EACZ,SAAC,CAAC,OAAO,GAAG,SAAC,CAAC,IAAI,gDAAgD,SAAC,CAAC,KAAK;EACzE,SAAC,CAAC,OAAO,GAAG,SAAC,CAAC,IAAI,gDAAgD,SAAC,CAAC,KAAK;EACzE,SAAC,CAAC,OAAO,GAAG,SAAC,CAAC,IAAI,gDAAgD,SAAC,CAAC,KAAK;EACzE,SAAC,CAAC,OAAO,GAAG,SAAC,CAAC,IAAI,gDAAgD,SAAC,CAAC,KAAK;EACzE,SAAC,CAAC,OAAO,GAAG,SAAC,CAAC,IAAI,gDAAgD,SAAC,CAAC,KAAK;EACzE,SAAC,CAAC,OAAO,GAAG,SAAC,CAAC,IAAI,gDAAgD,SAAC,CAAC,KAAK;EACzE,SAAC,CAAC,IAAI,0DAA0D,SAAC,CAAC,KAAK;CACxE,CAAC,CAAA;AACF,CAAC;AAED,SAAgB,GAAG,CAAC,GAAW;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;AACzB,CAAC;AAED,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,SAAgB,IAAI,CAAC,GAAW;IAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,SAAC,CAAC,MAAM,IAAI,SAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,CAAC,KAAK,CAAC,GAAG,SAAC,CAAC,GAAG,IAAI,SAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,SAAgB,IAAI,CAAC,GAAW;IAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,SAAC,CAAC,IAAI,KAAK,GAAG,GAAG,SAAC,CAAC,KAAK,EAAE,CAAC,CAAA;AAC5C,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=inspect-routes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspect-routes.d.ts","sourceRoot":"","sources":["../../src/lib/inspect-routes.ts"],"names":[],"mappings":""}
@@ -1,150 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const node_url_1 = require("node:url");
40
- const node_path_1 = __importDefault(require("node:path"));
41
- const node_fs_1 = __importDefault(require("node:fs"));
42
- const authorize_1 = require("../router/authorize");
43
- async function inspect() {
44
- const entryFile = process.env.EXIS_ENTRY_FILE;
45
- if (!entryFile) {
46
- console.error('EXIS_ENTRY_FILE environment variable is missing.');
47
- process.exit(1);
48
- }
49
- const cwd = process.cwd();
50
- const dynamicImport = new Function('specifier', 'return import(specifier)');
51
- // 1. Load .env
52
- try {
53
- const { loadEnv } = await Promise.resolve().then(() => __importStar(require('../config/env.js')));
54
- loadEnv(cwd);
55
- }
56
- catch {
57
- /* ignore */
58
- }
59
- // 2. Register path alias loader
60
- try {
61
- const { registerPathAliasLoader } = await Promise.resolve().then(() => __importStar(require('../cli/resolve-aliases.js')));
62
- registerPathAliasLoader(cwd);
63
- }
64
- catch {
65
- /* ignore */
66
- }
67
- // 3. Auto-load Environment variables validation file if it exists
68
- const envFiles = [
69
- node_path_1.default.join(cwd, 'src', 'config', 'env.ts'),
70
- node_path_1.default.join(cwd, 'src', 'config', 'env.js'),
71
- ];
72
- for (const envFile of envFiles) {
73
- if (node_fs_1.default.existsSync(envFile)) {
74
- await dynamicImport((0, node_url_1.pathToFileURL)(envFile).href).catch(() => {
75
- /* ignore */
76
- });
77
- break;
78
- }
79
- }
80
- try {
81
- const url = (0, node_url_1.pathToFileURL)(entryFile).href;
82
- const mod = await dynamicImport(url);
83
- const isApp = (obj) => !!(obj &&
84
- typeof obj === 'object' &&
85
- 'getRoutes' in obj &&
86
- typeof obj.getRoutes === 'function');
87
- let rawApp = mod.default || mod.app;
88
- if (rawApp &&
89
- !rawApp._isExisAppDefinition &&
90
- typeof rawApp.create !== 'function' &&
91
- rawApp.default) {
92
- rawApp = rawApp.default;
93
- }
94
- let app;
95
- if (rawApp && rawApp._isExisAppDefinition) {
96
- const { App, setActiveAppInstance } = await Promise.resolve().then(() => __importStar(require('../server/app.js')));
97
- app = new App(rawApp.options);
98
- setActiveAppInstance(app);
99
- }
100
- else if (rawApp &&
101
- typeof rawApp === 'function' &&
102
- rawApp.prototype &&
103
- rawApp.prototype[Symbol.for('exisjs:server_config')]) {
104
- const serverConfig = rawApp.prototype[Symbol.for('exisjs:server_config')];
105
- const { App, setActiveAppInstance } = await Promise.resolve().then(() => __importStar(require('../server/app.js')));
106
- app = new App({ plugins: serverConfig.plugins });
107
- setActiveAppInstance(app);
108
- }
109
- else {
110
- const appExport = Object.values(mod).find(isApp);
111
- app = isApp(rawApp) ? rawApp : appExport;
112
- }
113
- if (!app) {
114
- console.error('\x1b[31m[Exis CLI Error]\x1b[0m Your entry file must export an instance of Exis App.');
115
- process.exit(1);
116
- }
117
- // Boot the app to register file-system routes
118
- try {
119
- await app.create();
120
- if (app.routeScanner?.loadAllRoutes) {
121
- await app.routeScanner.loadAllRoutes();
122
- }
123
- }
124
- catch {
125
- /* ignore if already created */
126
- }
127
- const routes = app.getRoutes().map((r) => ({
128
- method: r.method,
129
- path: r.path,
130
- handlersCount: r.handlers ? r.handlers.length : 1,
131
- sourceFile: r.sourceFile || null,
132
- access: (0, authorize_1.describeAccess)(r.schema?.access),
133
- }));
134
- // Send the extracted routes via IPC if available, otherwise print serialized payload marker
135
- if (process.send) {
136
- process.send({ type: 'exis:routes', routes });
137
- process.exit(0);
138
- }
139
- else {
140
- console.log(`__EXIS_ROUTES_PAYLOAD__:${JSON.stringify(routes)}`);
141
- process.exit(0);
142
- }
143
- }
144
- catch (err) {
145
- console.error('\x1b[31m[Exis CLI Error]\x1b[0m Failed to import app:', err?.message || err);
146
- process.exit(1);
147
- }
148
- }
149
- inspect();
150
- //# sourceMappingURL=inspect-routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspect-routes.js","sourceRoot":"","sources":["../../src/lib/inspect-routes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=start-repl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-repl.d.ts","sourceRoot":"","sources":["../../src/lib/start-repl.ts"],"names":[],"mappings":""}