{"id":22861844,"url":"https://github.com/escapace/pnpm-pack","last_synced_at":"2026-02-10T20:17:09.063Z","repository":{"id":230783321,"uuid":"780180037","full_name":"escapace/pnpm-pack","owner":"escapace","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T11:56:56.000Z","size":440,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"trunk","last_synced_at":"2024-10-29T13:35:20.138Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/escapace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-31T23:06:38.000Z","updated_at":"2024-10-28T04:57:05.000Z","dependencies_parsed_at":"2024-11-06T18:35:21.978Z","dependency_job_id":null,"html_url":"https://github.com/escapace/pnpm-pack","commit_stats":null,"previous_names":["escapace/pnpm-pack"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapace%2Fpnpm-pack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapace%2Fpnpm-pack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapace%2Fpnpm-pack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapace%2Fpnpm-pack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/escapace","download_url":"https://codeload.github.com/escapace/pnpm-pack/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229524510,"owners_count":18086549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-13T10:11:14.801Z","updated_at":"2026-02-10T20:17:09.054Z","avatar_url":"https://github.com/escapace.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pnpm-pack\n\n`pnpm-pack` packages pnpm projects and workspaces into a gzip-compressed tarball (`.tgz`) by default, or extracts package files to a directory when `--extract` is used.\n\nAvailable commands:\n\n- `package` — package the nearest project (nearest `package.json`)\n- `workspace` — package all workspace packages, or a filtered subset (nearest `pnpm-workspace.yaml`)\n\n## Quick start\n\n```bash\npnpm-pack package --version 1.2.3\npnpm-pack workspace --version 1.2.3\n```\n\nBy default, artifacts are written to `./lib`. With `--extract`, the destination defaults to `./lib/package`. Archive names follow `\u003cpackage-name\u003e-\u003cversion\u003e.tgz`.\n\n## Common options\n\n- `--version \u003csemver\u003e` sets the version used for packaging and for resulting artifact names.\n- `--pack-destination \u003cpath\u003e` controls where artifacts are written.\n- `--extract` extracts package files to a directory instead of writing a tarball.\n- `--no-build` skips running `pnpm run build` before packaging.\n- `--production` and `--development` create an artifact that includes an isolated `node_modules` based on pnpm deploy behavior.\n- `--no-optional` omits optional dependencies when `--production` or `--development` is used.\n- `--no-redact-readme` keeps README-like file contents in packaged artifacts.\n- `--silent` suppresses output from child commands (`pnpm`, `tar`, and build scripts).\n\nDestination constraints:\n\n- `--pack-destination` must be a relative path.\n- With `--extract`, `--pack-destination` must be a directory path (for example `dist/package`).\n- Without `--extract`, `--pack-destination` may be a directory path or an explicit tarball path ending in `.tgz` / `.tar.gz`.\n\n## Command: `package`\n\nCreates an artifact for the nearest project.\n\nExample:\n\n```bash\npnpm-pack package --version 1.2.3 --pack-destination dist\n```\n\n## Command: `workspace`\n\nPackages a workspace from the nearest workspace root (`pnpm-workspace.yaml`).\n\nBy default, the workspace archive is written to `./lib/\u003cworkspace-root-name\u003e-\u003cversion\u003e.tgz`.\n\nWorkspace packaging also writes per-package tarballs under each selected package’s `lib/` directory.\n\nExamples:\n\n```bash\npnpm-pack workspace --version 1.2.3 --pack-destination dist\npnpm-pack workspace --version 1.2.3 --filter @scope/app...\npnpm-pack workspace --version 1.2.3 --filter-prod @scope/app...\n```\n\nWorkspace selection:\n\n- `--filter` selects workspace packages using pnpm [filtering selectors](https://pnpm.io/filtering).\n- `--filter-prod` applies the same selector syntax but omits `devDependencies` when selecting dependency projects.\n- `--test-pattern` marks test-file globs for pnpm changed-since filtering; see [pnpm docs](https://pnpm.io/filtering#--test-pattern-glob).\n- `--changed-files-ignore-pattern` defines globs pnpm should ignore when computing changed projects; see [pnpm docs](https://pnpm.io/filtering#--changed-files-ignore-pattern-glob).\n- `--workspace-concurrency \u003cnumber\u003e` sets workspace command parallelism.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fescapace%2Fpnpm-pack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fescapace%2Fpnpm-pack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fescapace%2Fpnpm-pack/lists"}