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,120 +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_repl_1 = __importDefault(require("node:repl"));
40
- const node_url_1 = require("node:url");
41
- const node_fs_1 = __importDefault(require("node:fs"));
42
- const node_path_1 = __importDefault(require("node:path"));
43
- async function startRepl() {
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
- try {
50
- const cwd = process.cwd();
51
- const dynamicImport = new Function('specifier', 'return import(specifier)');
52
- // 1. Load .env files so process.env is populated
53
- const { loadEnv } = await Promise.resolve().then(() => __importStar(require('../config/env.js')));
54
- loadEnv(cwd);
55
- // 2. Auto-load Environment variables validation file if it exists
56
- const envFiles = [
57
- node_path_1.default.join(cwd, 'src', 'config', 'env.ts'),
58
- node_path_1.default.join(cwd, 'src', 'config', 'env.js'),
59
- ];
60
- for (const envFile of envFiles) {
61
- if (node_fs_1.default.existsSync(envFile)) {
62
- await dynamicImport((0, node_url_1.pathToFileURL)(envFile).href);
63
- break;
64
- }
65
- }
66
- const url = (0, node_url_1.pathToFileURL)(entryFile).href;
67
- const mod = await dynamicImport(url);
68
- // Support declarative `export default exis({ ... })`
69
- const app = mod.default || mod.app;
70
- if (app &&
71
- typeof app.create === 'function' &&
72
- typeof app.listen === 'function') {
73
- // Boot the app plugins and database connections without starting HTTP server
74
- await app.create();
75
- if (typeof app.onStartHook === 'function') {
76
- await app.onStartHook(app);
77
- }
78
- }
79
- // 3. Auto-discover and inject Models
80
- const modelsToInject = {};
81
- const possibleModelDirs = [
82
- node_path_1.default.join(cwd, 'src', 'models'),
83
- node_path_1.default.join(cwd, 'models'),
84
- ];
85
- for (const dir of possibleModelDirs) {
86
- if (node_fs_1.default.existsSync(dir)) {
87
- const files = node_fs_1.default.readdirSync(dir);
88
- for (const file of files) {
89
- if (file.endsWith('.ts') || file.endsWith('.js')) {
90
- const modelPath = node_path_1.default.join(dir, file);
91
- const modelUrl = (0, node_url_1.pathToFileURL)(modelPath).href;
92
- const modelMod = await dynamicImport(modelUrl).catch(() => ({}));
93
- // Look for exported classes/variables that might be models
94
- for (const key in modelMod) {
95
- if (key === 'default') {
96
- const name = node_path_1.default.basename(file, node_path_1.default.extname(file));
97
- modelsToInject[name] = modelMod.default;
98
- }
99
- else {
100
- modelsToInject[key] = modelMod[key];
101
- }
102
- }
103
- }
104
- }
105
- }
106
- }
107
- if (Object.keys(modelsToInject).length > 0) {
108
- console.log(`\x1b[32m[exis]\x1b[0m Auto-injected models: ${Object.keys(modelsToInject).join(', ')}`);
109
- }
110
- const replServer = node_repl_1.default.start({ prompt: 'exis> ' });
111
- replServer.context.app = app;
112
- Object.assign(replServer.context, modelsToInject);
113
- }
114
- catch (err) {
115
- console.error(err);
116
- process.exit(1);
117
- }
118
- }
119
- startRepl();
120
- //# sourceMappingURL=start-repl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-repl.js","sourceRoot":"","sources":["../../src/lib/start-repl.ts"],"names":[],"mappings":"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"}
File without changes
File without changes