Skip to content

Commit ccd5481

Browse files
committed
Remove Bluebird
1 parent 043d123 commit ccd5481

File tree

5 files changed

+33
-22
lines changed

5 files changed

+33
-22
lines changed

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,13 @@
3434
"postcss": "^8.1.2"
3535
},
3636
"dependencies": {
37-
"bluebird": "^3.1.1",
3837
"debug": "^4.3.2",
3938
"fs-extra": "^10.0.0",
4039
"lodash": "^4.0.0",
40+
"p-each-series": "^2.2.0",
41+
"p-filter": "^2.1.0",
42+
"p-map": "^4.0.0",
43+
"p-reduce": "^2.1.0",
4144
"spritesmith": "^3.0.1",
4245
"svg-sprite": "^1.3.5"
4346
},

src/core.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import path from 'path';
22
import fs from 'fs-extra';
3-
import Promise from 'bluebird';
43
import _ from 'lodash';
54
import debug from 'debug';
5+
import pFilter from 'p-filter';
6+
import pReduce from 'p-reduce';
7+
import pMap from 'p-map';
8+
import pEach from 'p-each-series';
69
import RasterFactory from './factories/raster';
710
import VectorFactory from './factories/vector';
811

@@ -196,8 +199,8 @@ export function extractImages(root, opts, result) {
196199
export function applyFilterBy(opts, images) {
197200
opts.logger('Applying the filters...');
198201

199-
return Promise.reduce(opts.filterBy, (images, filterFn) => {
200-
return Promise.filter(images, (image) => {
202+
return pReduce(opts.filterBy, (images, filterFn) => {
203+
return pFilter(images, (image) => {
201204
return filterFn(image)
202205
.then(() => true)
203206
.catch(() => false);
@@ -214,8 +217,8 @@ export function applyFilterBy(opts, images) {
214217
export function applyGroupBy(opts, images) {
215218
opts.logger('Applying the groups...');
216219

217-
return Promise.reduce(opts.groupBy, (images, groupFn) => {
218-
return Promise.map(images, (image) => {
220+
return pReduce(opts.groupBy, (images, groupFn) => {
221+
return pMap(images, (image) => {
219222
return groupFn(image)
220223
.then(group => {
221224
image.groups.push(group);
@@ -339,7 +342,7 @@ export function runSpritesmith(opts, images) {
339342
export function saveSpritesheets(opts, images, spritesheets) {
340343
opts.logger('Saving the spritesheets...');
341344

342-
return Promise.each(spritesheets, (spritesheet) => {
345+
return pEach(spritesheets, (spritesheet) => {
343346
return (
344347
_.isFunction(opts.hooks.onSaveSpritesheet) ?
345348
Promise.resolve(opts.hooks.onSaveSpritesheet(opts, spritesheet)) :

src/factories/raster.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Spritesmith from 'spritesmith';
2-
import Promise from 'bluebird';
2+
import { promisify } from 'util';
33
import _ from 'lodash';
44

55
/**
@@ -27,7 +27,7 @@ export default function run(opts, images) {
2727
}
2828
}
2929

30-
return Promise.promisify(Spritesmith.run, { context: Spritesmith })(config)
30+
return promisify(Spritesmith.run.bind(Spritesmith))(config)
3131
.then((spritesheet) => {
3232
spritesheet.extension = 'png';
3333

src/factories/vector.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import fs from 'fs';
22
import SVGSpriter from 'svg-sprite';
3-
import Promise from 'bluebird';
3+
import { promisify } from 'util';
44
import _ from 'lodash';
55

66
/**
@@ -17,10 +17,15 @@ export default function run(opts, images) {
1717
spriter.add(path, null, fs.readFileSync(path, { encoding: 'utf-8' }));
1818
});
1919

20-
return Promise.promisify(spriter.compile, {
21-
context: spriter,
22-
multiArgs: true
23-
})().spread((result, data) => {
20+
return new Promise((resolve, reject) => {
21+
spriter.compile((error, ...result) => {
22+
if (error) {
23+
reject(error);
24+
return
25+
}
26+
resolve(result);
27+
})
28+
}).then(([result, data]) => {
2429
const spritesheet = {};
2530

2631
spritesheet.extension = 'svg';

src/index.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ const plugin = (options = {}) => {
3333

3434
// Process it
3535
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) => {
36+
.then(([opts, images]) => applyFilterBy(opts, images))
37+
.then(([opts, images]) => applyGroupBy(opts, images))
38+
.then(([opts, images]) => setTokens(css, opts, images))
39+
.then(([root, opts, images]) => runSpritesmith(opts, images))
40+
.then(([opts, images, spritesheets]) => saveSpritesheets(opts, images, spritesheets))
41+
.then(([opts, images, spritesheets]) => mapSpritesheetProps(opts, images, spritesheets))
42+
.then(([opts, images, spritesheets]) => updateReferences(css, opts, images, spritesheets))
43+
.then(([root, opts, images, spritesheets]) => {
4444
opts.logger(`${spritesheets.length} ${spritesheets.length > 1 ? 'spritesheets' : 'spritesheet'} generated.`);
4545
})
4646
.catch((err) => {

0 commit comments

Comments
 (0)