mirror of
https://github.com/zhigang1992/xverse-web-extension.git
synced 2026-04-29 13:15:45 +08:00
* 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
29 lines
1.0 KiB
JavaScript
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));
|