بنقرة واحدة
pkgist
يحتوي pkgist على 9 من skills المجمعة من hassanzohdy، مع تغطية مهنية على مستوى المستودع وصفحات skill داخل الموقع.
Skills في هذا المستودع
Release history for `@mongez/pkgist` — what changed in each version, each entry dated (`## [x.y.z] - YYYY-MM-DD`). Load this to answer "what's new in pkgist", "when did intra-family dependency pinning land", "which version fixed `--no-git`", "what changed between versions", or before bumping/releasing pkgist. Mirrors the package CHANGELOG.md (Keep a Changelog + SemVer). Newest version first.
Per-package build pipeline: 1) load source package.json, 2) resolve new version, 3) create build dir, 4) snapshot source to sourcesDir (excludes .git/node_modules/dist), 5) compile via tsdown to esm/+cjs/, 6) clone extra files, 7) write clean build package.json, 8) update source package.json version in-place, 9) git add/commit/push/tag, 10) npm publish from build dir. Output structure with preserveModules true/false documented.
pkgist CLI commands and flags: `init` (scaffold pkgist.config.ts), `build [pkg...]` (one or more standalone), `build:family <name>` (one synchronized family), `build:all` (every standalone + every family), `list` (show registered packages with current versions), `validate` (check config + paths). Common flags: `--dry-run`, `--no-publish`, `--no-git`, `--bump <strategy>` (per-run version override), `--commit [message]` (per-run commit-message override), `--concurrency <n>`, `--config <path>`, `--verbose`.
pkgist git automation: `commit` field accepts `string` (explicit message), `true` (auto-generates `Released <new-version>`, added in 1.1.0), `false` (explicit skip), or omitted (skip, back-compat default). When git runs, pipeline is `git add -A → git commit → git push → git tag v<version> → git push origin --tags`. Family-level `commit` overrides per-package commit. Optional `branch` field overrides the push target.
Version-bump strategies for pkgist packages: `"auto"` / `"patch"` (default, bumps patch digit), `"minor"`, `"major"`, or any literal semver string. Standalone packages bump from their own current version. Families take the highest current version across all members and bump that, landing all members on the same new version. In a family build, intra-family dependencies (sibling deps written as `"*"` in source) are pinned to the exact shared release version in the published package.json.
pkgist config file shape: a single `pkgist.config.ts` (or `.js`) with `defineConfig({ settings, standalone, families })`. Scaffold it with `pkgist init`. Auto-discovered from cwd; runtime-loaded via dynamic import so it can use ESM `import` syntax freely. Settings block covers concurrency, buildDir, sourcesDir.
@mongez/pkgist — build, version, and publish tool for TypeScript/React npm packages. Powered by tsdown (Rolldown/Rust-based). Standalone packages or version-synchronised families, dual ESM+CJS, git tag+push automation, dry-run mode.
Every per-package field accepted in `standalone[]` and `families[].packages[]`: `name`, `root`, `type`, `formats`, `mainType`, `entries`, `srcDir`, `dts`, `sourcemap`, `minify`, `preserveModules`, `clone`, `publish`, `access`, `commit`, `branch`. Defaults, semantics, and which fields are standalone-only or family-level-only.
Common pkgist patterns ready to copy: single TypeScript library, React component package, Vite/ESM-only plugin, package with library + CLI entries, build-only (no publish) package, family of synchronized packages, hands-off `commit: true` config, monorepo with mixed packages, dry-run-first release flow, hotfix one package, build everything without publishing.