Files
tankz/build/prepare.js
2018-01-11 16:34:21 +03:00

42 lines
1.1 KiB
JavaScript
Executable File

const AdobeAir = require('../tasks/adobeAir');
const Haxe = require('../tasks/haxe');
const FlashPlayer = require('../tasks/flashplayer');
const packages = [
{name:'openfl', version:'6.5.3'},
{name:'lime', version:'5.9.1'},
{name:'promhx', version:'1.1.0'},
{name:'protohx', version:'0.4.6'},
{name:'yaml', version:'1.3.0'},
{name:'haxework', git:'git@bitbucket.org:shmyga/haxework.git'},
{name:'orm', version:'2.1.0'},
];
const prepareOne = (value) => {
switch (value) {
case Haxe.ID:
const haxe = new Haxe();
return haxe.prepare().then(() => haxe.install(packages));
case AdobeAir.ID:
return new AdobeAir().prepare();
case FlashPlayer.ID:
return new FlashPlayer().prepare();
default:
throw Error(`Unknown target: ${value}`)
}
};
const prepare = (...targets) => function prepare() {
const tasks = targets.map((target) => prepareOne(target));
return Promise.all(tasks);
};
const update = () => {
return new Haxe().upgrade();
};
module.exports = prepare;
module.exports.update = update;