Socket
Socket
Sign inDemoInstall

postcss-load-plugins

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-load-plugins - npm Package Compare versions

Comparing version 2.0.0-beta to 2.0.0-rc

34

index.js

@@ -7,5 +7,6 @@ // ------------------------------------

const config = require('cosmiconfig')
var config = require('cosmiconfig')
var assign = require('object-assign')
const loadPlugins = require('./lib/plugins')
var loadPlugins = require('./lib/plugins')

@@ -20,2 +21,3 @@ /**

* @requires cosmiconfig
* @requires object-assign
* @requires ./lib/plugins.js

@@ -32,8 +34,5 @@ *

module.exports = function pluginsrc (ctx, path, options) {
const defaults = {
cwd: process.cwd(),
env: process.env.NODE_ENV
}
var defaults = { cwd: process.cwd(), env: process.env.NODE_ENV }
ctx = Object.assign(defaults, ctx) || defaults
ctx = assign(defaults, ctx) || defaults
path = path || process.cwd()

@@ -44,8 +43,15 @@ options = options || {}

.load(path)
.then((result) => {
result = result.config || {}
.then(function (result) {
if (result === undefined) {
console.log(
'PostCSS Plugins could not be loaded. Please check your PostCSS Config.'
)
}
result = result === undefined ? { config: {} } : result
result = result.config
return result
})
.then((plugins) => {
.then(function (plugins) {
if (typeof plugins === 'function') {

@@ -55,10 +61,14 @@ plugins = plugins(ctx)

if (typeof result === 'object') {
plugins = Object.assign(plugins, ctx)
plugins = assign(plugins, ctx)
}
if (!plugins.plugins) {
plugins.plugins = []
}
return loadPlugins(plugins)
})
.catch((err) => {
.catch(function (err) {
console.log(err)
})
}

@@ -18,3 +18,3 @@ ## Functions

**Returns**: <code>Array</code> - config PostCSS Plugins
**Requires**: <code>module:cosmiconfig</code>, <code>module:./lib/plugins.js</code>
**Requires**: <code>module:cosmiconfig</code>, <code>module:object-assign</code>, <code>module:./lib/plugins.js</code>
**Version**: 1.0.0

@@ -21,0 +21,0 @@ **Author:** Michael Ciniawsky (@michael-ciniawsky) <michael.ciniawsky@gmail.com>

@@ -15,3 +15,3 @@ // ------------------------------------

module.exports = function plugins (config) {
let plugins = []
var plugins = []

@@ -21,9 +21,11 @@ if (Array.isArray(config.plugins)) {

plugins.forEach((plugin) => {
if (typeof plugin !== 'function') {
throw new TypeError(`
${plugin} must be a function, did you require() it ?
`)
}
})
if (plugins.length > 0) {
plugins.forEach(function (plugin) {
if (typeof plugin !== 'function') {
throw new TypeError(
plugin + ' must be a function, did you require() it ?'
)
}
})
}

@@ -34,4 +36,4 @@ return plugins

const load = (plugin, options) => {
if (options === null) {
var load = function (plugin, options) {
if (options === null || Object.keys(options).length === 0) {
try {

@@ -52,4 +54,8 @@ return require(plugin)

Object.keys(config)
.filter((plugin) => config[plugin] !== false ? plugin : '')
.forEach((plugin) => plugins.push(load(plugin, config[plugin])))
.filter(function (plugin) {
return config[plugin] !== false ? plugin : ''
})
.forEach(function (plugin) {
return plugins.push(load(plugin, config[plugin]))
})

@@ -56,0 +62,0 @@ return plugins

{
"name": "postcss-load-plugins",
"version": "2.0.0-beta",
"version": "2.0.0-rc",
"description": "Autoload Plugins for PostCSS",
"engines": { "node": ">=4", "npm": ">=3" },
"engines": { "node": ">=0.12", "npm": ">=3" },
"main": "index.js",

@@ -16,3 +16,4 @@ "scripts": {

"dependencies": {
"cosmiconfig": "^2.0.0"
"cosmiconfig": "^2.1.0",
"object-assign": "^4.1.0"
},

@@ -37,3 +38,3 @@ "devDependencies": {

"all": true,
"include": ["lib", "test"],
"include": ["index.js", "lib"],
"extension": [".js"]

@@ -49,6 +50,8 @@ },

},
"contributors": [{
"name": "Mateusz Derks",
"url": "http://ertrzyiks.me"
}],
"contributors": [
{
"name": "Mateusz Derks",
"url": "http://ertrzyiks.me"
}
],
"repository": {

@@ -55,0 +58,0 @@ "type": "git",

@@ -34,3 +34,3 @@ [![npm][npm]][npm-url]

Create **`postcss`** section in your projects **`package.json`**
Create **`postcss`** section in your projects **`package.json`**.

@@ -57,3 +57,3 @@ ```

Create **`.postcssrc`** file
Create a **`.postcssrc`** file.

@@ -90,6 +90,10 @@ ```

Plugins can be loaded in either using an `{Object}` or an `{Array}`.
##### `{Object}`
```js
module.exports = (ctx) => {
plugins: {
'postcss-plugin': options
'postcss-plugin': ctx.plugin
}

@@ -99,2 +103,4 @@ }

##### `{Array}`
```js

@@ -112,7 +118,6 @@ module.exports = (ctx) => {

**`null`**: Plugin loads with defaults.
```js
'postcss-plugin': null
'postcss-plugin': {} || null
```
> :warning: `{}` must be an **empty** object

@@ -138,5 +143,5 @@ **`[Object]`**: Plugin loads with given options.

plugins: {
'postcss-plugin': false, // plugins[0]
'postcss-plugin': false, // plugins[1]
'postcss-plugin': {} // plugins[2]
'postcss-plugin': {}, // plugins[0]
'postcss-plugin': {}, // plugins[1]
'postcss-plugin': {} // plugins[2]
}

@@ -152,3 +157,3 @@ }

**postcss.config.js**
**`postcss.config.js`**

@@ -158,5 +163,5 @@ ```js

plugins: {
postcss-import: null,
postcss-bem: ctx.bem || null,
cssnano: ctx.env === 'development' ? false : null
postcss-import: {},
postcss-bem: ctx.bem || {},
cssnano: ctx.env === 'development' ? false : {}
}

@@ -166,3 +171,3 @@ }

### <img width="80" height="80" src="https://worldvectorlogo.com/logos/nodejs-icon.svg"> API
### <img width="80" height="80" src="https://worldvectorlogo.com/logos/nodejs-icon.svg">

@@ -183,3 +188,3 @@ ```js

.then(({ css }) => console.log(css))
}))
})
```

@@ -186,0 +191,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc