Skip to content

Commit 7ae7638

Browse files
committed
Create a script to unresolve npm packages
1 parent 90fd3b1 commit 7ae7638

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

integration/vscode/ada/.vscodeignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ tsconfig.json
1717
xfail.yaml
1818
vscode-test-win-workaround.py
1919
convert-mocha-junit-report.py
20+
unresolve.js

integration/vscode/ada/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1422,7 +1422,8 @@
14221422
"cilint": "eslint \"./src/**/*.{js,ts,tsx}\" \"./test/**/*.{js,ts,tsx}\"",
14231423
"test": "vscode-test",
14241424
"resolve-backtrace": "npx stacktracify",
1425-
"clean": "node -e \"fs.rmSync('out',{force:true,recursive:true})\""
1425+
"clean": "node -e \"fs.rmSync('out',{force:true,recursive:true})\"",
1426+
"unresolve": "node unresolve.js"
14261427
},
14271428
"dependencies": {
14281429
"command-exists": "1.2.9",
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* This tool processes the nearby 'package-lock.json' file by removing the
3+
* "resolved" field of packages so that it becomes possible to resolve them in
4+
* a different registry than the one they were first resolved.
5+
*/
6+
const { writeFileSync } = require('fs');
7+
const { join } = require('path');
8+
9+
lockPath = join(__dirname, 'package-lock.json');
10+
11+
lockData = require(lockPath);
12+
const packages = lockData['packages'];
13+
const keys = Object.keys(packages);
14+
for (let index = 0; index < keys.length; index++) {
15+
const key = keys[index];
16+
const object = packages[key];
17+
if ('resolved' in object) {
18+
delete object['resolved'];
19+
}
20+
}
21+
22+
writeFileSync(lockPath, JSON.stringify(lockData, null, 4) + '\n');

0 commit comments

Comments
 (0)