I don't know why this is needed but it fixes an npm issue
if install fails node scripts/fix-package-lock.js might help
This commit is contained in:
parent
b32b5e240d
commit
9ac3837f67
45
scripts/fix-package-lock.js
Normal file
45
scripts/fix-package-lock.js
Normal file
@ -0,0 +1,45 @@
|
||||
#!/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')
|
||||
|
||||
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)
|
||||
await fs.writeFileSync(path, JSON.stringify(fixedJson, null, 2))
|
||||
}
|
||||
//
|
||||
|
||||
const LOCKFILE_PATH = '../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