nmtjs 0.15.0-beta.8 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -1
- package/bin/cli.js +2 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +30 -16
- package/dist/cli.js.map +1 -1
- package/dist/{typings.d.ts → codegen.d.ts} +1 -0
- package/dist/{typings.js → codegen.js} +4 -4
- package/dist/codegen.js.map +1 -0
- package/dist/config.d.ts +9 -10
- package/dist/config.js +3 -1
- package/dist/config.js.map +1 -1
- package/dist/entrypoints/main.js +210 -48
- package/dist/entrypoints/main.js.map +1 -1
- package/dist/entrypoints/thread.d.ts +3 -1
- package/dist/entrypoints/thread.js +155 -29
- package/dist/entrypoints/thread.js.map +1 -1
- package/dist/entrypoints/worker.d.ts +7 -1
- package/dist/entrypoints/worker.js +122 -21
- package/dist/entrypoints/worker.js.map +1 -1
- package/dist/index.d.ts +111 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/resolver.js +2 -10
- package/dist/resolver.js.map +1 -1
- package/dist/runtime/application/api/api.d.ts +49 -0
- package/dist/runtime/application/api/api.js +194 -0
- package/dist/runtime/application/api/api.js.map +1 -0
- package/dist/runtime/application/api/constants.d.ts +14 -0
- package/dist/runtime/application/api/constants.js +8 -0
- package/dist/runtime/application/api/constants.js.map +1 -0
- package/dist/runtime/application/api/filters.d.ts +14 -0
- package/dist/runtime/application/api/filters.js +11 -0
- package/dist/runtime/application/api/filters.js.map +1 -0
- package/dist/runtime/application/api/guards.d.ts +16 -0
- package/dist/runtime/application/api/guards.js +11 -0
- package/dist/runtime/application/api/guards.js.map +1 -0
- package/dist/runtime/application/api/index.d.ts +9 -0
- package/dist/runtime/application/api/index.js +10 -0
- package/dist/runtime/application/api/index.js.map +1 -0
- package/dist/runtime/application/api/logging.d.ts +11 -0
- package/dist/runtime/application/api/logging.js +48 -0
- package/dist/runtime/application/api/logging.js.map +1 -0
- package/dist/runtime/application/api/middlewares.d.ts +14 -0
- package/dist/runtime/application/api/middlewares.js +12 -0
- package/dist/runtime/application/api/middlewares.js.map +1 -0
- package/dist/runtime/application/api/procedure.d.ts +67 -0
- package/dist/runtime/application/api/procedure.js +50 -0
- package/dist/runtime/application/api/procedure.js.map +1 -0
- package/dist/runtime/application/api/router.d.ts +80 -0
- package/dist/runtime/application/api/router.js +50 -0
- package/dist/runtime/application/api/router.js.map +1 -0
- package/dist/runtime/application/api/types.d.ts +37 -0
- package/dist/runtime/application/api/types.js +2 -0
- package/dist/runtime/application/api/types.js.map +1 -0
- package/dist/runtime/application/config.d.ts +26 -0
- package/dist/runtime/application/config.js +21 -0
- package/dist/runtime/application/config.js.map +1 -0
- package/dist/runtime/application/constants.d.ts +2 -0
- package/dist/runtime/application/constants.js +2 -0
- package/dist/runtime/application/constants.js.map +1 -0
- package/dist/runtime/application/hook.d.ts +19 -0
- package/dist/runtime/application/hook.js +11 -0
- package/dist/runtime/application/hook.js.map +1 -0
- package/dist/runtime/application/hooks.d.ts +3 -0
- package/dist/runtime/application/hooks.js +4 -0
- package/dist/runtime/application/hooks.js.map +1 -0
- package/dist/runtime/application/index.d.ts +5 -0
- package/dist/runtime/application/index.js +6 -0
- package/dist/runtime/application/index.js.map +1 -0
- package/dist/runtime/constants.d.ts +8 -0
- package/dist/runtime/constants.js +5 -0
- package/dist/runtime/constants.js.map +1 -0
- package/dist/runtime/enums.d.ts +21 -0
- package/dist/runtime/enums.js +30 -0
- package/dist/runtime/enums.js.map +1 -0
- package/dist/runtime/hooks.d.ts +4 -0
- package/dist/runtime/hooks.js +4 -0
- package/dist/runtime/hooks.js.map +1 -0
- package/dist/runtime/index.d.ts +30 -0
- package/dist/runtime/index.js +31 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/injectables.d.ts +28 -0
- package/dist/runtime/injectables.js +24 -0
- package/dist/runtime/injectables.js.map +1 -0
- package/dist/runtime/jobs/job.d.ts +146 -0
- package/dist/runtime/jobs/job.js +89 -0
- package/dist/runtime/jobs/job.js.map +1 -0
- package/dist/runtime/jobs/manager.d.ts +132 -0
- package/dist/runtime/jobs/manager.js +311 -0
- package/dist/runtime/jobs/manager.js.map +1 -0
- package/dist/runtime/jobs/router.d.ts +278 -0
- package/dist/runtime/jobs/router.js +455 -0
- package/dist/runtime/jobs/router.js.map +1 -0
- package/dist/runtime/jobs/runner.d.ts +103 -0
- package/dist/runtime/jobs/runner.js +425 -0
- package/dist/runtime/jobs/runner.js.map +1 -0
- package/dist/runtime/jobs/step.d.ts +26 -0
- package/dist/runtime/jobs/step.js +18 -0
- package/dist/runtime/jobs/step.js.map +1 -0
- package/dist/runtime/jobs/types.d.ts +86 -0
- package/dist/runtime/jobs/types.js +5 -0
- package/dist/runtime/jobs/types.js.map +1 -0
- package/dist/runtime/jobs/ui.d.ts +3 -0
- package/dist/runtime/jobs/ui.js +20 -0
- package/dist/runtime/jobs/ui.js.map +1 -0
- package/dist/runtime/metrics/metric.d.ts +8 -0
- package/dist/runtime/metrics/metric.js +11 -0
- package/dist/runtime/metrics/metric.js.map +1 -0
- package/dist/runtime/metrics/registry.d.ts +3 -0
- package/dist/runtime/metrics/registry.js +5 -0
- package/dist/runtime/metrics/registry.js.map +1 -0
- package/dist/runtime/metrics/server.d.ts +7 -0
- package/dist/runtime/metrics/server.js +41 -0
- package/dist/runtime/metrics/server.js.map +1 -0
- package/dist/runtime/plugin.d.ts +8 -0
- package/dist/runtime/plugin.js +4 -0
- package/dist/runtime/plugin.js.map +1 -0
- package/dist/runtime/pubsub/manager.d.ts +48 -0
- package/dist/runtime/pubsub/manager.js +119 -0
- package/dist/runtime/pubsub/manager.js.map +1 -0
- package/dist/runtime/pubsub/redis.d.ts +16 -0
- package/dist/runtime/pubsub/redis.js +98 -0
- package/dist/runtime/pubsub/redis.js.map +1 -0
- package/dist/runtime/runtime.d.ts +27 -0
- package/dist/runtime/runtime.js +78 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/runtime/scheduler/index.d.ts +22 -0
- package/dist/runtime/scheduler/index.js +20 -0
- package/dist/runtime/scheduler/index.js.map +1 -0
- package/dist/runtime/server/applications.d.ts +91 -0
- package/dist/runtime/server/applications.js +168 -0
- package/dist/runtime/server/applications.js.map +1 -0
- package/dist/runtime/server/config.d.ts +152 -0
- package/dist/runtime/server/config.js +34 -0
- package/dist/runtime/server/config.js.map +1 -0
- package/dist/runtime/server/environment.d.ts +43 -0
- package/dist/runtime/server/environment.js +33 -0
- package/dist/runtime/server/environment.js.map +1 -0
- package/dist/runtime/server/error-policy.d.ts +62 -0
- package/dist/runtime/server/error-policy.js +73 -0
- package/dist/runtime/server/error-policy.js.map +1 -0
- package/dist/runtime/server/hmr-coordinator.d.ts +37 -0
- package/dist/runtime/server/hmr-coordinator.js +94 -0
- package/dist/runtime/server/hmr-coordinator.js.map +1 -0
- package/dist/runtime/server/jobs.d.ts +58 -0
- package/dist/runtime/server/jobs.js +202 -0
- package/dist/runtime/server/jobs.js.map +1 -0
- package/dist/runtime/server/lifecycle.d.ts +85 -0
- package/dist/runtime/server/lifecycle.js +177 -0
- package/dist/runtime/server/lifecycle.js.map +1 -0
- package/dist/runtime/server/managed-worker.d.ts +158 -0
- package/dist/runtime/server/managed-worker.js +420 -0
- package/dist/runtime/server/managed-worker.js.map +1 -0
- package/dist/runtime/server/pool-manager.d.ts +85 -0
- package/dist/runtime/server/pool-manager.js +129 -0
- package/dist/runtime/server/pool-manager.js.map +1 -0
- package/dist/runtime/server/proxy.d.ts +21 -0
- package/dist/runtime/server/proxy.js +76 -0
- package/dist/runtime/server/proxy.js.map +1 -0
- package/dist/runtime/server/server.d.ts +60 -0
- package/dist/runtime/server/server.js +163 -0
- package/dist/runtime/server/server.js.map +1 -0
- package/dist/runtime/server/types.d.ts +31 -0
- package/dist/runtime/server/types.js +2 -0
- package/dist/runtime/server/types.js.map +1 -0
- package/dist/runtime/server/worker-pool.d.ts +121 -0
- package/dist/runtime/server/worker-pool.js +171 -0
- package/dist/runtime/server/worker-pool.js.map +1 -0
- package/dist/runtime/store/index.d.ts +3 -0
- package/dist/runtime/store/index.js +23 -0
- package/dist/runtime/store/index.js.map +1 -0
- package/dist/runtime/types.d.ts +103 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/runtime/workers/application.d.ts +47 -0
- package/dist/runtime/workers/application.js +163 -0
- package/dist/runtime/workers/application.js.map +1 -0
- package/dist/runtime/workers/base.d.ts +16 -0
- package/dist/runtime/workers/base.js +46 -0
- package/dist/runtime/workers/base.js.map +1 -0
- package/dist/runtime/workers/cli.js +2 -0
- package/dist/runtime/workers/cli.js.map +1 -0
- package/dist/runtime/workers/job.d.ts +20 -0
- package/dist/runtime/workers/job.js +169 -0
- package/dist/runtime/workers/job.js.map +1 -0
- package/dist/vite/builder.js +19 -50
- package/dist/vite/builder.js.map +1 -1
- package/dist/vite/config.d.ts +1 -0
- package/dist/vite/config.js +3 -3
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/plugins.d.ts +1 -1
- package/dist/vite/plugins.js +41 -16
- package/dist/vite/plugins.js.map +1 -1
- package/dist/vite/runners/worker.d.ts +2 -3
- package/dist/vite/runners/worker.js +15 -14
- package/dist/vite/runners/worker.js.map +1 -1
- package/dist/vite/server.js +19 -2
- package/dist/vite/server.js.map +1 -1
- package/dist/vite/servers/main.d.ts +1 -1
- package/dist/vite/servers/main.js +10 -9
- package/dist/vite/servers/main.js.map +1 -1
- package/dist/vite/servers/worker.d.ts +9 -4
- package/dist/vite/servers/worker.js +84 -39
- package/dist/vite/servers/worker.js.map +1 -1
- package/package.json +57 -25
- package/src/cli.ts +39 -15
- package/src/{typings.ts → codegen.ts} +8 -5
- package/src/config.ts +13 -8
- package/src/entrypoints/main.ts +263 -57
- package/src/entrypoints/thread.ts +186 -36
- package/src/entrypoints/worker.ts +153 -29
- package/src/index.ts +99 -0
- package/src/resolver.ts +2 -11
- package/src/runtime/application/api/api.ts +270 -0
- package/src/runtime/application/api/constants.ts +22 -0
- package/src/runtime/application/api/filters.ts +39 -0
- package/src/runtime/application/api/guards.ts +42 -0
- package/src/runtime/application/api/index.ts +9 -0
- package/src/runtime/application/api/logging.ts +72 -0
- package/src/runtime/application/api/middlewares.ts +37 -0
- package/src/runtime/application/api/procedure.ts +231 -0
- package/src/runtime/application/api/router.ts +220 -0
- package/src/runtime/application/api/types.ts +137 -0
- package/src/runtime/application/config.ts +69 -0
- package/src/runtime/application/constants.ts +4 -0
- package/src/runtime/application/hook.ts +51 -0
- package/src/runtime/application/hooks.ts +3 -0
- package/src/runtime/application/index.ts +5 -0
- package/src/runtime/constants.ts +13 -0
- package/src/runtime/enums.ts +24 -0
- package/src/runtime/hooks.ts +5 -0
- package/src/runtime/index.ts +30 -0
- package/src/runtime/injectables.ts +74 -0
- package/src/runtime/jobs/job.ts +468 -0
- package/src/runtime/jobs/manager.ts +454 -0
- package/src/runtime/jobs/router.ts +939 -0
- package/src/runtime/jobs/runner.ts +583 -0
- package/src/runtime/jobs/step.ts +66 -0
- package/src/runtime/jobs/types.ts +116 -0
- package/src/runtime/jobs/ui.ts +27 -0
- package/src/runtime/metrics/metric.ts +18 -0
- package/src/runtime/metrics/registry.ts +7 -0
- package/src/runtime/metrics/server.ts +66 -0
- package/src/runtime/plugin.ts +13 -0
- package/src/runtime/pubsub/manager.ts +211 -0
- package/src/runtime/pubsub/redis.ts +108 -0
- package/src/runtime/runtime.ts +105 -0
- package/src/runtime/scheduler/index.ts +39 -0
- package/src/runtime/server/applications.ts +258 -0
- package/src/runtime/server/config.ts +198 -0
- package/src/runtime/server/environment.ts +71 -0
- package/src/runtime/server/error-policy.ts +132 -0
- package/src/runtime/server/hmr-coordinator.ts +116 -0
- package/src/runtime/server/jobs.ts +295 -0
- package/src/runtime/server/lifecycle.ts +234 -0
- package/src/runtime/server/managed-worker.ts +546 -0
- package/src/runtime/server/pool-manager.ts +187 -0
- package/src/runtime/server/proxy.ts +119 -0
- package/src/runtime/server/server.ts +218 -0
- package/src/runtime/server/types.ts +32 -0
- package/src/runtime/server/worker-pool.ts +275 -0
- package/src/runtime/store/index.ts +30 -0
- package/src/runtime/types.ts +93 -0
- package/src/runtime/workers/application.ts +210 -0
- package/src/runtime/workers/base.ts +71 -0
- package/src/runtime/workers/cli.ts +0 -0
- package/src/runtime/workers/job.ts +145 -0
- package/src/vite/builder.ts +65 -90
- package/src/vite/config.ts +7 -4
- package/src/vite/plugins.ts +48 -21
- package/src/vite/runners/worker.ts +19 -21
- package/src/vite/server.ts +21 -2
- package/src/vite/servers/main.ts +18 -11
- package/src/vite/servers/worker.ts +112 -42
- package/dist/_exports/application.d.ts +0 -1
- package/dist/_exports/application.js +0 -2
- package/dist/_exports/application.js.map +0 -1
- package/dist/_exports/common.d.ts +0 -1
- package/dist/_exports/common.js +0 -2
- package/dist/_exports/common.js.map +0 -1
- package/dist/_exports/contract.d.ts +0 -2
- package/dist/_exports/contract.js +0 -3
- package/dist/_exports/contract.js.map +0 -1
- package/dist/_exports/core.d.ts +0 -1
- package/dist/_exports/core.js +0 -2
- package/dist/_exports/core.js.map +0 -1
- package/dist/_exports/gateway.d.ts +0 -1
- package/dist/_exports/gateway.js +0 -2
- package/dist/_exports/gateway.js.map +0 -1
- package/dist/_exports/http-transport/bun.d.ts +0 -1
- package/dist/_exports/http-transport/bun.js +0 -2
- package/dist/_exports/http-transport/bun.js.map +0 -1
- package/dist/_exports/http-transport/deno.d.ts +0 -1
- package/dist/_exports/http-transport/deno.js +0 -2
- package/dist/_exports/http-transport/deno.js.map +0 -1
- package/dist/_exports/http-transport/node.d.ts +0 -1
- package/dist/_exports/http-transport/node.js +0 -2
- package/dist/_exports/http-transport/node.js.map +0 -1
- package/dist/_exports/http-transport.d.ts +0 -1
- package/dist/_exports/http-transport.js +0 -2
- package/dist/_exports/http-transport.js.map +0 -1
- package/dist/_exports/index.d.ts +0 -64
- package/dist/_exports/index.js +0 -41
- package/dist/_exports/index.js.map +0 -1
- package/dist/_exports/json-format.d.ts +0 -1
- package/dist/_exports/json-format.js +0 -2
- package/dist/_exports/json-format.js.map +0 -1
- package/dist/_exports/protocol/client.d.ts +0 -1
- package/dist/_exports/protocol/client.js +0 -2
- package/dist/_exports/protocol/client.js.map +0 -1
- package/dist/_exports/protocol/server.d.ts +0 -1
- package/dist/_exports/protocol/server.js +0 -2
- package/dist/_exports/protocol/server.js.map +0 -1
- package/dist/_exports/protocol.d.ts +0 -1
- package/dist/_exports/protocol.js +0 -2
- package/dist/_exports/protocol.js.map +0 -1
- package/dist/_exports/runtime/types.d.ts +0 -1
- package/dist/_exports/runtime/types.js +0 -2
- package/dist/_exports/runtime/types.js.map +0 -1
- package/dist/_exports/runtime.d.ts +0 -1
- package/dist/_exports/runtime.js +0 -2
- package/dist/_exports/runtime.js.map +0 -1
- package/dist/_exports/type.d.ts +0 -2
- package/dist/_exports/type.js +0 -3
- package/dist/_exports/type.js.map +0 -1
- package/dist/_exports/ws-transport/bun.d.ts +0 -1
- package/dist/_exports/ws-transport/bun.js +0 -2
- package/dist/_exports/ws-transport/bun.js.map +0 -1
- package/dist/_exports/ws-transport/deno.d.ts +0 -1
- package/dist/_exports/ws-transport/deno.js +0 -2
- package/dist/_exports/ws-transport/deno.js.map +0 -1
- package/dist/_exports/ws-transport/node.d.ts +0 -1
- package/dist/_exports/ws-transport/node.js +0 -2
- package/dist/_exports/ws-transport/node.js.map +0 -1
- package/dist/_exports/ws-transport.d.ts +0 -1
- package/dist/_exports/ws-transport.js +0 -2
- package/dist/_exports/ws-transport.js.map +0 -1
- package/dist/command.js +0 -31
- package/dist/command.js.map +0 -1
- package/dist/typings.js.map +0 -1
- package/src/_exports/application.ts +0 -1
- package/src/_exports/common.ts +0 -1
- package/src/_exports/contract.ts +0 -2
- package/src/_exports/core.ts +0 -1
- package/src/_exports/gateway.ts +0 -1
- package/src/_exports/http-transport/bun.ts +0 -1
- package/src/_exports/http-transport/deno.ts +0 -1
- package/src/_exports/http-transport/node.ts +0 -1
- package/src/_exports/http-transport.ts +0 -1
- package/src/_exports/index.ts +0 -75
- package/src/_exports/json-format.ts +0 -1
- package/src/_exports/protocol/client.ts +0 -1
- package/src/_exports/protocol/server.ts +0 -1
- package/src/_exports/protocol.ts +0 -1
- package/src/_exports/runtime/types.ts +0 -1
- package/src/_exports/runtime.ts +0 -1
- package/src/_exports/type.ts +0 -2
- package/src/_exports/ws-transport/bun.ts +0 -1
- package/src/_exports/ws-transport/deno.ts +0 -1
- package/src/_exports/ws-transport/node.ts +0 -1
- package/src/_exports/ws-transport.ts +0 -1
- package/src/command.ts +0 -30
- /package/dist/{command.d.ts → runtime/workers/cli.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -6,4 +6,34 @@
|
|
|
6
6
|
- binary data streaming and event subscriptions
|
|
7
7
|
- contract-based API
|
|
8
8
|
- end-to-end type safety
|
|
9
|
-
- CPU-intensive task execution on separate workers
|
|
9
|
+
- CPU-intensive task execution on separate workers
|
|
10
|
+
|
|
11
|
+
## Jobs E2E (Local Docker)
|
|
12
|
+
|
|
13
|
+
Prerequisites:
|
|
14
|
+
- Docker Desktop (or Docker Engine) with `docker compose` available
|
|
15
|
+
|
|
16
|
+
No host ports are exposed in this setup. Tests run fully inside Docker containers.
|
|
17
|
+
The test image is optimized for Docker layer caching with `pnpm fetch` + offline install.
|
|
18
|
+
|
|
19
|
+
Run both backends with one command:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm run test:e2e:jobs:docker
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This command rebuilds the test image on each run and executes Redis + Valkey suites in one pass.
|
|
26
|
+
|
|
27
|
+
Run Jobs E2E directly in Docker:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
docker compose -f docker-compose.jobs-e2e.yml run --rm --build test-jobs
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Manual Docker control:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
docker compose -f docker-compose.jobs-e2e.yml up -d --wait redis valkey
|
|
37
|
+
docker compose -f docker-compose.jobs-e2e.yml run --rm --build test-jobs
|
|
38
|
+
docker compose -f docker-compose.jobs-e2e.yml down -v --remove-orphans
|
|
39
|
+
```
|
package/bin/cli.js
ADDED
package/dist/cli.d.ts
CHANGED
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node --enable-source-maps
|
|
2
1
|
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
3
2
|
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
4
3
|
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
@@ -7,34 +6,49 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
7
6
|
}
|
|
8
7
|
return path;
|
|
9
8
|
};
|
|
10
|
-
import {
|
|
9
|
+
import { existsSync } from 'node:fs';
|
|
11
10
|
import { relative, resolve } from 'node:path';
|
|
12
11
|
import process from 'node:process';
|
|
13
12
|
import { defineCommand, runMain } from 'citty';
|
|
14
13
|
import { config as dotenv } from 'dotenv';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { createBuilder } from
|
|
18
|
-
import { baseViteConfigOptions } from
|
|
19
|
-
import { createMainServer } from
|
|
20
|
-
// import { createMainRunner } from './vite/runner.ts'
|
|
14
|
+
import { generateTypings } from './codegen.js';
|
|
15
|
+
import { resolver } from './resolver.js';
|
|
16
|
+
import { createBuilder } from './vite/builder.js';
|
|
17
|
+
import { baseViteConfigOptions } from './vite/config.js';
|
|
18
|
+
import { createMainServer } from './vite/servers/main.js';
|
|
21
19
|
const commonArgs = {
|
|
22
20
|
config: {
|
|
23
21
|
type: 'string',
|
|
24
22
|
alias: 'c',
|
|
25
|
-
default: './neemata.config.ts',
|
|
26
23
|
description: 'Path to Neemata config file',
|
|
27
24
|
required: false,
|
|
28
25
|
},
|
|
29
26
|
};
|
|
27
|
+
function resolveConfigPath(configPathArg) {
|
|
28
|
+
if (configPathArg) {
|
|
29
|
+
return resolve(configPathArg);
|
|
30
|
+
}
|
|
31
|
+
const tsConfigPath = resolve('./neemata.config.ts');
|
|
32
|
+
if (existsSync(tsConfigPath)) {
|
|
33
|
+
return tsConfigPath;
|
|
34
|
+
}
|
|
35
|
+
const jsConfigPath = resolve('./neemata.config.js');
|
|
36
|
+
if (existsSync(jsConfigPath)) {
|
|
37
|
+
return jsConfigPath;
|
|
38
|
+
}
|
|
39
|
+
throw new Error('Failed to resolve Neemata config file. Create neemata.config.ts or neemata.config.js, or pass --config.');
|
|
40
|
+
}
|
|
30
41
|
let config;
|
|
31
42
|
let viteConfigOptions;
|
|
32
43
|
let applicationImports;
|
|
44
|
+
async function runPrepare() {
|
|
45
|
+
await generateTypings(applicationImports);
|
|
46
|
+
}
|
|
33
47
|
const mainCommand = defineCommand({
|
|
34
48
|
meta: { description: 'Neemata CLI' },
|
|
35
49
|
args: { ...commonArgs },
|
|
36
50
|
async setup(ctx) {
|
|
37
|
-
const configPath =
|
|
51
|
+
const configPath = resolveConfigPath(ctx.args.config);
|
|
38
52
|
config = await import(__rewriteRelativeImportExtension(configPath)).then((m) => m.default);
|
|
39
53
|
for (const env of config.env) {
|
|
40
54
|
if (typeof env === 'string') {
|
|
@@ -48,10 +62,9 @@ const mainCommand = defineCommand({
|
|
|
48
62
|
}
|
|
49
63
|
}
|
|
50
64
|
}
|
|
51
|
-
// const applicationEntryPaths: Record<string, string> = {}
|
|
52
65
|
applicationImports = {};
|
|
53
66
|
const currentPkg = resolver.sync(process.cwd(), './package.json');
|
|
54
|
-
for (const [appName, appSpecifier] of Object.entries(config.applications)) {
|
|
67
|
+
for (const [appName, { specifier: appSpecifier, type }] of Object.entries(config.applications)) {
|
|
55
68
|
const resolution = resolver.sync(process.cwd(), appSpecifier);
|
|
56
69
|
if (resolution.error)
|
|
57
70
|
throw new Error(`Failed to resolve application path for ${appName}: ${resolution.error}`);
|
|
@@ -60,7 +73,7 @@ const mainCommand = defineCommand({
|
|
|
60
73
|
const specifier = resolution.packageJsonPath === currentPkg.path
|
|
61
74
|
? relative(resolve('.neemata'), resolution.path)
|
|
62
75
|
: appSpecifier;
|
|
63
|
-
applicationImports[appName] = { path: resolution.path, specifier };
|
|
76
|
+
applicationImports[appName] = { path: resolution.path, specifier, type };
|
|
64
77
|
}
|
|
65
78
|
viteConfigOptions = {
|
|
66
79
|
applicationImports,
|
|
@@ -72,25 +85,26 @@ const mainCommand = defineCommand({
|
|
|
72
85
|
subCommands: {
|
|
73
86
|
prepare: defineCommand({
|
|
74
87
|
async run(ctx) {
|
|
75
|
-
await
|
|
88
|
+
await runPrepare();
|
|
76
89
|
},
|
|
77
90
|
}),
|
|
78
91
|
dev: defineCommand({
|
|
79
92
|
async run(ctx) {
|
|
93
|
+
await runPrepare();
|
|
80
94
|
const { runner } = await createMainServer(viteConfigOptions, 'development', config);
|
|
81
95
|
await runner.import(viteConfigOptions.entrypointMainPath);
|
|
82
|
-
await once(process, 'beforeExit');
|
|
83
96
|
},
|
|
84
97
|
}),
|
|
85
98
|
preview: defineCommand({
|
|
86
99
|
async run(ctx) {
|
|
100
|
+
await runPrepare();
|
|
87
101
|
const { runner } = await createMainServer(viteConfigOptions, 'production', config);
|
|
88
102
|
await runner.import(viteConfigOptions.entrypointMainPath);
|
|
89
|
-
await once(process, 'beforeExit');
|
|
90
103
|
},
|
|
91
104
|
}),
|
|
92
105
|
build: defineCommand({
|
|
93
106
|
async run(ctx) {
|
|
107
|
+
await runPrepare();
|
|
94
108
|
const builder = await createBuilder(viteConfigOptions, config);
|
|
95
109
|
await builder.build();
|
|
96
110
|
},
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,15 @@ import dedent from 'dedent';
|
|
|
4
4
|
export async function generateTypings(applicationImports) {
|
|
5
5
|
await mkdir('.neemata', { recursive: true }).catch(() => { });
|
|
6
6
|
await writeFile(resolve('.neemata', 'types.d.ts'), dedent `
|
|
7
|
-
/// <reference types="
|
|
7
|
+
/// <reference types="nmtjs/runtime/types" />
|
|
8
8
|
|
|
9
|
-
declare module '
|
|
9
|
+
declare module 'nmtjs/runtime/types' {
|
|
10
10
|
interface Applications {
|
|
11
11
|
${Object.entries(applicationImports)
|
|
12
|
-
.map(([appName, { specifier }]) => `'${appName}': typeof import('${specifier}').default`)
|
|
12
|
+
.map(([appName, { specifier, type }]) => `'${appName}': { type: '${type}'; definition: typeof import('${specifier}').default }`)
|
|
13
13
|
.join('\n')}
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
`);
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,kBAGC,EACD;IACA,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;IAC5D,MAAM,SAAS,CACb,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,EACjC,MAAM,CAAA;;;;;UAKA,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SACjC,GAAG,CACF,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CACjC,IAAI,OAAO,eAAe,IAAI,iCAAiC,SAAS,cAAc,CACzF;SACA,IAAI,CAAC,IAAI,CAAC;;;KAGhB,CACF,CAAA;AAAA,CACF"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type
|
|
1
|
+
import type { UserConfig } from 'vite';
|
|
2
|
+
export type ExternalDependency = string | RegExp;
|
|
3
3
|
type DeepPartial<T> = {
|
|
4
4
|
[P in keyof T]?: T[P] extends Record<any, unknown> ? DeepPartial<T[P]> : T[P];
|
|
5
5
|
};
|
|
@@ -11,7 +11,10 @@ export interface NeemataConfig {
|
|
|
11
11
|
/**
|
|
12
12
|
* Application name
|
|
13
13
|
*/
|
|
14
|
-
[appName: string]:
|
|
14
|
+
[appName: string]: {
|
|
15
|
+
type: 'neemata' | 'custom';
|
|
16
|
+
specifier: string;
|
|
17
|
+
};
|
|
15
18
|
};
|
|
16
19
|
/**
|
|
17
20
|
* Path to server entry point
|
|
@@ -24,9 +27,9 @@ export interface NeemataConfig {
|
|
|
24
27
|
*
|
|
25
28
|
* 'all' - exclude all dependencies from package.json
|
|
26
29
|
*
|
|
27
|
-
*
|
|
30
|
+
* ExternalDependency[] - array of package names or regular expressions to match package names
|
|
28
31
|
*/
|
|
29
|
-
externalDependencies: 'prod' | 'all' |
|
|
32
|
+
externalDependencies: 'prod' | 'all' | ExternalDependency[];
|
|
30
33
|
/**
|
|
31
34
|
* Timeout in milliseconds for graceful shutdown of application workers
|
|
32
35
|
*/
|
|
@@ -38,11 +41,7 @@ export interface NeemataConfig {
|
|
|
38
41
|
* Records are key-value pairs to set directly
|
|
39
42
|
*/
|
|
40
43
|
env: (Record<string, string> | string)[];
|
|
41
|
-
|
|
42
|
-
outDir: string;
|
|
43
|
-
minify: boolean;
|
|
44
|
-
};
|
|
45
|
-
plugins: VitePlugin[];
|
|
44
|
+
vite: UserConfig;
|
|
46
45
|
}
|
|
47
46
|
export declare function defineConfig(config?: DeepPartial<NeemataConfig>): NeemataConfig;
|
|
48
47
|
export {};
|
package/dist/config.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
2
|
+
import { mergeConfig } from 'vite';
|
|
1
3
|
export function defineConfig(config = {}) {
|
|
2
4
|
return {
|
|
3
5
|
serverPath: './src/server.ts',
|
|
@@ -8,7 +10,7 @@ export function defineConfig(config = {}) {
|
|
|
8
10
|
...config,
|
|
9
11
|
// @ts-expect-error
|
|
10
12
|
applications: config.applications || {},
|
|
11
|
-
build: { outDir: './dist', minify: true,
|
|
13
|
+
vite: mergeConfig({ build: { outDir: resolve('./dist'), minify: true } }, config.vite || {}),
|
|
12
14
|
};
|
|
13
15
|
}
|
|
14
16
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAgDlC,MAAM,UAAU,YAAY,CAC1B,MAAM,GAA+B,EAAE,EACxB;IACf,OAAO;QACL,UAAU,EAAE,iBAAiB;QAC7B,oBAAoB,EAAE,MAAM;QAC5B,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,EAAE;QACX,GAAG,MAAM;QACT,mBAAmB;QACnB,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;QACvC,IAAI,EAAE,WAAW,CACf,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EACtD,MAAM,CAAC,IAAI,IAAI,EAAE,CAClB;KACF,CAAA;AAAA,CACF"}
|
package/dist/entrypoints/main.js
CHANGED
|
@@ -8,79 +8,241 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
8
8
|
};
|
|
9
9
|
import EventEmitter from 'node:events';
|
|
10
10
|
import { fileURLToPath } from 'node:url';
|
|
11
|
-
import {
|
|
11
|
+
import { createLogger } from '@nmtjs/core';
|
|
12
|
+
import { ApplicationServer, defaultPoolFactory, defaultWorkerFactory, isServerConfig, } from '../runtime/index.js';
|
|
13
|
+
import { createRuntimeEnvironment } from '../runtime/server/environment.js';
|
|
14
|
+
import { getErrorPolicy } from '../runtime/server/error-policy.js';
|
|
15
|
+
import { HMRCoordinator } from '../runtime/server/hmr-coordinator.js';
|
|
16
|
+
import { ServerLifecycle } from '../runtime/server/lifecycle.js';
|
|
12
17
|
class InvalidServerConfigError extends Error {
|
|
13
18
|
constructor() {
|
|
14
|
-
super(`Server config file does not have a default export, or it not a valid
|
|
19
|
+
super(`Server config file does not have a default export, or it is not a valid server config. Please, make sure the server config is defined using defineServer().`);
|
|
15
20
|
this.name = 'InvalidServerConfigError';
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
const _ext = new URL(import.meta.url).pathname.endsWith('.ts') ? '.ts' : '.js';
|
|
19
24
|
const _vite = __VITE_CONFIG__ ? JSON.parse(__VITE_CONFIG__) : undefined;
|
|
20
|
-
const applicationsConfig = __APPLICATIONS_CONFIG__
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
const applicationsConfig = __APPLICATIONS_CONFIG__ ? JSON.parse(__APPLICATIONS_CONFIG__) : {};
|
|
26
|
+
// Runtime environment setup
|
|
27
|
+
const mode = _vite?.mode === 'development' ? 'development' : 'production';
|
|
28
|
+
const isDev = mode === 'development';
|
|
29
|
+
const errorPolicy = getErrorPolicy(mode);
|
|
30
|
+
const bootstrapLogger = createLogger({ pinoOptions: { level: isDev ? 'debug' : 'info' } }, 'Main');
|
|
31
|
+
// Logger for main process (created lazily with config-based level)
|
|
32
|
+
let logger = bootstrapLogger;
|
|
33
|
+
// Vite server and events (dev only)
|
|
23
34
|
let _viteServerEvents;
|
|
24
|
-
let
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
35
|
+
let _viteServer;
|
|
36
|
+
// Server lifecycle management
|
|
37
|
+
let lifecycle;
|
|
38
|
+
let hmrCoordinator;
|
|
39
|
+
// Current server config (updated on HMR)
|
|
40
|
+
let currentServerConfig;
|
|
41
|
+
// Track termination state
|
|
42
|
+
let isTerminating = false;
|
|
43
|
+
function resolveViteRunnerTimeoutMs() {
|
|
44
|
+
const raw = process.env.NMTJS_VITE_RUNNER_TIMEOUT_MS;
|
|
45
|
+
if (!raw)
|
|
46
|
+
return undefined;
|
|
47
|
+
const parsed = Number.parseInt(raw, 10);
|
|
48
|
+
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
49
|
+
logger.warn({ value: raw }, 'Invalid NMTJS_VITE_RUNNER_TIMEOUT_MS, falling back to default');
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return parsed;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Create the ApplicationServer instance using currentServerConfig.
|
|
56
|
+
*/
|
|
57
|
+
function createServer() {
|
|
58
|
+
if (!currentServerConfig) {
|
|
59
|
+
throw new Error('Server config not initialized');
|
|
60
|
+
}
|
|
61
|
+
const workerConfig = {
|
|
62
|
+
path: fileURLToPath(new URL(`./thread${_ext}`, import.meta.url)),
|
|
63
|
+
workerData: {
|
|
64
|
+
vite: _vite?.mode,
|
|
65
|
+
viteModuleRunnerTimeoutMs: resolveViteRunnerTimeoutMs(),
|
|
66
|
+
},
|
|
67
|
+
worker: _viteServerEvents
|
|
68
|
+
? ({ worker, vitePort }) => {
|
|
69
|
+
_viteServerEvents.emit('worker', { worker, vitePort });
|
|
70
|
+
}
|
|
71
|
+
: undefined,
|
|
72
|
+
events: _viteServerEvents,
|
|
73
|
+
};
|
|
74
|
+
return new ApplicationServer(currentServerConfig, applicationsConfig, workerConfig, undefined, // runOptions
|
|
75
|
+
errorPolicy, defaultWorkerFactory, defaultPoolFactory);
|
|
31
76
|
}
|
|
32
|
-
|
|
33
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Initialize Vite dev server (dev mode only).
|
|
79
|
+
*/
|
|
80
|
+
async function initializeVite() {
|
|
81
|
+
if (!_vite)
|
|
82
|
+
return;
|
|
83
|
+
const { createViteServer } = await import('../vite/servers/worker.js');
|
|
34
84
|
const neemataConfig = await import(__rewriteRelativeImportExtension(
|
|
35
85
|
/* @vite-ignore */
|
|
36
86
|
_vite.options.configPath)).then((m) => m.default);
|
|
37
87
|
_viteServerEvents = new EventEmitter();
|
|
38
|
-
|
|
88
|
+
_viteServerEvents.on('hmr-update', handleHMRUpdate);
|
|
89
|
+
_viteServer = await createViteServer(_vite.options, _vite.mode, neemataConfig, _viteServerEvents);
|
|
39
90
|
}
|
|
40
|
-
|
|
41
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Initialize the server lifecycle (called once at startup).
|
|
93
|
+
*/
|
|
94
|
+
function initializeLifecycle(configValue) {
|
|
95
|
+
if (!isServerConfig(configValue))
|
|
42
96
|
throw new InvalidServerConfigError();
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
97
|
+
// Store initial config
|
|
98
|
+
currentServerConfig = configValue;
|
|
99
|
+
const loggerOptions = currentServerConfig?.logger ?? {
|
|
100
|
+
pinoOptions: { level: isDev ? 'debug' : 'info' },
|
|
101
|
+
};
|
|
102
|
+
logger = createLogger(loggerOptions, 'Main');
|
|
103
|
+
// Create runtime environment
|
|
104
|
+
const env = createRuntimeEnvironment(mode, {
|
|
105
|
+
vite: _viteServer ?? undefined,
|
|
106
|
+
hmr: undefined, // hmrCoordinator created after lifecycle
|
|
107
|
+
});
|
|
108
|
+
// Create lifecycle (singleton)
|
|
109
|
+
lifecycle = new ServerLifecycle(env, createServer, logger);
|
|
110
|
+
// Create HMR coordinator (dev only, singleton)
|
|
111
|
+
if (isDev) {
|
|
112
|
+
hmrCoordinator = new HMRCoordinator(lifecycle, logger);
|
|
113
|
+
}
|
|
114
|
+
// Listen for lifecycle errors (once)
|
|
115
|
+
lifecycle.on('error', (error, handled) => {
|
|
116
|
+
if (!handled) {
|
|
117
|
+
logger.error(new Error('Unhandled lifecycle error', { cause: error }));
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Set up HMR acceptance for server config changes.
|
|
123
|
+
*/
|
|
124
|
+
function setupHMR() {
|
|
125
|
+
if (!import.meta.env.DEV || !import.meta.hot)
|
|
126
|
+
return;
|
|
127
|
+
import.meta.hot.accept('#server', async (module) => {
|
|
128
|
+
if (!module)
|
|
129
|
+
return;
|
|
130
|
+
if (!isServerConfig(module.default))
|
|
131
|
+
throw new InvalidServerConfigError();
|
|
132
|
+
// Update the config (createServer will use this on next reload)
|
|
133
|
+
currentServerConfig = module.default;
|
|
134
|
+
// Use HMR coordinator to handle the reload
|
|
135
|
+
if (hmrCoordinator) {
|
|
136
|
+
try {
|
|
137
|
+
await hmrCoordinator.scheduleReload();
|
|
49
138
|
}
|
|
50
|
-
|
|
139
|
+
catch (cause) {
|
|
140
|
+
logger.error(new Error('Error during HMR reload', { cause }));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
51
143
|
});
|
|
52
|
-
await server.start();
|
|
53
144
|
}
|
|
54
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Handle HMR update event.
|
|
147
|
+
* When an application file is updated and there are failed workers, restart them.
|
|
148
|
+
*/
|
|
149
|
+
async function handleHMRUpdate(_event) {
|
|
150
|
+
// If server is in failed state, try to start it
|
|
151
|
+
if (lifecycle?.currentState === 'failed') {
|
|
152
|
+
try {
|
|
153
|
+
await lifecycle.start();
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
// Error will be handled by lifecycle
|
|
157
|
+
}
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
// If server is running, restart any failed workers
|
|
161
|
+
const server = lifecycle?.getServer();
|
|
162
|
+
if (server) {
|
|
163
|
+
try {
|
|
164
|
+
const restarted = await server.restartFailedWorkers();
|
|
165
|
+
if (restarted > 0) {
|
|
166
|
+
logger.info({ count: restarted }, 'Restarted failed workers after HMR update');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
logger.error(new Error('Failed to restart workers after HMR update', {
|
|
171
|
+
cause: error,
|
|
172
|
+
}));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Handle startup error.
|
|
178
|
+
*/
|
|
179
|
+
function handleStartupError(error) {
|
|
180
|
+
const normalized = error instanceof Error ? error : new Error(String(error));
|
|
181
|
+
logger.error(new Error('Failed to start application server', { cause: normalized }));
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Handle process termination signals.
|
|
185
|
+
*/
|
|
55
186
|
async function handleTermination() {
|
|
56
187
|
if (isTerminating)
|
|
57
188
|
return;
|
|
58
189
|
isTerminating = true;
|
|
59
|
-
|
|
60
|
-
|
|
190
|
+
logger.info('Shutting down...');
|
|
191
|
+
try {
|
|
192
|
+
await lifecycle?.stop();
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
logger.error(new Error('Failed to stop server', { cause: error }));
|
|
196
|
+
}
|
|
197
|
+
try {
|
|
198
|
+
await _viteServer?.close();
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
logger.error(new Error('Failed to close Vite server', { cause: error }));
|
|
202
|
+
}
|
|
61
203
|
process.exit(0);
|
|
62
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Handle unexpected errors.
|
|
207
|
+
*/
|
|
63
208
|
function handleUnexpectedError(error) {
|
|
64
|
-
|
|
209
|
+
const normalized = error instanceof Error ? error : new Error(String(error));
|
|
210
|
+
logger.error(new Error('Unexpected Error', { cause: normalized }));
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Main entry point.
|
|
214
|
+
*/
|
|
215
|
+
async function main() {
|
|
216
|
+
// Set up process handlers
|
|
217
|
+
process.once('SIGTERM', handleTermination);
|
|
218
|
+
process.once('SIGINT', handleTermination);
|
|
219
|
+
process.on('uncaughtException', handleUnexpectedError);
|
|
220
|
+
process.on('unhandledRejection', handleUnexpectedError);
|
|
221
|
+
// Initialize Vite (dev mode only)
|
|
222
|
+
await initializeVite();
|
|
223
|
+
// Load server config
|
|
224
|
+
const serverConfig = await import(
|
|
225
|
+
// @ts-expect-error
|
|
226
|
+
'#server').then((m) => m.default);
|
|
227
|
+
// Initialize lifecycle (sync, creates singletons)
|
|
228
|
+
initializeLifecycle(serverConfig);
|
|
229
|
+
// Set up HMR
|
|
230
|
+
setupHMR();
|
|
231
|
+
// Start the server
|
|
232
|
+
try {
|
|
233
|
+
await lifecycle.start();
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
handleStartupError(error);
|
|
237
|
+
if (!isDev) {
|
|
238
|
+
process.exit(1);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
65
241
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
process.
|
|
70
|
-
|
|
71
|
-
// @ts-expect-error
|
|
72
|
-
'#server').then((m) => m.default));
|
|
73
|
-
const { format } = Intl.NumberFormat('en', {
|
|
74
|
-
notation: 'compact',
|
|
75
|
-
maximumFractionDigits: 2,
|
|
76
|
-
unit: 'byte',
|
|
242
|
+
main().catch((error) => {
|
|
243
|
+
logger.fatal(new Error('Fatal error during startup', { cause: error }));
|
|
244
|
+
if (!isDev) {
|
|
245
|
+
process.exit(1);
|
|
246
|
+
}
|
|
77
247
|
});
|
|
78
|
-
const printMem = () => {
|
|
79
|
-
globalThis.gc?.();
|
|
80
|
-
// print memory usage every 10 seconds
|
|
81
|
-
const memoryUsage = process.memoryUsage();
|
|
82
|
-
console.log(`Memory Usage: RSS=${format(memoryUsage.rss)}, HeapTotal=${format(memoryUsage.heapTotal)}, HeapUsed=${format(memoryUsage.heapUsed)}, External=${format(memoryUsage.external)}, ArrayBuffers=${format(memoryUsage.arrayBuffers)}`);
|
|
83
|
-
};
|
|
84
|
-
// printMem()
|
|
85
|
-
// setInterval(printMem, 5000)
|
|
86
248
|
//# sourceMappingURL=main.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/entrypoints/main.ts"],"names":[],"mappings":";;;;;;;;AACA,OAAO,YAAY,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/entrypoints/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { MessagePort } from 'node:worker_threads';
|
|
2
2
|
export type RunWorkerOptions = {
|
|
3
3
|
port: MessagePort;
|
|
4
|
+
vitePort?: MessagePort;
|
|
4
5
|
runtime: {
|
|
5
6
|
type: 'application';
|
|
6
7
|
name: string;
|
|
@@ -8,7 +9,8 @@ export type RunWorkerOptions = {
|
|
|
8
9
|
transportsData: any;
|
|
9
10
|
} | {
|
|
10
11
|
type: 'jobs';
|
|
11
|
-
|
|
12
|
+
jobWorkerPool: string;
|
|
12
13
|
};
|
|
13
14
|
vite?: 'development' | 'production';
|
|
15
|
+
viteModuleRunnerTimeoutMs?: number;
|
|
14
16
|
};
|