Files
xverse-web-extension/scripts/pin_all_deps.js
Tim Man c6d6a00c94 Chore/eng 5899 pin all dependencies and update lock file (#837)
* chore: add fede's script to pin all deps and run it

* chore: update the script pin_all_deps.js to use lockfileVersion >=2

and needed to run npm i to update the lockfile

* chore: run npm i after pinned versions
2024-12-19 14:10:57 +00:00

29 lines
1.0 KiB
JavaScript

/*
* This script is used to pin all dependencies in package.json to the exact
* versions declared in package-lock.json.
*
* It assumes lockfileVersion >= 2
*
* Usage: node pin_all_deps.js
*/
const fs = require('fs');
const packageLock = require('../package-lock.json');
const packageJson = require('../package.json');
for (const packageName in packageJson.dependencies) {
const installedPathKey = `node_modules/${packageName}`;
if (packageJson.dependencies.hasOwnProperty(packageName) && packageLock.packages[installedPathKey]) {
packageJson.dependencies[packageName] = packageLock.packages[installedPathKey].version;
}
}
for (const packageName in packageJson.devDependencies) {
const installedPathKey = `node_modules/${packageName}`;
if (packageJson.devDependencies.hasOwnProperty(packageName) && packageLock.packages[installedPathKey]) {
packageJson.devDependencies[packageName] = packageLock.packages[installedPathKey].version;
}
}
fs.writeFileSync('../package.json', JSON.stringify(packageJson, null, 2));