Skip to content

Commit d6aa50c

Browse files
committed
Promisify by hand for Node 6 compatibility
1 parent bbb6d0e commit d6aa50c

File tree

3 files changed

+36
-9
lines changed

3 files changed

+36
-9
lines changed

lib/build-bundler.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
let fs = require("fs");
21
let path = require("path");
32
let { createFile, generateFingerprint } = require("faucet-pipeline-util");
4-
// TODO: Not available on all supported Node versions
5-
let { promisify } = require("util");
6-
let readFile = promisify(fs.readFile);
3+
let { readFile } = require("./promisified-fs");
74
let tree = require("./tree");
85

96
module.exports = ({ source, target, fingerprint, configDir }) => {

lib/promisified-fs.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
let fs = require("fs");
2+
3+
exports.stat = somePath => {
4+
return new Promise((resolve, reject) => {
5+
fs.stat(somePath, (err, r) => {
6+
if(err) {
7+
return reject(err);
8+
}
9+
resolve(r);
10+
});
11+
});
12+
};
13+
14+
exports.readdir = (somePath, opts) => {
15+
return new Promise((resolve, reject) => {
16+
fs.readdir(somePath, opts, (err, r) => {
17+
if(err) {
18+
return reject(err);
19+
}
20+
resolve(r);
21+
});
22+
});
23+
};
24+
25+
exports.readFile = (somePath, opts) => {
26+
return new Promise((resolve, reject) => {
27+
fs.readFile(somePath, opts, (err, r) => {
28+
if(err) {
29+
return reject(err);
30+
}
31+
resolve(r);
32+
});
33+
});
34+
};

lib/tree.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
let fs = require("fs");
21
let path = require("path");
3-
// TODO: Not available on all supported Node versions
4-
let { promisify } = require("util");
5-
let stat = promisify(fs.stat);
6-
let readdir = promisify(fs.readdir);
2+
let { readdir, stat } = require("./promisified-fs");
73

84
function tree(directory, relativeTo = directory) {
95
return readdir(directory).then(entries => {

0 commit comments

Comments
 (0)