Skip to content

Commit 11bfa75

Browse files
committed
Add support for PostCSS 8
1 parent fe7c207 commit 11bfa75

File tree

4 files changed

+38
-33
lines changed

4 files changed

+38
-33
lines changed

.travis.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ sudo: false
22
language: node_js
33
node_js:
44
- stable
5-
- "4"
6-
- "0.12"
5+
- "12"
76
branches:
87
only:
98
- master

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
```javascript
2222
var fs = require('fs');
2323
var postcss = require('postcss');
24-
var sprites = require('postcss-sprites');
24+
var { default: sprites } = require('postcss-sprites');
2525

2626
var css = fs.readFileSync('./css/style.css', 'utf8');
2727
var opts = {

package.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,19 @@
2929
"ava": "^0.15.2",
3030
"babel-cli": "^6.4.0",
3131
"babel-plugin-add-module-exports": "^0.2.1",
32-
"babel-preset-es2015": "^6.3.13"
32+
"babel-preset-es2015": "^6.3.13",
33+
"postcss": "^8.1.2"
3334
},
3435
"dependencies": {
3536
"bluebird": "^3.1.1",
3637
"debug": "^2.6.0",
3738
"fs-extra": "^0.26.4",
3839
"lodash": "^4.0.0",
39-
"postcss": "^5.0.14",
4040
"spritesmith": "^3.0.1",
4141
"svg-sprite": "^1.3.5"
4242
},
43+
"peerDependencies": {
44+
"postcss": "^8.1.2"
45+
},
4346
"typings": "./typings.d.ts"
4447
}

src/index.js

+31-28
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import postcss from 'postcss';
21
import _ from 'lodash';
32
import {
43
defaults,
@@ -18,34 +17,38 @@ import {
1817
/**
1918
* Plugin registration.
2019
*/
21-
export default postcss.plugin('postcss-sprites', (options = {}) => {
22-
return (css, result) => {
23-
// Extend defaults
24-
const opts = _.merge({}, defaults, options);
20+
export default (options = {}) => {
21+
return {
22+
postcssPlugin: 'postcss-sprites',
23+
Once: (css, { result }) => {
24+
// Extend defaults
25+
const opts = _.merge({}, defaults, options);
2526

26-
// Setup the logger
27-
opts.logger = createLogger(opts.verbose);
27+
// Setup the logger
28+
opts.logger = createLogger(opts.verbose);
2829

29-
// Prepare filter & group functions
30-
prepareFilterBy(opts, result);
31-
prepareGroupBy(opts);
30+
// Prepare filter & group functions
31+
prepareFilterBy(opts, result);
32+
prepareGroupBy(opts);
3233

33-
// Process it
34-
return extractImages(css, opts, result)
35-
.spread((opts, images) => applyFilterBy(opts, images))
36-
.spread((opts, images) => applyGroupBy(opts, images))
37-
.spread((opts, images) => setTokens(css, opts, images))
38-
.spread((root, opts, images) => runSpritesmith(opts, images))
39-
.spread((opts, images, spritesheets) => saveSpritesheets(opts, images, spritesheets))
40-
.spread((opts, images, spritesheets) => mapSpritesheetProps(opts, images, spritesheets))
41-
.spread((opts, images, spritesheets) => updateReferences(css, opts, images, spritesheets))
42-
.spread((root, opts, images, spritesheets) => {
43-
opts.logger(`${spritesheets.length} ${spritesheets.length > 1 ? 'spritesheets' : 'spritesheet'} generated.`);
44-
})
45-
.catch((err) => {
46-
console.error(`postcss-sprites: An error occurred while processing files - ${err.message}`);
47-
console.error(err.stack);
48-
throw err;
49-
});
34+
// Process it
35+
return extractImages(css, opts, result)
36+
.spread((opts, images) => applyFilterBy(opts, images))
37+
.spread((opts, images) => applyGroupBy(opts, images))
38+
.spread((opts, images) => setTokens(css, opts, images))
39+
.spread((root, opts, images) => runSpritesmith(opts, images))
40+
.spread((opts, images, spritesheets) => saveSpritesheets(opts, images, spritesheets))
41+
.spread((opts, images, spritesheets) => mapSpritesheetProps(opts, images, spritesheets))
42+
.spread((opts, images, spritesheets) => updateReferences(css, opts, images, spritesheets))
43+
.spread((root, opts, images, spritesheets) => {
44+
opts.logger(`${spritesheets.length} ${spritesheets.length > 1 ? 'spritesheets' : 'spritesheet'} generated.`);
45+
})
46+
.catch((err) => {
47+
console.error(`postcss-sprites: An error occurred while processing files - ${err.message}`);
48+
console.error(err.stack);
49+
throw err;
50+
});
51+
}
5052
}
51-
});
53+
}
54+
export const postcss = true;

0 commit comments

Comments
 (0)