Skip to content

Commit f550b62

Browse files
authored
fix(create-cloudflare): install dependencies without --legacy-peer-deps (#11483)
* fix(create-cloudflare): install dependencies without --legacy-peer-deps * add changeset
1 parent 4f15699 commit f550b62

File tree

4 files changed

+23
-55
lines changed

4 files changed

+23
-55
lines changed

.changeset/wild-papers-own.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"create-cloudflare": patch
3+
"wrangler": patch
4+
---
5+
6+
stop running `npm install` with `--legacy-peer-deps` flag when setting up a project

packages/create-cloudflare/src/helpers/__tests__/packages.test.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ describe("Package Helpers", () => {
3434
await npmInstall(createTestContext());
3535

3636
expect(vi.mocked(runCommand)).toHaveBeenCalledWith(
37-
["npm", "install", "--legacy-peer-deps"],
37+
["npm", "install"],
3838
expect.anything(),
3939
);
4040
});
@@ -58,11 +58,7 @@ describe("Package Helpers", () => {
5858
};
5959

6060
const cases: TestCase[] = [
61-
{
62-
pm: "npm",
63-
initialArgs: ["npm", "install"],
64-
additionalArgs: ["--legacy-peer-deps"],
65-
},
61+
{ pm: "npm", initialArgs: ["npm", "install"] },
6662
{ pm: "pnpm", initialArgs: ["pnpm", "install"] },
6763
{ pm: "bun", initialArgs: ["bun", "add"] },
6864
{ pm: "yarn", initialArgs: ["yarn", "add"] },
@@ -107,11 +103,7 @@ describe("Package Helpers", () => {
107103
);
108104

109105
const devCases: TestCase[] = [
110-
{
111-
pm: "npm",
112-
initialArgs: ["npm", "install", "--save-dev"],
113-
additionalArgs: ["--legacy-peer-deps"],
114-
},
106+
{ pm: "npm", initialArgs: ["npm", "install", "--save-dev"] },
115107
{ pm: "pnpm", initialArgs: ["pnpm", "install", "--save-dev"] },
116108
{ pm: "bun", initialArgs: ["bun", "add", "-d"] },
117109
{ pm: "yarn", initialArgs: ["yarn", "add", "-D"] },
@@ -165,7 +157,7 @@ describe("Package Helpers", () => {
165157
await installWrangler();
166158

167159
expect(vi.mocked(runCommand)).toHaveBeenCalledWith(
168-
["npm", "install", "--save-dev", "wrangler@latest", "--legacy-peer-deps"],
160+
["npm", "install", "--save-dev", "wrangler@latest"],
169161
expect.anything(),
170162
);
171163
});

packages/create-cloudflare/src/helpers/packages.ts

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -51,22 +51,10 @@ export const installPackages = async (
5151
break;
5252
}
5353

54-
await runCommand(
55-
[
56-
npm,
57-
cmd,
58-
...(saveFlag ? [saveFlag] : []),
59-
...packages,
60-
// Add --legacy-peer-deps so that installing Wrangler v4 doesn't case issues with
61-
// frameworks that haven't updated their peer dependency for Wrangler v4
62-
// TODO: Remove this once Wrangler v4 has been released and framework templates are updated
63-
...(npm === "npm" ? ["--legacy-peer-deps"] : []),
64-
],
65-
{
66-
...config,
67-
silent: true,
68-
},
69-
);
54+
await runCommand([npm, cmd, ...(saveFlag ? [saveFlag] : []), ...packages], {
55+
...config,
56+
silent: true,
57+
});
7058

7159
if (npm === "npm") {
7260
// Npm install will update the package.json with a caret-range rather than the exact version/range we asked for.
@@ -103,17 +91,11 @@ export const npmInstall = async (ctx: C3Context) => {
10391

10492
const { npm } = detectPackageManager();
10593

106-
await runCommand(
107-
// Add --legacy-peer-deps so that installing Wrangler v4 doesn't case issues with
108-
// frameworks that haven't updated their peer dependency for Wrangler v4
109-
// TODO: Remove this once Wrangler v4 has been released and framework templates are updated
110-
[npm, "install", ...(npm === "npm" ? ["--legacy-peer-deps"] : [])],
111-
{
112-
silent: true,
113-
startText: "Installing dependencies",
114-
doneText: `${brandColor("installed")} ${dim(`via \`${npm} install\``)}`,
115-
},
116-
);
94+
await runCommand([npm, "install"], {
95+
silent: true,
96+
startText: "Installing dependencies",
97+
doneText: `${brandColor("installed")} ${dim(`via \`${npm} install\``)}`,
98+
});
11799
};
118100

119101
type NpmInfoResponse = {

packages/wrangler/src/autoconfig/c3-vendor/packages.ts

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,22 +70,10 @@ export const installPackages = async (
7070
break;
7171
}
7272

73-
await runCommand(
74-
[
75-
type,
76-
cmd,
77-
...(saveFlag ? [saveFlag] : []),
78-
...packages,
79-
// Add --legacy-peer-deps so that installing Wrangler v4 doesn't case issues with
80-
// frameworks that haven't updated their peer dependency for Wrangler v4
81-
// TODO: Remove this once Wrangler v4 has been released and framework templates are updated
82-
...(type === "npm" ? ["--legacy-peer-deps"] : []),
83-
],
84-
{
85-
...config,
86-
silent: true,
87-
}
88-
);
73+
await runCommand([type, cmd, ...(saveFlag ? [saveFlag] : []), ...packages], {
74+
...config,
75+
silent: true,
76+
});
8977

9078
if (type === "npm") {
9179
// Npm install will update the package.json with a caret-range rather than the exact version/range we asked for.

0 commit comments

Comments
 (0)