UNPKG

1.18 kBJavaScriptView Raw
1var debug = require('debug')('compiled')
2var la = require('lazy-ass')
3var is = require('check-more-types')
4var join = require('path').join
5var exists = require('fs').existsSync
6
7function noConfig (pkg) {
8 return !pkg.config
9}
10
11function noCompiled (config) {
12 return !config.compiled
13}
14
15var isValidConfig = is.object
16
17function getConfig () {
18 var filename = join(process.cwd(), 'package.json')
19 debug('loading compiled config from', filename)
20 if (!exists(filename)) {
21 throw new Error('Cannot find file ' + filename)
22 }
23 var pkg = require(filename)
24 if (noConfig(pkg)) {
25 debug(pkg)
26 throw new Error('Cannot find config object in package ' + filename)
27 }
28 if (noCompiled(pkg.config)) {
29 debug(pkg.config)
30 throw new Error('Cannot find settings for compiled in config in package ' + filename)
31 }
32 la(isValidConfig(pkg.config.compiled), 'invalid compiled config in', filename)
33 return pkg.config.compiled
34}
35
36function getBuildConfig () {
37 var config = getConfig()
38 var isConfig = is.schema({
39 dir: is.unemptyString,
40 files: is.array
41 })
42 la(isConfig(config), 'invalid compiled config', config)
43 return config
44}
45
46module.exports = getBuildConfig