開発する。プレビュー。船。
ドキュメント・changelog・テンプレート・CLI
VercelのFrontend Cloudは、開発者のエクスペリエンスとインフラストラクチャを提供し、より高速でよりパーソナライズされたWebを構築、拡張、保護します。
プロジェクトのインポート、テンプレートの選択、またはVercel CLIの使用から始めましょう。次に、 git push
to Deploy。
Vercelの使用方法の詳細については、ドキュメントをご覧ください。
このプロジェクトでは、PNPMを使用して依存関係をインストールし、スクリプトを実行します。
vercel
Scriptを使用して、Vercel CLIを呼び出しているかのようにローカル変更を実行できます。たとえば、 vercel deploy --cwd=/path/to/project
pnpm vercel deploy --cwd=/path/to/project
を使用してローカル変更で実行できます。
このリポジトリに貢献するときは、プルリクエストを送信する前に、このリポジトリの所有者とGitHubの議論を介して行う変更について最初に話し合います。
私たちの行動規範を読んで、プロジェクトとのすべてのやり取りでそれに従ってください。
このプロジェクトは、1つのリポジトリに複数のNPMパッケージが含まれているモノレポで構成されています。依存関係は、 npm
CLIではなくpnpm
でインストールおよび管理されます。
開始するには、以下を実行してください。
git clone https://github.com/vercel/vercel cd vercel corepack enable pnpm install pnpm build pnpm lint pnpm test-unit
変更を加える前に、すべてのテストが通過することを確認してください。
cli
パッケージのpnpm vercel
使用して、ローカルの変更でVercelCLIを呼び出すことができます。
cd ./packages/cli pnpm vercel <cli-commands...>
詳細については、CLI Local Developmentを参照してください。
変更が完了したら(途中で行うことをお勧めします)、すべてのテストが実行されていることを確認してください。
pnpm test-unit
プロジェクトのルートから。
テストが失敗した場合は、変更と一緒に修正してください。テストの実行方法、特に統合テストの詳細については、テストエラーの解釈を参照してください。
変更が適切に機能すると確信したら、メインリポジトリでプルリクエストを開きます。
プル要求はメンテナーによってレビューされ、テストは継続的な統合プラットフォームによって確認されます。
このリポジトリには、ユニットテストと統合テストという2種類のテストがあります。
ユニットテストは、コードの最小ユニットをテストしているため、 jest
でローカルに実行され、迅速に実行されます。
統合テストは、 test
プロジェクト名を使用してVercelアカウントへの展開を作成します。各テストが展開された後、 probes
キーを使用して、応答が期待値であるかどうかを確認します。値が一致しない場合、違いを説明するメッセージが表示されます。展開の構築に失敗した場合、次のようなより一般的なメッセージが表示されます。
[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]
そのような場合、展開に失敗したURLにアクセスして、 /_logs
追加してビルドエラーを確認できます。上記の場合、それはhttps://test-8ashcdlew.vercel.app/_logsです
この展開のログには、何がうまくいかなかったかを理解するのに役立つ実際のエラーが含まれます。
完全な統合スイートをローカルに実行することはお勧めしませんが、マシンで実行して故障テストを分離することが有用な場合があります。そのためには、シェルに適切な資格情報が調達されていることを確認する必要があります。
アクセストークンを作成します。こちらのus https://vercel.com/docs/rest-api#creating-an-access-tokenに従ってください。トークンスコープが個人アカウント用であることを確認してください。
https://vercel.com/<MY-TEAM>/~/settings
のvercelダッシュボードからチームIDをつかみます。
これらをシェルRCファイルに送信します: echo 'export VERCEL_TOKEN=<MY-TOKEN> VERCEL_TEAM_ID=<MY-TEAM-ID>' >> ~/.zshrc
そこから、統合テストをトリガーできるはずです。既に分離されているものを選択して、物事が機能することを確認してください。
cd packages/next
テストを実行します:
pnpm test test/fixtures/00-server-build/index.test.js
一部のビルダーは、deploymentの前に@vercel/nft
使用してファイルをシェイクするために使用します。このツリーシェーキングメカニズムでエラーが疑われる場合は、プロジェクトで次のスクリプトを作成できます。
const {nodefiletrace} = require( '@vercel/nft'); nodefiletrace(['path/to/entrypoint.js']、{ TS:本当、 MixedModules:true、}) .then(o => console.log(o.filelist)) .then(e => console.error(e));
このスクリプトを実行すると、すべてのインポートされたファイルが表示されます。ファイルが欠落している場合、バグはビルダーではなく @vercel/nftにあります。
既存のプロジェクトに対してビルダーに変更をテストしたい場合があります。おそらく、 vercel dev
または実際の展開を使用してください。ビルダーをターボールとしてアップロードすることにより、すべてのビルダーの変更をNPMに公開することを避けることができます。
ディレクトリを目的のビルダーcd ./packages/node
に変更します
pnpm build
を実行してTypeScriptおよびその他のビルドステップをコンパイルします
npm pack
実行して、ターボールファイルを作成します
vercel *.tgz
実行して、ターボールファイルをアップロードしてURLを取得します
既存のvercel.json
プロジェクトを編集し、 use
URLに置き換えます
vercel
またはvercel dev
実行して、実験ビルダーと一緒に展開します
行動規範
貢献ガイドライン
Apache 2.0ライセンス