diff options
author | Nick Van Doorn <vandoorn.nick@gmail.com> | 2018-12-09 23:16:50 -0800 |
---|---|---|
committer | Nick Van Doorn <vandoorn.nick@gmail.com> | 2018-12-09 23:16:50 -0800 |
commit | ab8e49c27251dcadf00f9355c432a08f88492cc5 (patch) | |
tree | 88ce13e7b75f2bbf9caa49233ad434a7d2173b53 | |
parent | cf0fc81113b1a47433739c8f892ecb4eb1cb5119 (diff) |
Validate config & pass in rootDir
-rw-r--r-- | bin/index.ts | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/bin/index.ts b/bin/index.ts index 54ded03..4ec7b69 100644 --- a/bin/index.ts +++ b/bin/index.ts @@ -1,13 +1,24 @@ import fs from 'fs' import process from 'process' -import { Config } from '../src/models/config.model' +import { Config, validateConfig } from '../src/models/config.model' import { Context } from '../src/models/context.model' import { testRunner } from '../src/test-runner' - -const config: Config = JSON.parse(fs.readFileSync(`${__dirname}/config.json`)) -const ctx: Context = { - isTestMode: process.env.NODE_ENV === 'production', - logger: console.log, - config -} -testRunner(ctx) +;(async () => { + const config: Config = require('./config.json') + const errors = await validateConfig(config) + const isValid = errors.length <= 0 + if (!isValid) { + console.error('Invalid configuration:') + for (let err of errors) { + console.error(err) + } + process.exit(1) + } + const ctx: Context = { + isTestMode: process.env.NODE_ENV === 'production', + logger: console.log, + rootDir: __dirname, + config + } + testRunner(ctx) +})() |