{"id":26047957,"url":"https://github.com/kernelpanic92/semantic-release-vercel","last_synced_at":"2025-06-20T12:33:02.491Z","repository":{"id":279874478,"uuid":"940288382","full_name":"KernelPanic92/semantic-release-vercel","owner":"KernelPanic92","description":"semantic-release plugin to publish a vercel project using vercel/client.","archived":false,"fork":false,"pushed_at":"2025-06-13T17:53:53.000Z","size":85,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T18:45:45.401Z","etag":null,"topics":["automation","cicd","release","semantic-release-plugin","semver","vercel","vercel-deployment"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/semantic-release-vercel","language":"TypeScript","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/KernelPanic92.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2025-02-27T23:22:25.000Z","updated_at":"2025-05-30T08:17:03.000Z","dependencies_parsed_at":"2025-02-28T08:11:38.535Z","dependency_job_id":"7fe5b516-72e9-425b-a2db-efc2831d2e8c","html_url":"https://github.com/KernelPanic92/semantic-release-vercel","commit_stats":null,"previous_names":["kernelpanic92/semantic-release-vercel"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/KernelPanic92/semantic-release-vercel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelPanic92%2Fsemantic-release-vercel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelPanic92%2Fsemantic-release-vercel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelPanic92%2Fsemantic-release-vercel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelPanic92%2Fsemantic-release-vercel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KernelPanic92","download_url":"https://codeload.github.com/KernelPanic92/semantic-release-vercel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelPanic92%2Fsemantic-release-vercel/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260944808,"owners_count":23086888,"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":["automation","cicd","release","semantic-release-plugin","semver","vercel","vercel-deployment"],"created_at":"2025-03-07T23:27:01.914Z","updated_at":"2025-06-20T12:32:57.474Z","avatar_url":"https://github.com/KernelPanic92.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# semantic-release-vercel\n\n[**semantic-release**](https://github.com/semantic-release/semantic-release) plugin to publish a [vercel](https://vercel.com/) project using [vercel/client](https://github.com/vercel/vercel/blob/main/packages/client).\n\n\n| Step               | Description                                                                                                                      |\n| ------------------ | -------------------------------------------------------------------------------------------------------------------------------- |\n| `verifyConditions` | Verify the presence of the `VERCEL_TOKEN` and `VERCEL_TEAM_ID` environment variables |\n| `publish`          | Publish the project to vercel.                                                  |                                                 |\n\n\n## Install\n\n**with npm:**\n```bash\nnpm install --save-dev semantic-release-vercel\n```\n\n**with pnpm:**\n```bash\npnpm add -D semantic-release-vercel\n```\n\n**with yarn:**\n```bash\nyarn add --dev semantic-release-vercel\n```\n\n**with bun:**\n```bash\nbun add -d semantic-release-vercel\n```\n\n## Usage\n\nThe plugin can be configured in the [**semantic-release** configuration file](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration):\n\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/commit-analyzer\",\n    \"@semantic-release/release-notes-generator\",\n    \"semantic-release-vercel\",\n  ]\n}\n```\n\n## Configuration\n\n### Vercel authentication\n\nThe Vercel [token](https://vercel.com/guides/how-do-i-use-a-vercel-api-access-token) is **required** and can be set via [environment variables](#environment-variables) or [options](#options).\n\n### Environment variables\n\n| Variable    | Description                                                                                                                   |\n| ----------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| `VERCEL_TOKEN` | Vercel token created via [Vercel site](https://vercel.com/guides/how-do-i-use-a-vercel-api-access-token) |\n| `VERCEL_TEAM_ID` | Vercel team id obtained via [Vercel site](https://vercel.com/docs/accounts/create-a-team) |\n\n### Options\n\nA plugin configuration can be specified by wrapping the name and an options object in an array. Options configured this way will be passed only to that specific plugin.\n\n\n| Option | Type | Description | Default |\n|--------|------|-------------|---------|\n|channels | [ChannelConfiguration[]](#channel-configuration) | Array of channel configurations defining deployment behavior for different [release channels](https://semantic-release.gitbook.io/semantic-release/usage/workflow-configuration#channel). | `Channels Default Configuration` |\n| globalOptions | [Vercel Global Options](#vercel-global-options) | Global settings applying to all deployments, including Vercel client and deployment options. | `undefined` |\n\n### Channel configuration\n\nChannel extends [DeploymentOptions](https://github.com/vercel/vercel/blob/main/packages/client/src/types.ts) from @vercel/client, omitting the version, autoAssignCustomDomains, and gitMetadata fields. By default, each channel inherits its deployment configurations from the Vercel Global Options, ensuring a consistent setup across all deployments. However, individual channels can override these inherited settings, allowing for customized deployment behaviors specific to each distribution channel.\n\n| Option | Type | Description | Default |\n|--------|------|-------------|---------|\n| channel | string/false/undefined | The Semantic Release distribution channel to deploy to. If false, deploys to production. | Branch name |\n\n\n**if no channels are provided in [Options](#options), the Channels Default Configuration is applied:**\n\n```js\n[\n    {\n      channel: false,\n      target: \"production\", // vercel production deploy\n    },\n    {\n      channel: \"next\",\n      target: \"preview\", // vercel preview deploy\n    },\n    {\n      channel: \"next-major\",\n      target: \"preview\", // vercel preview deploy\n    },\n    {\n      channel: \"beta\",\n      target: \"beta\", // vercel custom beta branch deploy\n    },\n    {\n      channel: \"alpha\",\n      target: \"alpha\", // vercel custom alpha branch deploy\n    },\n]\n```\n\n### Vercel Global Options\n\n| Option | Type | Description | Default |\n|--------|------|-------------|---------|\n| client | [VercelClientOptions](https://github.com/vercel/vercel/blob/main/packages/client/src/types.ts) | Configuration options for interacting with the Vercel API. | `undefined` |\n| deployment | [DeploymentOptions](https://github.com/vercel/vercel/blob/main/packages/client/src/types.ts) | Settings for customizing the deployment process. | `undefined` |\n\n### npm configuration\n\nThe plugin uses the [`vercel` client](https://github.com/vercel/vercel/blob/main/packages/client) which will read the configuration from [`vercel.json`](https://vercel.com/docs/projects/project-configuration).\n\n### Examples\n\n#### Simple\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/commit-analyzer\",\n    \"@semantic-release/release-notes-generator\",\n    [\n      \"semantic-release-vercel\"\n    ]\n  ]\n}\n```\n\n#### Custom Channels\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/commit-analyzer\",\n    \"@semantic-release/release-notes-generator\",\n    [\n      \"semantic-release-vercel\",\n      {\n        \"channels\": [\n            {\n                \"channel\": false,\n                \"target\": \"production\",\n            },\n            {\n                \"channel\": \"develop\",\n                \"target\": \"preview\",\n            }\n        ]\n      }\n    ],\n  ]\n}\n```\n\n#### Custom Project Setting\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/commit-analyzer\",\n    \"@semantic-release/release-notes-generator\",\n    [\n      \"semantic-release-vercel\",\n      {\n        \"globalOptions\": {\n            \"deployment\": {\n                \"projectSettings\": {\n                    \"framework\": \"angular\",\n                    \"devCommand\": \"pnpm ng serve\",\n                    \"installCommand\": \"pnpm i\",\n                    \"buildCommand\": \"pnpm build\",\n                    \"outputDirectory\": \"dist\"\n                }\n            }\n        }\n      }\n    ],\n  ]\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkernelpanic92%2Fsemantic-release-vercel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkernelpanic92%2Fsemantic-release-vercel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkernelpanic92%2Fsemantic-release-vercel/lists"}