mirror of
https://github.com/biobulkbende/biobulkbende.org.git
synced 2025-10-11 15:14:59 +00:00
structure, layout and automation
This commit is contained in:
75
node_modules/postcss-load-config/CHANGELOG.md
generated
vendored
Normal file
75
node_modules/postcss-load-config/CHANGELOG.md
generated
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
## [2.1.0](https://github.com/michael-ciniawsky/postcss-load-config/compare/v2.0.0...v2.1.0) (2019-06-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **plugins:** add `undefined` to plugin `options` check ([#177](https://github.com/michael-ciniawsky/postcss-load-config/issues/177)) ([4349ea9](https://github.com/michael-ciniawsky/postcss-load-config/commit/4349ea9))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **src/index:** support synchronous config loading (`rc.sync`) ([f230d40](https://github.com/michael-ciniawsky/postcss-load-config/commit/f230d40))
|
||||
|
||||
|
||||
|
||||
<a name="2.0.0"></a>
|
||||
# [2.0.0](https://github.com/michael-ciniawsky/postcss-load-config/compare/v1.2.0...v2.0.0) (2018-07-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **package:** `require-from-string` memory leak, updates `cosmiconfig` v2.1.0...4.0.0 (`dependencies`) ([17f9621](https://github.com/michael-ciniawsky/postcss-load-config/commit/17f9621))
|
||||
* **src/index.js:** clone the config `{Object}` on assignment instead of mutating it ([8669a90](https://github.com/michael-ciniawsky/postcss-load-config/commit/8669a90))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **src:** load plugins from the current working directory ([9745bf0](https://github.com/michael-ciniawsky/postcss-load-config/commit/9745bf0))
|
||||
* **src:** show config file in `err.message` ([4baff47](https://github.com/michael-ciniawsky/postcss-load-config/commit/4baff47))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* **package:** requires `node >= v4.0.0`
|
||||
* **package:** removes `argv` option (`options.argv`)
|
||||
* **package:** removes `--config` parsing
|
||||
|
||||
|
||||
|
||||
<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))
|
21
node_modules/postcss-load-config/LICENSE
generated
vendored
Normal file
21
node_modules/postcss-load-config/LICENSE
generated
vendored
Normal file
@ -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.
|
485
node_modules/postcss-load-config/README.md
generated
vendored
Normal file
485
node_modules/postcss-load-config/README.md
generated
vendored
Normal file
@ -0,0 +1,485 @@
|
||||
[![npm][npm]][npm-url]
|
||||
[![node][node]][node-url]
|
||||
[![deps][deps]][deps-url]
|
||||
[![test][test]][test-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>
|
||||
|
||||
```bash
|
||||
npm i -S|-D postcss-plugin
|
||||
```
|
||||
|
||||
Install all required postcss plugins and save them to your **package.json** `dependencies`/`devDependencies`
|
||||
|
||||
Then create a postcss config file by choosing one of the following formats
|
||||
|
||||
### `package.json`
|
||||
|
||||
Create a **`postcss`** section in your projects **`package.json`**
|
||||
|
||||
```
|
||||
Project (Root)
|
||||
|– client
|
||||
|– public
|
||||
|
|
||||
|- package.json
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"postcss": {
|
||||
"parser": "sugarss",
|
||||
"map": false,
|
||||
"plugins": {
|
||||
"postcss-plugin": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `.postcssrc`
|
||||
|
||||
Create a **`.postcssrc`** file in JSON or YAML format
|
||||
|
||||
> ℹ️ It's recommended to use an extension (e.g **`.postcssrc.json`** or **`.postcssrc.yml`**) instead of `.postcssrc`
|
||||
|
||||
```
|
||||
Project (Root)
|
||||
|– client
|
||||
|– public
|
||||
|
|
||||
|- (.postcssrc|.postcssrc.json|.postcssrc.yml)
|
||||
|- package.json
|
||||
```
|
||||
|
||||
**`.postcssrc.json`**
|
||||
```json
|
||||
{
|
||||
"parser": "sugarss",
|
||||
"map": false,
|
||||
"plugins": {
|
||||
"postcss-plugin": {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**`.postcssrc.yml`**
|
||||
```yaml
|
||||
parser: sugarss
|
||||
map: false
|
||||
plugins:
|
||||
postcss-plugin: {}
|
||||
```
|
||||
|
||||
### `.postcssrc.js` or `postcss.config.js`
|
||||
|
||||
You may need some logic within your config. In this case create JS file named **`.postcssrc.js`** or **`postcss.config.js`**
|
||||
|
||||
```
|
||||
Project (Root)
|
||||
|– client
|
||||
|– public
|
||||
|
|
||||
|- (.postcssrc.js|postcss.config.js)
|
||||
|- package.json
|
||||
```
|
||||
|
||||
You can export the config as an `{Object}`
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = {
|
||||
parser: 'sugarss',
|
||||
map: false,
|
||||
plugins: {
|
||||
'postcss-plugin': {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Or export a `{Function}` that returns the config (more about the `ctx` param below)
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = (ctx) => ({
|
||||
parser: ctx.parser ? 'sugarss' : false,
|
||||
map: ctx.env === 'development' ? ctx.map : false,
|
||||
plugins: {
|
||||
'postcss-plugin': ctx.options.plugin
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
Plugins can be loaded either using an `{Object}` or an `{Array}`
|
||||
|
||||
#### `{Object}`
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = ({ env }) => ({
|
||||
...options
|
||||
plugins: {
|
||||
'postcss-plugin': env === 'production' ? {} : false
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
#### `{Array}`
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = ({ env }) => ({
|
||||
...options
|
||||
plugins: [
|
||||
env === 'production' ? require('postcss-plugin')() : false
|
||||
]
|
||||
})
|
||||
```
|
||||
> :warning: When using an `{Array}`, make sure to `require()` each plugin
|
||||
|
||||
<h2 align="center">Options</h2>
|
||||
|
||||
|Name|Type|Default|Description|
|
||||
|:--:|:--:|:-----:|:----------|
|
||||
|[**`to`**](#to)|`{String}`|`undefined`|Destination File Path|
|
||||
|[**`map`**](#map)|`{String\|Object}`|`false`|Enable/Disable Source Maps|
|
||||
|[**`from`**](#from)|`{String}`|`undefined`|Source File Path|
|
||||
|[**`parser`**](#parser)|`{String\|Function}`|`false`|Custom PostCSS Parser|
|
||||
|[**`syntax`**](#syntax)|`{String\|Function}`|`false`|Custom PostCSS Syntax|
|
||||
|[**`stringifier`**](#stringifier)|`{String\|Function}`|`false`|Custom PostCSS Stringifier|
|
||||
|
||||
### `parser`
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = {
|
||||
parser: 'sugarss'
|
||||
}
|
||||
```
|
||||
|
||||
### `syntax`
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = {
|
||||
syntax: 'postcss-scss'
|
||||
}
|
||||
```
|
||||
|
||||
### `stringifier`
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = {
|
||||
stringifier: 'midas'
|
||||
}
|
||||
```
|
||||
|
||||
### [**`map`**](https://github.com/postcss/postcss/blob/master/docs/source-maps.md)
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = {
|
||||
map: 'inline'
|
||||
}
|
||||
```
|
||||
|
||||
> :warning: In most cases `options.from` && `options.to` are set by the third-party which integrates this package (CLI, gulp, webpack). It's unlikely one needs to set/use `options.from` && `options.to` within a config file. Unless you're a third-party plugin author using this module and its Node API directly **dont't set `options.from` && `options.to` yourself**
|
||||
|
||||
### `to`
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
to: 'path/to/dest.css'
|
||||
}
|
||||
```
|
||||
|
||||
### `from`
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
from: 'path/to/src.css'
|
||||
}
|
||||
```
|
||||
|
||||
<h2 align="center">Plugins</h2>
|
||||
|
||||
### `{} || null`
|
||||
|
||||
The plugin will be loaded with defaults
|
||||
|
||||
```js
|
||||
'postcss-plugin': {} || null
|
||||
```
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = {
|
||||
plugins: {
|
||||
'postcss-plugin': {} || null
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> :warning: `{}` must be an **empty** `{Object}` literal
|
||||
|
||||
### `{Object}`
|
||||
|
||||
The plugin will be loaded with given options
|
||||
|
||||
```js
|
||||
'postcss-plugin': { option: '', option: '' }
|
||||
```
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = {
|
||||
plugins: {
|
||||
'postcss-plugin': { option: '', option: '' }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `false`
|
||||
|
||||
The plugin will not be loaded
|
||||
|
||||
```js
|
||||
'postcss-plugin': false
|
||||
```
|
||||
|
||||
**.postcssrc.js**
|
||||
```js
|
||||
module.exports = {
|
||||
plugins: {
|
||||
'postcss-plugin': false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `Ordering`
|
||||
|
||||
Plugin **execution order** is determined by declaration in the plugins section (**top-down**)
|
||||
|
||||
```js
|
||||
{
|
||||
plugins: {
|
||||
'postcss-plugin': {}, // [0]
|
||||
'postcss-plugin': {}, // [1]
|
||||
'postcss-plugin': {} // [2]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
<h2 align="center">Context</h2>
|
||||
|
||||
When using a `{Function}` (`postcss.config.js` or `.postcssrc.js`), it's 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 on the `ctx` `{Object}`
|
||||
|
||||
> ℹ️ Most third-party integrations add additional properties to the `ctx` (e.g `postcss-loader`). Check the specific module's README for more information about what is available on the respective `ctx`
|
||||
|
||||
<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
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
<div align="center">
|
||||
<img width="80" height="80" src="https://worldvectorlogo.com/logos/nodejs-icon.svg">
|
||||
</div>
|
||||
|
||||
```json
|
||||
"scripts": {
|
||||
"build": "NODE_ENV=production node postcss",
|
||||
"start": "NODE_ENV=development node postcss"
|
||||
}
|
||||
```
|
||||
|
||||
### `Async`
|
||||
|
||||
```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))
|
||||
})
|
||||
```
|
||||
|
||||
### `Sync`
|
||||
|
||||
```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' }
|
||||
|
||||
const { plugins, options } = postcssrc.sync(ctx)
|
||||
```
|
||||
|
||||
<div align="center">
|
||||
<img width="80" height="80" halign="10" src="https://worldvectorlogo.com/logos/gulp.svg">
|
||||
</div>
|
||||
|
||||
```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'))
|
||||
```
|
||||
|
||||
<div align="center">
|
||||
<img width="80" height="80" src="https://cdn.rawgit.com/webpack/media/e7485eb2/logo/icon.svg">
|
||||
</div>
|
||||
|
||||
```json
|
||||
"scripts": {
|
||||
"build": "NODE_ENV=production webpack",
|
||||
"start": "NODE_ENV=development webpack-dev-server"
|
||||
}
|
||||
```
|
||||
|
||||
**webpack.config.js**
|
||||
```js
|
||||
module.exports = (env) => ({
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: [
|
||||
'style-loader',
|
||||
'css-loader',
|
||||
'postcss-loader'
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
<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/sparty02.png?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://github.com/pcgilday.png?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://github.com/daltones.png?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
|
||||
|
||||
[test]: http://img.shields.io/travis/michael-ciniawsky/postcss-load-config.svg
|
||||
[test-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
|
||||
|
||||
[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
|
91
node_modules/postcss-load-config/package.json
generated
vendored
Normal file
91
node_modules/postcss-load-config/package.json
generated
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
{
|
||||
"_from": "postcss-load-config@^2.0.0",
|
||||
"_id": "postcss-load-config@2.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==",
|
||||
"_location": "/postcss-load-config",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "postcss-load-config@^2.0.0",
|
||||
"name": "postcss-load-config",
|
||||
"escapedName": "postcss-load-config",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gulp-postcss"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
|
||||
"_shasum": "c84d692b7bb7b41ddced94ee62e8ab31b417b003",
|
||||
"_spec": "postcss-load-config@^2.0.0",
|
||||
"_where": "/home/outis/Documents/Sites/BBB/node_modules/gulp-postcss",
|
||||
"author": {
|
||||
"name": "Michael Ciniawky",
|
||||
"email": "michael.ciniawsky@gmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/michael-ciniawsky/postcss-load-config/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Ryan Dunckel"
|
||||
},
|
||||
{
|
||||
"name": "Mateusz Derks"
|
||||
},
|
||||
{
|
||||
"name": "Dalton Santos"
|
||||
},
|
||||
{
|
||||
"name": "Patrick Gilday"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"cosmiconfig": "^5.0.0",
|
||||
"import-cwd": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Autoload Config for PostCSS",
|
||||
"devDependencies": {
|
||||
"cssnano": "^4.0.0",
|
||||
"jest": "^24.0.0",
|
||||
"jsdoc-to-markdown": "^5.0.0",
|
||||
"postcss": "^7.0.0",
|
||||
"postcss-import": "^12.0.0",
|
||||
"postcss-nested": "^4.0.0",
|
||||
"standard": "^12.0.0",
|
||||
"standard-version": "6.0.0",
|
||||
"sugarss": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 4"
|
||||
},
|
||||
"files": [
|
||||
"src"
|
||||
],
|
||||
"homepage": "https://github.com/michael-ciniawsky/postcss-load-config#readme",
|
||||
"keywords": [
|
||||
"postcss",
|
||||
"postcssrc",
|
||||
"postcss.config.js"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "src/index.js",
|
||||
"name": "postcss-load-config",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/michael-ciniawsky/postcss-load-config.git"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "npx rimraf ./coverage",
|
||||
"docs": "jsdoc2md src/*.js > DOCS.md",
|
||||
"lint": "standard --env jest",
|
||||
"release": "standard-version",
|
||||
"test": "jest --verbose --coverage"
|
||||
},
|
||||
"version": "2.1.0"
|
||||
}
|
131
node_modules/postcss-load-config/src/index.js
generated
vendored
Normal file
131
node_modules/postcss-load-config/src/index.js
generated
vendored
Normal file
@ -0,0 +1,131 @@
|
||||
'use strict'
|
||||
|
||||
const resolve = require('path').resolve
|
||||
|
||||
const config = require('cosmiconfig')
|
||||
|
||||
const loadOptions = require('./options.js')
|
||||
const loadPlugins = require('./plugins.js')
|
||||
|
||||
/**
|
||||
* Process the result from cosmiconfig
|
||||
*
|
||||
* @param {Object} ctx Config Context
|
||||
* @param {Object} result Cosmiconfig result
|
||||
*
|
||||
* @return {Object} PostCSS Config
|
||||
*/
|
||||
const processResult = (ctx, result) => {
|
||||
let file = result.filepath || ''
|
||||
let config = result.config || {}
|
||||
|
||||
if (typeof config === 'function') {
|
||||
config = config(ctx)
|
||||
} else {
|
||||
config = Object.assign({}, config, ctx)
|
||||
}
|
||||
|
||||
if (!config.plugins) {
|
||||
config.plugins = []
|
||||
}
|
||||
|
||||
return {
|
||||
plugins: loadPlugins(config, file),
|
||||
options: loadOptions(config, file),
|
||||
file: file
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the Config Context
|
||||
*
|
||||
* @param {Object} ctx Config Context
|
||||
*
|
||||
* @return {Object} Config Context
|
||||
*/
|
||||
const createContext = (ctx) => {
|
||||
/**
|
||||
* @type {Object}
|
||||
*
|
||||
* @prop {String} cwd=process.cwd() Config search start location
|
||||
* @prop {String} env=process.env.NODE_ENV Config Enviroment, will be set to `development` by `postcss-load-config` if `process.env.NODE_ENV` is `undefined`
|
||||
*/
|
||||
ctx = Object.assign({
|
||||
cwd: process.cwd(),
|
||||
env: process.env.NODE_ENV
|
||||
}, ctx)
|
||||
|
||||
if (!ctx.env) {
|
||||
process.env.NODE_ENV = 'development'
|
||||
}
|
||||
|
||||
return ctx
|
||||
}
|
||||
|
||||
/**
|
||||
* Load Config
|
||||
*
|
||||
* @method rc
|
||||
*
|
||||
* @param {Object} ctx Config Context
|
||||
* @param {String} path Config Path
|
||||
* @param {Object} options Config Options
|
||||
*
|
||||
* @return {Promise} config PostCSS Config
|
||||
*/
|
||||
const rc = (ctx, path, options) => {
|
||||
/**
|
||||
* @type {Object} The full Config Context
|
||||
*/
|
||||
ctx = createContext(ctx)
|
||||
|
||||
/**
|
||||
* @type {String} `process.cwd()`
|
||||
*/
|
||||
path = path ? resolve(path) : process.cwd()
|
||||
|
||||
return config('postcss', options)
|
||||
.search(path)
|
||||
.then((result) => {
|
||||
if (!result) {
|
||||
throw new Error(`No PostCSS Config found in: ${path}`)
|
||||
}
|
||||
|
||||
return processResult(ctx, result)
|
||||
})
|
||||
}
|
||||
|
||||
rc.sync = (ctx, path, options) => {
|
||||
/**
|
||||
* @type {Object} The full Config Context
|
||||
*/
|
||||
ctx = createContext(ctx)
|
||||
|
||||
/**
|
||||
* @type {String} `process.cwd()`
|
||||
*/
|
||||
path = path ? resolve(path) : process.cwd()
|
||||
|
||||
const result = config('postcss', options).searchSync(path)
|
||||
|
||||
if (!result) {
|
||||
throw new Error(`No PostCSS Config found in: ${path}`)
|
||||
}
|
||||
|
||||
return processResult(ctx, result)
|
||||
}
|
||||
|
||||
/**
|
||||
* Autoload Config for PostCSS
|
||||
*
|
||||
* @author Michael Ciniawsky @michael-ciniawsky <michael.ciniawsky@gmail.com>
|
||||
* @license MIT
|
||||
*
|
||||
* @module postcss-load-config
|
||||
* @version 2.0.0
|
||||
*
|
||||
* @requires comsiconfig
|
||||
* @requires ./options
|
||||
* @requires ./plugins
|
||||
*/
|
||||
module.exports = rc
|
47
node_modules/postcss-load-config/src/options.js
generated
vendored
Normal file
47
node_modules/postcss-load-config/src/options.js
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
'use strict'
|
||||
|
||||
const req = require('import-cwd')
|
||||
|
||||
/**
|
||||
* Load Options
|
||||
*
|
||||
* @private
|
||||
* @method options
|
||||
*
|
||||
* @param {Object} config PostCSS Config
|
||||
*
|
||||
* @return {Object} options PostCSS Options
|
||||
*/
|
||||
const options = (config, file) => {
|
||||
if (config.parser && typeof config.parser === 'string') {
|
||||
try {
|
||||
config.parser = req(config.parser)
|
||||
} catch (err) {
|
||||
throw new Error(`Loading PostCSS Parser failed: ${err.message}\n\n(@${file})`)
|
||||
}
|
||||
}
|
||||
|
||||
if (config.syntax && typeof config.syntax === 'string') {
|
||||
try {
|
||||
config.syntax = req(config.syntax)
|
||||
} catch (err) {
|
||||
throw new Error(`Loading PostCSS Syntax failed: ${err.message}\n\n(@${file})`)
|
||||
}
|
||||
}
|
||||
|
||||
if (config.stringifier && typeof config.stringifier === 'string') {
|
||||
try {
|
||||
config.stringifier = req(config.stringifier)
|
||||
} catch (err) {
|
||||
throw new Error(`Loading PostCSS Stringifier failed: ${err.message}\n\n(@${file})`)
|
||||
}
|
||||
}
|
||||
|
||||
if (config.plugins) {
|
||||
delete config.plugins
|
||||
}
|
||||
|
||||
return config
|
||||
}
|
||||
|
||||
module.exports = options
|
80
node_modules/postcss-load-config/src/plugins.js
generated
vendored
Normal file
80
node_modules/postcss-load-config/src/plugins.js
generated
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
'use strict'
|
||||
|
||||
const req = require('import-cwd')
|
||||
|
||||
/**
|
||||
* Plugin Loader
|
||||
*
|
||||
* @private
|
||||
* @method load
|
||||
*
|
||||
* @param {String} plugin PostCSS Plugin Name
|
||||
* @param {Object} options PostCSS Plugin Options
|
||||
*
|
||||
* @return {Function} PostCSS Plugin
|
||||
*/
|
||||
const load = (plugin, options, file) => {
|
||||
try {
|
||||
if (
|
||||
options === null ||
|
||||
options === undefined ||
|
||||
Object.keys(options).length === 0
|
||||
) {
|
||||
return req(plugin)
|
||||
} else {
|
||||
return req(plugin)(options)
|
||||
}
|
||||
} catch (err) {
|
||||
throw new Error(`Loading PostCSS Plugin failed: ${err.message}\n\n(@${file})`)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load Plugins
|
||||
*
|
||||
* @private
|
||||
* @method plugins
|
||||
*
|
||||
* @param {Object} config PostCSS Config Plugins
|
||||
*
|
||||
* @return {Array} plugins PostCSS Plugins
|
||||
*/
|
||||
const plugins = (config, file) => {
|
||||
let plugins = []
|
||||
|
||||
if (Array.isArray(config.plugins)) {
|
||||
plugins = config.plugins.filter(Boolean)
|
||||
} else {
|
||||
plugins = Object.keys(config.plugins)
|
||||
.filter((plugin) => {
|
||||
return config.plugins[plugin] !== false ? plugin : ''
|
||||
})
|
||||
.map((plugin) => {
|
||||
return load(plugin, config.plugins[plugin], file)
|
||||
})
|
||||
}
|
||||
|
||||
if (plugins.length && plugins.length > 0) {
|
||||
plugins.forEach((plugin, i) => {
|
||||
if (plugin.postcss) {
|
||||
plugin = plugin.postcss
|
||||
}
|
||||
|
||||
if (plugin.default) {
|
||||
plugin = plugin.default
|
||||
}
|
||||
|
||||
if (
|
||||
// eslint-disable-next-line
|
||||
!(typeof plugin === 'object' && Array.isArray(plugin.plugins) ||
|
||||
typeof plugin === 'function')
|
||||
) {
|
||||
throw new TypeError(`Invalid PostCSS Plugin found at: plugins[${i}]\n\n(@${file})`)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return plugins
|
||||
}
|
||||
|
||||
module.exports = plugins
|
Reference in New Issue
Block a user