|
let fs = require('fs') |
|
let path = require('path') |
|
|
|
let engines = { |
|
stable: { |
|
files: [ |
|
path.resolve(__dirname, '..', 'package.stable.json'), |
|
path.resolve(__dirname, '..', 'package-lock.stable.json'), |
|
], |
|
}, |
|
oxide: { |
|
files: [ |
|
path.resolve(__dirname, '..', 'package.oxide.json'), |
|
path.resolve(__dirname, '..', 'package-lock.oxide.json'), |
|
], |
|
}, |
|
} |
|
|
|
|
|
let [otherEngine, info] = Object.entries(engines).find(([, info]) => |
|
info.files.every((file) => fs.existsSync(file)) |
|
) |
|
let currentEngine = otherEngine === 'oxide' ? 'stable' : 'oxide' |
|
|
|
console.log(`Current engine: \`${currentEngine}\`, swapping to \`${otherEngine}\``) |
|
|
|
|
|
for (let file of info.files) { |
|
fs.renameSync( |
|
file.replace(`.${otherEngine}`, ''), |
|
file.replace(`.${otherEngine}`, `.${currentEngine}`) |
|
) |
|
} |
|
for (let file of engines[otherEngine].files) { |
|
fs.renameSync(file, file.replace(`.${otherEngine}`, '')) |
|
} |
|
|
|
console.log( |
|
'Engines have been swapped. Make sure to run `npm install` to update your dependencies.' |
|
) |
|
|