@hublo/sentinel 1.5.0-alpha.23 → 1.5.0-alpha.25

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 CHANGED
@@ -137,7 +137,7 @@ The per-tool knowledge (eslint → `eslint.config.js`, tsc → `tsconfig`, …)
137
137
 
138
138
  **Registry: public npm**, under `@hublo`. We started on **GitHub Packages (private)** and moved off it: it authenticates every consumer, including a one-off run, which is incompatible with the zero-setup adoption above. Public npm needs no consumer auth, so a module adopts sentinel without any `.npmrc` or token. Releases go out through the repo's `publish` workflow, never from a laptop; a prerelease is published under its prerelease dist-tag (`alpha`) and a stable one under `latest`.
139
139
 
140
- **Node.** sentinel needs **Node >= 20.12** (its coloured output uses `util.styleText`, added in 20.12). It fails fast with a clear message on an older runtime rather than crashing. If a project runs on an older Node (e.g. a legacy app on Node 10), run sentinel with a modern Node via `fnm`/`nvm`; you do not need to change the project's own Node.
140
+ **Node.** sentinel needs **Node >= 24.15**, which is the version the monorepo it serves pins in its own `.node-version`. The floor follows the consumer deliberately: a lower one means testing a runtime nobody runs, and it twice let an API through that the types allowed and the runtime did not. It fails fast with a clear message on an older runtime rather than crashing. If a project runs on an older Node (e.g. a legacy app on Node 10), run sentinel with a modern Node via `fnm`/`nvm`; you do not need to change the project's own Node.
141
141
 
142
142
  **Try it without installing.** A one-off run needs no auth and touches nothing:
143
143
 
@@ -15,10 +15,10 @@ import {
15
15
  palette,
16
16
  registerAdapters,
17
17
  resolve
18
- } from "../chunk-TL2P2X45.js";
18
+ } from "../chunk-I3IEZLBG.js";
19
19
  import {
20
20
  resolveContext
21
- } from "../chunk-IFK6KGUW.js";
21
+ } from "../chunk-ZMVI65FF.js";
22
22
  import {
23
23
  ensureWorkspacePrep,
24
24
  findWorkspaceRoot,
@@ -26,7 +26,7 @@ import {
26
26
  readOwnVersion,
27
27
  readProjectPackageJson
28
28
  } from "../chunk-JEYGPPSL.js";
29
- import "../chunk-AYEOGJQR.js";
29
+ import "../chunk-K6MEJRFG.js";
30
30
  import "../chunk-O7REVMOC.js";
31
31
  import "../chunk-QXFCZON7.js";
32
32
 
@@ -148,7 +148,7 @@ async function runValidate(ctx) {
148
148
  );
149
149
  }
150
150
  if (!ctx.targets.includes("test")) return 1;
151
- const { validateModuleTests } = await import("../validate-7VBODB4M.js");
151
+ const { validateModuleTests } = await import("../validate-AOJGDBHA.js");
152
152
  const outcomes = modules.flatMap(
153
153
  (module) => validateModuleTests(module.name, module.root)
154
154
  );
@@ -549,7 +549,7 @@ async function runVerb(ctx) {
549
549
  }
550
550
 
551
551
  // src/shared/node-version.ts
552
- var MIN_NODE = "20.12.0";
552
+ var MIN_NODE = "24.15.0";
553
553
  function parts(version) {
554
554
  const [major = 0, minor = 0, patch = 0] = version.replace(/^v/, "").split(".").map((n) => Number.parseInt(n, 10) || 0);
555
555
  return [major, minor, patch];