UNPKG

ph-dev-tools

Version:
43 lines (37 loc) 1.1 kB
/** * Created by Papa on 4/24/2016. */ import {parseFlags} from "./parser"; import * as fs from "fs"; import {Configuration} from "./Options"; export function readConfiguration( projectPath:string, programArguments:string[] ):Configuration { let flags = parseFlags(programArguments); let configFilePath = projectPath + '/' + flags.optionsFilePath; let configFile = fs.readFileSync(configFilePath); let configString = configFile.toString(); let config:Configuration = JSON.parse(configString); verifyConfiguration(config); return config; } function verifyConfiguration( options:Configuration ):void { if(!options.source) { throw `'source' must be specified in options`; } if(!options.source.dir) { throw `'source.dir' must be specified in options`; } if(!options.generated) { throw `'generated' must be specified in options`; } if(!options.generated.client) { throw `'generated.client' must be specified in options`; } if(!options.generated.client.dir) { throw `'generated.client.dir' must be specified in options`; } }