Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Develop. Preview. Ship.

License

NotificationsYou must be signed in to change notification settings

vercel/vercel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vercel

Develop. Preview. Ship.

Documentation ·Changelog ·Templates ·CLI


Vercel

Vercel’s Frontend Cloud provides the developer experience and infrastructure to build, scale, and secure a faster, more personalized Web.

Deploy

Get started byimporting a project,choosing a template, or using theVercel CLI. Then,git push to deploy.

Documentation

For details on how to use Vercel, check out ourdocumentation.

Contributing

This project usespnpm to install dependencies and run scripts.

You can use thevercel script to run local changes as if you were invoking Vercel CLI. For example,vercel deploy --cwd=/path/to/project could be run with local changes withpnpm vercel deploy --cwd=/path/to/project.

When contributing to this repository, please first discuss the change you wish to make viaVercel Community with the owners of this repository before submitting a Pull Request.

Please read ourCode of Conduct and follow it in all your interactions with the project.

Local development

This project is configured in a monorepo, where one repository contains multiple npm packages. Dependencies are installed and managed withpnpm, notnpm CLI.

To get started, execute the following:

git clone https://github.com/vercel/vercelcd vercelcorepack enablepnpm installpnpm buildpnpm lintpnpm test-unit

Make sure all the tests pass before making changes.

Running Vercel CLI Changes

You can usepnpm vercel from thecli package to invoke Vercel CLI with local changes:

cd ./packages/clipnpm vercel <cli-commands...>

SeeCLI Local Development for more details.

Verifying your change

Once you are done with your changes (we even suggest doing it along the way), make sure all the tests still pass by running:

pnpm test-unit

from the root of the project.

If any test fails, make sure to fix it along with your changes. SeeInterpreting test errors for more information about how the tests are executed, especially the integration tests.

Pull Request Process

Once you are confident that your changes work properly, open a pull request on the main repository.

The pull request will be reviewed by the maintainers and the tests will be checked by our continuous integration platform.

Interpreting test errors

There are 2 kinds of tests in this repository – Unit tests and Integration tests.

Unit tests are run locally withjest and execute quickly because they are testing the smallest units of code.

Integration tests

Integration tests create deployments to your Vercel account using thetest project name. After each test is deployed, theprobes key is used to check if the response is the expected value. If the value doesn't match, you'll see a message explaining the difference. If the deployment failed to build, you'll see a more generic message like the following:

[Error: Fetched page https://test-8ashcdlew.vercel.app/root.js does not contain hello Root!. Instead it contains An error occurred with this application.    NO_STATUS_CODE_FRO Response headers:       cache-control=s-maxage=0      connection=close      content-type=text/plain; charset=utf-8      date=Wed, 19 Jun 2019 18:01:37 GMT      server=now      strict-transport-security=max-age=63072000      transfer-encoding=chunked      x-now-id=iad1:hgtzj-1560967297876-44ae12559f95      x-now-trace=iad1]

In such cases, you can visit the URL of the failed deployment and append/_logs to see the build error. In the case above, that would behttps://test-8ashcdlew.vercel.app/_logs

The logs of this deployment will contain the actual error which may help you to understand what went wrong.

Running integration tests locally

While running the full integration suite locally is not recommended, it's sometimes useful to isolate a failing test by running it on your machine. To do so, you'll need to ensure you have the appropriate credentials sourced in your shell:

  1. Create an access token. Follow the insructions herehttps://vercel.com/docs/rest-api#creating-an-access-token. Ensure the token scope is for your personalaccount.
  2. Grab the team ID from the Vercel dashboard athttps://vercel.com/<MY-TEAM>/~/settings.
  3. Source these into your shell rc file:echo 'export VERCEL_TOKEN=<MY-TOKEN> VERCEL_TEAM_ID=<MY-TEAM-ID>' >> ~/.zshrc

From there, you should be able to trigger an integration test. Choose onethat's already isolated to check that things work:

cd packages/next

Run the test:

pnpm test test/fixtures/00-server-build/index.test.js

Note

If you receive a401 status code while fetching the deployment, you need to disableDeployment Protection on the project.

@vercel/nft

Some of the Builders use@vercel/nft to tree-shake files before deployment. If you suspect an error with this tree-shaking mechanism, you can create the following script in your project:

const{ nodeFileTrace}=require('@vercel/nft');nodeFileTrace(['path/to/entrypoint.js'],{ts:true,mixedModules:true,}).then(o=>console.log(o.fileList)).then(e=>console.error(e));

When you run this script, you'll see all the imported files. If files are missing, the bug is in@vercel/nft and not the Builder.

Deploy a Builder with existing project

Sometimes you want to test changes to a Builder against an existing project, maybe withvercel dev or actual deployment. You can avoid publishing every Builder change to npm by uploading the Builder as a tarball.

  1. Change directory to the desired Buildercd ./packages/node
  2. Runpnpm build to compile typescript and other build steps
  3. Runnpm pack to create a tarball file
  4. Runvercel *.tgz to upload the tarball file and get a URL
  5. Edit any existingvercel.json project and replaceuse with the URL
  6. Runvercel orvercel dev to deploy with the experimental Builder

Reference


[8]ページ先頭

©2009-2025 Movatter.jp