@warlock.js/core 5.3.1 → 5.3.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/CHANGELOG.md +34 -0
- package/esm/cli/cli-commands.manager.mjs +2 -0
- package/esm/cli/cli-commands.manager.mjs.map +1 -1
- package/esm/cli/cli-commands.utils.mjs.map +1 -1
- package/esm/connectors/http-connector.d.mts.map +1 -1
- package/esm/connectors/http-connector.mjs +26 -4
- package/esm/connectors/http-connector.mjs.map +1 -1
- package/esm/database/create-database-action.mjs.map +1 -1
- package/esm/database/drop-tables-action.mjs.map +1 -1
- package/esm/database/migrate-action.mjs.map +1 -1
- package/esm/database/seed-command-action.mjs.map +1 -1
- package/esm/database/seeds/seeders.manager.mjs.map +1 -1
- package/esm/dev-server/boot-precondition-error.mjs +35 -0
- package/esm/dev-server/boot-precondition-error.mjs.map +1 -0
- package/esm/dev-server/development-server.mjs +6 -1
- package/esm/dev-server/development-server.mjs.map +1 -1
- package/esm/dev-server/files-orchestrator.mjs.map +1 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs.map +1 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -1
- package/esm/dev-server/start-development-server.mjs +3 -1
- package/esm/dev-server/start-development-server.mjs.map +1 -1
- package/esm/dev-server/supervisor.mjs +15 -0
- package/esm/dev-server/supervisor.mjs.map +1 -1
- package/esm/generations/add-command.action.mjs.map +1 -1
- package/esm/generations/features/access.feature.mjs.map +1 -1
- package/esm/generations/features/ai-anthropic.feature.mjs.map +1 -1
- package/esm/generations/features/ai-bedrock.feature.mjs.map +1 -1
- package/esm/generations/features/ai-google.feature.mjs.map +1 -1
- package/esm/generations/features/ai-ollama.feature.mjs.map +1 -1
- package/esm/generations/features/ai-openai.feature.mjs.map +1 -1
- package/esm/generations/features/ai-panoptic.feature.mjs.map +1 -1
- package/esm/generations/features/ai-tools.feature.mjs.map +1 -1
- package/esm/generations/features/ai-workspace.feature.mjs.map +1 -1
- package/esm/generations/features/ai.feature.mjs.map +1 -1
- package/esm/generations/features/herald.feature.mjs.map +1 -1
- package/esm/generations/features/image.feature.mjs.map +1 -1
- package/esm/generations/features/index.mjs.map +1 -1
- package/esm/generations/features/mail.feature.mjs.map +1 -1
- package/esm/generations/features/mongodb.feature.mjs.map +1 -1
- package/esm/generations/features/mysql.feature.mjs.map +1 -1
- package/esm/generations/features/notifications.feature.mjs.map +1 -1
- package/esm/generations/features/postgres.feature.mjs.map +1 -1
- package/esm/generations/features/react-email.feature.mjs.map +1 -1
- package/esm/generations/features/react.feature.mjs.map +1 -1
- package/esm/generations/features/redis.feature.mjs.map +1 -1
- package/esm/generations/features/s3.feature.mjs.map +1 -1
- package/esm/generations/features/scheduler.feature.mjs.map +1 -1
- package/esm/generations/features/ses.feature.mjs.map +1 -1
- package/esm/generations/features/shadcn.feature.mjs.map +1 -1
- package/esm/generations/features/socket.feature.mjs.map +1 -1
- package/esm/generations/features/tailwind.feature.mjs.map +1 -1
- package/esm/generations/features/test.feature.mjs.map +1 -1
- package/esm/generations/features/types.mjs.map +1 -1
- package/esm/generations/features/web.feature.mjs.map +1 -1
- package/esm/http/boot-port-preflight.d.mts.map +1 -1
- package/esm/http/boot-port-preflight.mjs +17 -3
- package/esm/http/boot-port-preflight.mjs.map +1 -1
- package/esm/http/resolve-bind-port.mjs +51 -0
- package/esm/http/resolve-bind-port.mjs.map +1 -0
- package/esm/tests/test-helpers.d.mts.map +1 -1
- package/esm/tests/test-helpers.mjs +4 -1
- package/esm/tests/test-helpers.mjs.map +1 -1
- package/esm/utils/detect-environment-overrides.mjs +67 -0
- package/esm/utils/detect-environment-overrides.mjs.map +1 -0
- package/esm/utils/load-environment.mjs +24 -0
- package/esm/utils/load-environment.mjs.map +1 -1
- package/esm/utils/report-environment-overrides.mjs +30 -0
- package/esm/utils/report-environment-overrides.mjs.map +1 -0
- package/esm/validation/types.d.mts +4 -1
- package/esm/validation/types.d.mts.map +1 -1
- package/llms-full.txt +10 -2
- package/package.json +12 -12
- package/skills/run-app/SKILL.md +10 -2
package/llms-full.txt
CHANGED
|
@@ -3586,7 +3586,7 @@ The third line is conditional on the parent having actually seen child output. W
|
|
|
3586
3586
|
|
|
3587
3587
|
That distinction is the point of the change: an unhelpful "see above" printed above an empty terminal used to be the entire diagnostic.
|
|
3588
3588
|
|
|
3589
|
-
**Port already in use.** The
|
|
3589
|
+
**Port already in use.** The port is preflighted twice: once **before the early-phase connectors**, so a collision is reported without waiting for the database to connect, and again in the HTTP connector immediately before `listen()`, because a port can be taken in the seconds between the two. Either way the collision is named rather than surfacing as a raw `EADDRINUSE` from inside Fastify:
|
|
3590
3590
|
|
|
3591
3591
|
```
|
|
3592
3592
|
EADDRINUSE: Port 3000 is already in use on 127.0.0.1. Stop the dev server (or whatever
|
|
@@ -3594,7 +3594,15 @@ else is listening on port 3000) and run again, or start on a free port — e.g.
|
|
|
3594
3594
|
startHttpTestServer({ port: 3001 }).
|
|
3595
3595
|
```
|
|
3596
3596
|
|
|
3597
|
-
The
|
|
3597
|
+
**The process exits `78` (`EX_CONFIG`), and `warlock dev`'s supervisor treats that as terminal — it prints once and stops rather than restarting.** That code is the counterpart of `75`, which a worker uses to ask for a fresh process. The distinction is the point: a code error is worth restarting, and a *startup precondition* — a port held by something else, a port value that is not a port, a boot validator that rejected — cannot change because we tried again six seconds later. Retrying one only reprints the diagnostic and then scrolls it away.
|
|
3598
|
+
|
|
3599
|
+
`EACCES` on the port is treated the same way as `EADDRINUSE` (a privileged port you may not bind is also "not available"); anything else the probe throws is rethrown untouched.
|
|
3600
|
+
|
|
3601
|
+
**A configured port is normalised before anything binds.** `env()` coerces a `.env` value to a number only when it round-trips exactly, so `HTTP_PORT=03999`, `" 3999"`, `+3999` and `1e3` all arrive as strings. They are resolved to a canonical integer first — used for the preflight, for `listen()`, and for the port reported to a supervisor — and a value that cannot become a usable port fails naming it. When the raw value was not already canonical, one line says so:
|
|
3602
|
+
|
|
3603
|
+
```
|
|
3604
|
+
Configured http.port "03999" normalised to 3999.
|
|
3605
|
+
```
|
|
3598
3606
|
|
|
3599
3607
|
### How readiness is reported
|
|
3600
3608
|
|
package/package.json
CHANGED
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
"@mongez/slug": "^1.0.7",
|
|
26
26
|
"@mongez/supportive-is": "^2.1.4",
|
|
27
27
|
"@mongez/time-wizard": "^1.0.6",
|
|
28
|
-
"@warlock.js/auth": "5.3.
|
|
29
|
-
"@warlock.js/cache": "5.3.
|
|
30
|
-
"@warlock.js/cascade": "5.3.
|
|
31
|
-
"@warlock.js/context": "5.3.
|
|
32
|
-
"@warlock.js/logger": "5.3.
|
|
33
|
-
"@warlock.js/seal": "5.3.
|
|
34
|
-
"@warlock.js/fs": "5.3.
|
|
28
|
+
"@warlock.js/auth": "5.3.2",
|
|
29
|
+
"@warlock.js/cache": "5.3.2",
|
|
30
|
+
"@warlock.js/cascade": "5.3.2",
|
|
31
|
+
"@warlock.js/context": "5.3.2",
|
|
32
|
+
"@warlock.js/logger": "5.3.2",
|
|
33
|
+
"@warlock.js/seal": "5.3.2",
|
|
34
|
+
"@warlock.js/fs": "5.3.2",
|
|
35
35
|
"chokidar": "^5.0.0",
|
|
36
36
|
"dayjs": "^1.11.19",
|
|
37
37
|
"es-module-lexer": "^2.0.0",
|
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
"react": "^19.2.3",
|
|
58
58
|
"react-dom": "^19.2.3",
|
|
59
59
|
"@react-email/render": "^2.0.5",
|
|
60
|
-
"@warlock.js/herald": "5.3.
|
|
61
|
-
"@warlock.js/ai": "5.3.
|
|
62
|
-
"@warlock.js/access": "5.3.
|
|
63
|
-
"@warlock.js/notifications": "5.3.
|
|
60
|
+
"@warlock.js/herald": "5.3.2",
|
|
61
|
+
"@warlock.js/ai": "5.3.2",
|
|
62
|
+
"@warlock.js/access": "5.3.2",
|
|
63
|
+
"@warlock.js/notifications": "5.3.2"
|
|
64
64
|
},
|
|
65
65
|
"peerDependenciesMeta": {
|
|
66
66
|
"sharp": {
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
],
|
|
124
124
|
"author": "hassanzohdy",
|
|
125
125
|
"license": "MIT",
|
|
126
|
-
"version": "5.3.
|
|
126
|
+
"version": "5.3.2",
|
|
127
127
|
"type": "module",
|
|
128
128
|
"main": "./esm/index.mjs",
|
|
129
129
|
"module": "./esm/index.mjs",
|
package/skills/run-app/SKILL.md
CHANGED
|
@@ -309,7 +309,7 @@ The third line is conditional on the parent having actually seen child output. W
|
|
|
309
309
|
|
|
310
310
|
That distinction is the point of the change: an unhelpful "see above" printed above an empty terminal used to be the entire diagnostic.
|
|
311
311
|
|
|
312
|
-
**Port already in use.** The
|
|
312
|
+
**Port already in use.** The port is preflighted twice: once **before the early-phase connectors**, so a collision is reported without waiting for the database to connect, and again in the HTTP connector immediately before `listen()`, because a port can be taken in the seconds between the two. Either way the collision is named rather than surfacing as a raw `EADDRINUSE` from inside Fastify:
|
|
313
313
|
|
|
314
314
|
```
|
|
315
315
|
EADDRINUSE: Port 3000 is already in use on 127.0.0.1. Stop the dev server (or whatever
|
|
@@ -317,7 +317,15 @@ else is listening on port 3000) and run again, or start on a free port — e.g.
|
|
|
317
317
|
startHttpTestServer({ port: 3001 }).
|
|
318
318
|
```
|
|
319
319
|
|
|
320
|
-
The
|
|
320
|
+
**The process exits `78` (`EX_CONFIG`), and `warlock dev`'s supervisor treats that as terminal — it prints once and stops rather than restarting.** That code is the counterpart of `75`, which a worker uses to ask for a fresh process. The distinction is the point: a code error is worth restarting, and a *startup precondition* — a port held by something else, a port value that is not a port, a boot validator that rejected — cannot change because we tried again six seconds later. Retrying one only reprints the diagnostic and then scrolls it away.
|
|
321
|
+
|
|
322
|
+
`EACCES` on the port is treated the same way as `EADDRINUSE` (a privileged port you may not bind is also "not available"); anything else the probe throws is rethrown untouched.
|
|
323
|
+
|
|
324
|
+
**A configured port is normalised before anything binds.** `env()` coerces a `.env` value to a number only when it round-trips exactly, so `HTTP_PORT=03999`, `" 3999"`, `+3999` and `1e3` all arrive as strings. They are resolved to a canonical integer first — used for the preflight, for `listen()`, and for the port reported to a supervisor — and a value that cannot become a usable port fails naming it. When the raw value was not already canonical, one line says so:
|
|
325
|
+
|
|
326
|
+
```
|
|
327
|
+
Configured http.port "03999" normalised to 3999.
|
|
328
|
+
```
|
|
321
329
|
|
|
322
330
|
### How readiness is reported
|
|
323
331
|
|