UNPKG

spinjs

Version:

[![Join the chat at https://gitter.im/sysgears/spinjs](https://badges.gitter.im/sysgears/spinjs.svg)](https://gitter.im/sysgears/spinjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![npm version](https://badge.fury.io/js/spi

37 lines (33 loc) 1.01 kB
import * as path from 'path'; import createBuilders from './createBuilders'; interface CreateConfigOptions { cwd?: string; cmd?: string; builderName?: string; builderOverrides?: any; genConfigOverrides?: any; } export default (options?: CreateConfigOptions): any => { const defaultOptions: CreateConfigOptions = {}; const { cwd, cmd, builderName, builderOverrides, genConfigOverrides } = options || defaultOptions; const dir = path.resolve(cwd || '.'); const { builders } = createBuilders({ cwd: dir, cmd: cmd || 'watch', argv: {}, builderOverrides, genConfigOverrides }); let builder; if (builderName) { builder = builders[builder]; } else { const builderNames = Object.keys(builders || {}).filter(name => !builders[name].parent); if (builderNames.length > 1) { throw new Error('Too many matching builders declared you must pick the right one'); } else { builder = builders[builderNames[0]]; } } return builder.config; };