Skip to content

Instantly share code, notes, and snippets.

@WomB0ComB0
Created October 16, 2024 17:21
Show Gist options
  • Save WomB0ComB0/c9012919b2734ad4fd49889b972da0cc to your computer and use it in GitHub Desktop.
Save WomB0ComB0/c9012919b2734ad4fd49889b972da0cc to your computer and use it in GitHub Desktop.
Sort your package.json dependencies
import { readFileSync, writeFileSync } from "node:fs";
import { join } from "node:path";
const packageJsonPath: string = join(process.cwd(), "package.json");
const packageJson: { dependencies: Record<string, string>, devDependencies: Record<string, string> } = JSON.parse(readFileSync(packageJsonPath, "utf8"));
const dependencies: Map<string, string> = new Map(Object.entries(packageJson.dependencies));
const devDependencies: Map<string, string> = new Map(Object.entries(packageJson.devDependencies));
const dependencies_: Record<string, string> = Object.fromEntries(dependencies);
const devDependencies_: Record<string, string> = Object.fromEntries(devDependencies);
const dependenciesKeys = Object.entries(dependencies_).sort();
const devDependenciesKeys = Object.entries(devDependencies_).sort();
const joinedDep: Record<string, string> = Object.fromEntries(dependenciesKeys)
const joinedDevDep: Record<string, string> = Object.fromEntries(devDependenciesKeys)
writeFileSync(packageJsonPath, JSON.stringify({ ...packageJson, dependencies: joinedDep, devDependencies: joinedDevDep }, null, 2));
@WomB0ComB0
Copy link
Author

Enjoy

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