exisjs 0.1.2
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.
- package/README.md +52 -0
- package/bin/exis.js +2 -0
- package/dist/adapters/aws-lambda.d.ts +21 -0
- package/dist/adapters/aws-lambda.d.ts.map +1 -0
- package/dist/adapters/aws-lambda.js +110 -0
- package/dist/adapters/aws-lambda.js.map +1 -0
- package/dist/adapters/bun.d.ts +9 -0
- package/dist/adapters/bun.d.ts.map +1 -0
- package/dist/adapters/bun.js +15 -0
- package/dist/adapters/bun.js.map +1 -0
- package/dist/adapters/cloudflare.d.ts +10 -0
- package/dist/adapters/cloudflare.d.ts.map +1 -0
- package/dist/adapters/cloudflare.js +14 -0
- package/dist/adapters/cloudflare.js.map +1 -0
- package/dist/adapters/deno.d.ts +7 -0
- package/dist/adapters/deno.d.ts.map +1 -0
- package/dist/adapters/deno.js +11 -0
- package/dist/adapters/deno.js.map +1 -0
- package/dist/adapters/fastly.d.ts +6 -0
- package/dist/adapters/fastly.d.ts.map +1 -0
- package/dist/adapters/fastly.js +12 -0
- package/dist/adapters/fastly.js.map +1 -0
- package/dist/adapters/fetch.d.ts +30 -0
- package/dist/adapters/fetch.d.ts.map +1 -0
- package/dist/adapters/fetch.js +119 -0
- package/dist/adapters/fetch.js.map +1 -0
- package/dist/adapters/index.d.ts +9 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +28 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/netlify.d.ts +8 -0
- package/dist/adapters/netlify.d.ts.map +1 -0
- package/dist/adapters/netlify.js +12 -0
- package/dist/adapters/netlify.js.map +1 -0
- package/dist/adapters/vercel.d.ts +14 -0
- package/dist/adapters/vercel.d.ts.map +1 -0
- package/dist/adapters/vercel.js +20 -0
- package/dist/adapters/vercel.js.map +1 -0
- package/dist/auth/jwt.d.ts +20 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/jwt.js +79 -0
- package/dist/auth/jwt.js.map +1 -0
- package/dist/auth/password.d.ts +25 -0
- package/dist/auth/password.d.ts.map +1 -0
- package/dist/auth/password.js +93 -0
- package/dist/auth/password.js.map +1 -0
- package/dist/auth/rbac.d.ts +10 -0
- package/dist/auth/rbac.d.ts.map +1 -0
- package/dist/auth/rbac.js +34 -0
- package/dist/auth/rbac.js.map +1 -0
- package/dist/auth/session.d.ts +23 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +105 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +9 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/store.d.ts +48 -0
- package/dist/cache/store.d.ts.map +1 -0
- package/dist/cache/store.js +211 -0
- package/dist/cache/store.js.map +1 -0
- package/dist/cli/commands/build.d.ts +7 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +183 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +9 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +290 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/exports.d.ts +2 -0
- package/dist/cli/commands/exports.d.ts.map +1 -0
- package/dist/cli/commands/exports.js +76 -0
- package/dist/cli/commands/exports.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +5 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +149 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +37 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/repl.d.ts +6 -0
- package/dist/cli/commands/repl.d.ts.map +1 -0
- package/dist/cli/commands/repl.js +75 -0
- package/dist/cli/commands/repl.js.map +1 -0
- package/dist/cli/commands/start.d.ts +7 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +111 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/test.d.ts +7 -0
- package/dist/cli/commands/test.d.ts.map +1 -0
- package/dist/cli/commands/test.js +170 -0
- package/dist/cli/commands/test.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +183 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/manifest.d.ts +2 -0
- package/dist/cli/manifest.d.ts.map +1 -0
- package/dist/cli/manifest.js +160 -0
- package/dist/cli/manifest.js.map +1 -0
- package/dist/cli/optimizers/aot-routes.d.ts +2 -0
- package/dist/cli/optimizers/aot-routes.d.ts.map +1 -0
- package/dist/cli/optimizers/aot-routes.js +59 -0
- package/dist/cli/optimizers/aot-routes.js.map +1 -0
- package/dist/cli/optimizers/precompile-serializers.d.ts +2 -0
- package/dist/cli/optimizers/precompile-serializers.d.ts.map +1 -0
- package/dist/cli/optimizers/precompile-serializers.js +68 -0
- package/dist/cli/optimizers/precompile-serializers.js.map +1 -0
- package/dist/cli/optimizers/tree-shake.d.ts +2 -0
- package/dist/cli/optimizers/tree-shake.d.ts.map +1 -0
- package/dist/cli/optimizers/tree-shake.js +64 -0
- package/dist/cli/optimizers/tree-shake.js.map +1 -0
- package/dist/cli/routes.d.ts +2 -0
- package/dist/cli/routes.d.ts.map +1 -0
- package/dist/cli/routes.js +158 -0
- package/dist/cli/routes.js.map +1 -0
- package/dist/cli/utils.d.ts +24 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +54 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/config/constants.d.ts +11 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +14 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/cron/parser.d.ts +2 -0
- package/dist/cron/parser.d.ts.map +1 -0
- package/dist/cron/parser.js +52 -0
- package/dist/cron/parser.js.map +1 -0
- package/dist/cron/scheduler.d.ts +22 -0
- package/dist/cron/scheduler.d.ts.map +1 -0
- package/dist/cron/scheduler.js +102 -0
- package/dist/cron/scheduler.js.map +1 -0
- package/dist/dataloader/dataloader.d.ts +23 -0
- package/dist/dataloader/dataloader.d.ts.map +1 -0
- package/dist/dataloader/dataloader.js +98 -0
- package/dist/dataloader/dataloader.js.map +1 -0
- package/dist/dataloader/registry.d.ts +17 -0
- package/dist/dataloader/registry.d.ts.map +1 -0
- package/dist/dataloader/registry.js +47 -0
- package/dist/dataloader/registry.js.map +1 -0
- package/dist/decorators/index.d.ts +63 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/index.js +460 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/di/container.d.ts +21 -0
- package/dist/di/container.d.ts.map +1 -0
- package/dist/di/container.js +81 -0
- package/dist/di/container.js.map +1 -0
- package/dist/di/inject.d.ts +3 -0
- package/dist/di/inject.d.ts.map +1 -0
- package/dist/di/inject.js +12 -0
- package/dist/di/inject.js.map +1 -0
- package/dist/exports/auth.d.ts +6 -0
- package/dist/exports/auth.d.ts.map +1 -0
- package/dist/exports/auth.js +46 -0
- package/dist/exports/auth.js.map +1 -0
- package/dist/exports/cache.d.ts +4 -0
- package/dist/exports/cache.d.ts.map +1 -0
- package/dist/exports/cache.js +20 -0
- package/dist/exports/cache.js.map +1 -0
- package/dist/exports/config.d.ts +4 -0
- package/dist/exports/config.d.ts.map +1 -0
- package/dist/exports/config.js +23 -0
- package/dist/exports/config.js.map +1 -0
- package/dist/exports/dataloader.d.ts +3 -0
- package/dist/exports/dataloader.d.ts.map +1 -0
- package/dist/exports/dataloader.js +19 -0
- package/dist/exports/dataloader.js.map +1 -0
- package/dist/exports/decorators.d.ts +2 -0
- package/dist/exports/decorators.d.ts.map +1 -0
- package/dist/exports/decorators.js +18 -0
- package/dist/exports/decorators.js.map +1 -0
- package/dist/exports/di.d.ts +4 -0
- package/dist/exports/di.d.ts.map +1 -0
- package/dist/exports/di.js +8 -0
- package/dist/exports/di.js.map +1 -0
- package/dist/exports/error.d.ts +2 -0
- package/dist/exports/error.d.ts.map +1 -0
- package/dist/exports/error.js +16 -0
- package/dist/exports/error.js.map +1 -0
- package/dist/exports/module.d.ts +3 -0
- package/dist/exports/module.d.ts.map +1 -0
- package/dist/exports/module.js +6 -0
- package/dist/exports/module.js.map +1 -0
- package/dist/exports/plugin.d.ts +3 -0
- package/dist/exports/plugin.d.ts.map +1 -0
- package/dist/exports/plugin.js +6 -0
- package/dist/exports/plugin.js.map +1 -0
- package/dist/exports/queue.d.ts +9 -0
- package/dist/exports/queue.d.ts.map +1 -0
- package/dist/exports/queue.js +16 -0
- package/dist/exports/queue.js.map +1 -0
- package/dist/exports/response.d.ts +2 -0
- package/dist/exports/response.d.ts.map +1 -0
- package/dist/exports/response.js +18 -0
- package/dist/exports/response.js.map +1 -0
- package/dist/exports/route.d.ts +14 -0
- package/dist/exports/route.d.ts.map +1 -0
- package/dist/exports/route.js +25 -0
- package/dist/exports/route.js.map +1 -0
- package/dist/exports/security.d.ts +3 -0
- package/dist/exports/security.d.ts.map +1 -0
- package/dist/exports/security.js +13 -0
- package/dist/exports/security.js.map +1 -0
- package/dist/exports/swagger.d.ts +3 -0
- package/dist/exports/swagger.d.ts.map +1 -0
- package/dist/exports/swagger.js +6 -0
- package/dist/exports/swagger.js.map +1 -0
- package/dist/exports/validation.d.ts +2 -0
- package/dist/exports/validation.d.ts.map +1 -0
- package/dist/exports/validation.js +8 -0
- package/dist/exports/validation.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/drizzle.d.ts +10 -0
- package/dist/integrations/drizzle.d.ts.map +1 -0
- package/dist/integrations/drizzle.js +34 -0
- package/dist/integrations/drizzle.js.map +1 -0
- package/dist/integrations/jwt.d.ts +12 -0
- package/dist/integrations/jwt.d.ts.map +1 -0
- package/dist/integrations/jwt.js +27 -0
- package/dist/integrations/jwt.js.map +1 -0
- package/dist/integrations/mongodb.d.ts +13 -0
- package/dist/integrations/mongodb.d.ts.map +1 -0
- package/dist/integrations/mongodb.js +48 -0
- package/dist/integrations/mongodb.js.map +1 -0
- package/dist/integrations/mongoose.d.ts +13 -0
- package/dist/integrations/mongoose.d.ts.map +1 -0
- package/dist/integrations/mongoose.js +58 -0
- package/dist/integrations/mongoose.js.map +1 -0
- package/dist/integrations/openai.d.ts +12 -0
- package/dist/integrations/openai.d.ts.map +1 -0
- package/dist/integrations/openai.js +47 -0
- package/dist/integrations/openai.js.map +1 -0
- package/dist/integrations/postgres.d.ts +13 -0
- package/dist/integrations/postgres.d.ts.map +1 -0
- package/dist/integrations/postgres.js +55 -0
- package/dist/integrations/postgres.js.map +1 -0
- package/dist/integrations/posthog.d.ts +13 -0
- package/dist/integrations/posthog.d.ts.map +1 -0
- package/dist/integrations/posthog.js +49 -0
- package/dist/integrations/posthog.js.map +1 -0
- package/dist/integrations/prisma.d.ts +10 -0
- package/dist/integrations/prisma.d.ts.map +1 -0
- package/dist/integrations/prisma.js +27 -0
- package/dist/integrations/prisma.js.map +1 -0
- package/dist/integrations/redis.d.ts +12 -0
- package/dist/integrations/redis.d.ts.map +1 -0
- package/dist/integrations/redis.js +48 -0
- package/dist/integrations/redis.js.map +1 -0
- package/dist/integrations/resend.d.ts +12 -0
- package/dist/integrations/resend.d.ts.map +1 -0
- package/dist/integrations/resend.js +47 -0
- package/dist/integrations/resend.js.map +1 -0
- package/dist/integrations/s3.d.ts +15 -0
- package/dist/integrations/s3.d.ts.map +1 -0
- package/dist/integrations/s3.js +60 -0
- package/dist/integrations/s3.js.map +1 -0
- package/dist/integrations/supabase.d.ts +13 -0
- package/dist/integrations/supabase.d.ts.map +1 -0
- package/dist/integrations/supabase.js +51 -0
- package/dist/integrations/supabase.js.map +1 -0
- package/dist/lib/start-repl.d.ts +2 -0
- package/dist/lib/start-repl.d.ts.map +1 -0
- package/dist/lib/start-repl.js +122 -0
- package/dist/lib/start-repl.js.map +1 -0
- package/dist/lib/start-server.d.ts +2 -0
- package/dist/lib/start-server.d.ts.map +1 -0
- package/dist/lib/start-server.js +103 -0
- package/dist/lib/start-server.js.map +1 -0
- package/dist/middleware/backpressure.d.ts +11 -0
- package/dist/middleware/backpressure.d.ts.map +1 -0
- package/dist/middleware/backpressure.js +55 -0
- package/dist/middleware/backpressure.js.map +1 -0
- package/dist/middleware/cache.d.ts +10 -0
- package/dist/middleware/cache.d.ts.map +1 -0
- package/dist/middleware/cache.js +97 -0
- package/dist/middleware/cache.js.map +1 -0
- package/dist/middleware/compression.d.ts +3 -0
- package/dist/middleware/compression.d.ts.map +1 -0
- package/dist/middleware/compression.js +132 -0
- package/dist/middleware/compression.js.map +1 -0
- package/dist/middleware/dedupe.d.ts +10 -0
- package/dist/middleware/dedupe.d.ts.map +1 -0
- package/dist/middleware/dedupe.js +79 -0
- package/dist/middleware/dedupe.js.map +1 -0
- package/dist/middleware/exception-filter.d.ts +9 -0
- package/dist/middleware/exception-filter.d.ts.map +1 -0
- package/dist/middleware/exception-filter.js +26 -0
- package/dist/middleware/exception-filter.js.map +1 -0
- package/dist/middleware/guard.d.ts +11 -0
- package/dist/middleware/guard.d.ts.map +1 -0
- package/dist/middleware/guard.js +26 -0
- package/dist/middleware/guard.js.map +1 -0
- package/dist/middleware/interceptor.d.ts +4 -0
- package/dist/middleware/interceptor.d.ts.map +1 -0
- package/dist/middleware/interceptor.js +32 -0
- package/dist/middleware/interceptor.js.map +1 -0
- package/dist/middleware/ip-filter.d.ts +11 -0
- package/dist/middleware/ip-filter.d.ts.map +1 -0
- package/dist/middleware/ip-filter.js +27 -0
- package/dist/middleware/ip-filter.js.map +1 -0
- package/dist/middleware/middleware.d.ts +26 -0
- package/dist/middleware/middleware.d.ts.map +1 -0
- package/dist/middleware/middleware.js +271 -0
- package/dist/middleware/middleware.js.map +1 -0
- package/dist/middleware/pipe.d.ts +9 -0
- package/dist/middleware/pipe.d.ts.map +1 -0
- package/dist/middleware/pipe.js +24 -0
- package/dist/middleware/pipe.js.map +1 -0
- package/dist/middleware/security.d.ts +53 -0
- package/dist/middleware/security.d.ts.map +1 -0
- package/dist/middleware/security.js +257 -0
- package/dist/middleware/security.js.map +1 -0
- package/dist/module/module.d.ts +17 -0
- package/dist/module/module.d.ts.map +1 -0
- package/dist/module/module.js +37 -0
- package/dist/module/module.js.map +1 -0
- package/dist/observability/health.d.ts +23 -0
- package/dist/observability/health.d.ts.map +1 -0
- package/dist/observability/health.js +49 -0
- package/dist/observability/health.js.map +1 -0
- package/dist/observability/index.d.ts +4 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +10 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/otel.d.ts +27 -0
- package/dist/observability/otel.d.ts.map +1 -0
- package/dist/observability/otel.js +45 -0
- package/dist/observability/otel.js.map +1 -0
- package/dist/observability/prometheus.d.ts +30 -0
- package/dist/observability/prometheus.d.ts.map +1 -0
- package/dist/observability/prometheus.js +31 -0
- package/dist/observability/prometheus.js.map +1 -0
- package/dist/queue/client.d.ts +13 -0
- package/dist/queue/client.d.ts.map +1 -0
- package/dist/queue/client.js +64 -0
- package/dist/queue/client.js.map +1 -0
- package/dist/queue/drivers/MemoryDriver.d.ts +17 -0
- package/dist/queue/drivers/MemoryDriver.d.ts.map +1 -0
- package/dist/queue/drivers/MemoryDriver.js +109 -0
- package/dist/queue/drivers/MemoryDriver.js.map +1 -0
- package/dist/queue/drivers/RedisDriver.d.ts +18 -0
- package/dist/queue/drivers/RedisDriver.d.ts.map +1 -0
- package/dist/queue/drivers/RedisDriver.js +120 -0
- package/dist/queue/drivers/RedisDriver.js.map +1 -0
- package/dist/queue/index.d.ts +12 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +27 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/types.d.ts +51 -0
- package/dist/queue/types.d.ts.map +1 -0
- package/dist/queue/types.js +3 -0
- package/dist/queue/types.js.map +1 -0
- package/dist/queue/worker.d.ts +18 -0
- package/dist/queue/worker.d.ts.map +1 -0
- package/dist/queue/worker.js +160 -0
- package/dist/queue/worker.js.map +1 -0
- package/dist/response/index.d.ts +16 -0
- package/dist/response/index.d.ts.map +1 -0
- package/dist/response/index.js +19 -0
- package/dist/response/index.js.map +1 -0
- package/dist/router/gateway.d.ts +64 -0
- package/dist/router/gateway.d.ts.map +1 -0
- package/dist/router/gateway.js +11 -0
- package/dist/router/gateway.js.map +1 -0
- package/dist/router/radix.d.ts +42 -0
- package/dist/router/radix.d.ts.map +1 -0
- package/dist/router/radix.js +523 -0
- package/dist/router/radix.js.map +1 -0
- package/dist/router/router.d.ts +59 -0
- package/dist/router/router.d.ts.map +1 -0
- package/dist/router/router.js +386 -0
- package/dist/router/router.js.map +1 -0
- package/dist/server/app.d.ts +206 -0
- package/dist/server/app.d.ts.map +1 -0
- package/dist/server/app.js +2191 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/cluster.d.ts +52 -0
- package/dist/server/cluster.d.ts.map +1 -0
- package/dist/server/cluster.js +165 -0
- package/dist/server/cluster.js.map +1 -0
- package/dist/server/context.d.ts +40 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/context.js +74 -0
- package/dist/server/context.js.map +1 -0
- package/dist/server/define.d.ts +14 -0
- package/dist/server/define.d.ts.map +1 -0
- package/dist/server/define.js +22 -0
- package/dist/server/define.js.map +1 -0
- package/dist/server/dep-graph.d.ts +2 -0
- package/dist/server/dep-graph.d.ts.map +1 -0
- package/dist/server/dep-graph.js +109 -0
- package/dist/server/dep-graph.js.map +1 -0
- package/dist/server/dev-error-overlay.d.ts +3 -0
- package/dist/server/dev-error-overlay.d.ts.map +1 -0
- package/dist/server/dev-error-overlay.js +116 -0
- package/dist/server/dev-error-overlay.js.map +1 -0
- package/dist/server/hot-reload.d.ts +28 -0
- package/dist/server/hot-reload.d.ts.map +1 -0
- package/dist/server/hot-reload.js +253 -0
- package/dist/server/hot-reload.js.map +1 -0
- package/dist/server/request.d.ts +71 -0
- package/dist/server/request.d.ts.map +1 -0
- package/dist/server/request.js +408 -0
- package/dist/server/request.js.map +1 -0
- package/dist/server/response.d.ts +36 -0
- package/dist/server/response.d.ts.map +1 -0
- package/dist/server/response.js +254 -0
- package/dist/server/response.js.map +1 -0
- package/dist/server/route.d.ts +148 -0
- package/dist/server/route.d.ts.map +1 -0
- package/dist/server/route.js +56 -0
- package/dist/server/route.js.map +1 -0
- package/dist/server/sse.d.ts +16 -0
- package/dist/server/sse.d.ts.map +1 -0
- package/dist/server/sse.js +51 -0
- package/dist/server/sse.js.map +1 -0
- package/dist/server/uws-adapter.d.ts +101 -0
- package/dist/server/uws-adapter.d.ts.map +1 -0
- package/dist/server/uws-adapter.js +338 -0
- package/dist/server/uws-adapter.js.map +1 -0
- package/dist/swagger/index.d.ts +9 -0
- package/dist/swagger/index.d.ts.map +1 -0
- package/dist/swagger/index.js +147 -0
- package/dist/swagger/index.js.map +1 -0
- package/dist/testing/client.d.ts +44 -0
- package/dist/testing/client.d.ts.map +1 -0
- package/dist/testing/client.js +105 -0
- package/dist/testing/client.js.map +1 -0
- package/dist/testing/index.d.ts +7 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +128 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mocks.d.ts +25 -0
- package/dist/testing/mocks.d.ts.map +1 -0
- package/dist/testing/mocks.js +117 -0
- package/dist/testing/mocks.js.map +1 -0
- package/dist/testing/reporter.d.ts +13 -0
- package/dist/testing/reporter.d.ts.map +1 -0
- package/dist/testing/reporter.js +101 -0
- package/dist/testing/reporter.js.map +1 -0
- package/dist/threads/pool.d.ts +13 -0
- package/dist/threads/pool.d.ts.map +1 -0
- package/dist/threads/pool.js +93 -0
- package/dist/threads/pool.js.map +1 -0
- package/dist/threads/worker-runner.d.ts +2 -0
- package/dist/threads/worker-runner.d.ts.map +1 -0
- package/dist/threads/worker-runner.js +71 -0
- package/dist/threads/worker-runner.js.map +1 -0
- package/dist/types.d.ts +200 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/circuit-breaker.d.ts +30 -0
- package/dist/utils/circuit-breaker.d.ts.map +1 -0
- package/dist/utils/circuit-breaker.js +72 -0
- package/dist/utils/circuit-breaker.js.map +1 -0
- package/dist/utils/config.d.ts +9 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +229 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/env.d.ts +25 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +155 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/errors.d.ts +51 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +233 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/logger.d.ts +6 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +70 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/plugin.d.ts +7 -0
- package/dist/utils/plugin.d.ts.map +1 -0
- package/dist/utils/plugin.js +30 -0
- package/dist/utils/plugin.js.map +1 -0
- package/dist/utils/validator.d.ts +300 -0
- package/dist/utils/validator.d.ts.map +1 -0
- package/dist/utils/validator.js +719 -0
- package/dist/utils/validator.js.map +1 -0
- package/dist/websocket/server.d.ts +66 -0
- package/dist/websocket/server.d.ts.map +1 -0
- package/dist/websocket/server.js +156 -0
- package/dist/websocket/server.js.map +1 -0
- package/dist/websocket/socket.d.ts +119 -0
- package/dist/websocket/socket.d.ts.map +1 -0
- package/dist/websocket/socket.js +240 -0
- package/dist/websocket/socket.js.map +1 -0
- package/package.json +270 -0
|
@@ -0,0 +1,109 @@
|
|
|
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.generateDependencyGraph = generateDependencyGraph;
|
|
7
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const node_fs_1 = require("node:fs");
|
|
10
|
+
async function generateDependencyGraph(apiDir, cwd) {
|
|
11
|
+
const graph = new Map();
|
|
12
|
+
const visited = new Set();
|
|
13
|
+
const routeFiles = await findRouteFiles(apiDir);
|
|
14
|
+
for (const routeFile of routeFiles) {
|
|
15
|
+
await processFile(routeFile, routeFile, cwd, graph, visited);
|
|
16
|
+
}
|
|
17
|
+
// Also save to .exis/dev/dependency-graph.json
|
|
18
|
+
const exisDevPath = node_path_1.default.join(cwd, '.exis', 'dev');
|
|
19
|
+
try {
|
|
20
|
+
await promises_1.default.mkdir(exisDevPath, { recursive: true });
|
|
21
|
+
const serializable = {};
|
|
22
|
+
for (const [dep, routes] of graph.entries()) {
|
|
23
|
+
serializable[node_path_1.default.relative(cwd, dep)] = Array.from(routes).map((r) => node_path_1.default.relative(cwd, r));
|
|
24
|
+
}
|
|
25
|
+
await promises_1.default.writeFile(node_path_1.default.join(exisDevPath, 'dependency-graph.json'), JSON.stringify(serializable, null, 2));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Ignore errors saving
|
|
29
|
+
}
|
|
30
|
+
return graph;
|
|
31
|
+
}
|
|
32
|
+
async function findRouteFiles(dir) {
|
|
33
|
+
const files = [];
|
|
34
|
+
const entries = await promises_1.default.readdir(dir, { withFileTypes: true });
|
|
35
|
+
for (const entry of entries) {
|
|
36
|
+
const fullPath = node_path_1.default.join(dir, entry.name);
|
|
37
|
+
if (entry.isDirectory()) {
|
|
38
|
+
files.push(...(await findRouteFiles(fullPath)));
|
|
39
|
+
}
|
|
40
|
+
else if (entry.name === 'route.ts' || entry.name === 'route.js') {
|
|
41
|
+
files.push(fullPath);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return files;
|
|
45
|
+
}
|
|
46
|
+
async function processFile(filePath, routeFilePath, cwd, graph, visited) {
|
|
47
|
+
const visitKey = `${filePath}:${routeFilePath}`;
|
|
48
|
+
if (visited.has(visitKey))
|
|
49
|
+
return;
|
|
50
|
+
visited.add(visitKey);
|
|
51
|
+
let content;
|
|
52
|
+
try {
|
|
53
|
+
content = await promises_1.default.readFile(filePath, 'utf8');
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const importRegex = /(?:import|export)(?:\s+(?:[^'"]*)\s+from\s+)?['"]([^'"]+)['"]|import\(['"]([^'"]+)['"]\)/g;
|
|
59
|
+
let match;
|
|
60
|
+
while ((match = importRegex.exec(content)) !== null) {
|
|
61
|
+
const importPath = match[1] || match[2];
|
|
62
|
+
if (!importPath)
|
|
63
|
+
continue;
|
|
64
|
+
if (importPath.startsWith('.')) {
|
|
65
|
+
const resolved = resolveImport(filePath, importPath);
|
|
66
|
+
if (resolved) {
|
|
67
|
+
addEdge(resolved, routeFilePath, graph);
|
|
68
|
+
await processFile(resolved, routeFilePath, cwd, graph, visited);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else if (importPath.startsWith('@/')) {
|
|
72
|
+
const resolved = resolveAlias(cwd, importPath);
|
|
73
|
+
if (resolved) {
|
|
74
|
+
addEdge(resolved, routeFilePath, graph);
|
|
75
|
+
await processFile(resolved, routeFilePath, cwd, graph, visited);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function addEdge(dependency, dependent, graph) {
|
|
81
|
+
const dep = node_path_1.default.resolve(dependency);
|
|
82
|
+
const dest = node_path_1.default.resolve(dependent);
|
|
83
|
+
if (!graph.has(dep))
|
|
84
|
+
graph.set(dep, new Set());
|
|
85
|
+
graph.get(dep).add(dest);
|
|
86
|
+
}
|
|
87
|
+
function resolveImport(importerFile, importPath) {
|
|
88
|
+
const dir = node_path_1.default.dirname(importerFile);
|
|
89
|
+
const target = node_path_1.default.join(dir, importPath);
|
|
90
|
+
return resolveFile(target);
|
|
91
|
+
}
|
|
92
|
+
function resolveAlias(cwd, importPath) {
|
|
93
|
+
const target = node_path_1.default.join(cwd, 'src', importPath.slice(2));
|
|
94
|
+
return resolveFile(target);
|
|
95
|
+
}
|
|
96
|
+
function resolveFile(basePath) {
|
|
97
|
+
if (basePath.endsWith('.ts') || basePath.endsWith('.js')) {
|
|
98
|
+
if ((0, node_fs_1.existsSync)(basePath))
|
|
99
|
+
return basePath;
|
|
100
|
+
}
|
|
101
|
+
const extensions = ['.ts', '.js', '/index.ts', '/index.js'];
|
|
102
|
+
for (const ext of extensions) {
|
|
103
|
+
const fullPath = basePath + ext;
|
|
104
|
+
if ((0, node_fs_1.existsSync)(fullPath))
|
|
105
|
+
return fullPath;
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=dep-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dep-graph.js","sourceRoot":"","sources":["../../src/server/dep-graph.ts"],"names":[],"mappings":";;;;;AAIA,0DAgCC;AApCD,gEAAiC;AACjC,0DAA4B;AAC5B,qCAAoC;AAE7B,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,GAAW;IAEX,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;IAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC;IAED,+CAA+C;IAC/C,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAClD,IAAI,CAAC;QACH,MAAM,kBAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAChD,MAAM,YAAY,GAA6B,EAAE,CAAA;QACjD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,YAAY,CAAC,mBAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnE,mBAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CACtB,CAAA;QACH,CAAC;QACD,MAAM,kBAAE,CAAC,SAAS,CAChB,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAC/C,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CACtC,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW;IACvC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,QAAgB,EAChB,aAAqB,EACrB,GAAW,EACX,KAA+B,EAC/B,OAAoB;IAEpB,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAA;IAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAM;IACjC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAErB,IAAI,OAAe,CAAA;IACnB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAM;IACR,CAAC;IAED,MAAM,WAAW,GACf,2FAA2F,CAAA;IAC7F,IAAI,KAAK,CAAA;IACT,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QACvC,IAAI,CAAC,UAAU;YAAE,SAAQ;QAEzB,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YACpD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;gBACvC,MAAM,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YAC9C,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;gBACvC,MAAM,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CACd,UAAkB,EAClB,SAAiB,EACjB,KAA+B;IAE/B,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IAC9C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,aAAa,CACpB,YAAoB,EACpB,UAAkB;IAElB,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IACzC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,UAAkB;IACnD,MAAM,MAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,IAAI,IAAA,oBAAU,EAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;IAC3C,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IAC3D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAA;QAC/B,IAAI,IAAA,oBAAU,EAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-error-overlay.d.ts","sourceRoot":"","sources":["../../src/server/dev-error-overlay.ts"],"names":[],"mappings":"AA0FA,wBAAgB,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CA0BnE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAavE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
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.formatDevError = formatDevError;
|
|
7
|
+
exports.devErrorResponse = devErrorResponse;
|
|
8
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
|
+
const c = {
|
|
10
|
+
red: '\x1b[31m',
|
|
11
|
+
yellow: '\x1b[33m',
|
|
12
|
+
cyan: '\x1b[36m',
|
|
13
|
+
gray: '\x1b[90m',
|
|
14
|
+
white: '\x1b[37m',
|
|
15
|
+
bold: '\x1b[1m',
|
|
16
|
+
dim: '\x1b[2m',
|
|
17
|
+
reset: '\x1b[0m',
|
|
18
|
+
bgRed: '\x1b[41m',
|
|
19
|
+
};
|
|
20
|
+
function parseErrorLocation(err) {
|
|
21
|
+
const result = { message: err.message };
|
|
22
|
+
if (!err.stack)
|
|
23
|
+
return result;
|
|
24
|
+
// Match common stack trace patterns:
|
|
25
|
+
// at Object.<anonymous> (/path/to/file.ts:10:5)
|
|
26
|
+
// /path/to/file.ts:10:5
|
|
27
|
+
const stackLines = err.stack.split('\n');
|
|
28
|
+
for (const line of stackLines) {
|
|
29
|
+
// Pattern 1: (file:line:col)
|
|
30
|
+
const match1 = line.match(/\((.+):(\d+):(\d+)\)/);
|
|
31
|
+
if (match1) {
|
|
32
|
+
result.file = match1[1];
|
|
33
|
+
result.line = parseInt(match1[2], 10);
|
|
34
|
+
result.column = parseInt(match1[3], 10);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
// Pattern 2: at file:line:col (no parens)
|
|
38
|
+
const match2 = line.match(/at\s+(.+):(\d+):(\d+)/);
|
|
39
|
+
if (match2 && !match2[1].includes('node_modules')) {
|
|
40
|
+
result.file = match2[1];
|
|
41
|
+
result.line = parseInt(match2[2], 10);
|
|
42
|
+
result.column = parseInt(match2[3], 10);
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
// Pattern 3: bare file:line:col (TypeScript compile errors)
|
|
46
|
+
const match3 = line.match(/^(.+\.tsx?):(\d+):(\d+)/);
|
|
47
|
+
if (match3) {
|
|
48
|
+
result.file = match3[1];
|
|
49
|
+
result.line = parseInt(match3[2], 10);
|
|
50
|
+
result.column = parseInt(match3[3], 10);
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
function buildCodeFrame(filePath, errorLine, contextLines = 3) {
|
|
57
|
+
try {
|
|
58
|
+
const source = node_fs_1.default.readFileSync(filePath, 'utf-8');
|
|
59
|
+
const lines = source.split('\n');
|
|
60
|
+
const start = Math.max(0, errorLine - contextLines - 1);
|
|
61
|
+
const end = Math.min(lines.length, errorLine + contextLines);
|
|
62
|
+
const gutterWidth = String(end).length;
|
|
63
|
+
const output = [];
|
|
64
|
+
for (let i = start; i < end; i++) {
|
|
65
|
+
const lineNum = String(i + 1).padStart(gutterWidth, ' ');
|
|
66
|
+
const isErrorLine = i + 1 === errorLine;
|
|
67
|
+
if (isErrorLine) {
|
|
68
|
+
output.push(` ${c.red}${c.bold}> ${lineNum} | ${lines[i]}${c.reset}`);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
output.push(` ${c.gray} ${lineNum} | ${lines[i]}${c.reset}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return output.join('\n');
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function formatDevError(err, routeFile) {
|
|
81
|
+
const parsed = parseErrorLocation(err);
|
|
82
|
+
const file = routeFile || parsed.file || 'unknown';
|
|
83
|
+
const lineInfo = parsed.line ? `:${parsed.line}${parsed.column ? ':' + parsed.column : ''}` : '';
|
|
84
|
+
const width = 60;
|
|
85
|
+
const border = '─'.repeat(width);
|
|
86
|
+
console.log('');
|
|
87
|
+
console.log(` ${c.red}${c.bold}✕ Build Error${c.reset}`);
|
|
88
|
+
console.log(` ${c.gray}${border}${c.reset}`);
|
|
89
|
+
console.log(` ${c.cyan}${file}${c.dim}${lineInfo}${c.reset}`);
|
|
90
|
+
console.log('');
|
|
91
|
+
// Code frame
|
|
92
|
+
if (parsed.file && parsed.line) {
|
|
93
|
+
const frame = buildCodeFrame(parsed.file, parsed.line);
|
|
94
|
+
if (frame) {
|
|
95
|
+
console.log(frame);
|
|
96
|
+
console.log('');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
console.log(` ${c.red}${err.message}${c.reset}`);
|
|
100
|
+
console.log(` ${c.gray}${border}${c.reset}`);
|
|
101
|
+
console.log('');
|
|
102
|
+
}
|
|
103
|
+
function devErrorResponse(err, routeFile) {
|
|
104
|
+
const parsed = parseErrorLocation(err);
|
|
105
|
+
return {
|
|
106
|
+
success: false,
|
|
107
|
+
error: {
|
|
108
|
+
code: 'DEV_ERROR',
|
|
109
|
+
message: err.message,
|
|
110
|
+
file: routeFile || parsed.file,
|
|
111
|
+
line: parsed.line,
|
|
112
|
+
column: parsed.column,
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=dev-error-overlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-error-overlay.js","sourceRoot":"","sources":["../../src/server/dev-error-overlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Router } from '../router/router';
|
|
2
|
+
interface HotReloaderOptions {
|
|
3
|
+
apiDirs: string[];
|
|
4
|
+
router: Router;
|
|
5
|
+
routeMap: Map<string, string>;
|
|
6
|
+
mountRoute: (filePath: string, routePath: string) => Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare class HotReloader {
|
|
9
|
+
private apiDirs;
|
|
10
|
+
private router;
|
|
11
|
+
private routeMap;
|
|
12
|
+
private mountRoute;
|
|
13
|
+
private watcher;
|
|
14
|
+
private depGraph;
|
|
15
|
+
constructor(opts: HotReloaderOptions);
|
|
16
|
+
start(): Promise<void>;
|
|
17
|
+
private isRouteFile;
|
|
18
|
+
private isGatewayFile;
|
|
19
|
+
private handleFileChange;
|
|
20
|
+
private handleChange;
|
|
21
|
+
private handleAdd;
|
|
22
|
+
private handleDelete;
|
|
23
|
+
private invalidateCache;
|
|
24
|
+
private filePathToRoutePath;
|
|
25
|
+
stop(): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=hot-reload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hot-reload.d.ts","sourceRoot":"","sources":["../../src/server/hot-reload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAc9C,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnE;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,UAAU,CAAwD;IAC1E,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,QAAQ,CAAiC;gBAErC,IAAI,EAAE,kBAAkB;IAO9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C5B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,aAAa;YAKP,gBAAgB;YA6BhB,YAAY;YAyCZ,SAAS;IAiCvB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IAoCrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAM5B"}
|
|
@@ -0,0 +1,253 @@
|
|
|
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.HotReloader = void 0;
|
|
40
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
41
|
+
const dev_error_overlay_1 = require("./dev-error-overlay");
|
|
42
|
+
const dep_graph_1 = require("./dep-graph");
|
|
43
|
+
const c = {
|
|
44
|
+
green: '\x1b[32m',
|
|
45
|
+
cyan: '\x1b[36m',
|
|
46
|
+
yellow: '\x1b[33m',
|
|
47
|
+
red: '\x1b[31m',
|
|
48
|
+
gray: '\x1b[90m',
|
|
49
|
+
bold: '\x1b[1m',
|
|
50
|
+
reset: '\x1b[0m',
|
|
51
|
+
};
|
|
52
|
+
class HotReloader {
|
|
53
|
+
constructor(opts) {
|
|
54
|
+
this.watcher = null;
|
|
55
|
+
this.depGraph = new Map();
|
|
56
|
+
this.apiDirs = opts.apiDirs;
|
|
57
|
+
this.router = opts.router;
|
|
58
|
+
this.routeMap = opts.routeMap;
|
|
59
|
+
this.mountRoute = opts.mountRoute;
|
|
60
|
+
}
|
|
61
|
+
async start() {
|
|
62
|
+
let chokidar;
|
|
63
|
+
try {
|
|
64
|
+
chokidar = await Promise.resolve().then(() => __importStar(require('chokidar')));
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return; // chokidar not available, skip HRR
|
|
68
|
+
}
|
|
69
|
+
this.depGraph = new Map();
|
|
70
|
+
for (const dir of this.apiDirs) {
|
|
71
|
+
const graph = await (0, dep_graph_1.generateDependencyGraph)(dir, process.cwd());
|
|
72
|
+
for (const [k, v] of graph) {
|
|
73
|
+
this.depGraph.set(k, v);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const watchDirs = this.apiDirs.map((dir) => {
|
|
77
|
+
return node_path_1.default.dirname(dir); // e.g. src/http -> src, http -> .
|
|
78
|
+
});
|
|
79
|
+
// De-duplicate watchDirs
|
|
80
|
+
const uniqueWatchDirs = Array.from(new Set(watchDirs)).map((d) => node_path_1.default.resolve(process.cwd(), d));
|
|
81
|
+
this.watcher = chokidar.watch(uniqueWatchDirs, {
|
|
82
|
+
ignoreInitial: true,
|
|
83
|
+
ignored: ['**/node_modules/**', '**/.exis/**'],
|
|
84
|
+
});
|
|
85
|
+
this.watcher.on('change', async (filePath) => {
|
|
86
|
+
await this.handleFileChange(filePath);
|
|
87
|
+
});
|
|
88
|
+
this.watcher.on('add', async (filePath) => {
|
|
89
|
+
if (this.isRouteFile(filePath)) {
|
|
90
|
+
this.handleAdd(filePath);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
this.watcher.on('unlink', (filePath) => {
|
|
94
|
+
if (this.isRouteFile(filePath)) {
|
|
95
|
+
this.handleDelete(filePath);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
isRouteFile(filePath) {
|
|
100
|
+
const base = node_path_1.default.basename(filePath);
|
|
101
|
+
return base === 'route.ts' || base === 'route.js';
|
|
102
|
+
}
|
|
103
|
+
isGatewayFile(filePath) {
|
|
104
|
+
const base = node_path_1.default.basename(filePath);
|
|
105
|
+
return base === 'gateway.ts' || base === 'gateway.js';
|
|
106
|
+
}
|
|
107
|
+
async handleFileChange(filePath) {
|
|
108
|
+
const normalized = node_path_1.default.resolve(filePath);
|
|
109
|
+
if (this.isRouteFile(normalized)) {
|
|
110
|
+
return this.handleChange(normalized);
|
|
111
|
+
}
|
|
112
|
+
if (this.isGatewayFile(normalized)) {
|
|
113
|
+
const gatewayDir = node_path_1.default.dirname(normalized);
|
|
114
|
+
this.invalidateCache(normalized);
|
|
115
|
+
for (const [routeFile] of this.routeMap) {
|
|
116
|
+
if (routeFile.startsWith(gatewayDir)) {
|
|
117
|
+
await this.handleChange(routeFile);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (this.depGraph.has(normalized)) {
|
|
123
|
+
const dependents = this.depGraph.get(normalized);
|
|
124
|
+
if (dependents.size > 0) {
|
|
125
|
+
this.invalidateCache(normalized);
|
|
126
|
+
for (const routeFile of dependents) {
|
|
127
|
+
await this.handleChange(routeFile);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async handleChange(filePath) {
|
|
133
|
+
const start = performance.now();
|
|
134
|
+
const normalized = node_path_1.default.resolve(filePath);
|
|
135
|
+
const routePath = this.routeMap.get(normalized);
|
|
136
|
+
if (!routePath) {
|
|
137
|
+
// Unknown route file, try to compute the route path
|
|
138
|
+
return this.handleAdd(filePath);
|
|
139
|
+
}
|
|
140
|
+
// 1. Remove old routes from this file
|
|
141
|
+
this.router.removeRoutesBySource(normalized);
|
|
142
|
+
// 2. Clear the module cache so we get a fresh import
|
|
143
|
+
this.invalidateCache(normalized);
|
|
144
|
+
// 3. Re-import and mount
|
|
145
|
+
try {
|
|
146
|
+
await this.mountRoute(normalized, routePath);
|
|
147
|
+
// Update dependency graph
|
|
148
|
+
this.depGraph = new Map();
|
|
149
|
+
for (const dir of this.apiDirs) {
|
|
150
|
+
const graph = await (0, dep_graph_1.generateDependencyGraph)(dir, process.cwd());
|
|
151
|
+
for (const [k, v] of graph) {
|
|
152
|
+
this.depGraph.set(k, v);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
const elapsed = Math.round(performance.now() - start);
|
|
156
|
+
const relative = node_path_1.default
|
|
157
|
+
.relative(process.cwd(), normalized)
|
|
158
|
+
.replace(/\\/g, '/');
|
|
159
|
+
console.log(` ${c.green}✓${c.reset} Hot reloaded ${c.cyan}${relative}${c.reset} in ${elapsed}ms`);
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
(0, dev_error_overlay_1.formatDevError)(err, normalized);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
async handleAdd(filePath) {
|
|
166
|
+
const normalized = node_path_1.default.resolve(filePath);
|
|
167
|
+
// Compute the route path from the file path
|
|
168
|
+
const routePath = this.filePathToRoutePath(normalized);
|
|
169
|
+
if (!routePath)
|
|
170
|
+
return;
|
|
171
|
+
this.routeMap.set(normalized, routePath);
|
|
172
|
+
try {
|
|
173
|
+
this.invalidateCache(normalized);
|
|
174
|
+
await this.mountRoute(normalized, routePath);
|
|
175
|
+
// Update dependency graph for the new file
|
|
176
|
+
this.depGraph = new Map();
|
|
177
|
+
for (const dir of this.apiDirs) {
|
|
178
|
+
const graph = await (0, dep_graph_1.generateDependencyGraph)(dir, process.cwd());
|
|
179
|
+
for (const [k, v] of graph) {
|
|
180
|
+
this.depGraph.set(k, v);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
const relative = node_path_1.default
|
|
184
|
+
.relative(process.cwd(), normalized)
|
|
185
|
+
.replace(/\\/g, '/');
|
|
186
|
+
console.log(` ${c.green}+${c.reset} Added route ${c.cyan}${relative}${c.reset} → ${c.yellow}${routePath}${c.reset}`);
|
|
187
|
+
}
|
|
188
|
+
catch (err) {
|
|
189
|
+
(0, dev_error_overlay_1.formatDevError)(err, normalized);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
handleDelete(filePath) {
|
|
193
|
+
const normalized = node_path_1.default.resolve(filePath);
|
|
194
|
+
const removed = this.router.removeRoutesBySource(normalized);
|
|
195
|
+
this.routeMap.delete(normalized);
|
|
196
|
+
if (removed > 0) {
|
|
197
|
+
const relative = node_path_1.default
|
|
198
|
+
.relative(process.cwd(), normalized)
|
|
199
|
+
.replace(/\\/g, '/');
|
|
200
|
+
console.log(` ${c.red}-${c.reset} Removed route ${c.cyan}${relative}${c.reset} (${removed} handler${removed > 1 ? 's' : ''})`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
invalidateCache(filePath) {
|
|
204
|
+
// Clear CommonJS cache
|
|
205
|
+
const resolved = require.resolve(filePath);
|
|
206
|
+
if (resolved && require.cache[resolved]) {
|
|
207
|
+
delete require.cache[resolved];
|
|
208
|
+
}
|
|
209
|
+
// For ESM, we append a cache-busting query param on the import URL
|
|
210
|
+
// This is handled in the mountRoute function
|
|
211
|
+
}
|
|
212
|
+
filePathToRoutePath(filePath) {
|
|
213
|
+
let matchedApiDir = null;
|
|
214
|
+
for (const dir of this.apiDirs) {
|
|
215
|
+
if (filePath.startsWith(node_path_1.default.resolve(dir))) {
|
|
216
|
+
matchedApiDir = dir;
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (!matchedApiDir)
|
|
221
|
+
return null;
|
|
222
|
+
const relative = node_path_1.default.relative(matchedApiDir, filePath).replace(/\\/g, '/');
|
|
223
|
+
// Remove route.ts / route.js from the end
|
|
224
|
+
const dir = node_path_1.default.dirname(relative);
|
|
225
|
+
let routePath = '/api';
|
|
226
|
+
if (dir !== '.') {
|
|
227
|
+
const segments = dir.split('/').map((segment) => {
|
|
228
|
+
// Skip (group) folders
|
|
229
|
+
if (segment.startsWith('(') && segment.endsWith(')'))
|
|
230
|
+
return null;
|
|
231
|
+
// [...slug] catch-all
|
|
232
|
+
if (segment.startsWith('[...') && segment.endsWith(']')) {
|
|
233
|
+
return '*' + segment.slice(4, -1);
|
|
234
|
+
}
|
|
235
|
+
// [id] dynamic param
|
|
236
|
+
return segment.replace(/\[(.*?)\]/g, ':$1');
|
|
237
|
+
});
|
|
238
|
+
const validSegments = segments.filter(Boolean);
|
|
239
|
+
if (validSegments.length > 0) {
|
|
240
|
+
routePath += '/' + validSegments.join('/');
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return routePath;
|
|
244
|
+
}
|
|
245
|
+
async stop() {
|
|
246
|
+
if (this.watcher) {
|
|
247
|
+
await this.watcher.close();
|
|
248
|
+
this.watcher = null;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
exports.HotReloader = HotReloader;
|
|
253
|
+
//# sourceMappingURL=hot-reload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../src/server/hot-reload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { IncomingMessage } from 'node:http';
|
|
2
|
+
import type { Logger } from '../types';
|
|
3
|
+
import type { ExisResponse } from './response';
|
|
4
|
+
import { Dataloader } from '../dataloader/dataloader';
|
|
5
|
+
import type { BatchLoadFn } from '../dataloader/dataloader';
|
|
6
|
+
export declare class ExisRequest<TBody = unknown, TQuery = Record<string, string>, TParams = Record<string, string>> {
|
|
7
|
+
raw: IncomingMessage;
|
|
8
|
+
res: ExisResponse;
|
|
9
|
+
private trustProxy;
|
|
10
|
+
private bodyLimit;
|
|
11
|
+
params: TParams;
|
|
12
|
+
body: TBody;
|
|
13
|
+
files: import('../types').ExisFile[];
|
|
14
|
+
rawBody?: string;
|
|
15
|
+
log: Logger;
|
|
16
|
+
user?: Record<string, unknown>;
|
|
17
|
+
session?: Record<string, any> | any;
|
|
18
|
+
requestId?: string;
|
|
19
|
+
tenantId?: string;
|
|
20
|
+
_dataloaderFns?: Map<string, {
|
|
21
|
+
batchFn: BatchLoadFn<any, any>;
|
|
22
|
+
options?: import('../dataloader/dataloader').DataloaderOptions<any, any>;
|
|
23
|
+
}>;
|
|
24
|
+
private _dataloaderCache;
|
|
25
|
+
private _urlStr;
|
|
26
|
+
private _qIdx;
|
|
27
|
+
private _path?;
|
|
28
|
+
private _query?;
|
|
29
|
+
private _cookies?;
|
|
30
|
+
private _ips?;
|
|
31
|
+
private _ip?;
|
|
32
|
+
private _protocol?;
|
|
33
|
+
private _hostname?;
|
|
34
|
+
constructor(raw: IncomingMessage, res: ExisResponse, trustProxy?: boolean | number, bodyLimit?: number);
|
|
35
|
+
private _method?;
|
|
36
|
+
get method(): string;
|
|
37
|
+
set method(val: string);
|
|
38
|
+
get headers(): import("node:http").IncomingHttpHeaders;
|
|
39
|
+
get path(): string;
|
|
40
|
+
set path(val: string);
|
|
41
|
+
get query(): TQuery;
|
|
42
|
+
set query(val: Record<string, string>);
|
|
43
|
+
get cookies(): Record<string, string>;
|
|
44
|
+
set cookies(val: Record<string, string>);
|
|
45
|
+
get ips(): string[];
|
|
46
|
+
get ip(): string;
|
|
47
|
+
private _resolveIps;
|
|
48
|
+
get protocol(): string;
|
|
49
|
+
get secure(): boolean;
|
|
50
|
+
get hostname(): string;
|
|
51
|
+
get originalUrl(): string;
|
|
52
|
+
get(header: string): string | undefined;
|
|
53
|
+
header(name: string): string | undefined;
|
|
54
|
+
is(contentType: string): boolean;
|
|
55
|
+
accepts(...types: string[]): string | string[] | false;
|
|
56
|
+
acceptsLanguages(...languages: string[]): string | string[] | false;
|
|
57
|
+
get fresh(): boolean;
|
|
58
|
+
get stale(): boolean;
|
|
59
|
+
text(): Promise<string>;
|
|
60
|
+
dataloader<K, V, C = K>(name: string): Dataloader<K, V, C>;
|
|
61
|
+
json<T = unknown>(): Promise<T>;
|
|
62
|
+
formData(): Promise<{
|
|
63
|
+
fields: Record<string, string>;
|
|
64
|
+
files: Record<string, any>;
|
|
65
|
+
}>;
|
|
66
|
+
typedParams<T>(): T;
|
|
67
|
+
typedQuery<T>(): T;
|
|
68
|
+
typedBody<T>(): T;
|
|
69
|
+
private _parseBody;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"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"}
|