Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/light-taxis-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'sv': patch
---

fix(add): allow passing add-on as argument that depends on another add-on
13 changes: 12 additions & 1 deletion packages/cli/commands/add/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ export async function runAddCommand(
// prepare official addons
let workspace = await createWorkspace({ cwd: options.cwd });
const setups = selectedAddons.length ? selectedAddons.map(({ addon }) => addon) : officialAddons;
const addonSetupResults = setupAddons(setups, workspace);
let addonSetupResults = setupAddons(setups, workspace);

// prompt which addons to apply
if (selectedAddons.length === 0) {
Expand Down Expand Up @@ -411,6 +411,11 @@ export async function runAddCommand(
}

// add inter-addon dependencies
addonSetupResults = setupAddons(
selectedAddons.map(({ addon }) => addon),
workspace
);

for (const { addon } of selectedAddons) {
workspace = await createWorkspace(workspace);

Expand All @@ -433,6 +438,12 @@ export async function runAddCommand(
process.exit(1);
}
selectedAddons.push({ type: 'official', addon: dependency });

// Regenerate setup results to include the newly added dependency
addonSetupResults = setupAddons(
selectedAddons.map(({ addon }) => addon),
workspace
);
}
}

Expand Down
Loading