diff options
Diffstat (limited to 'node_modules/postcss-load-plugins')
-rw-r--r-- | node_modules/postcss-load-plugins/CHANGELOG.md | 37 | ||||
-rw-r--r-- | node_modules/postcss-load-plugins/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/postcss-load-plugins/README.md | 247 | ||||
-rw-r--r-- | node_modules/postcss-load-plugins/index.js | 63 | ||||
-rw-r--r-- | node_modules/postcss-load-plugins/lib/plugins.js | 84 | ||||
-rw-r--r-- | node_modules/postcss-load-plugins/package.json | 96 |
6 files changed, 548 insertions, 0 deletions
diff --git a/node_modules/postcss-load-plugins/CHANGELOG.md b/node_modules/postcss-load-plugins/CHANGELOG.md new file mode 100644 index 0000000..3d7178f --- /dev/null +++ b/node_modules/postcss-load-plugins/CHANGELOG.md @@ -0,0 +1,37 @@ +<a name="2.3.0"></a> +# [2.3.0](https://github.com/michael-ciniawsky/postcss-load-plugins/compare/v2.2.0...v2.3.0) (2017-02-13) + + +### Features + +* **index:** Allow extensions for .postcssrc ([65cc0d0](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/65cc0d0)) + + + +<a name="2.2.0"></a> +# 2.2.0 (2017-01-11) + + +### Features + +* **index:** expose config file ([c643172](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/c643172)) +* **index:** improve error handling ([f3a4048](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/f3a4048)) +* **lib:** improve error handling ([a64bb03](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/a64bb03)) + + + +<a name="2.1.0"></a> +# 2.1.0 (2016-12-05) + + +### Bug Fixes + +* **index:** set NODE_ENV if undefined ([920f806](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/920f806)) +* **index:** support node v0.12 ([e31fab3](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/e31fab3)) +* **lib/plugins:** support node v0.12 ([c440e6b](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/c440e6b)) +* **loadPlugins:** add object-assign polyfill ([acd3f84](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/acd3f84)) +* **plugins:** check for plugin.default ([024e8c7](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/024e8c7)) + +### Features + +* function support, jsdoc, cleanups ([f637d60](https://github.com/michael-ciniawsky/postcss-load-plugins/commit/f637d60)) diff --git a/node_modules/postcss-load-plugins/LICENSE b/node_modules/postcss-load-plugins/LICENSE new file mode 100644 index 0000000..d36964f --- /dev/null +++ b/node_modules/postcss-load-plugins/LICENSE @@ -0,0 +1,21 @@ +License (MIT) + +Copyright (c) Michael Ciniawsky <michael.ciniawsky@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/postcss-load-plugins/README.md b/node_modules/postcss-load-plugins/README.md new file mode 100644 index 0000000..b54c876 --- /dev/null +++ b/node_modules/postcss-load-plugins/README.md @@ -0,0 +1,247 @@ +[![npm][npm]][npm-url] +[![node][node]][node-url] +[![deps][deps]][deps-url] +[![tests][tests]][tests-url] +[![coverage][cover]][cover-url] +[![code style][style]][style-url] +[![chat][chat]][chat-url] + +<div align="center"> + <img width="100" height="100" title="Load Plugins" src="http://michael-ciniawsky.github.io/postcss-load-plugins/logo.svg"> + <a href="https://github.com/postcss/postcss"> + <img width="110" height="110" title="PostCSS" src="http://postcss.github.io/postcss/logo.svg" hspace="10"> + </a> + <h1>Load Plugins</h1> +</div> + +<h2 align="center">Install</h2> + +```bash +npm i -D postcss-load-plugins +``` + +<h2 align="center">Usage</h2> + +``` +npm i -S|-D postcss-plugin +``` + +Install plugins and save them to your ***package.json*** dependencies/devDependencies. + +### `package.json` + +Create **`postcss`** section in your projects **`package.json`**. + +``` +App + |– client + |– public + | + |- package.json +``` + +```json +{ + "postcss": { + "plugins": { + "postcss-plugin": {} + } + } +} +``` + +### `.postcssrc` + +Create a **`.postcssrc`** file. + +``` +App + |– client + |– public + | + |- (.postcssrc|.postcssrc.json|.postcssrc.yaml) + |- package.json +``` + +**`JSON`** +```json +{ + "plugins": { + "postcss-plugin": {} + } +} +``` + +**`YAML`** +```yaml +plugins: + postcss-plugin: {} +``` + +### `postcss.config.js` or `.postcssrc.js` + +You may need some JavaScript logic to generate your config. For this case you can use a file named **`postcss.config.js`** or **`.postcssrc.js`**. + +``` +App + |– client + |– public + | + |- (postcss.config.js|.postcssrc.js) + |- package.json +``` + +Plugins can be loaded in either using an `{Object}` or an `{Array}`. + +##### `{Object}` + +```js +module.exports = (ctx) => ({ + plugins: { + 'postcss-plugin': ctx.plugin + } +}) +``` + +##### `{Array}` + +```js +module.exports = (ctx) => ({ + plugins: [ + require('postcss-plugin')(ctx.plugin) + ] +}) +``` + +<h2 align="center">Options</h2> + +Plugin **options** can take the following values. + +**`{}`: Plugin loads with defaults** + +```js +'postcss-plugin': {} || null +``` + +> :warning: `{}` must be an **empty** object + +**`{Object}`: Plugin loads with options** + +```js +'postcss-plugin': { option: '', option: '' } +``` + +**`false`: Plugin will not be loaded** + +```js +'postcss-plugin': false +``` + +### Order + +Plugin **order** is determined by declaration in the plugins section. + +```js +{ + plugins: { + 'postcss-plugin': {}, // plugins[0] + 'postcss-plugin': {}, // plugins[1] + 'postcss-plugin': {} // plugins[2] + } +} +``` + +### Context + +When using a function `(postcss.config.js)`, it is possible to pass context to `postcss-load-plugins`, which will be evaluated before loading your plugins. By default `ctx.env (process.env.NODE_ENV)` and `ctx.cwd (process.cwd())` are available. + +<h2 align="center">Examples</h2> + +**`postcss.config.js`** + +```js +module.exports = (ctx) => ({ + plugins: { + postcss-import: {}, + postcss-modules: ctx.modules ? {} : false, + cssnano: ctx.env === 'production' ? {} : false + } +}) +``` + +### <img width="80" height="80" src="https://worldvectorlogo.com/logos/nodejs-icon.svg"> + +```js +const { readFileSync } = require('fs') + +const postcss = require('postcss') +const pluginsrc = require('postcss-load-plugins') + +const css = readFileSync('index.css', 'utf8') + +const ctx = { modules: true } + +pluginsrc(ctx).then((plugins) => { + postcss(plugins) + .process(css) + .then((result) => console.log(result.css)) +}) +``` + +<h2 align="center">Maintainers</h2> + +<table> + <tbody> + <tr> + <td align="center"> + <img width="150" height="150" + src="https://github.com/michael-ciniawsky.png?v=3&s=150"> + <br> + <a href="https://github.com/michael-ciniawsky">Michael Ciniawsky</a> + </td> + <td align="center"> + <img width="150" height="150" + src="https://github.com/ertrzyiks.png?v=3&s=150"> + <br> + <a href="https://github.com/ertrzyiks">Mateusz Derks</a> + </td> + </tr> + </tbody> +</table> + +<h2 align="center">Contributors</h2> + +<table> + <tbody> + <tr> + <td align="center"> + <img width="150" height="150" + src="https://github.com/Kovensky.png?v=3&s=150"> + <br> + <a href="https://github.com/Kovensky">Diogo Franco</a> + </td> + </tr> + </tbody> +</table> + + +[npm]: https://img.shields.io/npm/v/postcss-load-plugins.svg +[npm-url]: https://npmjs.com/package/postcss-load-plugins + +[node]: https://img.shields.io/node/v/postcss-load-plugins.svg +[node-url]: https://nodejs.org/ + +[deps]: https://david-dm.org/michael-ciniawsky/postcss-load-plugins.svg +[deps-url]: https://david-dm.org/michael-ciniawsky/postcss-load-plugins + +[tests]: http://img.shields.io/travis/michael-ciniawsky/postcss-load-plugins.svg +[tests-url]: https://travis-ci.org/michael-ciniawsky/postcss-load-plugins + +[cover]: https://coveralls.io/repos/github/michael-ciniawsky/postcss-load-plugins/badge.svg +[cover-url]: https://coveralls.io/github/michael-ciniawsky/postcss-load-plugins + +[style]: https://img.shields.io/badge/code%20style-standard-yellow.svg +[style-url]: http://standardjs.com/ + +[chat]: https://img.shields.io/gitter/room/postcss/postcss.svg +[chat-url]: https://gitter.im/postcss/postcss diff --git a/node_modules/postcss-load-plugins/index.js b/node_modules/postcss-load-plugins/index.js new file mode 100644 index 0000000..c10ea2c --- /dev/null +++ b/node_modules/postcss-load-plugins/index.js @@ -0,0 +1,63 @@ +// ------------------------------------ +// # POSTCSS - LOAD PLUGINS - INDEX +// ------------------------------------ + +'use strict' + +var resolve = require('path').resolve + +var config = require('cosmiconfig') +var assign = require('object-assign') + +var loadPlugins = require('./lib/plugins') + +/** + * Autoload Plugins for PostCSS + * + * @author Michael Ciniawsky (@michael-ciniawsky) <michael.ciniawsky@gmail.com> + * @license MIT + * + * @module postcss-load-plugins + * @version 2.3.0 + * + * @requires cosmiconfig + * @requires object-assign + * @requires ./lib/plugins.js + * + * @method pluginsrc + * + * @param {Object} ctx Context + * @param {String} path Directory + * @param {Object} options Options + * + * @return {Array} config PostCSS Plugins + */ +module.exports = function pluginsrc (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 new Error('No PostCSS Config found in: ' + path) + + file = result ? result.filepath : '' + + return result ? result.config : {} + }) + .then(function (plugins) { + if (typeof plugins === 'function') plugins = plugins(ctx) + else plugins = assign(plugins, ctx) + + if (!plugins.plugins) plugins.plugins = [] + + return { plugins: loadPlugins(plugins), file: file } + }) +} diff --git a/node_modules/postcss-load-plugins/lib/plugins.js b/node_modules/postcss-load-plugins/lib/plugins.js new file mode 100644 index 0000000..1cfcc2b --- /dev/null +++ b/node_modules/postcss-load-plugins/lib/plugins.js @@ -0,0 +1,84 @@ +// ------------------------------------ +// # POSTCSS - LOAD PLUGINS - PLUGINS +// ------------------------------------ + +'use strict' + +/** + * @method plugins + * + * @param {Object} config PostCSS Config + * + * @return {Array} plugins PostCSS Plugins + */ +module.exports = function plugins (config) { + var plugins = [] + + if (Array.isArray(config.plugins)) { + plugins = config.plugins.filter(Boolean) + + if (plugins.length && plugins.length > 0) { + plugins.forEach(function (plugin, i) { + if (!plugin) throw new Error('Loading PostCSS Plugin failed') + + if (plugin.postcss) plugin = plugin.postcss + + if (plugin.default) plugin = plugin.default + + if ( + !(typeof plugin === 'object' && Array.isArray(plugin.plugins) || + typeof plugin === 'function') + ) { + throw new TypeError('Invalid PostCSS Plugin found: ' + '[' + i + ']') + } + }) + } + + return plugins + } else { + config = config.plugins + + var load = function (plugin, options) { + if (options === null || Object.keys(options).length === 0) { + try { + return require(plugin) + } catch (err) { + err.message = 'Loading PostCSS Plugin failed: ' + err.message + + throw err + } + } else { + try { + return require(plugin)(options) + } catch (err) { + err.message = 'Loading PostCSS Plugin failed: ' + err.message + + throw err + } + } + } + + Object.keys(config) + .filter(function (plugin) { + return config[plugin] !== false ? plugin : '' + }) + .forEach(function (plugin, i) { + plugin = load(plugin, config[plugin]) + + if (plugin.postcss) plugin = plugin.postcss + + if (plugin.default) plugin = plugin.default + + if ( + !(typeof plugin === 'object' && Array.isArray(plugin.plugins) || + typeof plugin === 'function') + ) { + throw new TypeError('Invalid PostCSS Plugin found: ' + '[' + i + ']') + } + + return plugins.push(plugin) + }) + + return plugins + } +} diff --git a/node_modules/postcss-load-plugins/package.json b/node_modules/postcss-load-plugins/package.json new file mode 100644 index 0000000..bf4e9e5 --- /dev/null +++ b/node_modules/postcss-load-plugins/package.json @@ -0,0 +1,96 @@ +{ + "_args": [ + [ + "postcss-load-plugins@2.3.0", + "/home/dstaesse/git/website" + ] + ], + "_development": true, + "_from": "postcss-load-plugins@2.3.0", + "_id": "postcss-load-plugins@2.3.0", + "_inBundle": false, + "_integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "_location": "/postcss-load-plugins", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "postcss-load-plugins@2.3.0", + "name": "postcss-load-plugins", + "escapedName": "postcss-load-plugins", + "rawSpec": "2.3.0", + "saveSpec": null, + "fetchSpec": "2.3.0" + }, + "_requiredBy": [ + "/postcss-load-config" + ], + "_resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "_spec": "2.3.0", + "_where": "/home/dstaesse/git/website", + "author": { + "name": "Michael Ciniawky", + "email": "michael.ciniawsky@gmail.com" + }, + "bugs": { + "url": "https://github.com/michael-ciniawsky/postcss-load-plugins/issues" + }, + "contributors": [ + { + "name": "Mateusz Derks", + "url": "http://ertrzyiks.me" + }, + { + "name": "Diogo Franco", + "email": "diogomfranco@gmail.com" + } + ], + "dependencies": { + "cosmiconfig": "^2.1.1", + "object-assign": "^4.1.0" + }, + "description": "Autoload Plugins for PostCSS", + "devDependencies": { + "ava": "^0.18.1", + "coveralls": "^2.11.16", + "cssnano": "^3.10.0", + "jsdoc-to-markdown": "^3.0.0", + "nyc": "^10.1.0", + "postcss": "^5.2.12", + "postcss-cssnext": "^2.8.0", + "postcss-import": "^9.1.0", + "postcss-nested": "^1.0.0", + "postcss-sprites": "^4.2.0", + "standard": "^8.6.0", + "standard-changelog": "0.0.1", + "sugarss": "^0.2.0" + }, + "engines": { + "node": ">=0.12" + }, + "files": [ + "lib", + "index.js" + ], + "homepage": "https://github.com/michael-ciniawsky/postcss-load-plugins#readme", + "keywords": [ + "postcss", + "postcss-plugin" + ], + "license": "MIT", + "main": "index.js", + "name": "postcss-load-plugins", + "repository": { + "type": "git", + "url": "git+https://github.com/michael-ciniawsky/postcss-load-plugins.git" + }, + "scripts": { + "clean": "rm -rf .nyc_output coverage jsdoc-api dmd", + "docs": "jsdoc2md index.js lib/plugins.js > INDEX.md", + "lint": "standard", + "logs": "standard-changelog -i CHANGELOG.md -w", + "start": "sudo npm run clean && npm run lint && sudo npm test", + "test": "nyc ava -v test/err/index.js test/rc/index.js test/pkg/index.js test/js/**/index.js" + }, + "version": "2.3.0" +} |