Re-add package lock fix script
m(
This commit is contained in:
parent
78c8052629
commit
9431bc22a6
@ -8,6 +8,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"install-all": "./scripts/every-app.sh \"npm install\"",
|
"install-all": "./scripts/every-app.sh \"npm install\"",
|
||||||
|
"postshrinkwrap": "node scripts/fix-package-lock.js &>/dev/null || true",
|
||||||
"build-json": "npm run compile-contracts && node ./scripts/build-json.js",
|
"build-json": "npm run compile-contracts && node ./scripts/build-json.js",
|
||||||
"repl": "truffle exec scripts/repl.js",
|
"repl": "truffle exec scripts/repl.js",
|
||||||
"seeds": "truffle exec scripts/seeds.js",
|
"seeds": "truffle exec scripts/seeds.js",
|
||||||
|
47
scripts/fix-package-lock.js
Normal file
47
scripts/fix-package-lock.js
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
// whatever npm does?! and for whatever this is needed..
|
||||||
|
// https://github.com/aragon/aragon-cli/blob/master/packages/aragon-cli/scripts/fix-lockfile
|
||||||
|
// https://github.com/aragon/aragon-cli/blob/master/docs-internal/Dependencies.md#regenerate-the-lockfiles
|
||||||
|
|
||||||
|
const fs = require('fs')
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
function replaceAll(string, mapObject) {
|
||||||
|
const regex = new RegExp(Object.keys(mapObject).join('|'), 'gi')
|
||||||
|
let occurrences = 0
|
||||||
|
const result = string.replace(regex, matched => {
|
||||||
|
occurrences++
|
||||||
|
return mapObject[matched]
|
||||||
|
})
|
||||||
|
console.log(`[fix-lockfile] Replaced ${occurrences} occurrences.`)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
async function fixLockfile(path, replacementMap) {
|
||||||
|
const originalJson = require(path)
|
||||||
|
const originalText = JSON.stringify(originalJson, null, 2)
|
||||||
|
const fixedText = replaceAll(originalText, replacementMap)
|
||||||
|
const fixedJson = JSON.parse(fixedText)
|
||||||
|
console.log('writing file', path);
|
||||||
|
await fs.writeFileSync(path, JSON.stringify(fixedJson, null, 2))
|
||||||
|
}
|
||||||
|
//
|
||||||
|
|
||||||
|
const LOCKFILE_PATH = path.join(__dirname, '..', 'package-lock.json')
|
||||||
|
|
||||||
|
const replacementMap = {
|
||||||
|
//
|
||||||
|
'"version": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c"':
|
||||||
|
'"version": "0.2.3"',
|
||||||
|
//
|
||||||
|
'"from": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c"':
|
||||||
|
'"resolved": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c"',
|
||||||
|
//
|
||||||
|
'"from": "async-eventemitter@github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c"':
|
||||||
|
'"resolved": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c"',
|
||||||
|
//
|
||||||
|
'"async-eventemitter": "async-eventemitter@github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c"':
|
||||||
|
'"async-eventemitter": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c"',
|
||||||
|
}
|
||||||
|
|
||||||
|
fixLockfile(LOCKFILE_PATH, replacementMap)
|
Loading…
x
Reference in New Issue
Block a user