Skip to content

Commit 6434035

Browse files
hamirmahalstyfle
andauthored
sort dependencies for smaller diffs (#82291)
Fixes #82290 Co-authored-by: Steven <steven@ceriously.com>
1 parent bfe2680 commit 6434035

File tree

1 file changed

+18
-0
lines changed
  • packages/create-next-app/templates

1 file changed

+18
-0
lines changed

packages/create-next-app/templates/index.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@ import { Bundler, GetTemplateFileArgs, InstallTemplateArgs } from "./types";
1515
// Do not rename or format. sync-react script relies on this line.
1616
// prettier-ignore
1717
const nextjsReactPeerVersion = "19.2.0";
18+
function sorted(obj: Record<string, string>) {
19+
return Object.keys(obj)
20+
.sort()
21+
.reduce((acc: Record<string, string>, key) => {
22+
acc[key] = obj[key];
23+
24+
return acc;
25+
}, {});
26+
}
1827

1928
/**
2029
* Get the file path for a given file in a template, e.g. "next.config.js".
@@ -301,6 +310,15 @@ export const installTemplate = async ({
301310
const devDeps = Object.keys(packageJson.devDependencies).length;
302311
if (!devDeps) delete packageJson.devDependencies;
303312

313+
// Sort dependencies and devDependencies alphabetically
314+
if (packageJson.dependencies) {
315+
packageJson.dependencies = sorted(packageJson.dependencies);
316+
}
317+
318+
if (packageJson.devDependencies) {
319+
packageJson.devDependencies = sorted(packageJson.devDependencies);
320+
}
321+
304322
await fs.writeFile(
305323
path.join(root, "package.json"),
306324
JSON.stringify(packageJson, null, 2) + os.EOL,

0 commit comments

Comments
 (0)