exisjs 0.7.1 → 0.7.3

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 (109) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +10 -0
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/doctor.d.ts +2 -0
  5. package/dist/cli/commands/doctor.d.ts.map +1 -0
  6. package/dist/cli/commands/doctor.js +258 -0
  7. package/dist/cli/commands/doctor.js.map +1 -0
  8. package/dist/cli/commands/generate.d.ts +7 -1
  9. package/dist/cli/commands/generate.d.ts.map +1 -1
  10. package/dist/cli/commands/generate.js +26 -19
  11. package/dist/cli/commands/generate.js.map +1 -1
  12. package/dist/cli/index.js +15 -1
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/manifest.d.ts.map +1 -1
  15. package/dist/cli/manifest.js +3 -1
  16. package/dist/cli/manifest.js.map +1 -1
  17. package/dist/cli/resolve-aliases.d.ts +12 -0
  18. package/dist/cli/resolve-aliases.d.ts.map +1 -1
  19. package/dist/cli/resolve-aliases.js +119 -45
  20. package/dist/cli/resolve-aliases.js.map +1 -1
  21. package/dist/cli/routes.d.ts +8 -1
  22. package/dist/cli/routes.d.ts.map +1 -1
  23. package/dist/cli/routes.js +96 -47
  24. package/dist/cli/routes.js.map +1 -1
  25. package/dist/config/config.d.ts +2 -1
  26. package/dist/config/config.d.ts.map +1 -1
  27. package/dist/config/config.js +1 -0
  28. package/dist/config/config.js.map +1 -1
  29. package/dist/config/index.d.ts +1 -0
  30. package/dist/config/index.d.ts.map +1 -1
  31. package/dist/config/index.js +6 -1
  32. package/dist/config/index.js.map +1 -1
  33. package/dist/config/types.d.ts +4 -1
  34. package/dist/config/types.d.ts.map +1 -1
  35. package/dist/docs/content/cli/commands.mdx +36 -3
  36. package/dist/docs/content/cli/overview.mdx +1 -0
  37. package/dist/docs/content/config.mdx +8 -1
  38. package/dist/docs/content/errors.mdx +14 -14
  39. package/dist/docs/content/responses.mdx +106 -0
  40. package/dist/docs/content/routing.mdx +20 -15
  41. package/dist/docs/content/security.mdx +6 -1
  42. package/dist/docs/content/structure.mdx +12 -6
  43. package/dist/lib/start-server.js +8 -0
  44. package/dist/lib/start-server.js.map +1 -1
  45. package/dist/middleware/compression.d.ts.map +1 -1
  46. package/dist/middleware/compression.js +20 -5
  47. package/dist/middleware/compression.js.map +1 -1
  48. package/dist/middleware/middleware.d.ts +3 -0
  49. package/dist/middleware/middleware.d.ts.map +1 -1
  50. package/dist/middleware/middleware.js +112 -46
  51. package/dist/middleware/middleware.js.map +1 -1
  52. package/dist/middleware/security.d.ts.map +1 -1
  53. package/dist/middleware/security.js +55 -10
  54. package/dist/middleware/security.js.map +1 -1
  55. package/dist/router/boundary.d.ts +5 -1
  56. package/dist/router/boundary.d.ts.map +1 -1
  57. package/dist/router/boundary.js.map +1 -1
  58. package/dist/router/index.d.ts +2 -0
  59. package/dist/router/index.d.ts.map +1 -1
  60. package/dist/router/index.js +5 -1
  61. package/dist/router/index.js.map +1 -1
  62. package/dist/router/route-builder.d.ts +25 -19
  63. package/dist/router/route-builder.d.ts.map +1 -1
  64. package/dist/router/route-builder.js.map +1 -1
  65. package/dist/router/route-scanner.d.ts.map +1 -1
  66. package/dist/router/route-scanner.js +48 -15
  67. package/dist/router/route-scanner.js.map +1 -1
  68. package/dist/router/router.d.ts.map +1 -1
  69. package/dist/router/router.js +9 -2
  70. package/dist/router/router.js.map +1 -1
  71. package/dist/sanitize/index.d.ts +9 -9
  72. package/dist/sanitize/index.d.ts.map +1 -1
  73. package/dist/sanitize/index.js +19 -10
  74. package/dist/sanitize/index.js.map +1 -1
  75. package/dist/sanitize/sanitize.d.ts +11 -11
  76. package/dist/sanitize/sanitize.d.ts.map +1 -1
  77. package/dist/sanitize/sanitize.js +22 -13
  78. package/dist/sanitize/sanitize.js.map +1 -1
  79. package/dist/server/app.d.ts.map +1 -1
  80. package/dist/server/app.js +18 -0
  81. package/dist/server/app.js.map +1 -1
  82. package/dist/server/response.d.ts +27 -0
  83. package/dist/server/response.d.ts.map +1 -1
  84. package/dist/server/response.js +109 -4
  85. package/dist/server/response.js.map +1 -1
  86. package/dist/server/sse.d.ts +82 -0
  87. package/dist/server/sse.d.ts.map +1 -0
  88. package/dist/server/sse.js +216 -0
  89. package/dist/server/sse.js.map +1 -0
  90. package/dist/testing/client.d.ts.map +1 -1
  91. package/dist/testing/client.js +33 -5
  92. package/dist/testing/client.js.map +1 -1
  93. package/dist/testing/index.d.ts +1 -1
  94. package/dist/testing/index.d.ts.map +1 -1
  95. package/dist/testing/index.js +2 -1
  96. package/dist/testing/index.js.map +1 -1
  97. package/dist/types.d.ts +1 -0
  98. package/dist/types.d.ts.map +1 -1
  99. package/dist/types.js +1 -0
  100. package/dist/types.js.map +1 -1
  101. package/dist/validator/index.d.ts +2 -0
  102. package/dist/validator/index.d.ts.map +1 -1
  103. package/dist/validator/index.js.map +1 -1
  104. package/dist/validator/tex-types.d.ts +2 -2
  105. package/dist/validator/tex-types.d.ts.map +1 -1
  106. package/dist/validator/tex.d.ts.map +1 -1
  107. package/dist/validator/tex.js +1 -0
  108. package/dist/validator/tex.js.map +1 -1
  109. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAQA,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4M5E"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsN5E"}
@@ -44,6 +44,7 @@ const utils_1 = require("../utils");
44
44
  const time_1 = require("../../utils/time");
45
45
  const manifest_js_1 = require("../manifest.js");
46
46
  const resolve_aliases_js_1 = require("../resolve-aliases.js");
47
+ const env_js_1 = require("../../config/env.js");
47
48
  async function buildCommand(options = {}) {
48
49
  process.env.__EXIS_BUILD = 'true';
49
50
  process.on('SIGINT', () => {
@@ -53,6 +54,8 @@ async function buildCommand(options = {}) {
53
54
  process.exit(0);
54
55
  });
55
56
  const cwd = process.cwd();
57
+ // Load .env files so process.env is populated during build-time route validation
58
+ (0, env_js_1.loadEnv)(cwd);
56
59
  const outDir = options.outDir ?? '.exis/server';
57
60
  const tsconfigPath = node_path_1.default.join(cwd, 'tsconfig.json');
58
61
  let version = '0.0.0';
@@ -185,6 +188,13 @@ async function buildCommand(options = {}) {
185
188
  try {
186
189
  const manifestPath = node_path_1.default.join(cwd, '.exis', 'routes-manifest.js');
187
190
  if (node_fs_1.default.existsSync(manifestPath)) {
191
+ try {
192
+ const { registerPathAliasLoader } = await Promise.resolve().then(() => __importStar(require('../resolve-aliases.js')));
193
+ registerPathAliasLoader(cwd);
194
+ }
195
+ catch {
196
+ // ignore
197
+ }
188
198
  const dynamicImport = new Function('specifier', 'return import(specifier)');
189
199
  await dynamicImport((0, node_url_1.pathToFileURL)(manifestPath).href);
190
200
  process.stdout.write(`\r${utils_1.c.green}✓${utils_1.c.reset} ${utils_1.c.dim}all routes validated.${utils_1.c.reset}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,oCA4MC;AAzND,0DAA4B;AAC5B,sDAAwB;AACxB,uCAAwC;AACxC,oCAAmC;AACnC,2CAAmD;AACnD,gDAAkE;AAClE,8DAA0D;AAOnD,KAAK,UAAU,YAAY,CAAC,UAAwB,EAAE;IAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAA;IAEjC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,MAAM,IAAI,GAAG,IAAA,uBAAgB,GAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,uBAAuB,CAAA;QACvC,OAAO,CAAC,GAAG,CACT,KAAK,SAAC,CAAC,GAAG,GAAG,IAAI,GAAG,SAAC,CAAC,KAAK,IAAI,OAAO,SAAS,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,GAAG,mBAAmB,SAAC,CAAC,KAAK,EAAE,CAC5F,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAA;IAC/C,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAEpD,IAAI,OAAO,GAAG,OAAO,CAAA;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;QACtE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CACT,KAAK,SAAC,CAAC,OAAO,SAAS,OAAO,GAAG,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,KAAK,gDAAgD,SAAC,CAAC,KAAK,EAAE,CAC7G,CAAA;QACD,OAAO,CAAC,GAAG,CACT,GAAG,SAAC,CAAC,MAAM,gEAAgE,SAAC,CAAC,KAAK,EAAE,CACrF,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,WAAW,SAAC,CAAC,OAAO,aAAa,SAAC,CAAC,KAAK,sBAAsB,CAAC,CAAA;QAC3E,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CACT,KAAK,SAAC,CAAC,OAAO,SAAS,OAAO,GAAG,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,KAAK,gDAAgD,SAAC,CAAC,KAAK,EAAE,CAC7G,CAAA;IAED,qBAAqB;IACrB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACzC,IAAI,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAC,CAAC,GAAG,cAAc,SAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YACrD,iBAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,GAAG,4BAA4B,SAAC,CAAC,KAAK,IAAI,CACxE,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAC,CAAC,GAAG,eAAe,SAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAExB,0FAA0F;IAC1F,MAAM,IAAA,6BAAe,EAAC,GAAG,CAAC,CAAA;IAE1B,IAAI,EAAO,CAAA;IACX,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;QACrE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,IAAA,aAAK,EAAC,2CAA2C,CAAC,CAAA;QAClD,IAAA,aAAK,EAAC,uCAAuC,CAAC,CAAA;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACxE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,IAAA,aAAK,EAAC,6BAA6B,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,0BAA0B,CAChD,UAAU,CAAC,MAAM,EACjB,EAAE,CAAC,GAAG,EACN,mBAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAChC,CAAA;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAC/C,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpC,CAAA;IAED,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CACxD,CAAA;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,KAAK,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;IAC7D,CAAC;IAED,8EAA8E;IAC9E,yEAAyE;IACzE,yDAAyD;IACzD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAC,CAAC,GAAG,mBAAmB,SAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE;YACvD,GAAG,YAAY,CAAC,OAAO;YACvB,MAAM,EAAE,IAAI;SACb,CAAC,CAAA;QACF,MAAM,WAAW,GAAG;YAClB,GAAG,YAAY,CAAC,MAAM;YACtB,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC;SACrC,CAAA;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1B,MAAM,SAAS,GAAG,EAAE,CAAC,oCAAoC,CAAC,WAAW,EAAE;gBACrE,oBAAoB,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;gBACtC,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB;gBAC/C,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;aACvB,CAAC,CAAA;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;YACtC,IAAA,aAAK,EAAC,sBAAsB,WAAW,CAAC,MAAM,kBAAkB,CAAC,CAAA;YACjE,OAAO,CAAC,KAAK,CACX,KAAK,SAAC,CAAC,MAAM,oCAAoC,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,OAAO,aAAa,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,MAAM,UAAU,SAAC,CAAC,KAAK,IAAI,CACzH,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,SAAC,CAAC,MAAM,IAAI,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,GAAG,0CAA0C,SAAC,CAAC,KAAK,IAAI,CACvF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,GAAG,qBAAqB,SAAC,CAAC,KAAK,IAAI,CACjE,CAAA;IACH,CAAC;IAED,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAC,CAAC,GAAG,eAAe,SAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,wDAAa,SAAS,GAAC,CAAA;QACvC,MAAM,OAAO,CAAC,KAAK,CAAC;YAClB,WAAW;YACX,MAAM,EAAE,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;YAC9B,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,MAAuB;YAC/B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,GAAG,2BAA2B,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,SAAC,CAAC,KAAK,IAAI,CAC/F,CAAA;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,IAAA,aAAK,EAAC,mBAAmB,GAAG,EAAE,OAAO,IAAI,8BAA8B,EAAE,CAAC,CAAA;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,mDAAmD;IACnD,MAAM,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAEjC,2CAA2C;IAC3C,IAAI,CAAC;QACH,MAAM,IAAA,8BAAgB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,IAAA,aAAK,EAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,CACX,KAAK,SAAC,CAAC,MAAM,4CAA4C,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,OAAO,aAAa,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,MAAM,UAAU,SAAC,CAAC,KAAK,IAAI,CACjI,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,+EAA+E;IAC/E,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,sBAAsB;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAC,CAAC,GAAG,uBAAuB,SAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9D,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAA;QAClE,IAAI,iBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,IAAI,QAAQ,CAChC,WAAW,EACX,0BAA0B,CAC3B,CAAA;YACD,MAAM,aAAa,CAAC,IAAA,wBAAa,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAA;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,GAAG,wBAAwB,SAAC,CAAC,KAAK,IAAI,CACpE,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,IAAA,aAAK,EAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAChD,OAAO,CAAC,KAAK,CACX,KAAK,SAAC,CAAC,MAAM,mCAAmC,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,OAAO,aAAa,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,MAAM,UAAU,SAAC,CAAC,KAAK,IAAI,CACxH,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;IAE7B,OAAO,CAAC,GAAG,CAAC,KAAK,SAAC,CAAC,KAAK,cAAc,EAAE,KAAK,SAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IAEzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,MAAc;IACvD,IAAI,CAAC;QACH,MAAM,IAAA,uCAAkB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,SAAC,CAAC,MAAM,IAAI,SAAC,CAAC,KAAK,IAAI,SAAC,CAAC,GAAG,4BAA4B,GAAG,CAAC,OAAO,GAAG,SAAC,CAAC,KAAK,IAAI,CACvF,CAAA;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function doctorCommand(cwd?: string): Promise<void>;
2
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,CACjC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA2Rf"}
@@ -0,0 +1,258 @@
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
+ exports.doctorCommand = doctorCommand;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const utils_1 = require("../utils");
10
+ async function doctorCommand(cwd = process.cwd()) {
11
+ (0, utils_1.banner)();
12
+ console.log(`${utils_1.c.primary}${utils_1.c.bold} ExisJS Health & Diagnostic Doctor${utils_1.c.reset}\n`);
13
+ const results = [];
14
+ // 1. Environment & Node.js Version Check
15
+ const nodeVer = process.version;
16
+ const majorNode = parseInt(nodeVer.replace(/^v/, '').split('.')[0], 10);
17
+ if (majorNode >= 18) {
18
+ results.push({
19
+ category: 'Runtime',
20
+ name: 'Node.js Version',
21
+ status: 'pass',
22
+ message: `${nodeVer} (compatible with ExisJS core & worker threads)`,
23
+ });
24
+ }
25
+ else {
26
+ results.push({
27
+ category: 'Runtime',
28
+ name: 'Node.js Version',
29
+ status: 'fail',
30
+ message: `${nodeVer} is below minimum supported v18.0.0`,
31
+ hint: 'Upgrade Node.js to v18, v20, or v22 for full N-API and crypto support.',
32
+ });
33
+ }
34
+ // 2. Hardware-Accelerated Native Engine (@exisjs/rs) Check
35
+ try {
36
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
37
+ const rs = require('@exisjs/rs');
38
+ const hasRadix = typeof rs.NativeRadixTree === 'function';
39
+ const hasFastJson = typeof rs.fast_json_stringify === 'function';
40
+ if (hasRadix && hasFastJson) {
41
+ results.push({
42
+ category: 'Native Engine',
43
+ name: '@exisjs/rs (Rust Engine)',
44
+ status: 'pass',
45
+ message: 'Active (hardware-accelerated radix tree, off-heap cache & fast JSON)',
46
+ });
47
+ }
48
+ else {
49
+ results.push({
50
+ category: 'Native Engine',
51
+ name: '@exisjs/rs (Rust Engine)',
52
+ status: 'warn',
53
+ message: 'Loaded, but some native symbols are unavailable. Fallbacks active.',
54
+ hint: 'Rebuild native bindings using "npm run build --workspace=packages/rs".',
55
+ });
56
+ }
57
+ }
58
+ catch {
59
+ results.push({
60
+ category: 'Native Engine',
61
+ name: '@exisjs/rs (Rust Engine)',
62
+ status: 'warn',
63
+ message: 'Not loaded. Framework running in graceful pure-JS fallback mode.',
64
+ hint: 'Run "npm install @exisjs/rs" or build from source to unlock 10x off-heap routing performance.',
65
+ });
66
+ }
67
+ // 3. Project Configuration & Directory Structure Check
68
+ const pkgPath = node_path_1.default.join(cwd, 'package.json');
69
+ if (node_fs_1.default.existsSync(pkgPath)) {
70
+ results.push({
71
+ category: 'Project',
72
+ name: 'package.json',
73
+ status: 'pass',
74
+ message: 'Found project root',
75
+ });
76
+ }
77
+ else {
78
+ results.push({
79
+ category: 'Project',
80
+ name: 'package.json',
81
+ status: 'fail',
82
+ message: 'No package.json detected in current directory',
83
+ hint: 'Run "exis init" or execute doctor inside your ExisJS project folder.',
84
+ });
85
+ }
86
+ const tsconfigPath = node_path_1.default.join(cwd, 'tsconfig.json');
87
+ if (node_fs_1.default.existsSync(tsconfigPath)) {
88
+ try {
89
+ const tsconfigContent = node_fs_1.default.readFileSync(tsconfigPath, 'utf8');
90
+ results.push({
91
+ category: 'TypeScript',
92
+ name: 'tsconfig.json',
93
+ status: 'pass',
94
+ message: 'TypeScript configuration detected',
95
+ });
96
+ if (tsconfigContent.includes('"strict": true') ||
97
+ tsconfigContent.includes('"strict":true')) {
98
+ results.push({
99
+ category: 'TypeScript',
100
+ name: 'Strict Type Checking',
101
+ status: 'pass',
102
+ message: 'Strict mode is enabled',
103
+ });
104
+ }
105
+ else {
106
+ results.push({
107
+ category: 'TypeScript',
108
+ name: 'Strict Type Checking',
109
+ status: 'warn',
110
+ message: '"strict" is disabled or not set in tsconfig.json',
111
+ hint: 'Set "compilerOptions.strict: true" for complete compile-time route and schema validation.',
112
+ });
113
+ }
114
+ }
115
+ catch {
116
+ results.push({
117
+ category: 'TypeScript',
118
+ name: 'tsconfig.json',
119
+ status: 'warn',
120
+ message: 'Could not parse tsconfig.json',
121
+ });
122
+ }
123
+ }
124
+ else {
125
+ results.push({
126
+ category: 'TypeScript',
127
+ name: 'tsconfig.json',
128
+ status: 'warn',
129
+ message: 'No tsconfig.json found. Running in JavaScript mode.',
130
+ hint: 'Add a tsconfig.json to unlock full type-safety and OpenAPI schema resolution.',
131
+ });
132
+ }
133
+ // 4. Entry Point & Route Files Check
134
+ const possibleEntries = [
135
+ node_path_1.default.join(cwd, 'src', 'http', 'server.ts'),
136
+ node_path_1.default.join(cwd, 'src', 'http', 'server.js'),
137
+ node_path_1.default.join(cwd, 'http', 'server.ts'),
138
+ node_path_1.default.join(cwd, 'http', 'server.js'),
139
+ ];
140
+ const resolvedEntry = possibleEntries.find((p) => node_fs_1.default.existsSync(p));
141
+ if (resolvedEntry) {
142
+ const relEntry = node_path_1.default.relative(cwd, resolvedEntry).replace(/\\/g, '/');
143
+ results.push({
144
+ category: 'Routes & Pipeline',
145
+ name: 'Application Entry Point',
146
+ status: 'pass',
147
+ message: `Resolved entry at ${relEntry}`,
148
+ });
149
+ }
150
+ else {
151
+ results.push({
152
+ category: 'Routes & Pipeline',
153
+ name: 'Application Entry Point',
154
+ status: 'fail',
155
+ message: 'Could not find entry file (expected src/http/server.ts or http/server.ts)',
156
+ hint: 'Scaffold a server entry point using "exis generate route users" or create src/http/server.ts.',
157
+ });
158
+ }
159
+ // Check HTTP directory
160
+ const httpDirs = [node_path_1.default.join(cwd, 'src', 'http'), node_path_1.default.join(cwd, 'http')];
161
+ const activeHttpDir = httpDirs.find((d) => node_fs_1.default.existsSync(d) && node_fs_1.default.statSync(d).isDirectory());
162
+ if (activeHttpDir) {
163
+ // Scan for misplaced route files or orphan naming patterns
164
+ const walk = (dir) => {
165
+ let files = [];
166
+ try {
167
+ const entries = node_fs_1.default.readdirSync(dir, { withFileTypes: true });
168
+ for (const entry of entries) {
169
+ const full = node_path_1.default.join(dir, entry.name);
170
+ if (entry.isDirectory()) {
171
+ files = files.concat(walk(full));
172
+ }
173
+ else {
174
+ files.push(full);
175
+ }
176
+ }
177
+ }
178
+ catch {
179
+ /* ignore */
180
+ }
181
+ return files;
182
+ };
183
+ const allFiles = walk(activeHttpDir);
184
+ const routeFiles = allFiles.filter((f) => f.endsWith('route.ts') ||
185
+ f.endsWith('route.js') ||
186
+ /\.route\.[jt]s$/.test(f));
187
+ const schemaFiles = allFiles.filter((f) => f.endsWith('schema.ts') ||
188
+ f.endsWith('schema.js') ||
189
+ /\.schema\.[jt]s$/.test(f));
190
+ const boundaryFiles = allFiles.filter((f) => f.endsWith('boundary.ts') ||
191
+ f.endsWith('boundary.js') ||
192
+ /\.boundary\.[jt]s$/.test(f));
193
+ results.push({
194
+ category: 'Routes & Pipeline',
195
+ name: 'File-System Route Slices',
196
+ status: 'pass',
197
+ message: `Discovered ${routeFiles.length} route(s), ${schemaFiles.length} schema(s), ${boundaryFiles.length} boundary definition(s)`,
198
+ });
199
+ // Check for suspicious naming like route.controller.ts or routes.ts (plural)
200
+ const suspicious = allFiles.filter((f) => {
201
+ const base = node_path_1.default.basename(f);
202
+ return (base === 'routes.ts' ||
203
+ base === 'routes.js' ||
204
+ base === 'controller.ts' ||
205
+ base === 'controllers.ts');
206
+ });
207
+ if (suspicious.length > 0) {
208
+ const rels = suspicious
209
+ .map((f) => node_path_1.default.relative(cwd, f).replace(/\\/g, '/'))
210
+ .join(', ');
211
+ results.push({
212
+ category: 'Routes & Pipeline',
213
+ name: 'Naming Conventions',
214
+ status: 'warn',
215
+ message: `Found non-standard file names: ${rels}`,
216
+ hint: 'ExisJS detects route.ts, <name>.route.ts, schema.ts, or boundary.ts. Plural "routes.ts" will not be mounted automatically.',
217
+ });
218
+ }
219
+ }
220
+ // Print Formatted Report
221
+ let _passCount = 0;
222
+ let warnCount = 0;
223
+ let failCount = 0;
224
+ let currentCategory = '';
225
+ for (const r of results) {
226
+ if (r.category !== currentCategory) {
227
+ currentCategory = r.category;
228
+ console.log(`\n ${utils_1.c.bold}${utils_1.c.magenta}${currentCategory}${utils_1.c.reset}`);
229
+ }
230
+ let badge = `${utils_1.c.green}✓${utils_1.c.reset}`;
231
+ if (r.status === 'pass')
232
+ _passCount++;
233
+ else if (r.status === 'warn') {
234
+ badge = `${utils_1.c.yellow}▲${utils_1.c.reset}`;
235
+ warnCount++;
236
+ }
237
+ else {
238
+ badge = `${utils_1.c.red}✗${utils_1.c.reset}`;
239
+ failCount++;
240
+ }
241
+ console.log(` ${badge} ${utils_1.c.bold}${r.name}${utils_1.c.reset}: ${utils_1.c.gray}${r.message}${utils_1.c.reset}`);
242
+ if (r.hint) {
243
+ console.log(` ${utils_1.c.cyan}Tip:${utils_1.c.reset} ${utils_1.c.dim}${r.hint}${utils_1.c.reset}`);
244
+ }
245
+ }
246
+ console.log(`\n ${'─'.repeat(55)}`);
247
+ if (failCount === 0 && warnCount === 0) {
248
+ console.log(` ${utils_1.c.green}${utils_1.c.bold}All checks passed!${utils_1.c.reset} Your ExisJS environment is in optimal condition.\n`);
249
+ }
250
+ else if (failCount === 0) {
251
+ console.log(` ${utils_1.c.yellow}${utils_1.c.bold}Passed with ${warnCount} warning(s).${utils_1.c.reset} System is operational but could be optimized.\n`);
252
+ }
253
+ else {
254
+ console.log(` ${utils_1.c.red}${utils_1.c.bold}${failCount} critical issue(s) detected.${utils_1.c.reset} Please review the suggestions above.\n`);
255
+ process.exit(1);
256
+ }
257
+ }
258
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,21 @@
1
1
  export declare function generateController(name: string, cwd?: string, options?: {
2
2
  oop?: boolean;
3
+ named?: boolean;
3
4
  }): Promise<void>;
4
5
  export declare function generateService(name: string, cwd?: string, options?: {
5
6
  oop?: boolean;
7
+ named?: boolean;
8
+ }): Promise<void>;
9
+ export declare function generateSchema(name: string, cwd?: string, options?: {
10
+ named?: boolean;
6
11
  }): Promise<void>;
7
- export declare function generateSchema(name: string, cwd?: string): Promise<void>;
8
12
  export declare function generateBoundary(name: string, cwd?: string, options?: {
9
13
  oop?: boolean;
14
+ named?: boolean;
10
15
  }): Promise<void>;
11
16
  export declare function generateResource(name: string, cwd?: string, options?: {
12
17
  oop?: boolean;
18
+ named?: boolean;
13
19
  }): Promise<void>;
14
20
  export declare function generatePlugin(name: string): Promise<void>;
15
21
  export declare function generateMiddleware(name: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAqBA,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,iBAwBhC;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,iBAchC;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAgB,iBASrE;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,iBAchC;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,iBAwBhC;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,iBA6BhD;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,iBA0BpD;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,iBA8B9C"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAqBA,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,iBAyBjD;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,iBAejD;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,iBAWlC;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,iBAejD;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAgB,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,iBA2BjD;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,iBA6BhD;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,iBA0BpD;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,iBA8B9C"}
@@ -33,7 +33,8 @@ async function ensureDir(dir) {
33
33
  async function generateController(name, cwd = process.cwd(), options = {}) {
34
34
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
35
35
  await ensureDir(targetDir);
36
- const filePath = node_path_1.default.join(targetDir, 'route.ts');
36
+ const filename = options.named ? `${name}.route.ts` : 'route.ts';
37
+ const filePath = node_path_1.default.join(targetDir, filename);
37
38
  try {
38
39
  const stat = await promises_1.default.stat(filePath);
39
40
  if (stat.isFile()) {
@@ -49,52 +50,58 @@ async function generateController(name, cwd = process.cwd(), options = {}) {
49
50
  ? `import { Controller, Get } from 'exisjs/decorators'\n\n@Controller('/${name}')\nexport default class ${capitalizedName}Controller {\n @Get('/')\n async list() {\n return { success: true, data: [] }\n }\n}\n`
50
51
  : `import { controller, route } from 'exisjs/router'\n\nexport default controller({\n list: route.get('/', {\n handle: async () => {\n return { success: true, data: [] }\n }\n })\n})\n`;
51
52
  await promises_1.default.writeFile(filePath, code);
52
- (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} route in src/http/${name}/route.ts`);
53
+ (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} route in src/http/${name}/${filename}`);
53
54
  }
54
55
  async function generateService(name, cwd = process.cwd(), options = {}) {
55
56
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
56
57
  await ensureDir(targetDir);
57
58
  const capitalizedName = toPascalCase(name);
59
+ const filename = options.named ? `${name}.service.ts` : 'service.ts';
58
60
  const code = options.oop
59
61
  ? `import { Injectable } from 'exisjs/decorators'\n\n@Injectable({ scope: 'singleton' })\nexport class ${capitalizedName}Service {\n async list() {\n return []\n }\n}\n`
60
62
  : `export async function get${capitalizedName}s() {\n return []\n}\n`;
61
- await promises_1.default.writeFile(node_path_1.default.join(targetDir, 'service.ts'), code);
62
- (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} service in src/http/${name}/service.ts`);
63
+ await promises_1.default.writeFile(node_path_1.default.join(targetDir, filename), code);
64
+ (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} service in src/http/${name}/${filename}`);
63
65
  }
64
- async function generateSchema(name, cwd = process.cwd()) {
66
+ async function generateSchema(name, cwd = process.cwd(), options = {}) {
65
67
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
66
68
  await ensureDir(targetDir);
67
69
  const capitalizedName = toPascalCase(name);
70
+ const filename = options.named ? `${name}.schema.ts` : 'schema.ts';
68
71
  const code = `import { tex } from 'exisjs/validator'\nimport type { ResolveSchema } from 'exisjs/validator'\n\nexport const ${capitalizedName}ParamsSchema = tex.object({\n id: tex.string(),\n})\n\nexport const Create${capitalizedName}Schema = tex.object({\n name: tex.string({ min: 1 }),\n})\n\nexport type Create${capitalizedName}Dto = ResolveSchema<typeof Create${capitalizedName}Schema>\n`;
69
- await promises_1.default.writeFile(node_path_1.default.join(targetDir, 'schema.ts'), code);
70
- (0, utils_1.success)(`Generated validation schema in src/http/${name}/schema.ts`);
72
+ await promises_1.default.writeFile(node_path_1.default.join(targetDir, filename), code);
73
+ (0, utils_1.success)(`Generated validation schema in src/http/${name}/${filename}`);
71
74
  }
72
75
  async function generateBoundary(name, cwd = process.cwd(), options = {}) {
73
76
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
74
77
  await ensureDir(targetDir);
75
78
  const capitalizedName = toPascalCase(name);
79
+ const filename = options.named ? `${name}.boundary.ts` : 'boundary.ts';
76
80
  const code = options.oop
77
81
  ? `import { Boundary } from 'exisjs/decorators'\nimport type { Request, Response, Next, BoundaryContext } from 'exisjs/router'\n\n@Boundary({\n cors: { origin: ['*'], credentials: true },\n headers: { 'X-Powered-By': 'ExisJS' },\n})\nexport default class ${capitalizedName}Boundary {\n // Named chain step auto-detected by (req, res, next) signature\n // auth(req: Request, res: Response, next: Next) {\n // next()\n // }\n\n // Wrapper around all routes and child boundaries\n async handle(ctx: BoundaryContext, next: Next) {\n return next()\n }\n}\n`
78
82
  : `import { defineBoundary } from 'exisjs/router'\nimport type { Request, Response, Next, BoundaryContext } from 'exisjs/router'\n\nexport const config = defineBoundary({\n cors: { origin: ['*'], credentials: true },\n headers: { 'X-Powered-By': 'ExisJS' },\n // exclude: [{ path: '/health', method: 'GET' }],\n})\n\n// Named chain step: auto-detected by (req, res, next) signature\n// export function auth(req: Request, res: Response, next: Next) {\n// next()\n// }\n\n// Pipeline wrapper: auto-detected as default export with (ctx, next) signature\nexport default async function (ctx: BoundaryContext, next: Next) {\n return next()\n}\n`;
79
- await promises_1.default.writeFile(node_path_1.default.join(targetDir, 'boundary.ts'), code);
80
- (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} boundary in src/http/${name}/boundary.ts`);
83
+ await promises_1.default.writeFile(node_path_1.default.join(targetDir, filename), code);
84
+ (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} boundary in src/http/${name}/${filename}`);
81
85
  }
82
86
  async function generateResource(name, cwd = process.cwd(), options = {}) {
83
87
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
84
88
  await ensureDir(targetDir);
85
89
  const capitalizedName = toPascalCase(name);
86
- // 1. Generate schema.ts
87
- await generateSchema(name, cwd);
88
- // 2. Generate boundary.ts
89
- await generateBoundary(name, cwd, options);
90
- // 3. Generate service.ts
90
+ const schemaFile = options.named ? `./${name}.schema` : './schema';
91
+ const serviceFile = options.named ? `./${name}.service` : './service';
92
+ const routeFilename = options.named ? `${name}.route.ts` : 'route.ts';
93
+ const schemaFilename = options.named ? `${name}.schema.ts` : 'schema.ts';
94
+ const serviceFilename = options.named ? `${name}.service.ts` : 'service.ts';
95
+ // 1. Generate schema
96
+ await generateSchema(name, cwd, options);
97
+ // 2. Generate service
91
98
  await generateService(name, cwd, options);
92
- // 4. Generate route.ts
99
+ // 3. Generate route
93
100
  const routeCode = options.oop
94
- ? `import { Controller, Get, Post, Body, Param } from 'exisjs/decorators'\nimport { ${capitalizedName}Service } from './service'\nimport { Create${capitalizedName}Schema, ${capitalizedName}ParamsSchema } from './schema'\nimport type { Create${capitalizedName}Dto } from './schema'\n\n@Controller('/${name}')\nexport default class ${capitalizedName}Controller {\n constructor(private readonly service: ${capitalizedName}Service) {}\n\n @Get('/')\n async list() {\n const data = await this.service.list()\n return { success: true, data }\n }\n\n @Get('/:id', ${capitalizedName}ParamsSchema)\n async getById(@Param('id') id: string) {\n return { success: true, id }\n }\n\n @Post('/', Create${capitalizedName}Schema)\n async create(@Body() body: Create${capitalizedName}Dto) {\n return { success: true, data: body }\n }\n}\n`
95
- : `import { controller, route } from 'exisjs/router'\nimport * as service from './service'\nimport { Create${capitalizedName}Schema, ${capitalizedName}ParamsSchema } from './schema'\n\nexport default controller({\n list: route.get('/', {\n handle: async () => {\n const data = await service.get${capitalizedName}s()\n return { success: true, data }\n }\n }),\n\n getById: route.get('/:id', {\n params: ${capitalizedName}ParamsSchema,\n handle: async ({ params }) => {\n return { success: true, id: params.id }\n }\n }),\n\n create: route.post('/', {\n body: Create${capitalizedName}Schema,\n handle: async ({ body }) => {\n return { success: true, data: body }\n }\n })\n})\n`;
96
- await promises_1.default.writeFile(node_path_1.default.join(targetDir, 'route.ts'), routeCode);
97
- (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} resource slice in src/http/${name}/`);
101
+ ? `import { Controller, Get, Post, Body, Param } from 'exisjs/decorators'\nimport { ${capitalizedName}Service } from '${serviceFile}'\nimport { Create${capitalizedName}Schema, ${capitalizedName}ParamsSchema } from '${schemaFile}'\nimport type { Create${capitalizedName}Dto } from '${schemaFile}'\n\n@Controller('/${name}')\nexport default class ${capitalizedName}Controller {\n constructor(private readonly service: ${capitalizedName}Service) {}\n\n @Get('/')\n async list() {\n const data = await this.service.list()\n return { success: true, data }\n }\n\n @Get('/:id', ${capitalizedName}ParamsSchema)\n async getById(@Param('id') id: string) {\n return { success: true, id }\n }\n\n @Post('/', Create${capitalizedName}Schema)\n async create(@Body() body: Create${capitalizedName}Dto) {\n return { success: true, data: body }\n }\n}\n`
102
+ : `import { controller, route } from 'exisjs/router'\nimport * as service from '${serviceFile}'\nimport { Create${capitalizedName}Schema, ${capitalizedName}ParamsSchema } from '${schemaFile}'\n\nexport default controller({\n list: route.get('/', {\n handle: async () => {\n const data = await service.get${capitalizedName}s()\n return { success: true, data }\n }\n }),\n\n getById: route.get('/:id', {\n params: ${capitalizedName}ParamsSchema,\n handle: async ({ params }) => {\n return { success: true, id: params.id }\n }\n }),\n\n create: route.post('/', {\n body: Create${capitalizedName}Schema,\n handle: async ({ body }) => {\n return { success: true, data: body }\n }\n })\n})\n`;
103
+ await promises_1.default.writeFile(node_path_1.default.join(targetDir, routeFilename), routeCode);
104
+ (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} resource slice in src/http/${name}/ (${routeFilename}, ${schemaFilename}, ${serviceFilename})`);
98
105
  }
99
106
  async function generatePlugin(name) {
100
107
  const targetDir = node_path_1.default.join(process.cwd(), 'src', 'plugins');
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -80,9 +80,12 @@ program
80
80
  .command('routes')
81
81
  .description('Print the application routing table')
82
82
  .option('-e, --entry <file>', 'Custom entry file path')
83
+ .option('-m, --method <method>', 'Filter endpoints by HTTP method (e.g. GET, POST)')
84
+ .option('-f, --filter <keyword>', 'Filter endpoints by path, method, or source')
85
+ .option('--json', 'Output routes as JSON')
83
86
  .action(async (options) => {
84
87
  const { routesCommand } = await Promise.resolve().then(() => __importStar(require('./routes')));
85
- await routesCommand(process.cwd(), options.entry);
88
+ await routesCommand(process.cwd(), options);
86
89
  });
87
90
  // ─── init ─────────────────────────────────────────────────────────────────────
88
91
  program
@@ -133,6 +136,14 @@ program
133
136
  console.log(`${utils_1.c.gray} Arch: ${utils_1.c.reset}${utils_1.c.cyan}${process.arch}${utils_1.c.reset}`);
134
137
  console.log();
135
138
  });
139
+ // ─── doctor ───────────────────────────────────────────────────────────────────
140
+ program
141
+ .command('doctor')
142
+ .description('Diagnose project health, native Rust acceleration, routes, and config')
143
+ .action(async () => {
144
+ const { doctorCommand } = await Promise.resolve().then(() => __importStar(require('./commands/doctor')));
145
+ await doctorCommand();
146
+ });
136
147
  // ─── Default: show banner on bare `exis` ──────────────────────────────────────
137
148
  if (process.argv.length === 2) {
138
149
  (0, utils_1.banner)();
@@ -140,7 +151,9 @@ if (process.argv.length === 2) {
140
151
  console.log(` ${utils_1.c.cyan}exis dev${utils_1.c.reset} Start dev server`);
141
152
  console.log(` ${utils_1.c.cyan}exis build${utils_1.c.reset} Build for production`);
142
153
  console.log(` ${utils_1.c.cyan}exis start${utils_1.c.reset} Start production server`);
154
+ console.log(` ${utils_1.c.cyan}exis routes${utils_1.c.reset} Inspect application routing table`);
143
155
  console.log(` ${utils_1.c.cyan}exis test${utils_1.c.reset} Run test suite`);
156
+ console.log(` ${utils_1.c.cyan}exis doctor${utils_1.c.reset} Run project health and environment diagnostics`);
144
157
  console.log(` ${utils_1.c.cyan}exis info${utils_1.c.reset} Show environment info`);
145
158
  console.log(` ${utils_1.c.cyan}exis init${utils_1.c.reset} Initialize a project in current directory`);
146
159
  console.log(` ${utils_1.c.cyan}exis exports${utils_1.c.reset} List all available framework exports`);
@@ -156,6 +169,7 @@ program
156
169
  .argument('<type>', 'Type to generate (resource|route|controller|service|schema|boundary|plugin|middleware|test)')
157
170
  .argument('[name]', 'Name of the feature')
158
171
  .option('--oop', 'Generate using Class-Based (OOP) paradigm instead of Functional')
172
+ .option('-n, --named', 'Prefix filenames with the feature name (e.g. user.route.ts, user.schema.ts)')
159
173
  .action(async (type, name, options) => {
160
174
  const { generateResource, generateController, generateService, generateSchema, generateBoundary, generatePlugin, generateMiddleware, generateTest, } = await Promise.resolve().then(() => __importStar(require('./commands/generate')));
161
175
  if (!name)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAmC;AACnC,mCAAmC;AACnC,wCAA2C;AAC3C,4CAA+C;AAC/C,4CAA+C;AAE/C,iEAAiE;AACjE,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAEzC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,iBAAiB,CAAC;KAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAA;AAEtE,gFAAgF;AAEhF,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;KAC9C,MAAM,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,IAAA,gBAAU,EAAC,OAAO,CAAC,CAAA;AAC3B,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACjE,MAAM,CAAC,YAAY,EAAE,oCAAoC,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;KAC9C,MAAM,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;KACtD,MAAM,CACL,uBAAuB,EACvB,kDAAkD,CACnD;KACA,MAAM,CACL,wBAAwB,EACxB,6CAA6C,CAC9C;KACA,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAA;IAClD,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAA;IACvD,MAAM,WAAW,EAAE,CAAA;AACrB,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAA;IAC7D,MAAM,cAAc,EAAE,CAAA;AACxB,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,MAAM,CAAC;KACb,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAA;IACvD,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,yCAAyC,CAAC;KAC5D,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC;KAC/C,MAAM,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAA;IACvD,MAAM,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,cAAM,GAAE,CAAA;IACR,OAAO,CAAC,GAAG,CACT,GAAG,SAAC,CAAC,IAAI,eAAe,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,GAAG,SAAC,CAAC,KAAK,EAAE,CACnE,CAAA;IACD,OAAO,CAAC,GAAG,CACT,GAAG,SAAC,CAAC,IAAI,eAAe,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,SAAC,CAAC,KAAK,EAAE,CACvE,CAAA;IACD,OAAO,CAAC,GAAG,CACT,GAAG,SAAC,CAAC,IAAI,eAAe,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAC,CAAC,KAAK,EAAE,CACxE,CAAA;IACD,OAAO,CAAC,GAAG,CACT,GAAG,SAAC,CAAC,IAAI,eAAe,SAAC,CAAC,KAAK,GAAG,SAAC,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,SAAC,CAAC,KAAK,EAAE,CACpE,CAAA;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,uEAAuE,CACxE;KACA,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAA;IAC3D,MAAM,aAAa,EAAE,CAAA;AACvB,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC9B,IAAA,cAAM,GAAE,CAAA;IACR,OAAO,CAAC,GAAG,CAAC,GAAG,SAAC,CAAC,IAAI,WAAW,SAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,SAAC,CAAC,IAAI,WAAW,SAAC,CAAC,KAAK,gCAAgC,CAAC,CAAA;IAC5E,OAAO,CAAC,GAAG,CACT,OAAO,SAAC,CAAC,IAAI,aAAa,SAAC,CAAC,KAAK,kCAAkC,CACpE,CAAA;IACD,OAAO,CAAC,GAAG,CACT,OAAO,SAAC,CAAC,IAAI,aAAa,SAAC,CAAC,KAAK,qCAAqC,CACvE,CAAA;IACD,OAAO,CAAC,GAAG,CACT,OAAO,SAAC,CAAC,IAAI,cAAc,SAAC,CAAC,KAAK,8CAA8C,CACjF,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,OAAO,SAAC,CAAC,IAAI,YAAY,SAAC,CAAC,KAAK,6BAA6B,CAAC,CAAA;IAC1E,OAAO,CAAC,GAAG,CACT,OAAO,SAAC,CAAC,IAAI,cAAc,SAAC,CAAC,KAAK,2DAA2D,CAC9F,CAAA;IACD,OAAO,CAAC,GAAG,CACT,OAAO,SAAC,CAAC,IAAI,YAAY,SAAC,CAAC,KAAK,oCAAoC,CACrE,CAAA;IACD,OAAO,CAAC,GAAG,CACT,OAAO,SAAC,CAAC,IAAI,YAAY,SAAC,CAAC,KAAK,wDAAwD,CACzF,CAAA;IACD,OAAO,CAAC,GAAG,CACT,OAAO,SAAC,CAAC,IAAI,eAAe,SAAC,CAAC,KAAK,gDAAgD,CACpF,CAAA;IACD,OAAO,CAAC,GAAG,CACT,OAAO,SAAC,CAAC,IAAI,uBAAuB,SAAC,CAAC,KAAK,0BAA0B,CACtE,CAAA;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CACP,QAAQ,EACR,6FAA6F,CAC9F;KACA,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;KACzC,MAAM,CACL,OAAO,EACP,iEAAiE,CAClE;KACA,MAAM,CACL,aAAa,EACb,6EAA6E,CAC9E;KACA,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACpC,MAAM,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,YAAY,GACb,GAAG,wDAAa,qBAAqB,GAAC,CAAA;IAEvC,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,MAAM,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAK;QACP,KAAK,OAAO,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACN,MAAM,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YAC5C,MAAK;QACP,KAAK,SAAS,CAAC;QACf,KAAK,GAAG;YACN,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACzC,MAAK;QACP,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,MAAM,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAC/B,MAAK;QACP,KAAK,UAAU,CAAC;QAChB,KAAK,GAAG;YACN,MAAM,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAK;QACP,KAAK,QAAQ,CAAC;QACd,KAAK,GAAG;YACN,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;YAC1B,MAAK;QACP,KAAK,YAAY,CAAC;QAClB,KAAK,GAAG;YACN,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAC9B,MAAK;QACP,KAAK,MAAM,CAAC;QACZ,KAAK,GAAG;YACN,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;YACxB,MAAK;QACP;YACE,OAAO,CAAC,KAAK,CACX,2GAA2G,CAC5G,CAAA;IACL,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/cli/manifest.ts"],"names":[],"mappings":"AAIA,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CA8Hf;AAqCD,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhE"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/cli/manifest.ts"],"names":[],"mappings":"AAIA,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAiIf;AAqCD,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhE"}
@@ -68,7 +68,9 @@ async function generateManifest(cwd, outDir, isDev = false) {
68
68
  return;
69
69
  }
70
70
  const routes = await scanDirectory(apiDir, '/');
71
- const validRoutes = routes.filter((r) => r.filePath.endsWith('route.ts') || r.filePath.endsWith('route.js'));
71
+ const validRoutes = routes.filter((r) => r.filePath.endsWith('route.ts') ||
72
+ r.filePath.endsWith('route.js') ||
73
+ /\.route\.[jt]s$/.test(r.filePath));
72
74
  let importLines = '';
73
75
  let exportLines = 'export const manifest = [\n';
74
76
  let typeImportLines = '';