Skip to content

feat(addons): pass setup defaults to dependencies - #1419

Open
LudoLoops wants to merge 4 commits into
sveltejs:mainfrom
LudoLoops:feat/setup-addon-dependency-options
Open

LudoLoops wants to merge 4 commits into
sveltejs:mainfrom
LudoLoops:feat/setup-addon-dependency-options

Conversation

@LudoLoops

Copy link
Copy Markdown

Summary

  • Expose resolved add-on options (including defaults) to setup, so an add-on can conditionally compose dependencies based on its selected mode.
  • Let dependsOn(id, defaults) provide typed defaults for automatically added official add-ons. Defaults do not override options when the dependency was explicitly selected; conflicting sibling defaults remain unanswered for the normal prompt.
  • Add coverage for setup values, dependency option resolution, explicit selection, nested defaults, and conflicting defaults.

This is needed for conditional composition in SvelteForge's dashboard addon: only the dashboard variant should automatically add official Drizzle and Better Auth, with PostgreSQL settings, while the base variant remains auth-free. Related upstream request: #1219. Related consumer issue: lelabdev/svforge#547.

Validation

  • pnpm build — passed
  • pnpm --filter sv check — passed
  • pnpm lint — passed
  • pnpm test --project core setup — 7 passed
  • pnpm test --project cli add — 4 passed
  • pnpm test — 511 passed, 29 skipped; 8 failures were environment-related: Playwright browser binary unavailable, plus unrelated full-project CLI fixture timeout and pnpm version mismatch (11.27.0 vs repository-required 11.28.3).

@pkg-svelte-dev

pkg-svelte-dev Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Install the latest version of sv from 8db1412:

pnx https://pkg.svelte.dev/sv/c/8db141280dbe0fa863c8b0fc3c260f49d05b7e05 create

Open in pkg.svelte.dev: https://pkg.svelte.dev/repos/cli/pr/1419

Note

This PR is from a fork. A maintainer must approve approve each commit before it can be built and installed.

@changeset-bot

changeset-bot Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8db1412

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

This PR includes changesets to release 1 package
Name Type
sv Minor

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

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.

1 participant