{"id":23081137,"url":"https://github.com/unfold/heroku-buildpack-pnpm","last_synced_at":"2025-08-15T23:31:16.204Z","repository":{"id":38315401,"uuid":"435459374","full_name":"unfold/heroku-buildpack-pnpm","owner":"unfold","description":"Run PNPM install on Heroku","archived":false,"fork":false,"pushed_at":"2023-05-15T13:49:37.000Z","size":32047,"stargazers_count":38,"open_issues_count":13,"forks_count":39,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-04T00:33:44.474Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unfold.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2021-12-06T10:49:52.000Z","updated_at":"2024-06-20T14:07:08.000Z","dependencies_parsed_at":"2023-02-13T22:45:17.121Z","dependency_job_id":null,"html_url":"https://github.com/unfold/heroku-buildpack-pnpm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/unfold/heroku-buildpack-pnpm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unfold%2Fheroku-buildpack-pnpm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unfold%2Fheroku-buildpack-pnpm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unfold%2Fheroku-buildpack-pnpm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unfold%2Fheroku-buildpack-pnpm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unfold","download_url":"https://codeload.github.com/unfold/heroku-buildpack-pnpm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unfold%2Fheroku-buildpack-pnpm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270644764,"owners_count":24621332,"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","status":"online","status_checked_at":"2025-08-15T02:00:12.559Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-16T13:47:57.516Z","updated_at":"2025-08-15T23:31:11.730Z","avatar_url":"https://github.com/unfold.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PNPM compatible Buildpack for Heroku and Node.js\n\nThis is an unofficial buildpack for the official [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Node.js apps.\n\nIt supports pnpm in addition to yarn/npm. As long as the root of your project contains a `pnpm-lock.yaml` file, PNPM will be used to install all dependencies.\n\n## Documentation\n\nThis will run a regular `pnpm install` in the Heroku environment. It will install `devDependencies` initially, regardless of the NODE_ENV setting, and then runs `pnpm prune --prod` during the prune step to remove the `devDependencies`.\n\nThe pnpm store will automatically be cached, you do not need to specify additional cache directories manually.\n\nFor more information about using this Node.js buildpack on Heroku, see these Dev Center articles:\n\n- [Heroku Node.js Support](https://devcenter.heroku.com/articles/nodejs-support)\n- [Getting Started with Node.js on Heroku](https://devcenter.heroku.com/articles/nodejs)\n- [Troubleshooting Node.js Deploys](https://devcenter.heroku.com/articles/troubleshooting-node-deploys)\n\nFor more general information about buildpacks on Heroku:\n\n- [Buildpacks](https://devcenter.heroku.com/articles/buildpacks)\n- [Buildpack API](https://devcenter.heroku.com/articles/buildpack-api)\n\n## Using the PNPM Heroku Node.js buildpack\n\nIt's suggested that you use the latest version of the release buildpack. You can set it using the `heroku-cli`.\n\n```sh\nheroku buildpacks:set https://github.com/unfold/heroku-buildpack-pnpm\n```\n\nYour builds will always used the latest published release of the buildpack.\n\nYou can control the version of pnpm but setting a `PNPM_VERSION` environment variable on the app. For example `PNPM_VERSION=6.32.11`.\n\nIf you need to use the git url, you can use the `latest` tag to make sure you always have the latest release. **The `main` branch will always have the latest buildpack updates, but it does not correspond with a numbered release.**\n\n```sh\nheroku buildpacks:set https://github.com/unfold/heroku-buildpack-pnpm#latest -a my-app\n```\n\n### Chain Node with multiple buildpacks\n\nThis buildpack automatically exports node, pnpm, npm, and any node_modules binaries\ninto the `$PATH` for easy use in subsequent buildpacks.\n\n## Feedback\n\nHaving trouble? Dig it? Feature request?\n\n- [help.heroku.com](https://help.heroku.com/)\n- [GitHub issues](https://github.com/heroku/heroku-buildpack-nodejs/issues)\n\n## Development\n\n### Prerequisites\n\nFor local development, you may need the following tools:\n\n- [Docker](https://hub.docker.com/search?type=edition\u0026offering=community)\n- [Go 1.14](https://golang.org/doc/install#install)\n- [upx](https://upx.github.io/)\n\n### Deploying an app with a fork or branch\n\nTo make changes to this buildpack, fork it on GitHub.\nPush up changes to your fork, then create a new Heroku app to test it,\nor configure an existing app to use your buildpack:\n\n```\n# Create a new Heroku app that uses your buildpack\nheroku create --buildpack \u003cyour-github-url\u003e\n\n# Configure an existing Heroku app to use your buildpack\nheroku buildpacks:set \u003cyour-github-url\u003e\n\n# You can also use a git branch!\nheroku buildpacks:set \u003cyour-github-url\u003e#your-branch\n```\n\n### Downloading Plugins\n\nIn order to download the latest plugins that have been released, run the following:\n\n```\nplugin/download.sh v$VERSION\n```\n\nMake sure the version is in the format `v#`, ie. `v7`.\n\n## Tests\n\nThe buildpack tests use [Docker](https://www.docker.com/) to simulate\nHeroku's stacks.\n\nTo run the test suite:\n\n```\nmake test\n```\n\nOr to just test a specific stack:\n\n```\nmake heroku-18-build\nmake heroku-20-build\n```\n\nThe tests are run via the vendored\n[shunit2](https://github.com/kward/shunit2)\ntest framework.\n\n### Debugging\n\nTo display the logged build outputs to assist with debugging, use the \"echo\" and \"cat\" commands. For example:\n\n```sh\ntest() {\n  local log_file var\n\n  var=\"testtest\"\n  log_file=$(mktemp)\n  echo \"this is the log file\" \u003e \"$log_file\"\n  echo \"test log file\" \u003e\u003e \"$log_file\"\n\n  # use `echo` and `cat` for printing variables and reading files respectively\n  echo $var\n  cat $log_file\n\n  # some cases when debugging is necessary\n  assertEquals \"$var\" \"testtest\"\n  assertFileContains \"test log file\" \"$log_file\"\n}\n```\n\nRunning the test above would produce:\n\n```log\ntesttest\nthis is the log file\ntest log file\n```\n\nThe test output writes to `$STD_OUT`, so you can use `cat $STD_OUT` to read output.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funfold%2Fheroku-buildpack-pnpm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funfold%2Fheroku-buildpack-pnpm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funfold%2Fheroku-buildpack-pnpm/lists"}