diff --git a/README.md b/README.md index 958cf25..f482418 100644 --- a/README.md +++ b/README.md @@ -14,19 +14,17 @@ Relative paths resolve from the file that calls wisp, not from wisp's own locati ## ✨ What's New -### Latest: v1.0.7 (October 2026) +### Latest: v1.0.8 (October 2026) -- **`require()` works in bundles and fails clearly on older Node.js** — `index.cjs` now loads the ESM entry with a plain `require("./index.mjs")` instead of `createRequire(__filename)`, so `require("@cldmv/wisp")` survives esbuild and webpack bundling. On Node.js versions without synchronous `require(esm)`, where `require()` never worked, it now throws an `ERR_REQUIRE_ESM` error that names the supported versions (`^20.19.0` or `>=22.12.0`) and points to `import()` ([#30](https://github.com/CLDMV/wisp/pull/30)). -- **A failed validation throws instead of loading the fallback** — `fallback` is now used only when the primary file cannot be read or parsed; a `validate` rejection is reported as an error, and a fallback that also fails no longer loops forever ([#35](https://github.com/CLDMV/wisp/pull/35)). On the `import()` paths, a `validate` rejection now throws the validation error once instead of `Unsupported type`, and `reviver` / `validate` on a module without a default export receive a plain-object copy of its exports instead of failing ([#41](https://github.com/CLDMV/wisp/pull/41)). The package is also relicensed under Apache-2.0 ([#34](https://github.com/CLDMV/wisp/pull/34)). -- **Built package in `dist/`** — the published package is now bundled with tsup into `dist/index.mjs`, with `dist/index.cjs` as a thin `require()` wrapper, and ships only `dist/`, `types/`, `README.md` and `LICENSE`. `import` and `require()` of `@cldmv/wisp` work exactly as before; code that loaded the old root `index.mjs` / `index.cjs` or `src/` files by path must use the package specifier ([#40](https://github.com/CLDMV/wisp/pull/40)). The test suite now runs on `@cldmv/vitest-runner` with 100% coverage ([#37](https://github.com/CLDMV/wisp/pull/37)). -- [View full v1.0.7 Changelog](https://github.com/CLDMV/wisp/blob/master/docs/changelog/v1/v1.0.7.md) +- **Development-dependency patch, no runtime change** — `@types/node` moves from 26.6.3 to 26.6.4 in the lockfile ([#46](https://github.com/CLDMV/wisp/pull/46)). The published package differs from v1.0.7 only in its `version` field. +- [View full v1.0.8 Changelog](https://github.com/CLDMV/wisp/blob/master/docs/changelog/v1/v1.0.8.md) ### Recent Releases +- **v1.0.7** (October 2026) — `require()` works inside esbuild and webpack bundles and fails clearly on older Node.js; a failed `validate` throws instead of loading the `fallback`; the package is now built into `dist/` and relicensed under Apache-2.0 ([Changelog](https://github.com/CLDMV/wisp/blob/master/docs/changelog/v1/v1.0.7.md)) - **v1.0.6** (October 2026) — Uniform file headers via `@cldmv/fix-headers`, a CI fix and a development-dependency security update; no runtime change ([Changelog](https://github.com/CLDMV/wisp/blob/master/docs/changelog/v1/v1.0.6.md)) - **v1.0.5** (October 2026) — First npm release since v1.0.1; TypeScript 6, chai 6 and `@types/node` 26 for development, v4 workflow syncs; no runtime change ([Changelog](https://github.com/CLDMV/wisp/blob/master/docs/changelog/v1/v1.0.5.md)) - **v1.0.4** (September 2026) — Thrown errors now carry the original error as `cause`; ESLint wired up; mocha 12 ([Changelog](https://github.com/CLDMV/wisp/blob/master/docs/changelog/v1/v1.0.4.md)) -- **v1.0.3** (August 2026) — Development-dependency security update (`picomatch`); no runtime change ([Changelog](https://github.com/CLDMV/wisp/blob/master/docs/changelog/v1/v1.0.3.md)) 📚 **For complete version history and detailed release notes, see the [docs/changelog/](https://github.com/CLDMV/wisp/tree/master/docs/changelog/) folder.** diff --git a/docs/changelog/v1/v1.0.8.md b/docs/changelog/v1/v1.0.8.md new file mode 100644 index 0000000..9798f90 --- /dev/null +++ b/docs/changelog/v1/v1.0.8.md @@ -0,0 +1,30 @@ +# `@cldmv/wisp` v1.0.8 Changelog + +**Release Date**: October 2026 +**Release Type**: Patch +**Branch**: `release/1.0.8` + +--- + +## Overview + +A one-line development-dependency patch: `@types/node` 26.6.3 → 26.6.4 ([#46](https://github.com/CLDMV/wisp/pull/46)). The only files that differ from [v1.0.7](./v1.0.7.md) are `package.json` (the version number) and `package-lock.json`. The `package.json` range `^26.6.2` already allowed the new version, so the lockfile is the only place the bump is recorded. + +`@types/node` is a development dependency used by the TypeScript type check (`npm run types:check`, part of `npm run build:ci`). It does not enter the published tarball, which still contains only `dist/`, `types/`, `README.md` and `LICENSE`, and the package still has no runtime dependencies. With the bump in place `npm run build:ci` (lint, format check, `tsc`, the build, the test suite and the type check) passes. + +--- + +## 🔧 Dependencies + +- **`@types/node` 26.6.3 → 26.6.4** ([#46](https://github.com/CLDMV/wisp/pull/46)), a lockfile-only patch update within the existing `^26.6.2` range. It is the only entry in the lockfile that changed, and its declared dependencies are unchanged. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.8.md](./v1.0.8.md): this changelog. +- README What's New promoted to v1.0.8. + +--- + +## Upgrade notes + +- No breaking changes and no runtime change: drop-in for [v1.0.7](./v1.0.7.md). `engines.node` (`>=16.0.0`) is unchanged, and the supported Node.js versions for `import` and `require()` are the same. diff --git a/package-lock.json b/package-lock.json index c6999a6..291769c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@cldmv/wisp", - "version": "1.0.7", + "version": "1.0.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@cldmv/wisp", - "version": "1.0.7", + "version": "1.0.8", "license": "Apache-2.0", "devDependencies": { "@cldmv/configs": "^1.2.4", @@ -1814,9 +1814,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.3.tgz", - "integrity": "sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==", + "version": "26.6.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz", + "integrity": "sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 0d09794..3767912 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@cldmv/wisp", - "version": "1.0.7", + "version": "1.0.8", "description": "Version-agnostic JSON importing for Node.js with fallback handling and caller path resolution.", "type": "module", "main": "./dist/index.cjs",