aboutsummaryrefslogtreecommitdiff
path: root/node_modules/postcss-load-options
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss-load-options')
-rw-r--r--node_modules/postcss-load-options/CHANGELOG.md20
-rw-r--r--node_modules/postcss-load-options/LICENSE21
-rw-r--r--node_modules/postcss-load-options/README.md203
-rw-r--r--node_modules/postcss-load-options/index.js64
-rw-r--r--node_modules/postcss-load-options/lib/options.js33
-rw-r--r--node_modules/postcss-load-options/package.json83
6 files changed, 424 insertions, 0 deletions
diff --git a/node_modules/postcss-load-options/CHANGELOG.md b/node_modules/postcss-load-options/CHANGELOG.md
new file mode 100644
index 0000000..805dd80
--- /dev/null
+++ b/node_modules/postcss-load-options/CHANGELOG.md
@@ -0,0 +1,20 @@
+<a name="1.2.0"></a>
+# [1.2.0](https://github.com/michael-ciniawsky/postcss-load-options/compare/v1.1.0...v1.2.0) (2017-02-13)
+
+
+### Features
+
+* **index:** allow file extensions for .postcssrc ([fc15720](https://github.com/michael-ciniawsky/postcss-load-options/commit/fc15720))
+
+
+
+<a name="1.1.0"></a>
+# [1.1.0](https://github.com/michael-ciniawsky/postcss-load-options/compare/v1.0.2...v1.1.0) (2017-01-07)
+
+
+### Features
+
+* **index:** config file ([d8349b7](https://github.com/michael-ciniawsky/postcss-load-options/commit/d8349b7))
+
+
+
diff --git a/node_modules/postcss-load-options/LICENSE b/node_modules/postcss-load-options/LICENSE
new file mode 100644
index 0000000..66ba19a
--- /dev/null
+++ b/node_modules/postcss-load-options/LICENSE
@@ -0,0 +1,21 @@
+License (MIT)
+
+Copyright (c) 2016 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-options/README.md b/node_modules/postcss-load-options/README.md
new file mode 100644
index 0000000..83f4f15
--- /dev/null
+++ b/node_modules/postcss-load-options/README.md
@@ -0,0 +1,203 @@
+[![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="https://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>
+ <h1>Load Options</h1>
+</div>
+
+<h2 align="center">Install</h2>
+
+```bash
+npm i -D postcss-load-options
+```
+<h2 align="center">Usage</h2>
+
+### `package.json`
+
+Create **`postcss`** section in your projects **`package.json`**.
+
+```
+App
+ |– client
+ |– public
+ |
+ |- package.json
+```
+
+```json
+{
+ "dependencies": {
+ "sugarss": "0.2.0"
+ },
+ "postcss": {
+ "parser": "sugarss",
+ "map": false,
+ "from": "path/to/src/file.css",
+ "to": "path/to/dest/file.css"
+ }
+}
+```
+
+### `.postcssrc`
+
+Create a **`.postcssrc`** file.
+
+```
+App
+ |– client
+ |– public
+ |
+ |- (.postcssrc|.postcssrc.json|.postcssrc.yaml)
+ |- package.json
+```
+
+**`JSON`**
+```json
+{
+ "parser": "sugarss",
+ "map": false,
+ "from": "path/to/src/file.css",
+ "to": "path/to/dest/file.css"
+}
+```
+
+**`YAML`**
+```yaml
+parser: sugarss
+map: false
+from: "/path/to/src.sss"
+to: "/path/to/dest.css"
+```
+
+### `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
+```
+
+```js
+module.exports = (ctx) => {
+ return {
+ parser: ctx.sugar ? 'sugarss' : false,
+ map: ctx.env === 'development' ? ctx.map || false,
+ from: 'path/to/src/file.css',
+ to: 'path/to/dest/file.css'
+ }
+}
+```
+
+<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/dest/file.css'
+```
+
+**`to`**:
+
+```js
+to: 'path/to/dest/file.css'
+```
+
+### Context
+
+When using a function `(postcss.config.js)`, it is possible to pass context to `postcss-load-options`, which will be evaluated before loading your options. By default `ctx.env (process.env.NODE_ENV)` and `ctx.cwd (process.cwd())` are available.
+
+<h2 align="center">Example</h2>
+
+### <img width="80" height="80" src="https://worldvectorlogo.com/logos/nodejs-icon.svg">
+
+```js
+const { readFileSync } = require('fs')
+
+const postcss = require('postcss')
+const optionsrc = require('postcss-load-options')
+
+const sss = readFileSync('index.sss', 'utf8')
+
+const ctx = { sugar: true, map: 'inline' }
+
+optionsrc(ctx).then((options) => {
+ postcss()
+ .process(sss, options)
+ .then(({ css }) => console.log(css))
+}))
+```
+
+<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>
+ </tr>
+ <tbody>
+</table>
+
+
+[npm]: https://img.shields.io/npm/v/postcss-load-options.svg
+[npm-url]: https://npmjs.com/package/postcss-load-options
+
+[node]: https://img.shields.io/node/v/postcss-load-options.svg
+[node-url]: https://nodejs.org/
+
+[deps]: https://david-dm.org/michael-ciniawsky/postcss-load-options.svg
+[deps-url]: https://david-dm.org/michael-ciniawsky/postcss-load-options
+
+[tests]: http://img.shields.io/travis/michael-ciniawsky/postcss-load-options.svg
+[tests-url]: https://travis-ci.org/michael-ciniawsky/postcss-load-options
+
+[cover]: https://coveralls.io/repos/github/michael-ciniawsky/postcss-load-options/badge.svg
+[cover-url]: https://coveralls.io/github/michael-ciniawsky/postcss-load-options
+
+[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-options/index.js b/node_modules/postcss-load-options/index.js
new file mode 100644
index 0000000..df9e186
--- /dev/null
+++ b/node_modules/postcss-load-options/index.js
@@ -0,0 +1,64 @@
+// ------------------------------------
+// #POSTCSS - LOAD OPTIONS
+// ------------------------------------
+
+'use strict'
+
+var resolve = require('path').resolve
+
+var config = require('cosmiconfig')
+var assign = require('object-assign')
+
+var loadOptions = require('./lib/options')
+
+/**
+ * @author Michael Ciniawsky (@michael-ciniawsky) <michael.ciniawsky@gmail.com>
+ * @description Autoload Options for PostCSS
+ *
+ *
+ * @module postcss-load-options
+ * @version 1.2.0
+ *
+ * @requires cosmiconfig
+ * @requires object-assign
+ * @requires lib/options
+ *
+ * @method optionsrc
+ *
+ * @param {Object} ctx Context
+ * @param {String} path Directory
+ * @param {Object} options Options
+ * @return {Object} options PostCSS Options
+ */
+module.exports = function optionsrc (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) console.log('PostCSS Options could not be loaded')
+
+ file = result ? result.filepath : ''
+
+ return result ? result.config : {}
+ })
+ .then(function (options) {
+ if (typeof options === 'function') options = options(ctx)
+
+ if (typeof options === 'object') options = assign(options, ctx)
+
+ return options
+ })
+ .then(function (options) {
+ return { options: loadOptions(options), file: file }
+ })
+ .catch(console.log)
+}
diff --git a/node_modules/postcss-load-options/lib/options.js b/node_modules/postcss-load-options/lib/options.js
new file mode 100644
index 0000000..e8e9e81
--- /dev/null
+++ b/node_modules/postcss-load-options/lib/options.js
@@ -0,0 +1,33 @@
+// ------------------------------------
+// #POSTCSS - LOAD OPTIONS - OPTIONS
+// ------------------------------------
+
+'use strict'
+
+/**
+ *
+ * @method options
+ *
+ * @param {Object} options PostCSS Config
+ *
+ * @return {Object} options PostCSS Options
+ */
+module.exports = function options (options) {
+ if (options.parser && typeof options.parser === 'string') {
+ options.parser = require(options.parser)
+ }
+
+ if (options.syntax && typeof options.syntax === 'string') {
+ options.syntax = require(options.syntax)
+ }
+
+ if (options.stringifier && typeof options.stringifier === 'string') {
+ options.stringifier = require(options.stringifier)
+ }
+
+ if (options.plugins) {
+ delete options.plugins
+ }
+
+ return options
+}
diff --git a/node_modules/postcss-load-options/package.json b/node_modules/postcss-load-options/package.json
new file mode 100644
index 0000000..db4757c
--- /dev/null
+++ b/node_modules/postcss-load-options/package.json
@@ -0,0 +1,83 @@
+{
+ "_args": [
+ [
+ "postcss-load-options@1.2.0",
+ "/home/dstaesse/git/website"
+ ]
+ ],
+ "_development": true,
+ "_from": "postcss-load-options@1.2.0",
+ "_id": "postcss-load-options@1.2.0",
+ "_inBundle": false,
+ "_integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
+ "_location": "/postcss-load-options",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "postcss-load-options@1.2.0",
+ "name": "postcss-load-options",
+ "escapedName": "postcss-load-options",
+ "rawSpec": "1.2.0",
+ "saveSpec": null,
+ "fetchSpec": "1.2.0"
+ },
+ "_requiredBy": [
+ "/postcss-load-config"
+ ],
+ "_resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-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-options/issues"
+ },
+ "dependencies": {
+ "cosmiconfig": "^2.1.0",
+ "object-assign": "^4.1.0"
+ },
+ "description": "Autoload Options for PostCSS",
+ "devDependencies": {
+ "ava": "^0.18.1",
+ "coveralls": "^2.11.16",
+ "jsdoc-to-markdown": "^3.0.0",
+ "midas": "^2.0.3",
+ "nyc": "^10.1.0",
+ "postcss": "^5.2.12",
+ "postcss-scss": "^0.4.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-options#readme",
+ "keywords": [
+ "postcss",
+ "postcss-options"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "postcss-load-options",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/michael-ciniawsky/postcss-load-options.git"
+ },
+ "scripts": {
+ "clean": "rm -rf .nyc_output coverage jsdoc-api dmd",
+ "docs": "jsdoc2md index.js lib/options.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/pkg/index.js test/rc/index.js test/js/index.js test/err/index.js"
+ },
+ "version": "1.2.0"
+}