summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Van Doorn <vandoorn.nick@gmail.com>2018-12-09 23:16:50 -0800
committerNick Van Doorn <vandoorn.nick@gmail.com>2018-12-09 23:16:50 -0800
commitab8e49c27251dcadf00f9355c432a08f88492cc5 (patch)
tree88ce13e7b75f2bbf9caa49233ad434a7d2173b53
parentcf0fc81113b1a47433739c8f892ecb4eb1cb5119 (diff)
Validate config & pass in rootDir
-rw-r--r--bin/index.ts29
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)
+})()