Skip to content

Commit

Permalink
Merge pull request #2 from FreeAllMedia/feature/watch
Browse files Browse the repository at this point in the history
watch implementation
  • Loading branch information
nicosommi committed Aug 10, 2015
2 parents 59ba53a + 0fc3db8 commit 476fd9e
Show file tree
Hide file tree
Showing 8 changed files with 78 additions and 18 deletions.
5 changes: 5 additions & 0 deletions .bithoundrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"ignore": [
"es5/**/*.js"
]
}
4 changes: 4 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
languages:
JavaScript: true
exclude_paths:
- es5/*
27 changes: 15 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
language: node_js
node_js:
- '0.12'
- '0.11'
- '0.10'
- iojs-v1
- iojs-v2
- '0.12'
- '0.11'
- '0.10'
- iojs-v1
- iojs-v2
script: npm test
before_script:
- npm install
- npm install
after_success:
- ./node_modules/coveralls/bin/coveralls.js < ./lcov.info
- ./node_modules/coveralls/bin/coveralls.js < ./lcov.info
env:
global:
- secure: QIEhqCRyDhkqbI8fZlFGro78R+H6ZVSQyA09CuSeD7hM4Mj9bnYdI4B4LHUYqA0UvcxspUTzZvYmHr9vGSWGZlzFAc4QKgh5oelo9Xk9zlhV/4PAnso32munruEzH2neOV3GBGxXqdUDSq/QYMB50DRnTSea7Lrsz/seyv5j4CoGAH6wZ9sMFAEDmPRXnEJmfJy55JBZDZgbyQ4N7kMUQL++ObvcQ33RAUqbEdGjRaRFc3R5QUrxkSVhAU7Vp0FWUf1A9QsklVIU6lYi5vuYCRP5xyQYj2vA0dJeGlE5wpCj8ijeU5Bm886IHP6qof3N2pxMNHkwMxf4DQGGqrKpZu9v7YOEYAmj8Rf8+2OlWpkOVOr/lbenx2cZmu20XjunykDH+VPfi0iyus/6Q3n34yxsQ0JPXANausEZQipIT1b+07wpWVogUEYO1tWX247uMZPIFJ1oRRKt23TFeCn0PjPF+YIIrh5/pYrGEgrs4mgOBwaDMzFa0/z+Sc+7TwEn2/f5p15NVkf0VcnlRzn/MlH6VIgYHUtGu9medEX0XN3iJBWEMjxOgboI2dBhOiIk7Zz1pBXvgh5EsX50cZN7cWDTCPgykd/7x9uWlkOMH4d9yzCbtCbOmv7qricWvGYNzvpTzxRkajr5v0T8Wb/trhSXAXV6IOdDhdHsZImXBTk=
- secure: faTpnKHtZ5/2ghqbiUbyb658lzNHgCA2sk0sFewgk4Vu3ZFbW1s3+qQAezVnfytdzgG+ypLRmLcI1t9Ydoa4AwdSt18zQHgfek8SUSDTh0M0w2J7nMznCbsDblcTAkrqJbPOolMd1+42BMgrewxQyLjoYb9AoAOmrJTkEhbMKSz+ezVLC3G/zsAI/PGJQOOJtqURYfmNQ3UwGE056KCfuUoOfUVDH9tEXhKdENT64S+uT9S4POfaDAdViV+lzjdzUMRNBV7H+7g5HwhrL7py5PSQAEY/9BMoy5gE3LHedAAZu3v7KIgcbAO4b/EfmfoG+1o0Oaxakow35veGcMl2ZRK/Xcvhx9g6JW8g5fU3E3x3QvqATO5f4/s3ekajxmXeh4Oh9J69sHz0wLGqaxlx90KSA+Ntd9yxmzCXNP4C4t8K7cYo95a0UY5tSWQdtJz6og0+r2IuJ9G3Ssk2x5RNTjkY+kwtfnRMFa/6kaLrE0UK1KBBN3AeMK4DpqC02pOG5Sflz8BGcMYBw8PIrpiXlr8qtUcWfyuYN8KEe2zV+wQBpQKNPTmyCgaLrt2PNSLHn/XUC6lZFW28/6U7KRgWRbN4lWPISYYjSJrnKo/Gi3Z9RLAaEExZ4OLMbH2aux9ARvLWxDsJEkTQIh1TwgYhrjyeTMYe9vbJFVVbrTHE+84=
deploy:
provider: npm
email: fam-operations@freeallmedia.com
api_key:
- secure: fvD3rfVujXDvY/8tHbrf3ISM9FEwMRfRBwCbqauRV9lik+IOYsz2qdCuQ6HlBEeQ8f8S1xp/UQLnHyKh6gZBE2vYEAdd1PAda5NSMZv36wRqCUIRlwrlohH9YIBwNPog3f01Amymd11Pmww8brIebqGqEY0Lbk7SAmur008wYqkJ9lC1VFpoaCIJWBGp/Z5IAjjPBI8nmAK0EIg6968g/DC9OitlT5hXP9XpPx0sJdWpU+NHGFL1UL/pG/KjBlTj7AT3rncWH3c4BVgAvWlkgXVdRzacNzu3XQIWS4ZfT5I26ScEdwiqGI2RwQcTUbPAcwTQQuJu0Y1Ay6W3uSUmX6hAIEoj7PMC3bF5ziTF8fWayB77Se5I8lj8G3zucvRFdmk8Pn1wk9PEUHvGwLEU2u6SyiG2taHHynSW1Hal6vXa20cGO30V2oC7hSh05zgzv89PEQ8/4Cn6REOwBLEF2i+RqCqpQgHzhG2kdLIW3SuSik2ZDHpp9ZtfhRoS9Q1DkGy8WB1q8JV5f8sEkH53FmasXlhc0PHYzLZ67dlS1gg3Phg8GmpJ+jtnXRHe5g6ZcaoHnY1qeYdV56PzMw0gs3eGdJPZXzpstOlWHe7qOgEJ3pTOmScXlPjEYfsKic88GsmATmQC/pY8aZuKZNx974KNarah2XVGmxkeISJfbnI=
env:
global:
- secure: 1cw5VDcyZgbnp47e/kRSlzcBTMRuyjWlluD52kGC6oMjBkIOc4FyvY0eOIk3XZNIX8HMCYRUTxX+L282uxEOtuf++EaSWYg/0A0R213tuwOz+66I3IpyaMZzx0G9pxIQEL0y8xfw45TSjxxtcg97NevMZwKcQVm1JYzae+MqaqQEfx6J6WdFdvG+PlvxWKB8EiOGDSkSmPPvvmvSTFZvAe4MKTizV+zzOeYSvkDTIbmp+FJhIQYRG7H+YBloSScvkqf+hRJSCEBkexMmjVvvjBFnhiPLMxiwuq97Dhnc+4MYiFHRX63olOSMtL/pYmlXdNEHPjQmpSC8+4+dSzPDdYkDD82hgVo96eO//pDl4zXGUuOuXU7BePipW1E84Gkob9GYK146uEqbp6CyJPwf4P/N6+Pohu/3gw2TeFj8/ZlMM547jFmyP/HAIPnDn11Mn0xXI+hBnay4Zb/+xPwznBuTsGbeW4gGiZOOEKQvivaxLFHPX40SKyrchnVmgeJzntt0Ekq+/PfN0p2kHLQTJCANjMMdZT2qEwUXZJ7SLiPnuRFMDDMG1BlBPwcaPbztsz3CWmh2okOqxRSLB2mSgj3cGKjee44FBdlV9PokSOZj+zc9/HxZ44HSUo+yYYDryDjZJ2kCpQ4RkmYyTtiNIDXzmPCSN9HpoLK3z9f/JLw=
- secure: Ug4mARvxIUuVVODVFVkN18O61iy98j1TQdAkxbaouiKrxnS1wvmT83ZvzyROOmUK3Jmu/P3ls99+YghDE6omOMTxrSk0WzYo11TuHsq23HNPtOXNSnqVMzkreM7J57Xyqe/P6evRIFTmky2FrmbIJdLRJccD5+pc2eSd0184USWqI0Io0XIwq5lIFrjJ7bleJLfNJvdbYbqjvHMQZCEfCX8kfICUSsf9ztMdRqVxQd4zyOzzBv2ZReSIUsDx2Mk1YdYKf0gIYwZvpEFfv72/YlZ56rmhjwo5e1KSBtjthRftbB2J82tLNT8otZ5AUZhC6hYowDpUpkktCHB06ne8FNkB1z6lA/3TQHdZg85OLa/6dJKm/9usCYjsJz9SYW6QPwUmKQ06Ocmln9fnLmC3Uq8CtpYDv5aaH+5LZh2vGT02PAeoa2tG/NSzJ8VdyabcJy91C1L706boQCk4Vwb85rsZeu6xy1lvkuUd4XhpmXJ/OdysBChFeCYpLTDl8rV/YxJqYesryyYg2flgh/R15VTU0zwKfY5Df7wcKmlXVroQFcp7On39MTZeRbHoFWpYLO7T6d1DIae5IG7Q6Hw9CwZ11pMJ+6xlall9j1E/LPcN0Umdnu8wxhaPaT7OQ36HkpvEcIHWsEtHxWVzcDjo9JkyAhmHp91FfZ9R1BGNufI=
secure: nLRb8+VXGuZMTwTbmQC/ivju/rkOmPsjJMK/L5JcdHakmN3istYr5gdCttA3bytayprDqLIERq5Qg0X2jZLg8MyShejTAGnf6rtAxwn3IdKl7RuwN/GjKWLEAfnulLQJYymo6YA504MHaWmlnQKnrqjabAsIqclQTIMaSPptj/jlWlL2Si6qxeJadSX5DqNqwTVKw9tGOier+r+XOD7Kd0IQcEY2bgow/O72WOOEW6R6Fs8t+2Ee/fN7aC3tByjwQpGreEy2/ZgpmHVyWqpebo/ntZlAbLOWvB432EdyLkamqEhPmMU3EZwGtWXcVUVjW5g0yIyjfysIR2c8wEaTIqleYsZMZ2Lli2Wv+b4GnY2PNLF5YwLAqkOfdZMOkhJA/0dXvY0jhA5O37udfx4hV9JdL71zuEO+0FcikxfHQ5BpDFh+c2wpMmaELwLLcl8ZbtafEHLSOpjKnLEYHz9Q+gGXkKNLAFDfaK2FfZHGRWbLg8OezP8CtRNpiQ1t/1pKaOMGckXGEf/0/C51hJskNappJQvPOiJbe06h4fBrVK/3yhVt3SGdMael4jrSgR4TDDgAZ3cZ+pM3nvy+WTGOF8oGuhFsc8/ndrtmmPUlVc+xVU7HZZyhb0QcCk8XswweONLj+VgxlySKpcsQUonDyUoDDoYAsYmPF0uRJw09Qd4=
on:
repo: FreeAllMedia/quirk
branch: master
2 changes: 2 additions & 0 deletions gulpfile.babel.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import "./tasks/suppress-errors.js";
import "./tasks/build-spec.js";
import "./tasks/build-spec-assets.js";
import "./tasks/build-lib.js";
Expand All @@ -6,3 +7,4 @@ import "./tasks/build.js";
import "./tasks/test-local.js";
import "./tasks/test-browsers.js";
import "./tasks/test.js";
import "./tasks/test-watch.js";
15 changes: 9 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,28 @@
"dependencies": {},
"devDependencies": {
"babel": "^5.5.6",
"babel-eslint": "^3.1.20",
"eslint": "^0.24.0",
"babel-eslint": "^4.0.5",
"chai": "^3.0.0",
"coveralls": "^2.11.2",
"eslint": "^1.1.0",
"gulp": "^3.9.0",
"gulp-babel": "^5.1.0",
"gulp-istanbul": "^0.10.0",
"gulp-mocha": "^2.1.1",
"gulp-util": "^3.0.6",
"karma": "^0.12.36",
"karma-browserify": "^4.2.1",
"karma-chai": "^0.1.0",
"karma-mocha": "^0.1.10",
"karma-detect-browsers": "^2.0.0",
"karma-chrome-launcher": "^0.2.0",
"karma-detect-browsers": "^2.0.0",
"karma-firefox-launcher": "^0.1.6",
"karma-ie-launcher": "^0.2.0",
"karma-mocha": "^0.1.10",
"karma-phantomjs-launcher": "^0.2.0",
"karma-safari-launcher": "^0.1.1",
"karma-sauce-launcher": "^0.2.11",
"mocha": "^2.2.5"
}
"mocha": "^2.2.5",
"superstack": "0.0.4"
},
"generatorVersion": "0.2.20"
}
31 changes: 31 additions & 0 deletions tasks/suppress-errors.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import gulp from "gulp";
import gutil from "gulp-util";

// Watch tasks should depend on suppress-errors - it will force all stream pipes to print but not crash on error
gulp.task("suppress-errors", function(){
function monkeyPatchPipe(o){
while(!o.hasOwnProperty("pipe")){
o = Object.getPrototypeOf(o);
if(!o){
return;
}
}
var originalPipe = o.pipe;
var newPipe = function(){
var result = originalPipe.apply(this, arguments);
result.setMaxListeners(0);
if(!result.pipe["monkey patched for suppress-errors"]){
monkeyPatchPipe(result);
}

return result.on("error", function (err) {
gutil.log(gutil.colors.yellow(err));
gutil.beep();
this.emit("end");
});
};
newPipe["monkey patched for suppress-errors"] = true;
o.pipe = newPipe;
}
monkeyPatchPipe(gulp.src(""));
});
1 change: 1 addition & 0 deletions tasks/test-local.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import gulp from "gulp";
import mocha from "gulp-mocha";
import "superstack";
import istanbul from "gulp-istanbul";
import paths from "../paths.json";

Expand Down
11 changes: 11 additions & 0 deletions tasks/test-watch.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import gulp from "gulp";
import paths from "../paths.json";

gulp.task("test-watch", ["suppress-errors"], () => {
gulp.watch([
paths.source.lib,
paths.source.spec,
paths.source.specAssets,
paths.source.libAssets
], ["test-local"]);
});

0 comments on commit 476fd9e

Please sign in to comment.