mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: remove extraneous devDependencies on package merge
/cc @pitaj
This commit is contained in:
@@ -38,11 +38,12 @@ pkgInstall.updatePackageFile = () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const { devDependencies } = defaultPackageContents;
|
||||||
|
|
||||||
// Sort dependencies alphabetically
|
// Sort dependencies alphabetically
|
||||||
dependencies = sortDependencies({ ...dependencies, ...defaultPackageContents.dependencies });
|
dependencies = sortDependencies({ ...dependencies, ...defaultPackageContents.dependencies });
|
||||||
|
|
||||||
const packageContents = { ..._.merge(oldPackageContents, defaultPackageContents), dependencies };
|
const packageContents = { ..._.merge(oldPackageContents, defaultPackageContents), dependencies, devDependencies };
|
||||||
|
|
||||||
fs.writeFileSync(paths.currentPackage, JSON.stringify(packageContents, null, 2));
|
fs.writeFileSync(paths.currentPackage, JSON.stringify(packageContents, null, 2));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -86,6 +86,15 @@ describe('Package install lib', () => {
|
|||||||
assert.strictEqual(updated.scripts.preinstall, 'echo "What are you?";');
|
assert.strictEqual(updated.scripts.preinstall, 'echo "What are you?";');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should remove extraneous devDependencies', async () => {
|
||||||
|
current.devDependencies.expect = '27.5.1';
|
||||||
|
await fs.writeFile(packageFilePath, JSON.stringify(current, null, 4));
|
||||||
|
|
||||||
|
pkgInstall.updatePackageFile();
|
||||||
|
const updated = JSON.parse(await fs.readFile(packageFilePath, 'utf8'));
|
||||||
|
assert.strictEqual(updated.devDependencies.hasOwnProperty('expect'), false);
|
||||||
|
});
|
||||||
|
|
||||||
after(async () => {
|
after(async () => {
|
||||||
// Clean up
|
// Clean up
|
||||||
await fs.rename(path.resolve(__dirname, '../install/package.json.bak'), sourcePackagePath);
|
await fs.rename(path.resolve(__dirname, '../install/package.json.bak'), sourcePackagePath);
|
||||||
|
|||||||
Reference in New Issue
Block a user