Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop lodash #1528

Merged
merged 20 commits into from Jun 3, 2018
Merged

Drop lodash #1528

merged 20 commits into from Jun 3, 2018

Conversation

fregante
Copy link
Contributor

@fregante fregante commented Apr 19, 2018

Fixes #1283 :)

@fregante
Copy link
Contributor Author

fregante commented Apr 19, 2018

Travis -> Node 7 -> Bluebird are trying to sabotage this PR :) I don't think it's a real error.

  asyncify
    ✔ asyncify
    ✔ asyncify null
    ✔ variable numbers of arguments
    ✔ catch errors
    ✔ dont catch errors in the callback
    promisified
      native-promise-only
        ✔ resolve
        ✔ reject
      bluebird
        ✔ resolve
WARN: '%cWarning: a promise was rejected with a non-error: [object String]
    (No stack trace)
From previous event:
    promisified@http://localhost:9876/absolute/tmp/7430ef0d0ef8e44a537ddcfc68287f4d.browserify?63fec471fcfcaba13816a8b7bbdc82421cfa4a90:6641:28
    asyncify/<@http://localhost:9876/absolute/tmp/7430ef0d0ef8e44a537ddcfc68287f4d.browserify?63fec471fcfcaba13816a8b7bbdc82421cfa4a90:241:22
    require<[53]</exports.default/<@http://localhost:9876/absolute/tmp/7430ef0d0ef8e44a537ddcfc68287f4d.browserify?63fec471fcfcaba13816a8b7bbdc82421cfa4a90:3425:9
    promisifiedTests/<@http://localhost:9876/absolute/tmp/7430ef0d0ef8e44a537ddcfc68287f4d.browserify?63fec471fcfcaba13816a8b7bbdc82421cfa4a90:6645:17
    callFnAsync@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:4504:18
    [33]</</Runnable.prototype.run@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:4451:7
    [34]</</Runner.prototype.runTest@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:4969:5
    next/<@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:5075:7
    next@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:4887:14
    next/<@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:4897:7
    next@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:4821:14
    [34]</</Runner.prototype.hook/<@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:4865:5
    timeslice@http://localhost:9876/base/node_modules/mocha/mocha.js?8bf1d1adf34e719cca6e8f6915b9cd6eabf83d6b:82:5', 'color: darkorange'
        ✔ reject
      es6-promise
        ✔ resolve
        ✔ reject

Where to go from here?

I think the build is broken. It fails the first run, it succeeds on the second run:

first run
❯ make -j 4
rm -rf build
eslint lib/ mocha_test/ perf//memory.js perf//benchmark.js perf//suites.js support//sync-es-package.js support//es.test.js support//jsdoc/jsdoc-custom.js support//jsdoc/jsdoc-fix-html.js support//jsdoc/jsdoc-import-path-plugin.js support//generate-index.js support//sync-cjs-package.js support//get-alias.js support//build/compile-module.js support//build/aggregate-bundle.js support//index-template.js support//build.test.js support//list-aliases.js karma.conf.js
mkdir -p "build/"
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//eachOfLimit.js --output build//eachOfLimit.js
node ./support/build/compile-module.js --file lib//timesSeries.js --output build//timesSeries.js
rm -rf build-es
rm -rf dist
rm -rf lib/index.js
rm -rf tmp/ docs/ .nyc_output/ coverage/
rm -rf perf/versions/
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//cargo.js --output build//cargo.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//eachOfSeries.js --output build//eachOfSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//someLimit.js --output build//someLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//asyncify.js --output build//asyncify.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//race.js --output build//race.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//rejectSeries.js --output build//rejectSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//everySeries.js --output build//everySeries.js
mkdir -p "build/"
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//unmemoize.js --output build//unmemoize.js
node ./support/build/compile-module.js --file lib//times.js --output build//times.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//priorityQueue.js --output build//priorityQueue.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//mapLimit.js --output build//mapLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//every.js --output build//every.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//mapValues.js --output build//mapValues.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//whilst.js --output build//whilst.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//ensureAsync.js --output build//ensureAsync.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//timeout.js --output build//timeout.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//doDuring.js --output build//doDuring.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//series.js --output build//series.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//autoInject.js --output build//autoInject.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//setImmediate.js --output build//setImmediate.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//memoize.js --output build//memoize.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//mapValuesLimit.js --output build//mapValuesLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//each.js --output build//each.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//queue.js --output build//queue.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//reflectAll.js --output build//reflectAll.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//doWhilst.js --output build//doWhilst.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/eachOfLimit.js --output build//internal/eachOfLimit.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/range.js --output build//internal/range.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/doLimit.js --output build//internal/doLimit.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/doParallelLimit.js --output build//internal/doParallelLimit.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/forOwn.js --output build//internal/forOwn.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/findGetResult.js --output build//internal/findGetResult.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/onlyOnce.js --output build//internal/onlyOnce.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/createTester.js --output build//internal/createTester.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/setImmediate.js --output build//internal/setImmediate.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/queue.js --output build//internal/queue.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/property.js --output build//internal/property.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/consoleFunc.js --output build//internal/consoleFunc.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/doParallel.js --output build//internal/doParallel.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/slice.js --output build//internal/slice.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/getIterator.js --output build//internal/getIterator.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/reject.js --output build//internal/reject.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/parallel.js --output build//internal/parallel.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/breakLoop.js --output build//internal/breakLoop.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/wrapAsync.js --output build//internal/wrapAsync.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/identity.js --output build//internal/identity.js
mkdir -p "build//internal"
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/DoublyLinkedList.js --output build//internal/DoublyLinkedList.js
node ./support/build/compile-module.js --file lib//internal/notId.js --output build//internal/notId.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/iterator.js --output build//internal/iterator.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/once.js --output build//internal/once.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/initialParams.js --output build//internal/initialParams.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/isArrayLike.js --output build//internal/isArrayLike.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/map.js --output build//internal/map.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/filter.js --output build//internal/filter.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/applyEach.js --output build//internal/applyEach.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/withoutIndex.js --output build//internal/withoutIndex.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/noop.js --output build//internal/noop.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//compose.js --output build//compose.js
mkdir -p "build/"
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//concat.js --output build//concat.js
node ./support/build/compile-module.js --file lib//log.js --output build//log.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//reduce.js --output build//reduce.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//during.js --output build//during.js
mkdir -p "build/"
make: *** No rule to make target `lib//index.js', needed by `build//index.js'.  Stop.
make: *** Waiting for unfinished jobs....
node ./support/build/compile-module.js --file lib//mapSeries.js --output build//mapSeries.js
second run
❯ make -j 4
rm -rf build
eslint lib/ mocha_test/ perf//memory.js perf//benchmark.js perf//suites.js support//sync-es-package.js support//es.test.js support//jsdoc/jsdoc-custom.js support//jsdoc/jsdoc-fix-html.js support//jsdoc/jsdoc-import-path-plugin.js support//generate-index.js support//sync-cjs-package.js support//get-alias.js support//build/compile-module.js support//build/aggregate-bundle.js support//index-template.js support//build.test.js support//list-aliases.js karma.conf.js
mkdir -p "build/"
mkdir -p "build/"
rm -rf build-es
node ./support/build/compile-module.js --file lib//eachOfLimit.js --output build//eachOfLimit.js
node ./support/build/compile-module.js --file lib//timesSeries.js --output build//timesSeries.js
rm -rf dist
rm -rf lib/index.js
rm -rf tmp/ docs/ .nyc_output/ coverage/
rm -rf perf/versions/
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//cargo.js --output build//cargo.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//eachOfSeries.js --output build//eachOfSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//someLimit.js --output build//someLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//asyncify.js --output build//asyncify.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//race.js --output build//race.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//rejectSeries.js --output build//rejectSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//everySeries.js --output build//everySeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//unmemoize.js --output build//unmemoize.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//times.js --output build//times.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//priorityQueue.js --output build//priorityQueue.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//mapLimit.js --output build//mapLimit.js
mkdir -p "build/"
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//every.js --output build//every.js
node ./support/build/compile-module.js --file lib//mapValues.js --output build//mapValues.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//whilst.js --output build//whilst.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//ensureAsync.js --output build//ensureAsync.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//timeout.js --output build//timeout.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//doDuring.js --output build//doDuring.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//series.js --output build//series.js
mkdir -p "build/"
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//autoInject.js --output build//autoInject.js
node ./support/build/compile-module.js --file lib//setImmediate.js --output build//setImmediate.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//memoize.js --output build//memoize.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//mapValuesLimit.js --output build//mapValuesLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//each.js --output build//each.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//queue.js --output build//queue.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//reflectAll.js --output build//reflectAll.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//doWhilst.js --output build//doWhilst.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/eachOfLimit.js --output build//internal/eachOfLimit.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/range.js --output build//internal/range.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/doLimit.js --output build//internal/doLimit.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/doParallelLimit.js --output build//internal/doParallelLimit.js
mkdir -p "build//internal"
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/forOwn.js --output build//internal/forOwn.js
node ./support/build/compile-module.js --file lib//internal/findGetResult.js --output build//internal/findGetResult.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/onlyOnce.js --output build//internal/onlyOnce.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/createTester.js --output build//internal/createTester.js
mkdir -p "build//internal"
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/setImmediate.js --output build//internal/setImmediate.js
node ./support/build/compile-module.js --file lib//internal/queue.js --output build//internal/queue.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/property.js --output build//internal/property.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/consoleFunc.js --output build//internal/consoleFunc.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/doParallel.js --output build//internal/doParallel.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/slice.js --output build//internal/slice.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/getIterator.js --output build//internal/getIterator.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/reject.js --output build//internal/reject.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/parallel.js --output build//internal/parallel.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/breakLoop.js --output build//internal/breakLoop.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/wrapAsync.js --output build//internal/wrapAsync.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/identity.js --output build//internal/identity.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/DoublyLinkedList.js --output build//internal/DoublyLinkedList.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/notId.js --output build//internal/notId.js
mkdir -p "build//internal"
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/iterator.js --output build//internal/iterator.js
node ./support/build/compile-module.js --file lib//internal/once.js --output build//internal/once.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/initialParams.js --output build//internal/initialParams.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/isArrayLike.js --output build//internal/isArrayLike.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/map.js --output build//internal/map.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/filter.js --output build//internal/filter.js
mkdir -p "build//internal"
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/applyEach.js --output build//internal/applyEach.js
node ./support/build/compile-module.js --file lib//internal/withoutIndex.js --output build//internal/withoutIndex.js
mkdir -p "build//internal"
node ./support/build/compile-module.js --file lib//internal/noop.js --output build//internal/noop.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//compose.js --output build//compose.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//concat.js --output build//concat.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//log.js --output build//log.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//reduce.js --output build//reduce.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//during.js --output build//during.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//mapSeries.js --output build//mapSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//tryEach.js --output build//tryEach.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//dir.js --output build//dir.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//some.js --output build//some.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//rejectLimit.js --output build//rejectLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//reject.js --output build//reject.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//mapValuesSeries.js --output build//mapValuesSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//detectSeries.js --output build//detectSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//nextTick.js --output build//nextTick.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//eachOf.js --output build//eachOf.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//parallel.js --output build//parallel.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//someSeries.js --output build//someSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//sortBy.js --output build//sortBy.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//constant.js --output build//constant.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//auto.js --output build//auto.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//filterLimit.js --output build//filterLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//everyLimit.js --output build//everyLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//seq.js --output build//seq.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//concatSeries.js --output build//concatSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//reflect.js --output build//reflect.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//apply.js --output build//apply.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//parallelLimit.js --output build//parallelLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//groupBy.js --output build//groupBy.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//concatLimit.js --output build//concatLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//reduceRight.js --output build//reduceRight.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//detect.js --output build//detect.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//retryable.js --output build//retryable.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//applyEachSeries.js --output build//applyEachSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//eachSeries.js --output build//eachSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//timesLimit.js --output build//timesLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//detectLimit.js --output build//detectLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//waterfall.js --output build//waterfall.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//groupBySeries.js --output build//groupBySeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//retry.js --output build//retry.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//groupByLimit.js --output build//groupByLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//map.js --output build//map.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//until.js --output build//until.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//eachLimit.js --output build//eachLimit.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//filter.js --output build//filter.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//forever.js --output build//forever.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//applyEach.js --output build//applyEach.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//filterSeries.js --output build//filterSeries.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//doUntil.js --output build//doUntil.js
mkdir -p "build/"
node ./support/build/compile-module.js --file lib//transform.js --output build//transform.js
node ./support/generate-index.js > lib/index.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/every.js --output build/all.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/everyLimit.js --output build/allLimit.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/everySeries.js --output build/allSeries.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/some.js --output build/any.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/someLimit.js --output build/anyLimit.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/someSeries.js --output build/anySeries.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/detect.js --output build/find.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/detectLimit.js --output build/findLimit.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/detectSeries.js --output build/findSeries.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/each.js --output build/forEach.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/eachSeries.js --output build/forEachSeries.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/eachLimit.js --output build/forEachLimit.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/eachOf.js --output build/forEachOf.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/eachOfSeries.js --output build/forEachOfSeries.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/eachOfLimit.js --output build/forEachOfLimit.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/reduce.js --output build/inject.js
mkdir -p "build"
mkdir -p "build"
node ./support/build/compile-module.js --file lib/reduce.js --output build/foldl.js
node ./support/build/compile-module.js --file lib/reduceRight.js --output build/foldr.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/filter.js --output build/select.js
mkdir -p "build"
node ./support/build/compile-module.js --file lib/filterLimit.js --output build/selectLimit.js
mkdir -p "build"
mkdir -p "build"
node ./support/build/compile-module.js --file lib/filterSeries.js --output build/selectSeries.js
node ./support/build/compile-module.js --file lib/asyncify.js --output build/wrapSync.js
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es//internal"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es/"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p "build-es"
mkdir -p dist
mkdir -p "build"
mkdir -p "build"
mkdir -p "build"
mkdir -p "build"
support/sync-cjs-package.js > build/package.json
cp bower.json build/bower.json
cp README.md build/README.md
cp LICENSE build/LICENSE
mkdir -p "build"
mkdir -p "build-es"
mkdir -p "build-es"
support/sync-es-package.js > build-es/package.json
cp CHANGELOG.md build/CHANGELOG.md
cp README.es.md build-es/README.md
mkdir -p "build-es"
mkdir -p "build-es"
cp LICENSE build-es/LICENSE
cp CHANGELOG.md build-es/CHANGELOG.md
npm test
mkdir -p "build"
node ./support/build/compile-module.js --file lib/index.js --output build/index.js
mkdir -p "build/dist"
node ./support/build/aggregate-bundle.js
(node:68754) UnhandledPromiseRejectionWarning: Error: Could not resolve entry (build-es/index.js)
    at /Users/bfred/Web/Gitbase/async/node_modules/rollup/dist/rollup.js:8693:28
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:118:7)
    at Function.Module.runMain (module.js:692:11)
    at startup (bootstrap_node.js:194:16)
    at bootstrap_node.js:666:3
(node:68754) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:68754) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
cp build/dist/async.js dist/async.js
mkdir -p "build/dist"
cp: build/dist/async.js: No such file or directory
uglifyjs build/dist/async.js --mangle --compress \
		--source-map build/dist/async.min.map \
		--source-map-url async.min.map \
		-o build/dist/async.min.js
make: *** [dist/async.js] Error 1
make: *** Waiting for unfinished jobs....

> async@2.6.0 test /Users/bfred/Web/Gitbase/async
> npm run lint && npm run mocha-node-test

ERROR: can't read file: build/dist/async.js
make: *** [build/dist/async.min.js] Error 1

> async@2.6.0 lint /Users/bfred/Web/Gitbase/async
> eslint lib/ mocha_test/ perf/memory.js perf/suites.js perf/benchmark.js support/build/ support/*.js karma.conf.js


> async@2.6.0 mocha-node-test /Users/bfred/Web/Gitbase/async
> mocha mocha_test/ --compilers js:babel-core/register



  concat
    ✓ apply

  applyEach
    ✓ applyEach
    ✓ applyEachSeries
    ✓ applyEach partial application

  async function support
    ✓ should asyncify async functions
    ✓ should handle errors in async functions
    ✓ should handle async functions in each
    ✓ should handle async functions in eachLimit
    ✓ should handle async functions in eachSeries
    ✓ should handle async functions in eachOf
    ✓ should handle async functions in eachOfLimit
    ✓ should handle async functions in eachOfSeries
    ✓ should handle async functions in map
    ✓ should handle async functions in mapLimit
    ✓ should handle async functions in mapSeries
    ✓ should handle async functions in mapValues
    ✓ should handle async functions in mapValuesLimit
    ✓ should handle async functions in mapValuesSeries
    ✓ should handle async functions in filter
    ✓ should handle async functions in filterLimit
    ✓ should handle async functions in filterSeries
    ✓ should handle async functions in reject
    ✓ should handle async functions in rejectLimit
    ✓ should handle async functions in rejectSeries
    ✓ should handle async functions in every
    ✓ should handle async functions in everyLimit
    ✓ should handle async functions in everySeries
    ✓ should handle async functions in some
    ✓ should handle async functions in someLimit
    ✓ should handle async functions in someSeries
    ✓ should handle async functions in groupBy
    ✓ should handle async functions in groupByLimit
    ✓ should handle async functions in groupBySeries
    ✓ should handle async functions in concat
    ✓ should handle async functions in concatLimit
    ✓ should handle async functions in concatSeries
    ✓ should handle async functions in reduce
    ✓ should handle async functions in reduceRight
    ✓ should handle async functions in sortBy
    ✓ should handle async functions in transform
    ✓ should handle async functions in applyEach
    ✓ should handle async functions in applyEachSeries
    ✓ should handle async functions in auto
    ✓ should handle async functions in autoInject
    ✓ should handle async functions in autoInject (shorthand)
    ✓ should handle async functions in cargo
    ✓ should handle async functions in queue
    ✓ should handle async functions in priorityQueue
    ✓ should handle async functions in compose
    ✓ should handle async functions in seq
    ✓ should handle async functions in during
    ✓ should handle async functions in doDuring
    ✓ should handle async functions in whilst
    ✓ should handle async functions in doWhilst
    ✓ should handle async functions in until
    ✓ should handle async functions in doUntil
    ✓ should handle async functions in forever
    ✓ should handle async functions in parallel
    ✓ should handle async functions in parallel (object)
    ✓ should handle async functions in parallelLimit
    ✓ should handle async functions in parallelLimit (object)
    ✓ should handle async functions in series
    ✓ should handle async functions in series (object)
    ✓ should handle async functions in race
    ✓ should handle async functions in retry
    ✓ should handle async functions in retryable
    ✓ should handle async functions in times
    ✓ should handle async functions in timesLimit
    ✓ should handle async functions in timesSeries
    ✓ should handle async functions in waterfall
    ✓ should handle async functons in tryEach
'foo'
    ✓ should handle async functions in dir
foo
    ✓ should handle async functions in log
    ✓ should handle async functions in ensureAsync
    ✓ should handle async functions in memoize
    ✓ should handle async functions in reflect
    ✓ should handle async functions in reflect (error case)
    ✓ should handle async functions in timeout
    ✓ should handle async functions in timeout (error case) (52ms)

  asyncify
    ✓ asyncify
    ✓ asyncify null
    ✓ variable numbers of arguments
    ✓ catch errors
    ✓ dont catch errors in the callback
    promisified
      native-promise-only
        ✓ resolve
        ✓ reject
        ✓ callback error @nodeonly
        ✓ dont catch errors in the callback @nodeonly
      bluebird
        ✓ resolve
        ✓ reject
        ✓ callback error @nodeonly
        ✓ dont catch errors in the callback @nodeonly
      es6-promise
        ✓ resolve
        ✓ reject
        ✓ callback error @nodeonly
        ✓ dont catch errors in the callback @nodeonly
      rsvp
        ✓ resolve
        ✓ reject
        ✓ callback error @nodeonly
        ✓ dont catch errors in the callback @nodeonly

  auto
    ✓ basics (77ms)
    ✓ auto concurrency
    ✓ auto petrify (303ms)
    ✓ auto results (77ms)
    ✓ auto empty object
    ✓ auto error (101ms)
    ✓ auto no callback
    ✓ auto concurrency no callback
    ✓ auto error should pass partial results
    ✓ auto removeListener has side effect on loop iteratee
    ✓ auto calls callback multiple times
    ✓ auto calls callback multiple times with parallel functions
    ✓ auto modifying results causes final callback to run early (102ms)
    ✓ auto prevent dead-locks due to inexistant dependencies
    ✓ auto prevent dead-locks due to cyclic dependencies
    ✓ extended cycle detection
    ✓ auto stops running tasks on error
    ✓ ignores results after an error (54ms)
    ✓ does not allow calling callbacks twice
    ✓ should handle array tasks with just a function
    ✓ should avoid unncecessary deferrals
    ✓ should report errors when a task name is an array method
    ✓ should report errors when a task name is an obj prototype method

  autoInject
    ✓ basics (78ms)
    ✓ should work with array tasks
    ✓ should handle array tasks with just a function
    ✓ should throw error for function without explicit parameters
    ✓ should work with es6 arrow syntax
    ✓ should work with es6 obj method syntax

  cargo
    ✓ cargo (109ms)
    ✓ without callback (207ms)
    ✓ bulk task (204ms)
    ✓ drain once (54ms)
    ✓ drain twice (105ms)
    ✓ events
    ✓ expose payload (55ms)
    ✓ workersList
    ✓ running

  compose
    ✓ calls each function with the binding of the composed function
    all functions succeed
      ✓ yields the result of the composition of the functions
    a function errors
      ✓ yields the error and does not call later functions

  concat
    concat
      ✓ basics (75ms)
      ✓ error
      ✓ original untouched
      ✓ empty results
      ✓ empty arrays
      ✓ handles empty object
      ✓ variadic
      ✓ flattens arrays
      ✓ handles fasly values
      ✓ handles objects
      ✓ main callback optional
      ✓ iteratee callback is only called once
      ✓ preserves order
      ✓ handles Map
      ✓ handles sparse results
    concatLimit
      ✓ basics
      ✓ error
      ✓ handles objects
      ✓ handles empty object
      ✓ handles undefined
      ✓ limit exceeds size (76ms)
      ✓ limit equal size (77ms)
      ✓ zero limit
      ✓ does not continue replenishing after error
    concatSeries
      ✓ basics (157ms)
      ✓ error
      ✓ handles objects
      ✓ handles empty object
      ✓ handles undefined

  console functions
    ✓ log
    ✓ log with multiple result params
    ✓ dir
    ✓ dir with multiple result params

  constant
    ✓ basic usage
    ✓ called with multiple arguments

  detect
    ✓ detect
    ✓ detect - mulitple matches
    ✓ detect error
    ✓ detectSeries (51ms)
    ✓ detectSeries - multiple matches (52ms)
    ✓ detect no callback
    ✓ detectSeries - ensure stop
    ✓ detectLimit (54ms)
    ✓ detectLimit - multiple matches (54ms)
    ✓ detectLimit - ensure stop
    ✓ detectSeries doesn't cause stack overflow (#1293)
    ✓ detectLimit doesn't cause stack overflow (#1293)
    ✓ find alias
    ✓ findLimit alias
    ✓ findSeries alias

  during
    ✓ during
    ✓ doDuring
    ✓ doDuring - error test
    ✓ doDuring - error iteratee

  each
    ✓ each (76ms)
    ✓ each extra callback
    ✓ each empty array
    ✓ each empty array, with other property on the array
    ✓ each error (51ms)
    ✓ each no callback
    ✓ eachSeries (159ms)
    ✓ eachSeries empty array
    ✓ eachSeries array modification (51ms)
    ✓ eachSeries single item
    ✓ eachSeries single item
    ✓ eachSeries error (51ms)
    ✓ eachSeries no callback
    ✓ eachLimit (133ms)
    ✓ eachLimit empty array
    ✓ eachLimit limit exceeds size (226ms)
    ✓ eachLimit limit equal size (226ms)
    ✓ eachLimit zero limit
    ✓ eachLimit error
    ✓ eachLimit no callback
    ✓ eachLimit synchronous
    ✓ eachLimit does not continue replenishing after error (101ms)
    ✓ forEach alias
    ✓ forEachSeries alias
    ✓ forEachLimit alias

  eachOf
    ✓ eachOf alias
    ✓ eachOfLimit alias
    ✓ eachOfSeries alias
    ✓ forEachOf (55ms)
    ✓ forEachOf no call stack size exceed error
    ✓ forEachOf - instant resolver
    ✓ forEachOf empty object
    ✓ forEachOf empty array
    ✓ forEachOf error (56ms)
    ✓ forEachOf no callback
    ✓ forEachOf with array
    ✓ forEachOf with Set (iterators)
    ✓ forEachOf with Map (iterators)
    ✓ forEachOfSeries (83ms)
    ✓ forEachOfSeries no call stack size exceed error
    ✓ forEachOfSeries empty object
    ✓ forEachOfSeries error (62ms)
    ✓ forEachOfSeries no callback
    ✓ forEachOfSeries with array
    ✓ forEachOfSeries with Set (iterators)
    ✓ forEachOfSeries with Map (iterators)
    ✓ forEachOfLimit
    ✓ forEachOfLimit empty object
    ✓ forEachOfLimit limit exceeds size (130ms)
    ✓ forEachOfLimit limit equal size (128ms)
    ✓ forEachOfLimit zero limit
    ✓ forEachOfLimit no limit
    ✓ forEachOfLimit no call stack size exceed error (103ms)
    ✓ forEachOfLimit error
    ✓ forEachOfLimit no callback
    ✓ forEachOfLimit synchronous (54ms)
    ✓ forEachOfLimit with array
    ✓ forEachOfLimit with Set (iterators)
    ✓ forEachOfLimit with Map (iterators)

  ensureAsync
    ✓ defer sync functions
    ✓ do not defer async functions
    ✓ double wrapping
    ✓ should propely bind context to the wrapped function
    ✓ should not override the bound context of a function when wrapping

  every
    ✓ everyLimit true
    ✓ everyLimit false
    ✓ everyLimit short-circuit
    ✓ true
    ✓ false
    ✓ early return
    ✓ error
    ✓ everySeries doesn't cause stack overflow (#1293)
    ✓ everyLimit doesn't cause stack overflow (#1293)
    ✓ all alias
    ✓ allLimit alias
    ✓ allSeries alias

  filter
    ✓ filter
    ✓ filter original untouched
    ✓ filter collection
    ✓ filter iterator (502ms)
    ✓ filter error
    ✓ filterSeries
    ✓ select alias
    ✓ selectSeries alias
    ✓ filterLimit

  reject
    ✓ reject
    ✓ reject original untouched
    ✓ reject error
    ✓ rejectSeries
    ✓ rejectLimit
    ✓ filter fails

  forever
    function is asynchronous
      ✓ executes the function over and over until it yields an error
    function is synchronous
      ✓ does not cause a stack overflow @nodeonly (140ms)

  groupBy
    groupBy
      ✓ basics (75ms)
      ✓ error
      ✓ original untouched
      ✓ handles multiple matches (79ms)
      ✓ handles objects
      ✓ handles undefined
      ✓ handles empty object
      ✓ main callback optional
      ✓ iteratee callback is only called once
      ✓ handles Map
      ✓ handles sparse results
    groupByLimit
      ✓ basics
      ✓ error
      ✓ handles empty object
      ✓ handles undefined
      ✓ limit exceeds size (80ms)
      ✓ limit equal size (80ms)
      ✓ zero limit
      ✓ does not continue replenishing after error (104ms)
    groupBySeries
      ✓ basics
      ✓ error
      ✓ handles arrays
      ✓ handles empty object
      ✓ handles undefined

  DoublyLinkedList
    ✓ toArray
    ✓ remove
    ✓ remove (head)
    ✓ remove (tail)
    ✓ remove (all)
    ✓ empty

  map
    ✓ basic (76ms)
    ✓ with reflect (76ms)
    ✓ error with reflect (76ms)
    ✓ map original untouched
    ✓ map without main callback
    ✓ map error (54ms)
    ✓ map undefined array (51ms)
    ✓ map object
    ✓ mapSeries (157ms)
    ✓ mapSeries error (51ms)
    ✓ mapSeries undefined array (51ms)
    ✓ mapSeries object
    ✓ mapLimit (131ms)
    ✓ mapLimit empty array
    ✓ mapLimit undefined array (53ms)
    ✓ mapLimit limit exceeds size (227ms)
    ✓ mapLimit limit equal size (229ms)
    ✓ mapLimit zero limit
    ✓ mapLimit error
    ✓ mapLimit does not continue replenishing after error (106ms)
    ✓ map with Map
    ✓ map main callback is called only once

  mapValues
    mapValuesLimit
      ✓ basics
      ✓ error
    mapValues
      ✓ basics
    mapValuesSeries
      ✓ basics

  memoize
    ✓ memoize
    ✓ maintains asynchrony
    ✓ unmemoize
    ✓ unmemoize a not memoized function
    ✓ error
    ✓ multiple calls
    ✓ custom hash function
    ✓ manually added memo value
    ✓ avoid constructor key return undefined (104ms)
    ✓ avoid __proto__ key return undefined (103ms)
    ✓ allow hasOwnProperty as key (102ms)

  nextTick
    ✓ basics (50ms)
    ✓ nextTick in the browser @nodeonly (51ms)
    ✓ extra args

  parallel
    ✓ parallel (102ms)
    ✓ parallel empty array
    ✓ parallel error (104ms)
    ✓ parallel no callback
    ✓ parallel object (202ms)
    ✓ paralel falsy return values
    ✓ parallel limit (103ms)
    ✓ parallel limit empty array
    ✓ parallel limit error (102ms)
    ✓ parallel limit no callback
    ✓ parallel limit object (201ms)
    ✓ parallel call in another context @nycinvalid @nodeonly
    ✓ parallel error with reflect
    ✓ parallel object with reflect all (values and errors) (205ms)
    ✓ parallel empty object with reflect all
    ✓ parallel empty object with reflect all (errors)
    ✓ parallel empty object with reflect all (values)
    ✓ parallel does not continue replenishing after error (91ms)

  priorityQueue
    ✓ priorityQueue
    ✓ concurrency (323ms)
    ✓ pause in worker with concurrency (65ms)
    q.saturated(): 
      ✓ should call the saturated callback if tasks length is concurrency (56ms)
    q.unsaturated(): 
      ✓ should have a default buffer property that equals 25% of the concurrenct rate
      ✓ should allow a user to change the buffer property
      ✓ should call the unsaturated callback if tasks length is less than concurrency minus buffer (69ms)

  queue
    ✓ basics (77ms)
    ✓ default concurrency (130ms)
    ✓ zero concurrency
    ✓ error propagation
    ✓ global error handler
    ✓ changing concurrency (182ms)
    ✓ push without callback (75ms)
    ✓ push with non-function
    ✓ unshift (106ms)
    ✓ too many callbacks
    ✓ bulk task (77ms)
    ✓ idle
    ✓ pause (49ms)
    ✓ pause in worker with concurrency (64ms)
    ✓ start paused (92ms)
    ✓ kill (43ms)
    ✓ events
    ✓ empty
    ✓ empty and not idle()
    ✓ saturated
    ✓ started
    ✓ remove
    q.saturated(): 
      ✓ should call the saturated callback if tasks length is concurrency (55ms)
    q.unsaturated(): 
      ✓ should have a default buffer property that equals 25% of the concurrenct rate
      ✓ should allow a user to change the buffer property
      ✓ should call the unsaturated callback if tasks length is less than concurrency minus buffer (55ms)
    workersList
      ✓ should be the same length as running()
      ✓ should contain the items being processed

  race
    ✓ should call each function in parallel and callback with first result
    ✓ should callback with the first error (42ms)
    ✓ should callback when task is empty
    ✓ should callback in error the task arg is not an Array

  reduce
    ✓ reduce
    ✓ reduce async with non-reference memo (72ms)
    ✓ reduce error (51ms)
    ✓ inject alias
    ✓ foldl alias
    ✓ reduceRight
    ✓ foldr alias

  retry
    ✓ retry when attempt succeeds
    ✓ retry when all attempts fail
    ✓ retry fails with invalid arguments
    ✓ retry with interval when all attempts fail (103ms)
    ✓ retry with custom interval when all attempts fail (505ms)
    ✓ should not require a callback
    ✓ should not require a callback and use the default times (54ms)
    ✓ retry does not precompute the intervals (#1226) (303ms)
    ✓ retry passes all resolve arguments to callback
    ✓ retry calls fn immediately and will call callback if successful
    ✓ retry when all attempts fail and error continue test returns true
    ✓ retry when some attempts fail and error test returns false at some invokation
    ✓ retry with interval when some attempts fail and error test returns false at some invokation (104ms)
    ✓ retry when first attempt succeeds and error test should not be called

  retryable
    ✓ basics
    ✓ basics with error test function
    ✓ should work as an embedded task
    ✓ should work as an embedded task with interval (96ms)

  seq
    ✓ seq (169ms)
    ✓ seq error (67ms)
    ✓ seq binding (71ms)
    ✓ seq without callback (72ms)

  series
    ✓ series (99ms)
    ✓ with reflect (100ms)
    ✓ empty array
    ✓ error (101ms)
    ✓ error with reflect
    ✓ no callback
    ✓ object (382ms)
    ✓ call in another context @nycinvalid @nodeonly
    ✓ falsy return values

  setImmediate
    ✓ basics
    ✓ extra args

  slice
    ✓ should slice arrays
    ✓ should handle ArrayLike objects
    ✓ should handle arguments
    ✓ should return an empty array on an invalid start

  some
    ✓ some true
    ✓ some false
    ✓ some early return
    ✓ some error
    ✓ some no callback
    ✓ someLimit true
    ✓ someLimit false
    ✓ someLimit short-circuit
    ✓ someSeries doesn't cause stack overflow (#1293)
    ✓ someLimit doesn't cause stack overflow (#1293)
    ✓ any alias
    ✓ anyLimit alias
    ✓ anySeries alias

  sortBy
    ✓ sortBy
    ✓ sortBy inverted
    ✓ sortBy error

  timeout
    ✓ timeout with series (80ms)
    ✓ timeout with series and info (75ms)
    ✓ timeout with parallel (54ms)
    ✓ timeout with multiple calls (#1418) (51ms)

  times
    ✓ times
    ✓ times 3 (53ms)
    ✓ times 0
    ✓ times error (53ms)
    ✓ timesSeries (413ms)
    ✓ timesSeries error (51ms)
    ✓ timesLimit

  transform
    ✓ transform implictly determines memo if not provided
    ✓ transform async with object memo
    ✓ transform iterating object
    ✓ transform error
    ✓ transform with two arguments

  tryEach
    ✓ no callback
    ✓ empty
    ✓ one task, multiple results
    ✓ one task
    ✓ two tasks, one failing
    ✓ two tasks, both failing
    ✓ two tasks, non failing

  until
    ✓ until
    ✓ doUntil
    ✓ doUntil callback params

  waterfall
    ✓ basics
    ✓ empty array
    ✓ non-array
    ✓ no callback
    ✓ async
    ✓ error
    ✓ multiple callback calls
    ✓ multiple callback calls (trickier) @nodeonly
    ✓ call in another context @nycinvalid @nodeonly
    ✓ should not use unnecessary deferrals

  whilst
    ✓ whilst
    ✓ whilst optional callback
    ✓ doWhilst
    ✓ doWhilst callback params
    ✓ doWhilst - error


  516 passing (14s)

@aearly
Copy link
Collaborator

aearly commented Apr 20, 2018

This is impressive work! I think we might save this for a 3.0 change.

And we have flaky tests, your work is in the clear. We do have flaky tests, but there is a build error that is making Travis fail for browsers.

@aearly aearly added this to the 3.0 milestone Apr 20, 2018
@@ -9,7 +9,6 @@ PACKAGE = asyncjs
REQUIRE_NAME = async
UGLIFY = uglifyjs
XYZ = support/xyz.sh --repo git@github.com:caolan/async.git
COPY_ES = sed -E "s/(import.+)lodash/\1lodash-es/g"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you can remove this, I think it actually becomes just a simple cp

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sure of what it does exactly, what would the cp command be exactly?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Down below we need to copy files from lib/ to build-es/. $(COPY_ES) literally just becomes cp.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Err, cp minus the pipe. Guess cat would work in that case, but it's probably best to re-work the (removed) commands below slightly.

Copy link
Contributor Author

@fregante fregante Apr 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not familiar with how Make works, so it's perhaps best to push a commit if you have time :)

Edit: Do you mean like 83d3f73?

Edit: build passes! build passed

lib/asyncify.js Outdated Show resolved Hide resolved
@chrisdukakis chrisdukakis mentioned this pull request May 16, 2018
@aearly aearly merged commit 0d4f736 into caolan:master Jun 3, 2018
@aearly
Copy link
Collaborator

aearly commented Jun 3, 2018

Alright, merging this! This will be our first 3.0 PR! If we need to make any changes to 2.x we can branch off the v2.6.1 tag.

@fregante
Copy link
Contributor Author

fregante commented Jun 3, 2018

I'll be waiting for the drop

http://pkgsize.com/async.html
https://packagephobia.now.sh/result?p=async

@styfle
Copy link

styfle commented Jan 16, 2019

@bfred-it Boom 🎉

image

https://packagephobia.now.sh/result?p=async@3.0.1-0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants