Releases: cyberuni/fixture
Release list
v6.0.1
Patch Changes
-
0bec60d: Move the TypeScript sources from
ts/tosrc/.The published package now ships its sources under
src/, and the emitted
declaration and source maps resolve against that path. The public entry points
(esm/index.js,esm/index.d.ts) are unchanged.
v6.0.0
Major Changes
-
fa8b087: Adopt the current majors of the first-party dependencies:
standard-log
^11.5.2->^13.2.0,standard-log-color^12.0.0->^13.2.0,tersify
^3.12.1->^4.0.7, andiso-error^6.0.5->^7.0.0.Why this matters to consumers. Installing
@unional/fixture@5.0.0resolved
five majors oftype-plusand two oftersify. The oldstandard-log@11line
pulls@just-func/types@0.5.1, which still depends ontype-plus@^5.0.0, so
type-plus@5.6.0andtype-plus@6.8.1were nested under this package in every
consumer's tree, andtersify@3.12.1was hoisted out of it. This release
removes all three:type-plusandtersifyeach resolve to a single version
(8.0.0-beta.10and4.0.7), andstandard-logto13.2.0only.Breaking.
Logger(standard-log),IsoError(iso-error) and
Tersible(tersify) all appear in this package's emitted.d.ts, so a
consumer's own copies of those packages must move with it.standard-log@13
also drops ES5 output.engines.nodeis unchanged at>= 20;iso-error@7.0.0's major was that same
raise, which this package had already made.No behaviour of
@unional/fixturechanges. The only source change is in a
test:createStandardLogForTest()moved to thestandard-log/testingsubpath
instandard-log@12.tersify@4preserves the source's own quote style rather
than normalising to double quotes, but no assertion in this package's suite
embeds tersified function source, so no expectation moved.
v5.0.0
Major Changes
-
56090b6: Pin
type-plusto the exact version8.0.0-beta.10.type-plus8 is still a prerelease line where breaking changes have landed between
betas (for examplebeta.10changedEqual's signature and removedisType.f), so
type-plusis pinned to an exact version rather than a caret range:^8.0.0-beta.10
would admit every later 8.0.0 prerelease plus8.0.0and8.1.0, letting a lockfile
refresh silently pull in a breaking prerelease. An exact pin makes each bump a
reviewable PR instead.type-plustypes are re-exported through this package's public API (PartialPick
incommand.d.ts), so consumers now inherittype-plus@8'stypescript >= 5.6.0
peer dependency requirement.Also raises the minimum supported Node.js version from
>= 18to>= 20, matching
the floor required bytype-plus@8'sunpartialdependency (engines: { node: '>= 20' }). This is independently breaking for consumers still on Node 18 or 19.Migration:
- Ensure your project uses TypeScript
>= 5.6.0. - Ensure your project runs on Node.js
>= 20.
This release lets
clibuilder,repobuddyandmocktomatadrop a stale transitive
type-plusthat this package was keeping alive. - Ensure your project uses TypeScript
v4.0.0
Major Changes
-
b1f2eab: Drop CommonJS support. The package is now ESM-only.
There is no
cjs/output any more andexportsresolves only to
./esm/index.js. Import it:import { baseline } from '@unional/fixture'
What this breaks, precisely:
require('@unional/fixture')from a CommonJS file on Node older than 22.12
now throwsERR_REQUIRE_ESM. Move the calling test file to ESM, or use
const { baseline } = await import('@unional/fixture').- On Node 22.12 and newer,
require()of an ES module is supported by Node
itself and keeps working against the ESM entry.
engines.nodeis now declared as>= 18— the floor the dependencies already
required, previously left unstated.Node builtins are now imported with the
node:prefix (node:fs,node:path,
node:os), which is what the publishedesm/output carries. Barefsdoes not
resolve under Deno;node:fsresolves under Node, Deno and Bun alike, so the
package is importable from more runtimes than before.Nothing the ESM entry exports changed: same names, same types, same
esm/
paths as 3.2.x.
Patch Changes
-
4e085ac: Drop the
mkdirpdependency in favour offs.mkdirSync(path, { recursive: true }).ensureFolderExist()behaves identically —mkdirp.synchas been a wrapper over
Node's own recursive mkdir since Node 10. Removing it also removes the stale
@types/mkdirp(v1 types against a v2 runtime) and retires the renovate PR that
could not pass: mkdirp v3 dropped the default export, soimport mkdirp from 'mkdirp'
fails outright.
v3.2.18
Patch Changes
-
476100c: Point
repository,homepageandbugsatcyberuni/fixture.repositoryis read when generating provenance attestations, so it has to be correct at
publish time — not merely correct in the repo.