UNPKG

gulp-environment

Version:

Adds easy environment configuration and conditional piping to Gulp, based on NODE_ENV or parameters with yargs.

51 lines (39 loc) 1.04 kB
var fs = require('fs') var findConfig = require('find-config') function loadConfig(filename) { if (!fs.existsSync(filename)) { throw new Error(filename + ' could not be found!') } var contents = fs.readFileSync(filename) try { return JSON.parse(contents) } catch (e) { throw new Error('Could not parse ' + filename + ' as JSON!', e) } } function findAndLoadConfig(filename, options) { var config = findConfig( filename, Object.assign({}, { home: false }, options) ) if (!config) { throw new Error('Could not find a ' + filename + ' file') } return loadConfig(config) } function loadFromDotfile() { return findAndLoadConfig('.gulpenvrc') } function loadFromManifest() { return findAndLoadConfig('package.json')['gulp-environment'] } var defaultConfig = loadConfig(require.resolve('../.gulpenvrc')) var config = {} try { config = loadFromDotfile() } catch (e) { try { config = loadFromManifest() } catch (e) {} } module.exports = Object.assign({}, defaultConfig, config)