preconditions 4.0.0 → 4.0.3

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 (2) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/package.json +3 -3
package/CHANGELOG.md ADDED
@@ -0,0 +1,63 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [4.0.3] - 2026-05-15
9
+
10
+ ### Changed
11
+
12
+ - **`engines.node`** set to **`>=20.0.0`** (broader support while staying aligned with **errr** 5.x).
13
+
14
+ ## [4.0.2] - 2026-05-15
15
+
16
+ ### Changed
17
+
18
+ - **`errr`** raised to **5.2.0** (see [errr changelog](https://github.com/corybill/errr/blob/master/CHANGELOG.md)).
19
+
20
+ ### Added
21
+
22
+ - This **`CHANGELOG.md`**.
23
+
24
+ ## [4.0.1] - 2026-05-15
25
+
26
+ ### Changed
27
+
28
+ - **`errr`** raised from 5.0.x to **5.1.0** (e.g. `formatDebugParams` and related debug-stack helpers in errr).
29
+
30
+ ## [4.0.0] - 2026-05-15
31
+
32
+ ### Added
33
+
34
+ - **ESM** package layout (`"type": "module"`) with explicit **`exports`**: `import` → `lib/preconditions.js`, `require` → `lib/preconditions.cjs` (CommonJS consumers still use `require("preconditions")` unchanged).
35
+ - **`lib/util/type-checks.js`** — native type checks replacing the **`core-util-is`** dependency.
36
+ - **`eslint.config.js`** — ESLint 9 flat config.
37
+ - **GitHub Actions** CI (`.github/workflows/ci.yml`) on Node.js **24.x** and **25.x**; `actions/checkout@v5`, `actions/setup-node@v6`.
38
+ - **`npm overrides`** for dev dependency trees (e.g. maddox + mocha) to keep audits clean.
39
+
40
+ ### Changed
41
+
42
+ - **Minimum Node.js** is **24** (`engines.node`: `>=24.0.0`).
43
+ - **`errr`** updated to **5.x** (fluent builder API remains; `ErrrDecorator` still uses `Errr.newError`, `.debug`, `.appendTo`, `.throw`).
44
+ - **Dev tooling**: Mocha 11, Chai 5, **Maddox 4** (default export wrapper in `spec/maddox.js`), jsdoc-to-markdown 9.
45
+ - **Singleton** message formatting uses `node:util` **`format`** instead of `util.format.apply`.
46
+ - README build badge points to GitHub Actions instead of Travis CI.
47
+
48
+ ### Removed
49
+
50
+ - **`core-util-is`** dependency.
51
+ - **`.travis.yml`** (replaced by GitHub Actions).
52
+ - Legacy scripts such as **`coverage`** that referenced a missing `bin/maddox-cov.js`.
53
+
54
+ ### Breaking
55
+
56
+ - **4.0.0** initially required **Node 24+** in `package.json` **`engines`**; **4.0.3** widens support to **Node 20+** (`>=20.0.0`).
57
+ - **`errr` 5.x** is required as a runtime dependency; upgrade errr in consuming apps if they pin it tightly.
58
+ - **`core-util-is`** is no longer a transitive dependency.
59
+
60
+ [4.0.3]: https://github.com/corybill/preconditions/compare/v4.0.2...v4.0.3
61
+ [4.0.2]: https://github.com/corybill/preconditions/compare/v4.0.1...v4.0.2
62
+ [4.0.1]: https://github.com/corybill/preconditions/compare/v4.0.0...v4.0.1
63
+ [4.0.0]: https://github.com/corybill/preconditions/compare/v3.0.2...v4.0.0
package/package.json CHANGED
@@ -10,14 +10,14 @@
10
10
  "default": "./lib/preconditions.js"
11
11
  }
12
12
  },
13
- "version": "4.0.0",
13
+ "version": "4.0.3",
14
14
  "description": "Support for Precondition error checking in Node.js.",
15
15
  "homepage": "https://github.com/corybill/preconditions",
16
16
  "bugs": {
17
17
  "url": "https://github.com/corybill/preconditions/issues"
18
18
  },
19
19
  "engines": {
20
- "node": ">=24.0.0"
20
+ "node": ">=20.0.0"
21
21
  },
22
22
  "scripts": {
23
23
  "test": "npm run ut && npm run lint",
@@ -38,7 +38,7 @@
38
38
  "url": "https://github.com/corybill/preconditions.git"
39
39
  },
40
40
  "dependencies": {
41
- "errr": "^5.0.0"
41
+ "errr": "^5.2.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@eslint/js": "^9.39.1",