UNPKG

sardines-compile-time-tools

Version:

sardines.compile-time-tools.js is part of the sardines.io project

114 lines (101 loc) 4.63 kB
import { utils } from 'sardines-core' import { publish } from './index' import * as proc from 'process' import * as fs from 'fs' let {params} = utils.parseArgs() if (params.test) { publish({ // url: 'http://localhost:8080', // username: 'dietitian-dev', // password: 'Startup@2019' }) } if (params.help) { console.log(` --config : set the sardines config file, default is ./sardines-config.json --private : set the service as private, default is false --local=<path> : Service definition file path, default is './sardines-local-services.json' --patch : Increase patch number of version, default is true --minor : Increase minor number of version, default is false --major : Increase major number of version, default is false --version=<ver> : set the version number, format is 'major.minor.patch' --tag=<tag name> : set the additional git tag, must be used together with --tagMsg --tagMsg=<tag message> : set the tag/version message of git --commit=<commit message> : set the git commit message of this version --git-remote=<remote name>: select the git remote, default is 'origin' --git-branch=<branch name>: select the git branch to store version information, default is 'sardines' --verbose : verbose mode, log everything on the stdout `) // --exe-dir=<dir> : Directory path of the executable code files, default is './lib' // --repo=<repo url> : Url of repository, default is 'http://localhost:8080' // --user=<user name> : User of repository, required, the user would be signed up if does not exist // --pass=<password> : Password of the user, required proc.exit(0) } // const repo = params.repo ? params.repo : 'http://localhost:8080' // const repo = params.repo // const user = params.user // const pass = params.pass // const exeDir = params['exe-dir'] ? params['exe-dir'] : './lib' // const exeDir = params['exe-dir'] const serviceDefinitionFile = params['local'] ? params['local'] : './sardines-local-services.json' const sardinesConfigFile = params['config'] ? params['config'] : './sardines-config.json' // if (!user) { // console.error('Repository user name is missing') // proc.exit(1) // } // if (!pass) { // console.error('Repository password is missing') // proc.exit(1) // } // if (!fs.existsSync(exeDir)) { // console.error(`Executable code directory [${exeDir}] does not exist`) // proc.exit(1) // } // if (!fs.lstatSync(exeDir).isDirectory()) { // console.error(`Executable code directory [${exeDir}] is not a valid directory`) // proc.exit(1) // } if (!fs.existsSync(serviceDefinitionFile)) { console.error(`Service definition file [${serviceDefinitionFile}] does not exist`) proc.exit(1) } if (!fs.lstatSync(serviceDefinitionFile).isFile()) { console.error(`Service definition file [${serviceDefinitionFile}] is not a valid file`) proc.exit(1) } const args: any = { // url: repo, // username: user, // password: pass, // executableCodeDir: exeDir, serviceDefinitionFile, sardinesConfigFile, // major: (params['major']), // minor: (params['minor']), // patch: (params['patch']), // version: params['version'], // tag: params['tag'], // tagMsg: params['tagMsg'], // commit: params['commit'], // remote: params['git-remote'], // branch: params['git-branch'], // verbose: params['verbose'] // isPublic: !params['private'] } if (typeof params['major'] === 'boolean') args.major = params['major'] if (typeof params['minor'] === 'boolean') args.minor = params['minor'] if (typeof params['patch'] === 'boolean') args.patch = params['patch'] if (typeof params['version'] === 'string') args.version = params['version'] if (typeof params['tag'] === 'string') args.tag = params['tag'] if (typeof params['tagMsg'] === 'string') args.tagMsg = params['tagMsg'] if (typeof params['commit'] === 'string') args.commit = params['commit'] if (typeof params['git-remote'] === 'string') args.remote= params['git-remote'] if (typeof params['git-branch'] === 'string') args.branch= params['git-branch'] if (typeof params['verbose'] === 'boolean') args.verbose= params['verbose'] if (typeof params['private'] === 'boolean') args.isPublic = !params['private'] publish(args).then(res => { console.log(`successfully published ${res.length} services`) }).catch(e => { console.error(`error when publishing:`, e) })