51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
/**
|
|
* Script that create a json file with the truffle version in a public folder
|
|
*/
|
|
|
|
const shell = require('shelljs')
|
|
const { writeFile } = require('./helpers/utils')
|
|
|
|
const directory = process.argv.slice(2)[0] || 'public'
|
|
|
|
const getObjectVersion = strategy => {
|
|
const pathToBin = `./scripts/get${strategy}SolcVersion.sh`
|
|
const { stdout, code } = shell.exec(pathToBin, { silent: true })
|
|
|
|
if (code !== 0) {
|
|
throw new Error('There is a problem obtaining the solc version')
|
|
}
|
|
|
|
const version = stdout.match(/(?:\^0|\d*)\.(?:0|\d*)\.(?:0|\d*)/gi) || ['4.1.14', '4.1.14', '0.4.24']
|
|
|
|
return {
|
|
truffleVersion: version[0],
|
|
truffleCoreVersion: version[1],
|
|
solcVersion: version[2]
|
|
}
|
|
}
|
|
|
|
const createObjectVersion = (strategy, content) => {
|
|
try {
|
|
const strategiesAllowed = ['Dutch', 'MintedCapped']
|
|
if (!strategiesAllowed.includes(strategy)) {
|
|
throw new Error('Strategy doesnt exist')
|
|
}
|
|
const destinyPath = `${__dirname}/../${directory}/metadata/${strategy}TruffleVersions.json`
|
|
|
|
writeFile(destinyPath, content, err => {
|
|
if (err) {
|
|
console.log(`Error creating version file`, err)
|
|
}
|
|
})
|
|
} catch (e) {
|
|
console.log(e)
|
|
}
|
|
}
|
|
|
|
const strategiesToMove = ['Dutch', 'MintedCapped']
|
|
|
|
for (let strategy of strategiesToMove) {
|
|
const objectVersion = getObjectVersion(strategy)
|
|
createObjectVersion(strategy, objectVersion)
|
|
}
|