diff options
author | Dimitri Staessens <[email protected]> | 2019-10-06 21:37:45 +0200 |
---|---|---|
committer | Dimitri Staessens <[email protected]> | 2019-10-06 21:37:45 +0200 |
commit | 3c51c3be85bb0d1bdb87ea0d6632f1c256912f27 (patch) | |
tree | c7ccc8279b12c4f7bdbbb4270d617e48f51722e4 /node_modules/postcss-load-config/index.js | |
parent | 412c104bebc507bea9c94fd53b5bdc4b64cbfe31 (diff) | |
download | website-3c51c3be85bb0d1bdb87ea0d6632f1c256912f27.tar.gz website-3c51c3be85bb0d1bdb87ea0d6632f1c256912f27.zip |
build: Add some required modules for node
Diffstat (limited to 'node_modules/postcss-load-config/index.js')
-rw-r--r-- | node_modules/postcss-load-config/index.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/node_modules/postcss-load-config/index.js b/node_modules/postcss-load-config/index.js new file mode 100644 index 0000000..f4325cd --- /dev/null +++ b/node_modules/postcss-load-config/index.js @@ -0,0 +1,69 @@ +// ------------------------------------ +// # POSTCSS - LOAD CONFIG - INDEX +// ------------------------------------ + +'use strict' + +var resolve = require('path').resolve + +var config = require('cosmiconfig') +var assign = require('object-assign') + +var loadOptions = require('postcss-load-options/lib/options.js') +var loadPlugins = require('postcss-load-plugins/lib/plugins.js') + +/** + * Autoload Config for PostCSS + * + * @author Michael Ciniawsky (@michael-ciniawsky) <[email protected]> + * @license MIT + * + * @module postcss-load-config + * @version 1.2.0 + * + * @requires comsiconfig + * @requires object-assign + * @requires postcss-load-options + * @requires postcss-load-plugins + * + * @method postcssrc + * + * @param {Object} ctx Context + * @param {String} path Config Directory + * @param {Object} options Config Options + * + * @return {Promise} config PostCSS Config + */ +module.exports = function postcssrc (ctx, path, options) { + ctx = assign({ cwd: process.cwd(), env: process.env.NODE_ENV }, ctx) + + path = path ? resolve(path) : process.cwd() + + options = assign({ rcExtensions: true }, options) + + if (!ctx.env) process.env.NODE_ENV = 'development' + + var file + + return config('postcss', options) + .load(path) + .then(function (result) { + if (!result) throw Error('No PostCSS Config found in: ' + path) + + file = result ? result.filepath : '' + + return result ? result.config : {} + }) + .then(function (config) { + if (typeof config === 'function') config = config(ctx) + else config = assign(config, ctx) + + if (!config.plugins) config.plugins = [] + + return { + plugins: loadPlugins(config), + options: loadOptions(config), + file: file + } + }) +} |