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.
Files changed (363) hide show
  1. package/README.md +31 -1
  2. package/bin/cli.js +2 -0
  3. package/dist/cli.d.ts +0 -1
  4. package/dist/cli.js +30 -16
  5. package/dist/cli.js.map +1 -1
  6. package/dist/{typings.d.ts → codegen.d.ts} +1 -0
  7. package/dist/{typings.js → codegen.js} +4 -4
  8. package/dist/codegen.js.map +1 -0
  9. package/dist/config.d.ts +9 -10
  10. package/dist/config.js +3 -1
  11. package/dist/config.js.map +1 -1
  12. package/dist/entrypoints/main.js +210 -48
  13. package/dist/entrypoints/main.js.map +1 -1
  14. package/dist/entrypoints/thread.d.ts +3 -1
  15. package/dist/entrypoints/thread.js +155 -29
  16. package/dist/entrypoints/thread.js.map +1 -1
  17. package/dist/entrypoints/worker.d.ts +7 -1
  18. package/dist/entrypoints/worker.js +122 -21
  19. package/dist/entrypoints/worker.js.map +1 -1
  20. package/dist/index.d.ts +111 -0
  21. package/dist/index.js +53 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/resolver.js +2 -10
  24. package/dist/resolver.js.map +1 -1
  25. package/dist/runtime/application/api/api.d.ts +49 -0
  26. package/dist/runtime/application/api/api.js +194 -0
  27. package/dist/runtime/application/api/api.js.map +1 -0
  28. package/dist/runtime/application/api/constants.d.ts +14 -0
  29. package/dist/runtime/application/api/constants.js +8 -0
  30. package/dist/runtime/application/api/constants.js.map +1 -0
  31. package/dist/runtime/application/api/filters.d.ts +14 -0
  32. package/dist/runtime/application/api/filters.js +11 -0
  33. package/dist/runtime/application/api/filters.js.map +1 -0
  34. package/dist/runtime/application/api/guards.d.ts +16 -0
  35. package/dist/runtime/application/api/guards.js +11 -0
  36. package/dist/runtime/application/api/guards.js.map +1 -0
  37. package/dist/runtime/application/api/index.d.ts +9 -0
  38. package/dist/runtime/application/api/index.js +10 -0
  39. package/dist/runtime/application/api/index.js.map +1 -0
  40. package/dist/runtime/application/api/logging.d.ts +11 -0
  41. package/dist/runtime/application/api/logging.js +48 -0
  42. package/dist/runtime/application/api/logging.js.map +1 -0
  43. package/dist/runtime/application/api/middlewares.d.ts +14 -0
  44. package/dist/runtime/application/api/middlewares.js +12 -0
  45. package/dist/runtime/application/api/middlewares.js.map +1 -0
  46. package/dist/runtime/application/api/procedure.d.ts +67 -0
  47. package/dist/runtime/application/api/procedure.js +50 -0
  48. package/dist/runtime/application/api/procedure.js.map +1 -0
  49. package/dist/runtime/application/api/router.d.ts +80 -0
  50. package/dist/runtime/application/api/router.js +50 -0
  51. package/dist/runtime/application/api/router.js.map +1 -0
  52. package/dist/runtime/application/api/types.d.ts +37 -0
  53. package/dist/runtime/application/api/types.js +2 -0
  54. package/dist/runtime/application/api/types.js.map +1 -0
  55. package/dist/runtime/application/config.d.ts +26 -0
  56. package/dist/runtime/application/config.js +21 -0
  57. package/dist/runtime/application/config.js.map +1 -0
  58. package/dist/runtime/application/constants.d.ts +2 -0
  59. package/dist/runtime/application/constants.js +2 -0
  60. package/dist/runtime/application/constants.js.map +1 -0
  61. package/dist/runtime/application/hook.d.ts +19 -0
  62. package/dist/runtime/application/hook.js +11 -0
  63. package/dist/runtime/application/hook.js.map +1 -0
  64. package/dist/runtime/application/hooks.d.ts +3 -0
  65. package/dist/runtime/application/hooks.js +4 -0
  66. package/dist/runtime/application/hooks.js.map +1 -0
  67. package/dist/runtime/application/index.d.ts +5 -0
  68. package/dist/runtime/application/index.js +6 -0
  69. package/dist/runtime/application/index.js.map +1 -0
  70. package/dist/runtime/constants.d.ts +8 -0
  71. package/dist/runtime/constants.js +5 -0
  72. package/dist/runtime/constants.js.map +1 -0
  73. package/dist/runtime/enums.d.ts +21 -0
  74. package/dist/runtime/enums.js +30 -0
  75. package/dist/runtime/enums.js.map +1 -0
  76. package/dist/runtime/hooks.d.ts +4 -0
  77. package/dist/runtime/hooks.js +4 -0
  78. package/dist/runtime/hooks.js.map +1 -0
  79. package/dist/runtime/index.d.ts +30 -0
  80. package/dist/runtime/index.js +31 -0
  81. package/dist/runtime/index.js.map +1 -0
  82. package/dist/runtime/injectables.d.ts +28 -0
  83. package/dist/runtime/injectables.js +24 -0
  84. package/dist/runtime/injectables.js.map +1 -0
  85. package/dist/runtime/jobs/job.d.ts +146 -0
  86. package/dist/runtime/jobs/job.js +89 -0
  87. package/dist/runtime/jobs/job.js.map +1 -0
  88. package/dist/runtime/jobs/manager.d.ts +132 -0
  89. package/dist/runtime/jobs/manager.js +311 -0
  90. package/dist/runtime/jobs/manager.js.map +1 -0
  91. package/dist/runtime/jobs/router.d.ts +278 -0
  92. package/dist/runtime/jobs/router.js +455 -0
  93. package/dist/runtime/jobs/router.js.map +1 -0
  94. package/dist/runtime/jobs/runner.d.ts +103 -0
  95. package/dist/runtime/jobs/runner.js +425 -0
  96. package/dist/runtime/jobs/runner.js.map +1 -0
  97. package/dist/runtime/jobs/step.d.ts +26 -0
  98. package/dist/runtime/jobs/step.js +18 -0
  99. package/dist/runtime/jobs/step.js.map +1 -0
  100. package/dist/runtime/jobs/types.d.ts +86 -0
  101. package/dist/runtime/jobs/types.js +5 -0
  102. package/dist/runtime/jobs/types.js.map +1 -0
  103. package/dist/runtime/jobs/ui.d.ts +3 -0
  104. package/dist/runtime/jobs/ui.js +20 -0
  105. package/dist/runtime/jobs/ui.js.map +1 -0
  106. package/dist/runtime/metrics/metric.d.ts +8 -0
  107. package/dist/runtime/metrics/metric.js +11 -0
  108. package/dist/runtime/metrics/metric.js.map +1 -0
  109. package/dist/runtime/metrics/registry.d.ts +3 -0
  110. package/dist/runtime/metrics/registry.js +5 -0
  111. package/dist/runtime/metrics/registry.js.map +1 -0
  112. package/dist/runtime/metrics/server.d.ts +7 -0
  113. package/dist/runtime/metrics/server.js +41 -0
  114. package/dist/runtime/metrics/server.js.map +1 -0
  115. package/dist/runtime/plugin.d.ts +8 -0
  116. package/dist/runtime/plugin.js +4 -0
  117. package/dist/runtime/plugin.js.map +1 -0
  118. package/dist/runtime/pubsub/manager.d.ts +48 -0
  119. package/dist/runtime/pubsub/manager.js +119 -0
  120. package/dist/runtime/pubsub/manager.js.map +1 -0
  121. package/dist/runtime/pubsub/redis.d.ts +16 -0
  122. package/dist/runtime/pubsub/redis.js +98 -0
  123. package/dist/runtime/pubsub/redis.js.map +1 -0
  124. package/dist/runtime/runtime.d.ts +27 -0
  125. package/dist/runtime/runtime.js +78 -0
  126. package/dist/runtime/runtime.js.map +1 -0
  127. package/dist/runtime/scheduler/index.d.ts +22 -0
  128. package/dist/runtime/scheduler/index.js +20 -0
  129. package/dist/runtime/scheduler/index.js.map +1 -0
  130. package/dist/runtime/server/applications.d.ts +91 -0
  131. package/dist/runtime/server/applications.js +168 -0
  132. package/dist/runtime/server/applications.js.map +1 -0
  133. package/dist/runtime/server/config.d.ts +152 -0
  134. package/dist/runtime/server/config.js +34 -0
  135. package/dist/runtime/server/config.js.map +1 -0
  136. package/dist/runtime/server/environment.d.ts +43 -0
  137. package/dist/runtime/server/environment.js +33 -0
  138. package/dist/runtime/server/environment.js.map +1 -0
  139. package/dist/runtime/server/error-policy.d.ts +62 -0
  140. package/dist/runtime/server/error-policy.js +73 -0
  141. package/dist/runtime/server/error-policy.js.map +1 -0
  142. package/dist/runtime/server/hmr-coordinator.d.ts +37 -0
  143. package/dist/runtime/server/hmr-coordinator.js +94 -0
  144. package/dist/runtime/server/hmr-coordinator.js.map +1 -0
  145. package/dist/runtime/server/jobs.d.ts +58 -0
  146. package/dist/runtime/server/jobs.js +202 -0
  147. package/dist/runtime/server/jobs.js.map +1 -0
  148. package/dist/runtime/server/lifecycle.d.ts +85 -0
  149. package/dist/runtime/server/lifecycle.js +177 -0
  150. package/dist/runtime/server/lifecycle.js.map +1 -0
  151. package/dist/runtime/server/managed-worker.d.ts +158 -0
  152. package/dist/runtime/server/managed-worker.js +420 -0
  153. package/dist/runtime/server/managed-worker.js.map +1 -0
  154. package/dist/runtime/server/pool-manager.d.ts +85 -0
  155. package/dist/runtime/server/pool-manager.js +129 -0
  156. package/dist/runtime/server/pool-manager.js.map +1 -0
  157. package/dist/runtime/server/proxy.d.ts +21 -0
  158. package/dist/runtime/server/proxy.js +76 -0
  159. package/dist/runtime/server/proxy.js.map +1 -0
  160. package/dist/runtime/server/server.d.ts +60 -0
  161. package/dist/runtime/server/server.js +163 -0
  162. package/dist/runtime/server/server.js.map +1 -0
  163. package/dist/runtime/server/types.d.ts +31 -0
  164. package/dist/runtime/server/types.js +2 -0
  165. package/dist/runtime/server/types.js.map +1 -0
  166. package/dist/runtime/server/worker-pool.d.ts +121 -0
  167. package/dist/runtime/server/worker-pool.js +171 -0
  168. package/dist/runtime/server/worker-pool.js.map +1 -0
  169. package/dist/runtime/store/index.d.ts +3 -0
  170. package/dist/runtime/store/index.js +23 -0
  171. package/dist/runtime/store/index.js.map +1 -0
  172. package/dist/runtime/types.d.ts +103 -0
  173. package/dist/runtime/types.js +2 -0
  174. package/dist/runtime/types.js.map +1 -0
  175. package/dist/runtime/workers/application.d.ts +47 -0
  176. package/dist/runtime/workers/application.js +163 -0
  177. package/dist/runtime/workers/application.js.map +1 -0
  178. package/dist/runtime/workers/base.d.ts +16 -0
  179. package/dist/runtime/workers/base.js +46 -0
  180. package/dist/runtime/workers/base.js.map +1 -0
  181. package/dist/runtime/workers/cli.js +2 -0
  182. package/dist/runtime/workers/cli.js.map +1 -0
  183. package/dist/runtime/workers/job.d.ts +20 -0
  184. package/dist/runtime/workers/job.js +169 -0
  185. package/dist/runtime/workers/job.js.map +1 -0
  186. package/dist/vite/builder.js +19 -50
  187. package/dist/vite/builder.js.map +1 -1
  188. package/dist/vite/config.d.ts +1 -0
  189. package/dist/vite/config.js +3 -3
  190. package/dist/vite/config.js.map +1 -1
  191. package/dist/vite/plugins.d.ts +1 -1
  192. package/dist/vite/plugins.js +41 -16
  193. package/dist/vite/plugins.js.map +1 -1
  194. package/dist/vite/runners/worker.d.ts +2 -3
  195. package/dist/vite/runners/worker.js +15 -14
  196. package/dist/vite/runners/worker.js.map +1 -1
  197. package/dist/vite/server.js +19 -2
  198. package/dist/vite/server.js.map +1 -1
  199. package/dist/vite/servers/main.d.ts +1 -1
  200. package/dist/vite/servers/main.js +10 -9
  201. package/dist/vite/servers/main.js.map +1 -1
  202. package/dist/vite/servers/worker.d.ts +9 -4
  203. package/dist/vite/servers/worker.js +84 -39
  204. package/dist/vite/servers/worker.js.map +1 -1
  205. package/package.json +57 -25
  206. package/src/cli.ts +39 -15
  207. package/src/{typings.ts → codegen.ts} +8 -5
  208. package/src/config.ts +13 -8
  209. package/src/entrypoints/main.ts +263 -57
  210. package/src/entrypoints/thread.ts +186 -36
  211. package/src/entrypoints/worker.ts +153 -29
  212. package/src/index.ts +99 -0
  213. package/src/resolver.ts +2 -11
  214. package/src/runtime/application/api/api.ts +270 -0
  215. package/src/runtime/application/api/constants.ts +22 -0
  216. package/src/runtime/application/api/filters.ts +39 -0
  217. package/src/runtime/application/api/guards.ts +42 -0
  218. package/src/runtime/application/api/index.ts +9 -0
  219. package/src/runtime/application/api/logging.ts +72 -0
  220. package/src/runtime/application/api/middlewares.ts +37 -0
  221. package/src/runtime/application/api/procedure.ts +231 -0
  222. package/src/runtime/application/api/router.ts +220 -0
  223. package/src/runtime/application/api/types.ts +137 -0
  224. package/src/runtime/application/config.ts +69 -0
  225. package/src/runtime/application/constants.ts +4 -0
  226. package/src/runtime/application/hook.ts +51 -0
  227. package/src/runtime/application/hooks.ts +3 -0
  228. package/src/runtime/application/index.ts +5 -0
  229. package/src/runtime/constants.ts +13 -0
  230. package/src/runtime/enums.ts +24 -0
  231. package/src/runtime/hooks.ts +5 -0
  232. package/src/runtime/index.ts +30 -0
  233. package/src/runtime/injectables.ts +74 -0
  234. package/src/runtime/jobs/job.ts +468 -0
  235. package/src/runtime/jobs/manager.ts +454 -0
  236. package/src/runtime/jobs/router.ts +939 -0
  237. package/src/runtime/jobs/runner.ts +583 -0
  238. package/src/runtime/jobs/step.ts +66 -0
  239. package/src/runtime/jobs/types.ts +116 -0
  240. package/src/runtime/jobs/ui.ts +27 -0
  241. package/src/runtime/metrics/metric.ts +18 -0
  242. package/src/runtime/metrics/registry.ts +7 -0
  243. package/src/runtime/metrics/server.ts +66 -0
  244. package/src/runtime/plugin.ts +13 -0
  245. package/src/runtime/pubsub/manager.ts +211 -0
  246. package/src/runtime/pubsub/redis.ts +108 -0
  247. package/src/runtime/runtime.ts +105 -0
  248. package/src/runtime/scheduler/index.ts +39 -0
  249. package/src/runtime/server/applications.ts +258 -0
  250. package/src/runtime/server/config.ts +198 -0
  251. package/src/runtime/server/environment.ts +71 -0
  252. package/src/runtime/server/error-policy.ts +132 -0
  253. package/src/runtime/server/hmr-coordinator.ts +116 -0
  254. package/src/runtime/server/jobs.ts +295 -0
  255. package/src/runtime/server/lifecycle.ts +234 -0
  256. package/src/runtime/server/managed-worker.ts +546 -0
  257. package/src/runtime/server/pool-manager.ts +187 -0
  258. package/src/runtime/server/proxy.ts +119 -0
  259. package/src/runtime/server/server.ts +218 -0
  260. package/src/runtime/server/types.ts +32 -0
  261. package/src/runtime/server/worker-pool.ts +275 -0
  262. package/src/runtime/store/index.ts +30 -0
  263. package/src/runtime/types.ts +93 -0
  264. package/src/runtime/workers/application.ts +210 -0
  265. package/src/runtime/workers/base.ts +71 -0
  266. package/src/runtime/workers/cli.ts +0 -0
  267. package/src/runtime/workers/job.ts +145 -0
  268. package/src/vite/builder.ts +65 -90
  269. package/src/vite/config.ts +7 -4
  270. package/src/vite/plugins.ts +48 -21
  271. package/src/vite/runners/worker.ts +19 -21
  272. package/src/vite/server.ts +21 -2
  273. package/src/vite/servers/main.ts +18 -11
  274. package/src/vite/servers/worker.ts +112 -42
  275. package/dist/_exports/application.d.ts +0 -1
  276. package/dist/_exports/application.js +0 -2
  277. package/dist/_exports/application.js.map +0 -1
  278. package/dist/_exports/common.d.ts +0 -1
  279. package/dist/_exports/common.js +0 -2
  280. package/dist/_exports/common.js.map +0 -1
  281. package/dist/_exports/contract.d.ts +0 -2
  282. package/dist/_exports/contract.js +0 -3
  283. package/dist/_exports/contract.js.map +0 -1
  284. package/dist/_exports/core.d.ts +0 -1
  285. package/dist/_exports/core.js +0 -2
  286. package/dist/_exports/core.js.map +0 -1
  287. package/dist/_exports/gateway.d.ts +0 -1
  288. package/dist/_exports/gateway.js +0 -2
  289. package/dist/_exports/gateway.js.map +0 -1
  290. package/dist/_exports/http-transport/bun.d.ts +0 -1
  291. package/dist/_exports/http-transport/bun.js +0 -2
  292. package/dist/_exports/http-transport/bun.js.map +0 -1
  293. package/dist/_exports/http-transport/deno.d.ts +0 -1
  294. package/dist/_exports/http-transport/deno.js +0 -2
  295. package/dist/_exports/http-transport/deno.js.map +0 -1
  296. package/dist/_exports/http-transport/node.d.ts +0 -1
  297. package/dist/_exports/http-transport/node.js +0 -2
  298. package/dist/_exports/http-transport/node.js.map +0 -1
  299. package/dist/_exports/http-transport.d.ts +0 -1
  300. package/dist/_exports/http-transport.js +0 -2
  301. package/dist/_exports/http-transport.js.map +0 -1
  302. package/dist/_exports/index.d.ts +0 -64
  303. package/dist/_exports/index.js +0 -41
  304. package/dist/_exports/index.js.map +0 -1
  305. package/dist/_exports/json-format.d.ts +0 -1
  306. package/dist/_exports/json-format.js +0 -2
  307. package/dist/_exports/json-format.js.map +0 -1
  308. package/dist/_exports/protocol/client.d.ts +0 -1
  309. package/dist/_exports/protocol/client.js +0 -2
  310. package/dist/_exports/protocol/client.js.map +0 -1
  311. package/dist/_exports/protocol/server.d.ts +0 -1
  312. package/dist/_exports/protocol/server.js +0 -2
  313. package/dist/_exports/protocol/server.js.map +0 -1
  314. package/dist/_exports/protocol.d.ts +0 -1
  315. package/dist/_exports/protocol.js +0 -2
  316. package/dist/_exports/protocol.js.map +0 -1
  317. package/dist/_exports/runtime/types.d.ts +0 -1
  318. package/dist/_exports/runtime/types.js +0 -2
  319. package/dist/_exports/runtime/types.js.map +0 -1
  320. package/dist/_exports/runtime.d.ts +0 -1
  321. package/dist/_exports/runtime.js +0 -2
  322. package/dist/_exports/runtime.js.map +0 -1
  323. package/dist/_exports/type.d.ts +0 -2
  324. package/dist/_exports/type.js +0 -3
  325. package/dist/_exports/type.js.map +0 -1
  326. package/dist/_exports/ws-transport/bun.d.ts +0 -1
  327. package/dist/_exports/ws-transport/bun.js +0 -2
  328. package/dist/_exports/ws-transport/bun.js.map +0 -1
  329. package/dist/_exports/ws-transport/deno.d.ts +0 -1
  330. package/dist/_exports/ws-transport/deno.js +0 -2
  331. package/dist/_exports/ws-transport/deno.js.map +0 -1
  332. package/dist/_exports/ws-transport/node.d.ts +0 -1
  333. package/dist/_exports/ws-transport/node.js +0 -2
  334. package/dist/_exports/ws-transport/node.js.map +0 -1
  335. package/dist/_exports/ws-transport.d.ts +0 -1
  336. package/dist/_exports/ws-transport.js +0 -2
  337. package/dist/_exports/ws-transport.js.map +0 -1
  338. package/dist/command.js +0 -31
  339. package/dist/command.js.map +0 -1
  340. package/dist/typings.js.map +0 -1
  341. package/src/_exports/application.ts +0 -1
  342. package/src/_exports/common.ts +0 -1
  343. package/src/_exports/contract.ts +0 -2
  344. package/src/_exports/core.ts +0 -1
  345. package/src/_exports/gateway.ts +0 -1
  346. package/src/_exports/http-transport/bun.ts +0 -1
  347. package/src/_exports/http-transport/deno.ts +0 -1
  348. package/src/_exports/http-transport/node.ts +0 -1
  349. package/src/_exports/http-transport.ts +0 -1
  350. package/src/_exports/index.ts +0 -75
  351. package/src/_exports/json-format.ts +0 -1
  352. package/src/_exports/protocol/client.ts +0 -1
  353. package/src/_exports/protocol/server.ts +0 -1
  354. package/src/_exports/protocol.ts +0 -1
  355. package/src/_exports/runtime/types.ts +0 -1
  356. package/src/_exports/runtime.ts +0 -1
  357. package/src/_exports/type.ts +0 -2
  358. package/src/_exports/ws-transport/bun.ts +0 -1
  359. package/src/_exports/ws-transport/deno.ts +0 -1
  360. package/src/_exports/ws-transport/node.ts +0 -1
  361. package/src/_exports/ws-transport.ts +0 -1
  362. package/src/command.ts +0 -30
  363. /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
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node --enable-source-maps
2
+ import 'nmtjs/cli'
package/dist/cli.d.ts CHANGED
@@ -1,2 +1 @@
1
- #!/usr/bin/env node --enable-source-maps
2
1
  export {};
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 { once } from 'node:events';
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 { resolver } from "./resolver.js";
16
- import { generateTypings } from "./typings.js";
17
- import { createBuilder } from "./vite/builder.js";
18
- import { baseViteConfigOptions } from "./vite/config.js";
19
- import { createMainServer } from "./vite/servers/main.js";
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 = resolve(ctx.args.config);
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 generateTypings(applicationImports);
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":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare function generateTypings(applicationImports: Record<string, {
2
2
  path: string;
3
3
  specifier: string;
4
+ type: 'neemata' | 'custom';
4
5
  }>): Promise<void>;
@@ -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="@nmtjs/runtime/types" />
7
+ /// <reference types="nmtjs/runtime/types" />
8
8
 
9
- declare module '@nmtjs/runtime/types' {
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=typings.js.map
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 { Plugin as VitePlugin } from 'vite';
2
- export type ExtrernalDependency = string | RegExp;
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]: 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
- * ExtrernalDependency[] - array of package names or regular expressions to match package names
30
+ * ExternalDependency[] - array of package names or regular expressions to match package names
28
31
  */
29
- externalDependencies: 'prod' | 'all' | ExtrernalDependency[];
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
- build: {
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, ...config.build },
13
+ vite: mergeConfig({ build: { outDir: resolve('./dist'), minify: true } }, config.vite || {}),
12
14
  };
13
15
  }
14
16
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAiDA,MAAM,UAAU,YAAY,CAC1B,SAAqC,EAAE;IAEvC,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,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;KAC3D,CAAA;AACH,CAAC"}
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"}
@@ -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 { ApplicationServer, isServerConfig } from '@nmtjs/runtime';
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 application. Please, make sure the application is defined using defineApplication().`);
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
- ? JSON.parse(__APPLICATIONS_CONFIG__)
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 _viteWorkerServer;
25
- let server;
26
- if (import.meta.env.DEV && import.meta.hot) {
27
- import.meta.hot.accept('#server', async (module) => {
28
- await server.stop();
29
- await createServer(module?.default);
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
- if (_vite) {
33
- const { createWorkerServer } = await import("../vite/servers/worker.js");
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
- _viteWorkerServer = await createWorkerServer(_vite.options, _vite.mode, neemataConfig, _viteServerEvents);
88
+ _viteServerEvents.on('hmr-update', handleHMRUpdate);
89
+ _viteServer = await createViteServer(_vite.options, _vite.mode, neemataConfig, _viteServerEvents);
39
90
  }
40
- async function createServer(config) {
41
- if (!isServerConfig(config))
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
- server = new ApplicationServer(config, applicationsConfig, {
44
- path: fileURLToPath(import.meta.resolve(`./thread${_ext}`)),
45
- workerData: { vite: _vite?.mode },
46
- worker: _viteServerEvents
47
- ? (worker) => {
48
- _viteServerEvents.emit('worker', worker);
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
- : undefined,
139
+ catch (cause) {
140
+ logger.error(new Error('Error during HMR reload', { cause }));
141
+ }
142
+ }
51
143
  });
52
- await server.start();
53
144
  }
54
- let isTerminating = false;
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
- await server?.stop();
60
- _viteWorkerServer?.close();
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
- console.error(new Error('Unexpected Error:', { cause: error }));
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
- process.once('SIGTERM', handleTermination);
67
- process.once('SIGINT', handleTermination);
68
- process.on('uncaughtException', handleUnexpectedError);
69
- process.on('unhandledRejection', handleUnexpectedError);
70
- await createServer(await import(
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;AAIxC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAOlE,MAAM,wBAAyB,SAAQ,KAAK;IAC1C;QACE,KAAK,CACH,2JAA2J,CAC5J,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF;AAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAC9E,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACvE,MAAM,kBAAkB,GAAG,uBAAuB;IAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACrC,CAAC,CAAC,EAAE,CAAA;AAEN,IAAI,iBAAiE,CAAA;AACrE,IAAI,iBAA4C,CAAA;AAEhD,IAAI,MAAyB,CAAA;AAE7B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACnB,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,IAAI,KAAK,EAAE,CAAC;IACV,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAA;IACxE,MAAM,aAAa,GAAG,MAAM,MAAM;IAChC,kBAAkB;IAClB,KAAK,CAAC,OAAO,CAAC,UAAU,EACzB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAA+C,CAAC,CAAA;IAChE,iBAAiB,GAAG,IAAI,YAAY,EAAwB,CAAA;IAC5D,iBAAiB,GAAG,MAAM,kBAAkB,CAC1C,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,aAAa,EACb,iBAAiB,CAClB,CAAA;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAoB;IAC9C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAA;IACjE,MAAM,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE;QACzD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC3D,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QACjC,MAAM,EAAE,iBAAiB;YACvB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE;gBACT,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC1C,CAAC;YACH,CAAC,CAAC,SAAS;KACd,CAAC,CAAA;IACF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;AACtB,CAAC;AAED,IAAI,aAAa,GAAG,KAAK,CAAA;AAEzB,KAAK,UAAU,iBAAiB;IAC9B,IAAI,aAAa;QAAE,OAAM;IACzB,aAAa,GAAG,IAAI,CAAA;IACpB,MAAM,MAAM,EAAE,IAAI,EAAE,CAAA;IACpB,iBAAiB,EAAE,KAAK,EAAE,CAAA;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAY;IACzC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;AAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;AACzC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAA;AACtD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAA;AAEvD,MAAM,YAAY,CAChB,MAAM,MAAM;AACV,mBAAmB;AACnB,SAAS,CACV,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CACzB,CAAA;AAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IACzC,QAAQ,EAAE,SAAS;IACnB,qBAAqB,EAAE,CAAC;IACxB,IAAI,EAAE,MAAM;CACb,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAA;IACjB,sCAAsC;IACtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IACzC,OAAO,CAAC,GAAG,CACT,qBAAqB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CACjO,CAAA;AACH,CAAC,CAAA;AACD,aAAa;AACb,8BAA8B"}
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
- jobWorkerQueue: string;
12
+ jobWorkerPool: string;
12
13
  };
13
14
  vite?: 'development' | 'production';
15
+ viteModuleRunnerTimeoutMs?: number;
14
16
  };