Skip to content

feat: allow 3rd party plugins with user confirmation for binary downloads#538

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/allow-3rd-party-plugins
Draft

feat: allow 3rd party plugins with user confirmation for binary downloads#538
Copilot wants to merge 2 commits intomainfrom
copilot/allow-3rd-party-plugins

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 2, 2026

Third-party (non-@varlock/*) plugins were hard-blocked. This lifts the restriction with appropriate trust boundaries depending on execution context.

Behavior changes

  • JS projects (node_modules): Any plugin installed via package.json is now trusted automatically — explicit installation is sufficient consent.
  • Standalone binary (npm download): First-time downloads of 3rd party plugins require interactive confirmation. Once confirmed and cached, subsequent runs skip the prompt.
  • Non-interactive environments (CI, piped): Throws a clear error if confirmation is needed but no TTY is available, with a message directing users to confirm interactively or install via package.json.

Implementation

  • Removed the hard SchemaError block rejecting all non-@varlock/* module names
  • Added isPluginCached(url) to check the local cache index before prompting — already-cached plugins are implicitly trusted (previously confirmed)
  • Confirmation prompt (using existing @clack prompt helpers) shows package name, npm registry source, and a trust reminder:
⚠  Third-party plugin download requested
   Package: some-plugin@1.0.0
   Source:  npm registry (https://registry.npmjs.org)

   Only install plugins from sources you trust.

◆ Allow downloading "some-plugin@1.0.0" from npm?
  ● Yes, download it / ○ No, cancel

Docs

Updated plugins.mdx to remove the "only @varlock/* supported" caution and add a note about the confirmation requirement for 3rd party binary downloads.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 2, 2026

🦋 Changeset detected

Latest commit: a8aab1c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 18 packages
Name Type
varlock Minor
@varlock/astro-integration Major
@varlock/cloudflare-integration Major
@varlock/expo-integration Major
@varlock/nextjs-integration Major
@varlock/vite-integration Major
@varlock/1password-plugin Major
@varlock/aws-secrets-plugin Major
@varlock/azure-key-vault-plugin Major
@varlock/bitwarden-plugin Major
@varlock/dashlane-plugin Major
@varlock/google-secret-manager-plugin Major
@varlock/hashicorp-vault-plugin Major
@varlock/infisical-plugin Major
@varlock/keepass-plugin Major
@varlock/pass-plugin Major
@varlock/passbolt-plugin Major
@varlock/proton-pass-plugin Major

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

Copilot AI linked an issue Apr 2, 2026 that may be closed by this pull request
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Apr 2, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
varlock-website a8aab1c Commit Preview URL

Branch Preview URL
Apr 02 2026, 07:25 PM

Copilot AI changed the title [WIP] Add support for 3rd party plugins feat: allow 3rd party plugins with user confirmation for binary downloads Apr 2, 2026
Copilot AI requested a review from theoephraim April 2, 2026 20:21
@philmillman
Copy link
Copy Markdown
Member

philmillman commented Apr 3, 2026

@theoephraim we may need a --dangerously-accept style flag for CI (or non-interactive workflows) maybe with some sort of allowList?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Allow 3rd party plugins

3 participants