UNPKG

vercel

Version:

The command-line interface for Vercel

96 lines (66 loc) 2.96 kB
<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p> [Join the Vercel Community](https://community.vercel.com/) ## Usage Vercel's frontend cloud gives developers frameworks, workflows, and infrastructure to build a faster, more personalized web. To install the latest version of Vercel CLI, run this command: ```bash npm i -g vercel ``` To quickly start a new project, run the following commands: ```bash vercel init # Pick an example project cd <PROJECT> # Change directory to the new project vercel # Deploy to the cloud ``` Finally, [connect your Git repository to Vercel](https://vercel.com/docs/git) and deploy with `git push`. ## Documentation For details on how to use Vercel CLI, check out our [documentation](https://vercel.com/docs/cli). ## Local Development To develop Vercel CLI, first check out the source code, install dependencies, and build all packages: ```bash git clone https://github.com/vercel/vercel.git cd vercel pnpm install pnpm build ``` At this point you can make modifications to the CLI source code and test them out locally. The CLI source code is located in the `packages/cli` directory. ```bash cd packages/cli ``` ### `pnpm vercel <cli-commands...>` From within the `packages/cli` directory, you can use the "vercel" script to quickly execute Vercel CLI from its TypeScript source code directly (without having to manually compile first). For example: ```bash pnpm vercel deploy pnpm vercel whoami pnpm vercel login pnpm vercel switch --debug ``` When you are satisfied with your changes, make a commit and create a pull request! ## Publishing ### Production Releases Production releases are automated via the [`release.yml`](../../.github/workflows/release.yml) workflow, which runs on every push to `main`. It uses [changesets](https://github.com/changesets/changesets) to determine which packages need new versions. If there are pending changesets, the workflow either creates a "Version Packages" PR or publishes to npm with the `latest` dist-tag. To include your changes in a release, add a changeset before merging your PR: ```bash pnpm changeset ``` ### Full Testing `pnpm vercel` executes a locally built dist. Because this dist lives locally in this monorepo, the existence of node_modules can sometimes affect the behavior of how `vercel` CLI picking up dependencies. To test the full user experience of downloading the CLI from the npm registry: ```bash # build the dist monorepo_dir=$(pwd) cd packages/cli && turbo build # use pnpm pack to create the same tarball that is uploaded to the npm registry # and store the tarball name in a variable dist=$(pnpm pack) # In your test project cd ~/dev/test-nextjs-proj npx -p $monorepo_dir/packages/cli/$dist vercel build ```