Skip to content

Commit

Permalink
test: create a async/await friendly rollup watch wrapper
Browse files Browse the repository at this point in the history
Because I'm tired of callbacks.
  • Loading branch information
tivac committed Sep 12, 2019
1 parent fbad4e8 commit 2d2dde3
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 3 deletions.
14 changes: 11 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
"jest": "^24.8.0",
"jest-cli": "^24.8.0",
"lerna": "^3.16.4",
"p-defer": "^3.0.0",
"pegjs": "0.10.0",
"read-dir-deep": "^6.0.0",
"rollup": "^1.11.3",
Expand Down
31 changes: 31 additions & 0 deletions packages/test-utils/rollup-watching.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
"use strict";

const defer = require("p-defer");

module.exports = (cb) => {
let count = 0;

Expand All @@ -17,3 +19,32 @@ module.exports = (cb) => {
cb(count, details);
};
};

module.exports.promise = (watcher) => {
let deferred;

watcher.on("event", (e) => {
console.log("watch event", e.code);

if(e.code === "ERROR" || e.code === "FATAL") {
return deferred && deferred.reject(e.error);
}

if(e.code !== "END") {
// eslint-disable-next-line consistent-return
return;
}

return deferred && deferred.resolve(e);
});

const out = () => {
deferred = defer();

return deferred.promise;
};

out.close = () => watcher.close();

return out;
};

0 comments on commit 2d2dde3

Please sign in to comment.