feat(cli): add vercel env run command#14582
Conversation
Adds a new subcommand that runs any command with environment variables from the linked Vercel project, without writing them to the filesystem. Usage: vercel env run -- next dev vercel env run -e preview --git-branch feature-x -- npm test Options: --environment, -e Target environment (default: development) --git-branch Git branch for env overrides
🦋 Changeset detectedLatest commit: 7c6b6fc The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
📦 CLI Tarball ReadyThe Vercel CLI tarball for this PR is now available! Quick TestYou can test this PR's CLI directly by running: npx https://vercel-22ob6djpj.vercel.sh/tarballs/vercel.tgz --helpUse in vercel.jsonTo use this CLI version in your project builds, add to your {
"build": {
"env": {
"VERCEL_CLI_VERSION": "vercel@https://vercel-22ob6djpj.vercel.sh/tarballs/vercel.tgz"
}
}
} |
🧪 Test StrategyComparing: Strategy: Affected packages only ✅ Only testing packages that have been modified or depend on modified packages. Affected packages - 1 (3%)
Unaffected packages - 39 (98%)
Results
This comment is automatically generated based on the affected testing strategy |
tknickman
left a comment
There was a problem hiding this comment.
Looks good, no main blockers. One thing that may be nice to add would be mentioning when -- is required. For example If a user runs vercel env run echo hello (without --), This will just show "No command provided".
It might be slightly more helpful to hint that -- is required, e.g., "No command provided. Use -- to separate vercel flags from your command."
fixed 7c6b6fc |
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## vercel@50.2.0 ### Minor Changes - Add `vercel env run` command to run commands with environment variables from the linked Vercel project without writing them to the filesystem ([#14582](#14582)) - Merge computed rewrites/redirects to routes in Vercel config ([#14518](#14518)) ### Patch Changes - Adding in user configured deploymentId to build output type ([#14497](#14497)) - skip secondary installation for vercel.ts ([#14471](#14471)) - Updated dependencies \[[`2eb1b7678bece13e442f8404d519bd07891eb500`](2eb1b76), [`39c95ff6b643a63509571818e67a792df09fd71f`](39c95ff), [`d63084dac296ccb2077ed742bc2ade0264da851d`](d63084d)]: - @vercel/next@4.15.11 - @vercel/build-utils@13.2.5 - @vercel/redwood@2.4.6 - @vercel/rust@1.0.4 - @vercel/static-build@2.8.16 - @vercel/backends@0.0.18 - @vercel/elysia@0.1.16 - @vercel/express@0.1.23 - @vercel/fastify@0.1.19 - @vercel/go@3.3.0 - @vercel/h3@0.1.25 - @vercel/hono@0.2.19 - @vercel/hydrogen@1.3.3 - @vercel/nestjs@0.2.20 - @vercel/node@5.5.17 - @vercel/python@6.1.6 - @vercel/remix-builder@5.5.6 - @vercel/ruby@2.2.4 ## @vercel/build-utils@13.2.5 ### Patch Changes - Adding in user configured deploymentId to build output type ([#14497](#14497)) - skip secondary installation for vercel.ts ([#14471](#14471)) ## @vercel/client@17.2.19 ### Patch Changes - Updated dependencies \[[`e725853a6c41bed634d1e3e2382596f17a18f342`](e725853), [`39c95ff6b643a63509571818e67a792df09fd71f`](39c95ff), [`d63084dac296ccb2077ed742bc2ade0264da851d`](d63084d), [`567d2d41e685cd949274411ce0e60e61a3dc3942`](567d2d4)]: - @vercel/routing-utils@5.3.2 - @vercel/build-utils@13.2.5 ## @vercel/elysia@0.1.16 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.5.17 ## @vercel/express@0.1.23 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.5.17 ## @vercel/fastify@0.1.19 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.5.17 ## @vercel/fs-detectors@5.7.12 ### Patch Changes - Updated dependencies \[[`e725853a6c41bed634d1e3e2382596f17a18f342`](e725853), [`567d2d41e685cd949274411ce0e60e61a3dc3942`](567d2d4)]: - @vercel/routing-utils@5.3.2 - @vercel/frameworks@3.15.4 ## @vercel/gatsby-plugin-vercel-builder@2.0.115 ### Patch Changes - Updated dependencies \[[`39c95ff6b643a63509571818e67a792df09fd71f`](39c95ff), [`d63084dac296ccb2077ed742bc2ade0264da851d`](d63084d)]: - @vercel/build-utils@13.2.5 ## @vercel/h3@0.1.25 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.5.17 ## @vercel/hono@0.2.19 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.5.17 ## @vercel/nestjs@0.2.20 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.5.17 ## @vercel/next@4.15.11 ### Patch Changes - Add early validation for Next.js output directory and improve error messages to guide users when the output directory is missing, empty, or misconfigured. Introduces new error codes `NEXT_OUTPUT_DIR_MISSING` and `NEXT_OUTPUT_DIR_EMPTY` with actionable guidance for common issues like Turborepo cache misconfiguration. ([#14542](#14542)) ## @vercel/node@5.5.17 ### Patch Changes - Updated dependencies \[[`39c95ff6b643a63509571818e67a792df09fd71f`](39c95ff), [`d63084dac296ccb2077ed742bc2ade0264da851d`](d63084d)]: - @vercel/build-utils@13.2.5 ## @vercel/routing-utils@5.3.2 ### Patch Changes - Add respectOriginCacheControl to rewritesSchema ([#14506](#14506)) - Add respectOriginCacheControl to routes schema ([#14565](#14565)) ## @vercel/static-build@2.8.16 ### Patch Changes - Updated dependencies \[]: - @vercel/gatsby-plugin-vercel-builder@2.0.115 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Adds a new subcommand that runs any command with environment variables from the linked Vercel project, without writing them to the filesystem.
Usage
vercel env run -- next dev vercel env run -e preview --git-branch feature-x -- npm testOptions
--environment, -e- Target environment (default: development)--git-branch- Git branch for env overridesHow it works
vercel env pull