From 5d4ce2525e7991df9b432cf5459e79264364afb4 Mon Sep 17 00:00:00 2001 From: nicosommi Date: Mon, 10 Aug 2015 14:11:48 -0300 Subject: [PATCH] refresh superstack and watch --- .bithoundrc | 5 +++++ .codeclimate.yml | 9 ++------- .travis.yml | 2 ++ es5/lib/flowsync.js | 36 ++++++++++++++++++++++++++++++------ gulpfile.babel.js | 2 ++ package.json | 9 +++++++-- tasks/suppress-errors.js | 31 +++++++++++++++++++++++++++++++ tasks/test-local.js | 1 + tasks/test-watch.js | 11 +++++++++++ 9 files changed, 91 insertions(+), 15 deletions(-) create mode 100644 .bithoundrc create mode 100644 tasks/suppress-errors.js create mode 100644 tasks/test-watch.js diff --git a/.bithoundrc b/.bithoundrc new file mode 100644 index 0000000..d1fbecb --- /dev/null +++ b/.bithoundrc @@ -0,0 +1,5 @@ +{ + "ignore": [ + "es5/**/*.js" + ] +} diff --git a/.codeclimate.yml b/.codeclimate.yml index 8e97a69..a7c7506 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -1,9 +1,4 @@ -# Save as .codeclimate.yml (note leading .) in project root directory languages: JavaScript: true - Ruby: false - PHP: false - Python: false - -# exclude_paths: -# - "foo/bar.rb" \ No newline at end of file +exclude_paths: + - es5/* diff --git a/.travis.yml b/.travis.yml index ff0556f..1a1a78b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,3 +19,5 @@ env: global: - secure: K46saRKxFruRDv6LyTRkdr4UaiX3ma4OC7RFp/BSw+Sr3Pk105hzd8Be5cMxBE9sjWvcrxB1JvwkY7W+iWSxQtC+xzQAPxON+34vUBwS319Zqxnc5HsB/6X6jRNnuSdg+CFg4NMpBXPQAUFHJT2SeTNvgL2G7RdiuAOal9/EG+dcKgpfugawWGpAnG/k9VAP4u3QLUjFNTKvDMwpaX0yGOJVPoOPOk+09Fvy157cotG3j5O33iAxMNb2rQepFNsQiQ6XwuoDFJyBKJsQ4tvRcmRxlW7D4efSn/TjibOtM2NcEbbB2XMGPhi9Q8b8e94ZnKrRvMPa1n3KHu1PyhiC8H2dg29+dOmtJLGGLChcKhkON3J4dJEKrFMDLXEHkwY2rS7X4Wda83w7DdIIIegOQ/mvhYRHaPzVeDA/+vklLpGlWyEohOJy61OZv5e3xaO+HdCMGY6nqvcVrDkj+6Bvr/NwM608Ynp6NNTQXuW2iARSW2nz+rKIgaG5ThNBOX3+KmVrjvQpZv3jP4uMV5MLjWQk7KYS6TYWULUI29LCNiUE8lgl19BqFnGJ7yXPZaWLGBjDagVQtymGq3wdKs1x7cHN4dNQD8LdkpQnlvsGJtX7jT3Mx+S+6tyCRiLztvmESt454drP7O+GI5S2OCARcT4YHUw0ascdirqp5oJ9EV8= - secure: VU4EGU8KpLgZ7IFc35ZnuxZTRnNwUggxoeQuOU9G+HLc/s1FLgKsyAcEvN6tw3BTT4ZjZn3n6CB+qvDWWs5sBrp11Ty30Zp0CAFY3qzgQ+yBYLeI07YVnOGW1NwHIkDG6jgRUQ3krKkdwAiDz1+Zr80TKnmxi12g85stbhdaMypl/1kqmt9T7rztXxHfvETIGJsAD+SHTQxpZeu9brxGMAgTdBFn2BJYLRZWZNCO/oLqYdnD/R8yFbLJ6esFEq70Jtdpr7BYq+6f1me5J2OnyObPd/VgAjuMFyrxok2h1SXheHIfUVuhXRK1HZnqRVryv1ZCjMYFzHa5RoCPJFjUe/Hd4tx01RrzqaLRbAjVKk5yaDrk8LGwozx38uYx9pIcmxqI4aq46ZI6zKtvTAtda60f9HY1rxsMZeLA0ea5NW8GFnOE4Waqx61Nm/egnjz7kDmjYcEBgHYqnX2e0MC6a7oWdYef4br6hodQbRhHLEKNMKnMiQF2apzw5ydpNZuAjunuVtjsAOoQwm/6G4FJg97sMa6jip7v1vQktxrMaWCtdNe8rZQvPSYrDOSllhSU926Dk89sh6tUffVCLHBJChGp6dpef4q+VALTVcRcJF4XKI8kDJFIrUX8hox7Sh0CEO4UHazJ3tdVvjA3yS1b2EzipBR58qy7wcB/M9pfdDc= + - secure: NoQCclf6uR4G7+k+UICjWztXEgPrhuH8rKggIJDuVabsRtdOwgq3NYRq/oRJ0dIiTjKqF497cAPhsHT7mJp7sLqLT2t1Famdq8ykI2M+BlZqvOzh8rLMus7ecQzsrHbtQudQ8DmzsPQue6eudfOThebeH0VA2O/3mImqwvNDPw6yvNRlpuigYKPYz4vxKg2f3k8l97KEwxEzjaqs324uhlsjEpbF2ZlO8Qn1UHpQ0jnvsCV2v+sMKLSu94/wHDsIGaELuw24klHUPxD5u3A/YKXU95/BbeTM0hweIUZnX9gp1JQhels3TzMIPEOmokIG7Fd6pPKcbHlJq/o5Cl7bSS4IWpq+AAZfoun9QUnixbS5lwUU89durjmggLrnRVJC4gnujpCopVLSVxJ6Mw5oZZrCcMgjuv3NnHSvX1IUhA9nNANfGd+ZoczGth9cJ+hceyPcO0uEIjWfnxEx8Oh+X4Edf/5WEYG13kgBTKY/Ngk6opWXItjHNv2kWCHQ7nT+t+LaYrk5J/1WZxwBhustmVQwkOSt77zLv01i34JN0ZY7AOZOqUQp6tFIUcn88ow8T6CyyQAIcW1Jwe43DXr/aEdherZy8S71f4zNnm3dkRGIhP1iLLbkLu48AuhmRtAA+JPLHS5H9rIf8ZdDLrelq5QLjxoDQJPnllBuVYILWjU= + - secure: b/0FSDBk9hk+JWjsEBp8UD2XwfvdJxKxI71r1hufnhwxSvKBy1km0K9IvDNQ8uCQMbxz3bEIiNmmzV1HnP6B/ge6L4oa+xbhzbYE3xqE1zWA354ZziSP4SU55nToIADqqXkuE6mUJFEHRQ4sR0nRWGjQX9men6MotjibGSXL38XCISFPRcsP0S88ujlB/OHfCcXJwXjeh+VI+VYBsTVMAMGsymUxN8S8ypM8m6SfpOmx0Uy6/xrmCPHOrTX99830V5O1PrVPyCB4DMqsq9KUonh9p7C3pMOiXr6D5JD319jNefA4fRnVh2dhYsKEvQhLMCw9eoBoLi45jwz5N6OaFlphsOYiWld9niKIJUaM2YkWFyFrwJL1pD5bZtGUGXP5kSPNFXqt8fyUxkSh4Ekllf0Pc/QBKR0Ae11lhhqx2KAk7Ib7NBgPRQwdvemgoZ7TSU6mltj6Ih6ujQjjURxS14w44BqFLle1s5o2whu2HcDz38d66orzQMaqvKUquGpMZ8f0I8FFBriEL8G/y1GjySgbjeo3dTtm2/ti+cbiL7E92ENjbD6J+o6dvzBkDxJhPvQj5K+fpfzWE5Ft42ged7pe+MLiGmvkq8LLPbV0+gucADbSakDeMJezbLiPszbHEptQlF6wIAwL6VtsMqyJ4I9LwuTQIEOr7dvDMnuh9SI= diff --git a/es5/lib/flowsync.js b/es5/lib/flowsync.js index 042c1bd..ea84225 100644 --- a/es5/lib/flowsync.js +++ b/es5/lib/flowsync.js @@ -184,7 +184,11 @@ var FlowSync = (function () { * ``` */ value: function parallel() { - async.parallel.apply(async, arguments); + for (var _len = arguments.length, options = Array(_len), _key = 0; _key < _len; _key++) { + options[_key] = arguments[_key]; + } + + async.parallel.apply(async, options); } }, { key: 'eachParallel', @@ -211,7 +215,11 @@ var FlowSync = (function () { * ``` */ value: function eachParallel() { - async.each.apply(async, arguments); + for (var _len2 = arguments.length, options = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + options[_key2] = arguments[_key2]; + } + + async.each.apply(async, options); } }, { key: 'eachSeries', @@ -238,7 +246,11 @@ var FlowSync = (function () { * ``` */ value: function eachSeries() { - async.eachSeries.apply(async, arguments); + for (var _len3 = arguments.length, options = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + options[_key3] = arguments[_key3]; + } + + async.eachSeries.apply(async, options); } }, { key: 'mapParallel', @@ -272,7 +284,11 @@ var FlowSync = (function () { * ``` */ value: function mapParallel() { - async.map.apply(async, arguments); + for (var _len4 = arguments.length, options = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + options[_key4] = arguments[_key4]; + } + + async.map.apply(async, options); } }, { key: 'series', @@ -319,7 +335,11 @@ var FlowSync = (function () { * ``` */ value: function series() { - async.series.apply(async, arguments); + for (var _len5 = arguments.length, options = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { + options[_key5] = arguments[_key5]; + } + + async.series.apply(async, options); } }, { key: 'mapSeries', @@ -353,7 +373,11 @@ var FlowSync = (function () { * ``` */ value: function mapSeries() { - async.mapSeries.apply(async, arguments); + for (var _len6 = arguments.length, options = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { + options[_key6] = arguments[_key6]; + } + + async.mapSeries.apply(async, options); } }]); diff --git a/gulpfile.babel.js b/gulpfile.babel.js index b2cb701..52034bb 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -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"; @@ -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"; diff --git a/package.json b/package.json index 65fed9a..175ff3e 100644 --- a/package.json +++ b/package.json @@ -40,12 +40,15 @@ }, "devDependencies": { "babel": "^5.5.6", + "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", @@ -58,6 +61,8 @@ "karma-sauce-launcher": "^0.2.11", "mocha": "^2.2.5", "phantomjs": "^1.9.17", - "sinon": "^1.15.3" - } + "sinon": "^1.15.3", + "superstack": "0.0.4" + }, + "generatorVersion": "0.2.20" } diff --git a/tasks/suppress-errors.js b/tasks/suppress-errors.js new file mode 100644 index 0000000..fcfa22c --- /dev/null +++ b/tasks/suppress-errors.js @@ -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("")); +}); diff --git a/tasks/test-local.js b/tasks/test-local.js index f6a843a..381da73 100644 --- a/tasks/test-local.js +++ b/tasks/test-local.js @@ -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"; diff --git a/tasks/test-watch.js b/tasks/test-watch.js new file mode 100644 index 0000000..9c32b8c --- /dev/null +++ b/tasks/test-watch.js @@ -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"]); +});