diff options
Diffstat (limited to 'node_modules/postcss-load-config')
-rw-r--r-- | node_modules/postcss-load-config/CHANGELOG.md | 33 | ||||
-rw-r--r-- | node_modules/postcss-load-config/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/postcss-load-config/README.md | 405 | ||||
-rw-r--r-- | node_modules/postcss-load-config/index.js | 69 | ||||
-rw-r--r-- | node_modules/postcss-load-config/package.json | 104 |
5 files changed, 632 insertions, 0 deletions
diff --git a/node_modules/postcss-load-config/CHANGELOG.md b/node_modules/postcss-load-config/CHANGELOG.md new file mode 100644 index 0000000..53c7da6 --- /dev/null +++ b/node_modules/postcss-load-config/CHANGELOG.md @@ -0,0 +1,33 @@ +<a name="1.2.0"></a> +# [1.2.0](https://github.com/michael-ciniawsky/postcss-load-config/compare/v1.1.0...v1.2.0) (2017-02-13) + + +### Features + +* **index:** allow extensions for .postcssrc ([0d3bf35](https://github.com/michael-ciniawsky/postcss-load-config/commit/0d3bf35)) + + + +<a name="1.1.0"></a> +# [1.1.0](https://github.com/michael-ciniawsky/postcss-load-config/compare/v1.0.0...v1.1.0) (2017-01-11) + + +### Features + +* **index:** config.file, improve error handling ([a6c32fd](https://github.com/michael-ciniawsky/postcss-load-config/commit/a6c32fd)) + + + +<a name="1.0.0"></a> +# [1.0.0]((https://github.com/michael-ciniawsky/postcss-load-config/compare/v1.0.0-rc...1.0.0)) (2016-10-27) + + +### Bug Fixes + +* **index:** behavior when config loading fails ([b549bc6](https://github.com/michael-ciniawsky/postcss-load-config/commit/b549bc6)), closes [#26](https://github.com/michael-ciniawsky/postcss-load-config/issues/26) +* **index:** set NODE_ENV when undefined ([b24501c](https://github.com/michael-ciniawsky/postcss-load-config/commit/b24501c)) +* **index:** support node v0.12 ([0bbfa94](https://github.com/michael-ciniawsky/postcss-load-config/commit/0bbfa94)) + +### Features + +* **index:** function support, jsdoc, cleanups ([a78c580](https://github.com/michael-ciniawsky/postcss-load-config/commit/a78c580)) diff --git a/node_modules/postcss-load-config/LICENSE b/node_modules/postcss-load-config/LICENSE new file mode 100644 index 0000000..d36964f --- /dev/null +++ b/node_modules/postcss-load-config/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-config/README.md b/node_modules/postcss-load-config/README.md new file mode 100644 index 0000000..6f9475a --- /dev/null +++ b/node_modules/postcss-load-config/README.md @@ -0,0 +1,405 @@ +[![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 Options" src="http://michael-ciniawsky.github.io/postcss-load-options/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> + <img width="100" height="100" title="Load Plugins" src="http://michael-ciniawsky.github.io/postcss-load-plugins/logo.svg"> + <h1>Load Config</h1> +</div> + +<h2 align="center">Install</h2> + +```bash +npm i -D postcss-load-config +``` + +<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": { + "parser": "sugarss", + "map": false, + "from": "/path/to/src.sss", + "to": "/path/to/dest.css", + "plugins": { + "postcss-plugin": {} + } + } +} +``` + +### `.postcssrc` + +Create a **`.postcssrc`** file in JSON or YAML format. + +It's also allowed to use extensions (**`.postcssrc.json`** or **`.postcssrc.yaml`**). That could help your text editor to properly interpret the file. + +``` +App + |– client + |– public + | + |- (.postcssrc|.postcssrc.json|.postcssrc.yaml) + |- package.json +``` + +**`JSON`** +```json +{ + "parser": "sugarss", + "map": false, + "from": "/path/to/src.sss", + "to": "/path/to/dest.css", + "plugins": { + "postcss-plugin": {} + } +} +``` + +**`YAML`** +```yaml +parser: sugarss +map: false +from: "/path/to/src.sss" +to: "/path/to/dest.css" +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 +``` + +You can export the config as an `{Object}` + +```js +module.exports = { + parser: 'sugarss', + map: false, + from: '/path/to/src.sss', + to: '/path/to/dest.css', + plugins: { + 'postcss-plugin': {} + } +} +``` + +Or export a `{Function}` that returns the config (more about the param `ctx` below) + +```js +module.exports = (ctx) => ({ + parser: ctx.parser ? 'sugarss' : false, + map: ctx.env === 'development' ? ctx.map : false, + from: ctx.from, + to: ctx.to, + plugins: { + 'postcss-plugin': ctx.plugin + } +}) +``` + +Plugins can be loaded in either using an `{Object}` or an `{Array}`. + +##### `{Object}` + +```js +module.exports = (ctx) => ({ + ...options + plugins: { + 'postcss-plugin': ctx.plugin + } +}) +``` + +##### `{Array}` + +```js +module.exports = (ctx) => ({ + ...options + plugins: [ + require('postcss-plugin')(ctx.plugin) + ] +}) +``` +> :warning: When using an Array, make sure to `require()` them. + +<h2 align="center">Options</h2> + +**`parser`**: + +```js +'parser': 'sugarss' +``` + +**`syntax`**: + +```js +'syntax': 'postcss-scss' +``` +**`stringifier`**: + +```js +'stringifier': 'midas' +``` + +[**`map`**:](https://github.com/postcss/postcss/blob/master/docs/source-maps.md) + +```js +'map': 'inline' +``` + +**`from`**: + +```js +from: 'path/to/src.css' +``` + +**`to`**: + +```js +to: 'path/to/dest.css' +``` + +<h2 align="center">Plugins</h2> + +### Options + +**`{} || null`**: Plugin loads with defaults. + +```js +'postcss-plugin': {} || null +``` +> :warning: `{}` must be an **empty** object + +**`[Object]`**: Plugin loads with given 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] + } +} +``` + +<h2 align="center">Context</h2> + +When using a function (`postcss.config.js` or `.postcssrc.js`), it is possible to pass context to `postcss-load-config`, which will be evaluated while loading your config. 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) => ({ + parser: ctx.parser ? 'sugarss' : false, + map: ctx.env === 'development' ? ctx.map : false, + plugins: { + 'postcss-import': {}, + 'postcss-nested': {}, + cssnano: ctx.env === 'production' ? {} : false + } +}) +``` + +### <img width="80" height="80" src="https://worldvectorlogo.com/logos/nodejs-icon.svg"> + +```json +"scripts": { + "build": "NODE_ENV=production node postcss", + "start": "NODE_ENV=development node postcss" +} +``` + +```js +const { readFileSync } = require('fs') + +const postcss = require('postcss') +const postcssrc = require('postcss-load-config') + +const css = readFileSync('index.sss', 'utf8') + +const ctx = { parser: true, map: 'inline' } + +postcssrc(ctx).then(({ plugins, options }) => { + postcss(plugins) + .process(css, options) + .then((result) => console.log(result.css)) +}) +``` + +### <img width="80" height="80" src="https://worldvectorlogo.com/logos/gulp.svg"> + +```json +"scripts": { + "build": "NODE_ENV=production gulp", + "start": "NODE_ENV=development gulp" +} +``` + +```js +const { task, src, dest, series, watch } = require('gulp') + +const postcss = require('gulp-postcssrc') + +const css = () => { + src('src/*.css') + .pipe(postcss()) + .pipe(dest('dest')) +}) + +task('watch', () => { + watch(['src/*.css', 'postcss.config.js'], css) +}) + +task('default', series(css, 'watch')) +``` + +### <img width="80" height="80" src="https://worldvectorlogo.com/logos/webpack.svg"> + +```json +"scripts": { + "build": "NODE_ENV=production webpack", + "start": "NODE_ENV=development webpack-dev-server" +} +``` + +```js +module.exports = (env) => ({ + module: { + rules: [ + { + test: /\.css$/ + use: [ + 'style-loader', + { + loader: 'css-loader', + options: { importLoaders: 1 } } + }, + 'postcss-loader' + ] + } + ] + } +}) +``` + +<h2 align="center">Maintainers</h2> + +<table> + <tbody> + <tr> + <td align="center"> + <img width="150 height="150" + src="https://avatars.githubusercontent.com/u/5419992?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://avatars.githubusercontent.com/u/2437969?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://avatars.githubusercontent.com/u/1483538?v=3&s=150"> + <br /> + <a href="https://github.com/sparty02">Ryan Dunckel</a> + </td> + <td align="center"> + <img width="150" height="150" + src="https://avatars.githubusercontent.com/u/6249643?v=3&s=150"> + <br /> + <a href="https://github.com/pcgilday">Patrick Gilday</a> + </td> + <td align="center"> + <img width="150" height="150" + src="https://avatars.githubusercontent.com/u/5603632?v=3&s=150"> + <br /> + <a href="https://github.com/daltones">Dalton Santos</a> + </td> + </tr> + <tbody> +</table> + +[npm]: https://img.shields.io/npm/v/postcss-load-config.svg +[npm-url]: https://npmjs.com/package/postcss-load-config + +[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-config.svg +[deps-url]: https://david-dm.org/michael-ciniawsky/postcss-load-config + +[style]: https://img.shields.io/badge/code%20style-standard-yellow.svg +[style-url]: http://standardjs.com/ + +[tests]: http://img.shields.io/travis/michael-ciniawsky/postcss-load-config.svg +[tests-url]: https://travis-ci.org/michael-ciniawsky/postcss-load-config + +[cover]: https://coveralls.io/repos/github/michael-ciniawsky/postcss-load-config/badge.svg +[cover-url]: https://coveralls.io/github/michael-ciniawsky/postcss-load-config + +[chat]: https://img.shields.io/gitter/room/postcss/postcss.svg +[chat-url]: https://gitter.im/postcss/postcss 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) <michael.ciniawsky@gmail.com> + * @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 + } + }) +} diff --git a/node_modules/postcss-load-config/package.json b/node_modules/postcss-load-config/package.json new file mode 100644 index 0000000..14a93eb --- /dev/null +++ b/node_modules/postcss-load-config/package.json @@ -0,0 +1,104 @@ +{ + "_args": [ + [ + "postcss-load-config@1.2.0", + "/home/dstaesse/git/website" + ] + ], + "_development": true, + "_from": "postcss-load-config@1.2.0", + "_id": "postcss-load-config@1.2.0", + "_inBundle": false, + "_integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "_location": "/postcss-load-config", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "postcss-load-config@1.2.0", + "name": "postcss-load-config", + "escapedName": "postcss-load-config", + "rawSpec": "1.2.0", + "saveSpec": null, + "fetchSpec": "1.2.0" + }, + "_requiredBy": [ + "/postcss-cli" + ], + "_resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "_spec": "1.2.0", + "_where": "/home/dstaesse/git/website", + "author": { + "name": "Michael Ciniawky", + "email": "michael.ciniawsky@gmail.com" + }, + "bugs": { + "url": "https://github.com/michael-ciniawsky/postcss-load-config/issues" + }, + "contributors": [ + { + "name": "Mateusz Derks", + "url": "http://ertrzyiks.me" + }, + { + "name": "Ryan Dunckel", + "email": "sparty02@gmail.com" + }, + { + "name": "Patrick Gilday" + }, + { + "name": "Dalton Santos" + } + ], + "dependencies": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0", + "postcss-load-options": "^1.2.0", + "postcss-load-plugins": "^2.3.0" + }, + "description": "Autoload Config 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-scss": "^0.4.0", + "postcss-sprites": "^4.2.0", + "standard": "^8.6.0", + "standard-changelog": "0.0.1", + "sugarss": "^0.2.0" + }, + "engines": { + "node": ">=0.12" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/michael-ciniawsky/postcss-load-config#readme", + "keywords": [ + "postcss", + "postcss-config" + ], + "license": "MIT", + "main": "index.js", + "name": "postcss-load-config", + "repository": { + "type": "git", + "url": "git+https://github.com/michael-ciniawsky/postcss-load-config.git" + }, + "scripts": { + "clean": "rm -rf .nyc_output coverage jsdoc-api dmd", + "docs": "jsdoc2md index.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/pkg/index.js test/rc/index.js test/js/**/index.js" + }, + "version": "1.2.0" +} |