UNPKG

zarbis

Version:

Configuration-less build tool

29 lines 1 kB
import * as t from 'io-ts'; export function withDefault(type, defaultValue) { return new t.Type(`withDefault(${type.name}, ${JSON.stringify(defaultValue)})`, type.is, (v) => type.decode(v != null ? v : defaultValue), type.encode); } export const Config = t.intersection([ t.interface({ for: t.union([ t.literal('web'), t.literal('webworker'), t.literal('node'), ]), entrypoint: t.string, }, 'required'), t.partial({ entrypoints: t.record(t.string, t.array(t.string)), quirks: withDefault(t.partial({ oldBrowser: t.boolean, singleChunk: t.boolean, skipTerser: t.boolean, packer: t.boolean, moduleAliases: t.record(t.string, t.string), }, 'quirks'), {}), modifiers: t.union([ t.undefined, t.array(t.any), ], 'webpack config transformers'), }, 'optional') ], 'config'); //# sourceMappingURL=config.js.map