UNPKG

@kumologica/builder

Version:

Kumologica build and deploy module

72 lines (60 loc) 1.79 kB
const AWSBuilder = require('./build/aws'); const codegen = require('./build/codegen'); const exporter = require('./export'); const docs = require('./docs'); const code = require('./code'); const Updater = require('./updater'); function exp(lang, provider, argv, log) { return exporter.exp(lang, provider, argv, log); } function doc(lang, argv) { return docs.generate(lang, argv); } async function deploy(provider, argv, log) { if (!["aws", "kumohub", "azure", "google"].includes(provider)) { throw new Error(`Unsupported value for provider: <${provider}>, valid values are: azure, kumohub`); } switch (provider) { case 'azure': const AzureDeployer = require('./deploy/azure'); const azureDeployer = new AzureDeployer(log); await azureDeployer.deploy(argv); break; default: throw new Error(`Deployment not implemented yet for provider: <${provider}>`); } } async function build(provider, argv, log) { if (!["aws", "azure", "kumohub", "google"].includes(provider)) { throw new Error(`Unsupported value for provider: <${provider}>, valid values are: aws, azure, kumohub, google`); } console.log('Executing build for provider: ', provider); let buildFileName; switch (provider) { case 'aws': const awsBuilder = new AWSBuilder(); await awsBuilder.build(argv); break; case 'kumohub': const kumohubBuilder = new KumohubBuilder(log); await kumohubBuilder.build(argv); break; case 'azure': const AzureBuilder = require('./build/azure'); const azureBuilder = new AzureBuilder(log); buildFileName = await azureBuilder.build(argv); break; default: throw new Error(`provider: ${argv.provider} not supported yet`); } return buildFileName; } module.exports = { build, exp, deploy, doc, code, codegen, Updater }