UNPKG

@discoveryjs/cli

Version:

CLI tools to serve & build projects based on Discovery.js

37 lines (28 loc) 1.16 kB
const path = require('path'); const configUtils = require('./config'); function preprocessConfigFile(configFile) { return configFile ? path.relative(process.cwd(), configFile).replace(/^(?=[^.\/])/, './') : null; } module.exports = fn => Object.assign(async options => { const { configFile, config } = await configUtils.loadConfigWithFallback(options); return fn(options || {}, config, preprocessConfigFile(configFile)); }, { fn }); module.exports.model = fn => Object.assign(module.exports((options, config, configFile) => { const { model } = options; if (!model) { console.error('Model name is not specified. Use `--model` option to specify a model'); process.exit(2); } const modelConfig = config.models[0]; if (!modelConfig) { console.error( 'Model `' + model + '` is not found in config. ' + 'Available models: ' + (config.models.length ? config.models.map(model => model.slug).join(', ') : '<no model is available>') ); process.exit(2); } return fn(modelConfig, options, config, configFile); }), { fn });