mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-06 12:57:46 +00:00
For the Vercel deployment, run `yarn pack` in each of the packages in the monorepo and place them in the "public/tarballs" directory so that we can have npm-installable URLs of each package for every commit. The `package.json` of each package is also updated to reference the tarball when a package depends on other packages within the monorepo. Try it out like: ``` $ npm i -g https://vercel-biww73ffq.vercel.sh/tarballs/vercel.tgz # Notice how the package.json has the monorepo dependencies # updated to point to the related tarballs from the same deployment: $ cat /usr/local/lib/node_modules/vercel/package.json | grep biww "@vercel/build-utils": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/build-utils.tgz", "@vercel/go": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/go.tgz", "@vercel/next": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/next.tgz", "@vercel/node": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/node.tgz", "@vercel/python": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/python.tgz", "@vercel/redwood": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/redwood.tgz", "@vercel/remix": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/remix.tgz", "@vercel/ruby": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/ruby.tgz", "@vercel/static-build": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/static-build.tgz", "@vercel/client": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/client.tgz", "@vercel/frameworks": "https://vercel-biww73ffq.vercel.sh/tarballs/@vercel/frameworks.tgz", # Also notice that the "version" in `package.json` gets updated to include the commit # SHA so that we can easily identify which commit a given tarball was generated from: $ vercel --version 25.1.1-canary.1-727b290 ```
18 lines
323 B
TypeScript
Vendored
18 lines
323 B
TypeScript
Vendored
export interface TurboDryRun {
|
|
packages: Array<string>;
|
|
tasks: Array<Task>;
|
|
}
|
|
|
|
export interface Task {
|
|
taskId: string;
|
|
task: string;
|
|
package: string;
|
|
hash: string;
|
|
command: string;
|
|
outputs: Array<string>;
|
|
logFile: string;
|
|
directory: string;
|
|
dependencies: Array<string>;
|
|
dependents: Array<string>;
|
|
}
|