UNPKG

@underpostnet/underpost

Version:

Underpost Platform — end-to-end CI/CD and application-delivery toolchain CLI. Covers bare metal, Kubernetes, K3s, kubeadm, LXD, container/image orchestration, secrets, databases, cron jobs, monitoring, SSH, runners, PWA + Workbox delivery, and release orc

34 lines (27 loc) 1.25 kB
#! /usr/bin/env node import { Command } from 'commander'; import fs from 'fs-extra'; import dotenv from 'dotenv'; import { loggerFactory } from '../src/server/logger.js'; import { buildTemplate, updatePrivateTemplateRepo } from '../src/server/conf.js'; if (fs.existsSync('./engine-private/conf/dd-cron/.env.production')) dotenv.config({ path: `./engine-private/conf/dd-cron/.env.production`, override: true }); else dotenv.config(); const logger = loggerFactory(import.meta); const program = new Command(); program .name('build.template') .description('Rebuild the standalone pwa-microservices-template from scratch out of the engine source tree.') .argument('[src-path]', 'Engine source root to sync from.', './') .argument('[to-path]', 'Template output path.', '../pwa-microservices-template') .option('--update-private', 'Update private template repository', false) .action(async (srcPath, toPath, options) => { try { if (options.updatePrivate) return await updatePrivateTemplateRepo(); await buildTemplate({ srcPath: srcPath.replaceAll(`'`, ''), toPath: toPath.replaceAll(`'`, '') }); } catch (error) { logger.error(error, error.stack); process.exit(1); } }); await program.parseAsync();