[CLI] feat: Marketplace integration lifecycle parity scope (CLI-237)#15849
Conversation
🦋 Changeset detectedLatest commit: 75d29d4 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 |
|
Low Risk — New CLI subcommand + utility function + tests for listing marketplace installations.
Assessed at a69f19a. |
🧪 Unit 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 |
362377b to
1c796d1
Compare
📦 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-h06wazjkz.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-h06wazjkz.vercel.sh/tarballs/vercel.tgz"
}
}
}Python Runtime WheelA Python Workers WheelA |
List marketplace installations for the team via v2 integrations configurations with optional integration filter and JSON output. Made-with: Cursor
1c796d1 to
40bcb9a
Compare
Made-with: Cursor
Add vercel integration update calling PATCH /v1/integrations/configuration/:id to change installation billing plans or project visibility (all or explicit project IDs). Supports --installation-id when multiple marketplace installations exist for the same integration slug. Includes unit tests and help snapshots. Made-with: Cursor
Use plain-text error messages (no chalk in API error strings), surface API server messages on failure, align usage copy with other commands, return exit code 2 when too many positionals are passed, and add a unit test for a missing integration slug. Made-with: Cursor
Emit structured errors on stdout when --non-interactive (or agent mode), including missing slug with suggested next command preserving global flags. Success JSON is emitted without --format when non-interactive. Route all update validation and API errors through the same agent payload pattern. Made-with: Cursor
…egration-install-configure-remove-cli
Made-with: Cursor
Code-split chunks were leaving bare `smol-toml` imports while the package was listed as external, so Node could not resolve it from dist/chunks. Bundle smol-toml via a resolve plugin (like jsonc-parser) and exclude it from externals so the CLI runs without a separate node_modules entry. Made-with: Cursor
- Add prependGlobalFlags to buildCommandWithGlobalFlags so examples use `vercel --cwd … --non-interactive integration update …` ordering. - When --projects/--plan appear without a slug, explain that the slug must follow `update` and add a second next step for `integration installations`. - Hoist flag reads before the missing-slug check; use prepend for teams switch. Made-with: Cursor
…ration-install-configure-remove-cli - Resolve integration add: keep slim add.ts from main plus non-interactive missing-slug JSON; drop obsolete merged-in provision helpers. - Remove add.test.ts (main); port missing-slug / multi-arg cases to add-auto-provision.test.ts. - Export fetchMarketplaceIntegrations for update-integration. - Restore useIntegration mock for accept-terms tests (marketplace install POST). Made-with: Cursor
|
14 AI-generated findings triaged, 7 posted after human review. 🤖 Written by Claude Code on behalf of @tonypan2 |
…rgs, help snapshots) - Parse integration update from subArgs only; slug is args[0] (parity with other subcommands). - Reject extra positionals on integration installations with a clear usage message. - Add help snapshots for accept-terms and installations subcommands. - Broaden changeset to cover update argv alignment and related CLI scope. Made-with: Cursor
…egration-install-configure-remove-cli
…egration-install-configure-remove-cli
… newline only) Revert emoji-at-start / leading-space branches; match main behavior so NO_COLOR print() strips stray leading whitespace again. Multiline help and tables that prefix with \n keep indentation; integration installations table already uses that pattern. Add test for trimmed leading spaces without a leading newline. Made-with: Cursor
…egration-install-configure-remove-cli
…egration-install-configure-remove-cli
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.43.0 ### Minor Changes - Add Deployment Checks support to `deploy --prod`. Shows "Running Checks..." spinner when checks are pending, detects check failures before alias promotion, and displays failed check run details with links to logs. ([#15884](#15884)) - Extend marketplace integration CLI parity: add `vercel integration installations` to list team installations (with optional `--integration` filter and JSON output), align `vercel integration update` argument parsing with other subcommands (parse only tokens after `update`, so the integration slug is the first positional), and ship related help/telemetry updates. ([#15849](#15849)) - Add `vercel project protection` actions for automation protection bypass via PATCH `/v1/projects/.../protection-bypass` (`--protection-bypass`). ([#15862](#15862)) - Add `vercel project protection` actions for customer support code visibility (`--customer-support-code-visibility`). ([#15860](#15860)) - Add `vercel project protection` actions for Git fork protection (`--git-fork-protection`). ([#15861](#15861)) - [services] migrate python workers to Queues V3 API ([#15885](#15885)) - [cli] Add `vercel flags override` subcommand to encrypt and decrypt flag override tokens for the `vercel-flag-overrides` cookie ([#15875](#15875)) ### Patch Changes - Persist CLI telemetry across invocations with bounded-time sessions, stable installation device IDs, and per-invocation identifiers. ([#15872](#15872)) - Update the `vercel metrics` CLI to use the V2 observability metrics API with `--metric`-based schema inspection and querying. ([#15876](#15876)) - Improve `vercel integration add` command to support fallback to the discover API and first-party integrations. ([#15788](#15788)) - refactor(cli): remove FF_AUTO_PROVISION_INSTALL feature flag and dead code from `integration add` ([#15871](#15871)) - Updated dependencies \[[`5e02289f927050a6c1025cc0edb7eda607fd5e73`](5e02289), [`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8), [`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]: - @vercel/detect-agent@1.2.2 - @vercel/build-utils@13.14.1 - @vercel/backends@0.0.58 - @vercel/elysia@0.1.61 - @vercel/express@0.1.71 - @vercel/fastify@0.1.64 - @vercel/go@3.4.7 - @vercel/h3@0.1.70 - @vercel/hono@0.2.64 - @vercel/hydrogen@1.3.6 - @vercel/koa@0.1.44 - @vercel/nestjs@0.2.65 - @vercel/next@4.16.5 - @vercel/node@5.7.3 - @vercel/python@6.29.0 - @vercel/redwood@2.4.12 - @vercel/remix-builder@5.7.2 - @vercel/ruby@2.3.2 - @vercel/rust@1.1.0 - @vercel/static-build@2.9.11 ## @vercel/client@17.3.0 ### Minor Changes - Add Deployment Checks support to `deploy --prod`. Shows "Running Checks..." spinner when checks are pending, detects check failures before alias promotion, and displays failed check run details with links to logs. ([#15884](#15884)) ### Patch Changes - Updated dependencies \[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8), [`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]: - @vercel/build-utils@13.14.1 ## @vercel/backends@0.0.58 ### Patch Changes - Updated dependencies \[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8), [`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]: - @vercel/build-utils@13.14.1 ## @vercel/build-utils@13.14.1 ### Patch Changes - Restore `finalizeLambda()` to return `zipPath: null` for the default in-memory path, preserving the existing caller-facing result contract while keeping custom ZIP strategies supported. ([#15887](#15887)) - feat(node): filter non-entrypoint Node.js files in `/api` directory ([#15873](#15873)) ## @vercel/cervel@0.0.45 ### Patch Changes - Updated dependencies \[]: - @vercel/backends@0.0.58 ## @vercel/detect-agent@1.2.2 ### Patch Changes - Detect Cursor agent execution when `CURSOR_EXTENSION_HOST_ROLE=agent-exec` is set so tools launched from Cursor still report the `cursor-cli` agent when `CURSOR_AGENT` is not present. ([#15879](#15879)) ## @vercel/elysia@0.1.61 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.7.3 ## @vercel/express@0.1.71 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.7.3 - @vercel/cervel@0.0.45 ## @vercel/fastify@0.1.64 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.7.3 ## @vercel/fs-detectors@5.15.1 ### Patch Changes - feat(node): filter non-entrypoint Node.js files in `/api` directory ([#15873](#15873)) - Updated dependencies \[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8), [`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]: - @vercel/build-utils@13.14.1 ## @vercel/gatsby-plugin-vercel-builder@2.1.11 ### Patch Changes - Updated dependencies \[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8), [`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]: - @vercel/build-utils@13.14.1 ## @vercel/h3@0.1.70 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.7.3 ## @vercel/hono@0.2.64 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.7.3 ## @vercel/koa@0.1.44 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.7.3 ## @vercel/nestjs@0.2.65 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.7.3 ## @vercel/node@5.7.3 ### Patch Changes - Updated dependencies \[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8), [`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]: - @vercel/build-utils@13.14.1 ## @vercel/static-build@2.9.11 ### Patch Changes - Updated dependencies \[]: - @vercel/gatsby-plugin-vercel-builder@2.1.11 ## @vercel/python-workers@0.0.14 ### Patch Changes - [services] migrate python workers to Queues V3 API ([#15885](#15885)) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Summary
Scope note for CLI-237: install/configure/remove vs
vercel integration/integration-resource, dedup vs CLI-224/225.Path
packages/cli/docs/parity/cli-237-marketplace-integrations.mdMade with Cursor
Supported API-backed Commands To Test
vercel integration installationsvercel integration installations --integration <slug-or-id>vercel integration installations --format json