{
  "markdown": "<p align=\"center\">\n  <a href=\"https://vercel.com\">\n    <img src=\"https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png\" height=\"96\">\n    <h3 align=\"center\">Vercel</h3>\n  </a>\n</p>\n\n<p align=\"center\">\n  Develop. Preview. Ship.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://vercel.com/docs\"><strong>Documentation</strong></a> ·\n  <a href=\"https://vercel.com/changelog\"><strong>Changelog</strong></a> ·\n  <a href=\"https://vercel.com/templates\"><strong>Templates</strong></a> ·\n  <a href=\"https://vercel.com/docs/cli\"><strong>CLI</strong></a>\n</p>\n<br/>\n\n## Vercel\n\nVercel’s AI Cloud is a unified platform for building modern applications, giving teams the tools to be flexible, move fast, and stay secure while focusing on their products instead of infrastructure.\n\n## Deploy\n\nGet started by [importing a project](https://vercel.com/new), [choosing a template](https://vercel.com/templates), or using the [Vercel CLI](https://vercel.com/docs/cli). Then, `git push` to deploy.\n\n## Native CLI binaries\n\nThe standard npm installation remains unchanged:\n\n```bash\nnpm i -g vercel\n```\n\nNative CLI binaries are distributed separately and do not affect the `vercel` npm package. To opt into the native binary and replace existing global `vercel` and `vc` commands, install the native package explicitly:\n\n```bash\nnpm i -g @vercel/vc-native --force\n```\n\nThe `--force` flag allows npm to replace existing global `vercel` and `vc` bin links. Users who do not install `@vercel/vc-native` continue using the regular Node.js-based CLI from `npm i -g vercel`.\n\nPlatform-specific packages are also available for direct installation when a specific binary is needed:\n\n```bash\nnpm i -g @vercel/vc-native-darwin-x64 --force\n```\n\n## Documentation\n\nFor details on how to use Vercel, check out our [documentation](https://vercel.com/docs).\n\n## Contributing\n\nThis project uses [pnpm](https://pnpm.io/) to install dependencies and run scripts.\n\nYou can use the `vercel` 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 with `pnpm vercel deploy --cwd=/path/to/project`.\n\nWhen contributing to this repository, please first discuss the change you wish to make via [Vercel Community](https://community.vercel.com/tags/c/community/4/cli) with the owners of this repository before submitting a Pull Request.\n\nPlease read our [Code of Conduct](./.github/CODE_OF_CONDUCT.md) and follow it in all your interactions with the project.\n\n### Local development\n\nThis project is configured in a monorepo, where one repository contains multiple npm packages. Dependencies are installed and managed with `pnpm`, not `npm` CLI.\n\nTo get started, execute the following:\n\n```bash\ngit clone https://github.com/vercel/vercel\ncd vercel\ncorepack enable\npnpm install\npnpm build\npnpm lint\npnpm test-unit\n```\n\nMake sure all the tests pass before making changes.\n\n#### Running Vercel CLI Changes\n\nYou can use `pnpm vercel` from the `cli` package to invoke Vercel CLI with local changes:\n\n```bash\ncd ./packages/cli\npnpm vercel <cli-commands...>\n```\n\nSee [CLI Local Development](./packages/cli#local-development) for more details.\n\n### Verifying your change\n\nOnce you are done with your changes (we even suggest doing it along the way), make sure all the tests still pass by running:\n\n```bash\npnpm test-unit\n```\n\nfrom the root of the project.\n\nIf any test fails, make sure to fix it along with your changes. See [Interpreting test errors](#Interpreting-test-errors) for more information about how the tests are executed, especially the integration tests.\n\n### Pull Request Process\n\nOnce you are confident that your changes work properly, open a pull request on the main repository.\n\nThe pull request will be reviewed by the maintainers and the tests will be checked by our continuous integration platform.\n\n### Interpreting test errors\n\nThere are 2 kinds of tests in this repository – Unit tests and Integration tests.\n\nUnit tests are run locally with `jest` and execute quickly because they are testing the smallest units of code.\n\n#### Integration tests\n\nIntegration tests create deployments to your Vercel account using the `test` project name. After each test is deployed, the `probes` 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:\n\n```log\n[Error: Fetched page https://test-8ashcdlew.vercel.app/root.js does not contain hello Root!. Instead it contains An error occurred with this application.\n\n    NO_STATUS_CODE_FRO Response headers:\n       cache-control=s-maxage=0\n      connection=close\n      content-type=text/plain; charset=utf-8\n      date=Wed, 19 Jun 2019 18:01:37 GMT\n      server=now\n      strict-transport-security=max-age=63072000\n      transfer-encoding=chunked\n      x-now-id=iad1:hgtzj-1560967297876-44ae12559f95\n      x-now-trace=iad1]\n```\n\nIn 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 be https://test-8ashcdlew.vercel.app/_logs\n\nThe logs of this deployment will contain the actual error which may help you to understand what went wrong.\n\n##### Running integration tests locally\n\nWhile 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:\n\n1. Create an access token. Follow the instructions here https://vercel.com/docs/rest-api#creating-an-access-token. Ensure the token scope is for your personal\n   account.\n2. Grab the team ID from the Vercel dashboard at `https://vercel.com/<MY-TEAM>/~/settings`.\n3. Source these into your shell rc file: `echo 'export VERCEL_TOKEN=<MY-TOKEN> VERCEL_TEAM_ID=<MY-TEAM-ID>' >> ~/.zshrc`\n\nFrom there, you should be able to trigger an integration test. Choose one\nthat's already isolated to check that things work:\n\n```bash\ncd packages/next\n```\n\nRun the test:\n\n```bash\npnpm test test/fixtures/00-server-build/index.test.js\n```\n\n> [!NOTE]\n> If you receive a `401` status code while fetching the deployment, you need to disable [Deployment Protection](https://vercel.com/docs/security/deployment-protection) on the project.\n\n#### @vercel/nft\n\nSome 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:\n\n```js\nconst { nodeFileTrace } = require('@vercel/nft');\nnodeFileTrace(['path/to/entrypoint.js'], {\n  ts: true,\n  mixedModules: true,\n})\n  .then(o => console.log(o.fileList))\n  .then(e => console.error(e));\n```\n\nWhen you run this script, you'll see all the imported files. If files are missing, the bug is in [@vercel/nft](https://github.com/vercel/nft) and not the Builder.\n\n### Deploy a Builder with existing project\n\nSometimes you want to test changes to a Builder against an existing project, maybe with `vercel dev` or actual deployment. You can avoid publishing every Builder change to npm by uploading the Builder as a tarball.\n\n1. Change directory to the desired Builder `cd ./packages/node`\n2. Run `pnpm build` to compile typescript and other build steps\n3. Run `npm pack` to create a tarball file. It is imporant to not use `pnpm pack` because it will not preserve the file permissions\n4. Move the resulting tarball to a directory\n5. Run `vercel <directory>` to upload the tarball file and get a URL. Remember to append `/<tarball name>` to then end of your URL\n6. Edit any existing `vercel.json` project and replace `use` with the URL\n7. Run `vercel` or `vercel dev` to deploy with the experimental Builder\n\n**Note:** You will need to turn off vercel authentication in settings -> deployment protection so the builder can be downloaded\n\n## Reference\n\n- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)\n- [Contributing Guidelines](./.github/CONTRIBUTING.md)\n- [Apache 2.0 License](./LICENSE)\n",
  "bytes": 8102,
  "sha": "0625774204fa925e0ab357ada82b654360bf8978dd984f5295cdb954dee6f2cf",
  "repo_slug": "vercel/vercel",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_vercel_vercel_vercel_cli_8e6fec88/readme"
}