mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
feat: sort dependencies alphabetically
... when merging from install/package.json /cc @pitaj
This commit is contained in:
@@ -23,14 +23,20 @@ function updatePackageFile() {
|
|||||||
|
|
||||||
const defaultPackageContents = JSON.parse(fs.readFileSync(packageDefaultFilePath, 'utf8'));
|
const defaultPackageContents = JSON.parse(fs.readFileSync(packageDefaultFilePath, 'utf8'));
|
||||||
|
|
||||||
const dependencies = {};
|
let dependencies = {};
|
||||||
Object.entries(oldPackageContents.dependencies || {}).forEach(([dep, version]) => {
|
Object.entries(oldPackageContents.dependencies || {}).forEach(([dep, version]) => {
|
||||||
if (isPackage.test(dep)) {
|
if (isPackage.test(dep)) {
|
||||||
dependencies[dep] = version;
|
dependencies[dep] = version;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const packageContents = { ...oldPackageContents, ...defaultPackageContents, dependencies: { ...dependencies, ...defaultPackageContents.dependencies } };
|
// Sort dependencies alphabetically
|
||||||
|
dependencies = Object.entries({ ...dependencies, ...defaultPackageContents.dependencies }).sort((a, b) => (a < b ? -1 : 1)).reduce((memo, pkg) => {
|
||||||
|
memo[pkg[0]] = pkg[1];
|
||||||
|
return memo;
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
const packageContents = { ...oldPackageContents, ...defaultPackageContents, dependencies: dependencies };
|
||||||
|
|
||||||
fs.writeFileSync(packageFilePath, JSON.stringify(packageContents, null, 2));
|
fs.writeFileSync(packageFilePath, JSON.stringify(packageContents, null, 2));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user