Project ​
Create and manage Vercel projects.
Authentication ​
To use this resource, set VERCEL_ACCESS_TOKEN
in your .env
file or pass accessToken
directly in your resource configuration.
Examples ​
With accessToken
​
ts
const project = await Project("my-app", {
accessToken: alchemy.secret(process.env.VERCEL_ACCESS_TOKEN),
name: "my-app",
framework: "astro",
});
With GitHub ​
typescript
const project = await Project("my-app", {
name: "my-app",
framework: "nextjs",
gitRepository: {
type: "github",
repo: "username/my-app",
},
});
With Environment Variables ​
Plain Text ​
ts
const project = await Project("my-app", {
name: "my-app",
environmentVariables: [
{
key: "PUBLIC_URL",
target: ["production", "preview", "development"],
// `type: "plain"` default when `value` is a string
value: "https://example.com",
},
],
});
Encrypted ​
ts
const project = await Project("my-app", {
name: "my-app",
environmentVariables: [
{
key: "DATABASE_URL",
target: ["production", "preview"],
// `type: "encrypted"` is the default when `value` is a Secret
value: alchemy.secret("DATABASE_URL"),
},
],
});
Sensitive ​
https://vercel.com/docs/environment-variables/sensitive-environment-variables
ts
const project = await Project("my-app", {
name: "my-app",
environmentVariables: [
{
key: "DATABASE_URL",
target: ["production", "preview"],
type: "sensitive",
value: alchemy.secret("DATABASE_URL"),
},
],
});
With Custom Build Settings ​
ts
const project = await Project("my-app", {
name: "my-app",
buildCommand: "npm run build",
outputDirectory: "dist",
installCommand: "npm install",
devCommand: "npm run dev",
});