Changelog
All notable changes to @mongez/pkgist are documented here. The format follows Keep a Changelog and this project follows Semantic Versioning.
[1.5.0] 2026-06-06 Changed (1)
Changed
-
Build output and source snapshots now preserve the package scope as a directory. Previously the scope was stripped, flattening every package into a single level (
@mongez/cache→builds/cache/<version>/) and risking name collisions across scopes. Scoped packages now land at<buildDir>/<scope>/<name>/<version>/(e.g.builds/@mongez/cache/1.3.5/); unscoped packages stay at the root (e.g.builds/create-warlock/4.1.16/). Source snapshots follow the same shape (<sourcesDir>/<scope>/<name>/). The change mirrors hownode_modules/@scope/...is laid out and keeps a release runner that hosts many scopes (@mongez+@warlock.jsside by side) organised on disk.Migration: existing artifacts at the old flat paths are orphaned by the upgrade. Either delete them, move them under the new
<scope>/directory, or just let the next build re-populate. Nopkgist.config.tschange is required —buildDirandsourcesDirkeep their existing values; only the per-package leaf path changes.
[1.4.0] 2026-06-06 Added (1)
Added
- Per-run
--bumpand--commitCLI overrides onbuild,build:family, andbuild:all.--bump <strategy>overrides the configuredversionfor that invocation (patch/minor/major/auto/ an explicitx.y.z);--commit [message]overrides the configuredcommit(a message string, or a bare--committo auto-generateReleased <version>). Both apply to the single run only and never mutatepkgist.config.ts— so the config file stays a static package registry and concurrent release sessions no longer clobber each other’sversion/commitedits. Precedence: CLI flag > family-levelcommit> per-package config;--no-gitstill overrides any resolved commit message. The version flag is named--bump(not--version) because commander reserves--versionfor the rootpkgist --versionprinter.
[1.3.0] 2026-06-04 Added (1) · Changed (3) · Fixed (1) · Docs (2)
Added
pkgist initcommand. Scaffolds apkgist.config.tsin the current directory (buildDir: "./builds",sourcesDir: "./sources", one example package). Skips an existing config unless--forceis passed — the fastest path fromnpm installto a working config.
Changed
- Single config file. Config discovery now recognises only
pkgist.config.ts(thenpkgist.config.js). Thebuilder.ts/builder.js/mongez.ts/mongez.jslegacy aliases are gone — one obvious config name, no guessing. Pass--config <path>for a custom location. Migration: renamebuilder.ts→pkgist.config.ts. - The shipped example template is renamed
builder.example.ts→pkgist.config.example.ts. - pkgist now publishes ESM-only (
mainType: "esm",formats: ["esm"]). It targets Node 18+.
Fixed
- The published
pkgistCLI binary runs. Earlier releases shipped a CommonJS binary (cjs/cli.cjs) that crashed on the first log line —chalkv5 is ESM-only and can’t berequired from CommonJS. Publishing ESM-only (bin→esm/cli.mjs) meansnpx pkgist,pkgist init, and every other command actually work for installed consumers. (Internal monorepo releases were unaffected because they run the ESM engine, not the published binary.)
Docs
- Rewrote the README into a professional, beginner→advanced reference (badges, “Why pkgist?”, feature table, quick start, then config → package options → versioning → git → CLI → pipeline → recipes).
- Every changelog entry is now dated — here, in the docs Change Logs page, and in the
changelogskill.
[1.2.0] 2026-06-04 Added (2) · Fixed (3) · Docs (3)
Added
- Intra-family dependency pinning. In a family build, any
dependencies/peerDependenciesentry that names another family member is now pinned to the exact shared release version in the publishedpackage.json(the source keeps"*"for workspace linking). Standalone builds are unaffected. This stops"*"from leaking to consumers and keeps a released family installable as one coherent, same-version set. changelogskill (skills/changelog/) mirroring this file, plus a Change Logs page in the docs site — so version history auto-loads for AI agents and is tracked on every release.
Fixed
--no-gitis now honoured. commander stores the negated flag under its positive attribute (git === false), but the build commands readopts.noGit(alwaysundefined), so--no-gitwas silently ignored and git still ran. The commands now read the rawgitattribute, mirroring the existing--no-publishhandling. Affectsbuild,build:family, andbuild:all.src/build/is tracked by git again. A barebuildline in.gitignorematches at any depth, which silently untracked the entire build-pipeline source (package-builder.ts,family-builder.ts,parallel-builder.ts,index.ts) — including the dependency-pinning wiring. The ignore rules are now anchored to the package root (/dist,/build).- The published
pkgistCLI binary works.binpointed atdist/cli.js— the local tsup-dev layout, which is absent from the engine-built package (it shipscjs/+esm/, nodist/).binnow points atcjs/cli.cjs, the real build output, sonpm i -g @mongez/pkgistproduces a workingpkgistcommand.
Docs
- Documented intra-family dependency pinning across the
versioning+pipelineskills, README, the docs site, andllms-full.txt. - Corrected long-standing drift in
llms-full.txt: the “kept fields” list (dropped the fields that pkgist actually strips), the source-snapshot exclusion list (added.turbo,.cache), and the config auto-discovery note (six filenames, not two). - Aligned the documented git pipeline to the real commands:
git add -Aandgit push origin --tags.
[1.1.3] 2026-06-03 Added (1) · Fixed (1)
Added
- Per-topic skills (
skills/) plusllms.txt/llms-full.txtfor AI-agent auto-loading, an expanded install section (npm / yarn / pnpm) with a CLI quick example, and a CI build smoke-test workflow (Node 20/22 on Ubuntu, Node 20 on Windows).
Fixed
- Reconciled several documentation drift items against source during a skills polish pass.
[1.1.2] 2026-05-29 Added (1)
Added
- This changelog. No code changes — the package remains the tsdown-powered build/version/publish tool: standalone + version-synchronised families, dual ESM+CJS output, asset cloning, git tag + push automation, and
--dry-run.
Version history prior to 1.1.0 is available via the git tags and GitHub releases on hassanzohdy/pkgist.
[1.1.0] 2026-05-27 Added (1)
Added
commitfield acceptstrue/falsein addition to a string.trueauto-generates aReleased <version>message (set-and-forget);falseexplicitly skips git; a string is used verbatim; omitting it skips git (back-compat).