{ "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/watch.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault", "interopRequireWildcard" ], "marked": [], "modules": { "imports": [ { "source": "gulp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Gulp" } ] }, { "source": "gulp-util", "imported": [ "PluginError" ], "specifiers": [ { "kind": "named", "imported": "PluginError", "local": "PluginError" } ] }, { "source": "events", "imported": [ "EventEmitter" ], "specifiers": [ { "kind": "named", "imported": "EventEmitter", "local": "EventEmitter" } ] }, { "source": "../config", "imported": [ "*" ], "specifiers": [ { "kind": "namespace", "local": "Config" } ] } ], "exports": { "exported": [ "changeMonitors", "runTask", "command", "done", "files", "command", "options" ], "specifiers": [ { "kind": "local", "local": "changeMonitors", "exported": "changeMonitors" }, { "kind": "local", "local": "runTask", "exported": "runTask" }, { "kind": "local", "local": "command", "exported": "command" }, { "kind": "local", "local": "done", "exported": "done" }, { "kind": "local", "local": "files", "exported": "default" }, { "kind": "local", "local": "command", "exported": "default" }, { "kind": "local", "local": "options", "exported": "default" } ] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/watch.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/watch.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "watch.js", "sourceFileName": "watch.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "watch" }, "ignored": false, "code": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.changeMonitors = undefined;\nexports.runTask = runTask;\n\nexports.default = function (files, command) {\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n _gulp2.default.task('watch:' + command, function () {\n var running = false,\n rerun = false,\n changed = [];\n\n Config.WATCHING = true; // Enable plumber\n _gulp2.default.watch(files, function watcher(event) {\n if (event) {\n changed.push(event);\n }\n\n if (running) {\n rerun = true;\n return;\n }\n\n if (options.onChange) {\n options.onChange(changed);\n }\n changeMonitors.emit('change', changed);\n changed = [];\n\n running = true;\n setTimeout(function () {\n // Ignore any rerun requests that occur in the cooldown\n // period.\n rerun = false;\n\n runTask(command, function () {\n running = false;\n if (rerun) {\n rerun = false;\n process.nextTick(watcher);\n }\n });\n }, options.timeout || 100);\n });\n\n if (options.setup) {\n runTask(options.setup, function () {\n _gulp2.default.start(command);\n });\n } else {\n _gulp2.default.start(command);\n }\n });\n};\n\nvar _gulp = require('gulp');\n\nvar _gulp2 = _interopRequireDefault(_gulp);\n\nvar _gulpUtil = require('gulp-util');\n\nvar _events = require('events');\n\nvar _config = require('../config');\n\nvar Config = _interopRequireWildcard(_config);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar changeMonitors = exports.changeMonitors = new _events.EventEmitter();\n\n// A total hack, but this is basiclly what run sequence does without\n// the potentially hazardous error handling logic.\n// We will likely need to revisit this under Gulp 4.\nfunction runTask(command, done) {\n if (!Array.isArray(command)) {\n command = [command];\n } else {\n command = command.slice();\n }\n\n var waitingFor = void 0;\n function run(_ref) {\n var task = _ref.task;\n\n if (task !== waitingFor) {\n return;\n }\n\n if (command.length) {\n waitingFor = command.shift();\n _gulp2.default.start(waitingFor);\n } else {\n cleanup();\n }\n }\n function cleanup(err) {\n _gulp2.default.removeListener('task_stop', run);\n _gulp2.default.removeListener('task_err', cleanup);\n if (done) {\n /* istanbul ignore next : Difficult to test within gulp runner as it errors the test. Should provide better mock environment later */\n done(err && err.err ? new _gulpUtil.PluginError('runTask', 'Dependent task, ' + waitingFor + ', failed') : undefined);\n }\n }\n _gulp2.default.on('task_stop', run);\n _gulp2.default.on('task_err', cleanup);\n run({});\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndhdGNoLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztRQVdnQixPLEdBQUEsTzs7a0JBaUNELFVBQVMsS0FBVCxFQUFnQixPQUFoQixFQUF1QztBQUFBLE1BQWQsT0FBYyx5REFBSixFQUFJOztBQUNwRCxpQkFBSyxJQUFMLFlBQW1CLE9BQW5CLEVBQThCLFlBQVc7QUFDdkMsUUFBSSxVQUFVLEtBQWQ7UUFDSSxRQUFRLEtBRFo7UUFFSSxVQUFVLEVBRmQ7O0FBSUEsV0FBTyxRQUFQLEdBQWtCLElBQWxCLEM7QUFDQSxtQkFBSyxLQUFMLENBQVcsS0FBWCxFQUFrQixTQUFTLE9BQVQsQ0FBaUIsS0FBakIsRUFBd0I7QUFDeEMsVUFBSSxLQUFKLEVBQVc7QUFDVCxnQkFBUSxJQUFSLENBQWEsS0FBYjtBQUNEOztBQUVELFVBQUksT0FBSixFQUFhO0FBQ1gsZ0JBQVEsSUFBUjtBQUNBO0FBQ0Q7O0FBRUQsVUFBSSxRQUFRLFFBQVosRUFBc0I7QUFDcEIsZ0JBQVEsUUFBUixDQUFpQixPQUFqQjtBQUNEO0FBQ0QscUJBQWUsSUFBZixDQUFvQixRQUFwQixFQUE4QixPQUE5QjtBQUNBLGdCQUFVLEVBQVY7O0FBRUEsZ0JBQVUsSUFBVjtBQUNBLGlCQUFXLFlBQVc7OztBQUdwQixnQkFBUSxLQUFSOztBQUVBLGdCQUFRLE9BQVIsRUFBaUIsWUFBVztBQUMxQixvQkFBVSxLQUFWO0FBQ0EsY0FBSSxLQUFKLEVBQVc7QUFDVCxvQkFBUSxLQUFSO0FBQ0Esb0JBQVEsUUFBUixDQUFpQixPQUFqQjtBQUNEO0FBQ0YsU0FORDtBQU9ELE9BWkQsRUFZRyxRQUFRLE9BQVIsSUFBbUIsR0FadEI7QUFhRCxLQTlCRDs7QUFnQ0EsUUFBSSxRQUFRLEtBQVosRUFBbUI7QUFDakIsY0FBUSxRQUFRLEtBQWhCLEVBQXVCLFlBQVc7QUFDaEMsdUJBQUssS0FBTCxDQUFXLE9BQVg7QUFDRCxPQUZEO0FBR0QsS0FKRCxNQUlPO0FBQ0wscUJBQUssS0FBTCxDQUFXLE9BQVg7QUFDRDtBQUNGLEdBN0NEO0FBOENELEM7O0FBM0ZEOzs7O0FBQ0E7O0FBQ0E7O0FBRUE7O0lBQVksTTs7Ozs7O0FBRUwsSUFBSSwwQ0FBaUIsMEJBQXJCOzs7OztBQUtBLFNBQVMsT0FBVCxDQUFpQixPQUFqQixFQUEwQixJQUExQixFQUFnQztBQUNyQyxNQUFJLENBQUMsTUFBTSxPQUFOLENBQWMsT0FBZCxDQUFMLEVBQTZCO0FBQzNCLGNBQVUsQ0FBQyxPQUFELENBQVY7QUFDRCxHQUZELE1BRU87QUFDTCxjQUFVLFFBQVEsS0FBUixFQUFWO0FBQ0Q7O0FBRUQsTUFBSSxtQkFBSjtBQUNBLFdBQVMsR0FBVCxPQUFxQjtBQUFBLFFBQVAsSUFBTyxRQUFQLElBQU87O0FBQ25CLFFBQUksU0FBUyxVQUFiLEVBQXlCO0FBQ3ZCO0FBQ0Q7O0FBRUQsUUFBSSxRQUFRLE1BQVosRUFBb0I7QUFDbEIsbUJBQWEsUUFBUSxLQUFSLEVBQWI7QUFDQSxxQkFBSyxLQUFMLENBQVcsVUFBWDtBQUNELEtBSEQsTUFHTztBQUNMO0FBQ0Q7QUFDRjtBQUNELFdBQVMsT0FBVCxDQUFpQixHQUFqQixFQUFzQjtBQUNwQixtQkFBSyxjQUFMLENBQW9CLFdBQXBCLEVBQWlDLEdBQWpDO0FBQ0EsbUJBQUssY0FBTCxDQUFvQixVQUFwQixFQUFnQyxPQUFoQztBQUNBLFFBQUksSUFBSixFQUFVOztBQUVSLFdBQUssT0FBTyxJQUFJLEdBQVgsR0FBaUIsMEJBQWdCLFNBQWhCLHVCQUE4QyxVQUE5QyxjQUFqQixHQUF1RixTQUE1RjtBQUNEO0FBQ0Y7QUFDRCxpQkFBSyxFQUFMLENBQVEsV0FBUixFQUFxQixHQUFyQjtBQUNBLGlCQUFLLEVBQUwsQ0FBUSxVQUFSLEVBQW9CLE9BQXBCO0FBQ0EsTUFBSSxFQUFKO0FBQ0QiLCJmaWxlIjoid2F0Y2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3VscCBmcm9tICdndWxwJztcbmltcG9ydCB7UGx1Z2luRXJyb3J9IGZyb20gJ2d1bHAtdXRpbCc7XG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSAnZXZlbnRzJztcblxuaW1wb3J0ICogYXMgQ29uZmlnIGZyb20gJy4uL2NvbmZpZyc7XG5cbmV4cG9ydCBsZXQgY2hhbmdlTW9uaXRvcnMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbi8vIEEgdG90YWwgaGFjaywgYnV0IHRoaXMgaXMgYmFzaWNsbHkgd2hhdCBydW4gc2VxdWVuY2UgZG9lcyB3aXRob3V0XG4vLyB0aGUgcG90ZW50aWFsbHkgaGF6YXJkb3VzIGVycm9yIGhhbmRsaW5nIGxvZ2ljLlxuLy8gV2Ugd2lsbCBsaWtlbHkgbmVlZCB0byByZXZpc2l0IHRoaXMgdW5kZXIgR3VscCA0LlxuZXhwb3J0IGZ1bmN0aW9uIHJ1blRhc2soY29tbWFuZCwgZG9uZSkge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoY29tbWFuZCkpIHtcbiAgICBjb21tYW5kID0gW2NvbW1hbmRdO1xuICB9IGVsc2Uge1xuICAgIGNvbW1hbmQgPSBjb21tYW5kLnNsaWNlKCk7XG4gIH1cblxuICBsZXQgd2FpdGluZ0ZvcjtcbiAgZnVuY3Rpb24gcnVuKHt0YXNrfSkge1xuICAgIGlmICh0YXNrICE9PSB3YWl0aW5nRm9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNvbW1hbmQubGVuZ3RoKSB7XG4gICAgICB3YWl0aW5nRm9yID0gY29tbWFuZC5zaGlmdCgpO1xuICAgICAgR3VscC5zdGFydCh3YWl0aW5nRm9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYW51cCgpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBjbGVhbnVwKGVycikge1xuICAgIEd1bHAucmVtb3ZlTGlzdGVuZXIoJ3Rhc2tfc3RvcCcsIHJ1bik7XG4gICAgR3VscC5yZW1vdmVMaXN0ZW5lcigndGFza19lcnInLCBjbGVhbnVwKTtcbiAgICBpZiAoZG9uZSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgOiBEaWZmaWN1bHQgdG8gdGVzdCB3aXRoaW4gZ3VscCBydW5uZXIgYXMgaXQgZXJyb3JzIHRoZSB0ZXN0LiBTaG91bGQgcHJvdmlkZSBiZXR0ZXIgbW9jayBlbnZpcm9ubWVudCBsYXRlciAqL1xuICAgICAgZG9uZShlcnIgJiYgZXJyLmVyciA/IG5ldyBQbHVnaW5FcnJvcigncnVuVGFzaycsIGBEZXBlbmRlbnQgdGFzaywgJHt3YWl0aW5nRm9yfSwgZmFpbGVkYCkgOiB1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuICBHdWxwLm9uKCd0YXNrX3N0b3AnLCBydW4pO1xuICBHdWxwLm9uKCd0YXNrX2VycicsIGNsZWFudXApO1xuICBydW4oe30pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihmaWxlcywgY29tbWFuZCwgb3B0aW9ucyA9IHt9KSB7XG4gIEd1bHAudGFzayhgd2F0Y2g6JHtjb21tYW5kfWAsIGZ1bmN0aW9uKCkge1xuICAgIGxldCBydW5uaW5nID0gZmFsc2UsXG4gICAgICAgIHJlcnVuID0gZmFsc2UsXG4gICAgICAgIGNoYW5nZWQgPSBbXTtcblxuICAgIENvbmZpZy5XQVRDSElORyA9IHRydWU7ICAgIC8vIEVuYWJsZSBwbHVtYmVyXG4gICAgR3VscC53YXRjaChmaWxlcywgZnVuY3Rpb24gd2F0Y2hlcihldmVudCkge1xuICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgIGNoYW5nZWQucHVzaChldmVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChydW5uaW5nKSB7XG4gICAgICAgIHJlcnVuID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0aW9ucy5vbkNoYW5nZSkge1xuICAgICAgICBvcHRpb25zLm9uQ2hhbmdlKGNoYW5nZWQpO1xuICAgICAgfVxuICAgICAgY2hhbmdlTW9uaXRvcnMuZW1pdCgnY2hhbmdlJywgY2hhbmdlZCk7XG4gICAgICBjaGFuZ2VkID0gW107XG5cbiAgICAgIHJ1bm5pbmcgPSB0cnVlO1xuICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gSWdub3JlIGFueSByZXJ1biByZXF1ZXN0cyB0aGF0IG9jY3VyIGluIHRoZSBjb29sZG93blxuICAgICAgICAvLyBwZXJpb2QuXG4gICAgICAgIHJlcnVuID0gZmFsc2U7XG5cbiAgICAgICAgcnVuVGFzayhjb21tYW5kLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICBydW5uaW5nID0gZmFsc2U7XG4gICAgICAgICAgaWYgKHJlcnVuKSB7XG4gICAgICAgICAgICByZXJ1biA9IGZhbHNlO1xuICAgICAgICAgICAgcHJvY2Vzcy5uZXh0VGljayh3YXRjaGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSwgb3B0aW9ucy50aW1lb3V0IHx8IDEwMCk7XG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zZXR1cCkge1xuICAgICAgcnVuVGFzayhvcHRpb25zLnNldHVwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgR3VscC5zdGFydChjb21tYW5kKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBHdWxwLnN0YXJ0KGNvbW1hbmQpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=", "ast": null, "map": null, "mtime": 1452205095000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/clean.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "gulp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Gulp" } ] }, { "source": "del", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "del" } ] }, { "source": "../index", "imported": [ "BUILD_TARGET", "COVERAGE_TARGET", "WATCHING" ], "specifiers": [ { "kind": "named", "imported": "BUILD_TARGET", "local": "BUILD_TARGET" }, { "kind": "named", "imported": "COVERAGE_TARGET", "local": "COVERAGE_TARGET" }, { "kind": "named", "imported": "WATCHING", "local": "WATCHING" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/clean.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/clean.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "clean.js", "sourceFileName": "clean.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "clean" }, "ignored": false, "code": "'use strict';\n\nvar _gulp = require('gulp');\n\nvar _gulp2 = _interopRequireDefault(_gulp);\n\nvar _del = require('del');\n\nvar _del2 = _interopRequireDefault(_del);\n\nvar _index = require('../index');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ran = false;\n_gulp2.default.task('clean', function (done) {\n if (!_index.WATCHING || !ran) {\n ran = true;\n clean(done);\n } else {\n done();\n }\n});\n\n_gulp2.default.task('clean:always', clean);\n\nfunction clean(done) {\n (0, _del2.default)(_index.WATCHING ? [_index.BUILD_TARGET] : [_index.BUILD_TARGET, _index.COVERAGE_TARGET]).then(function () {\n return done();\n }, done);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsZWFuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7QUFDQTs7OztBQUVBOzs7O0FBRUEsSUFBSSxNQUFNLEtBQVY7QUFDQSxlQUFLLElBQUwsQ0FBVSxPQUFWLEVBQW1CLFVBQVMsSUFBVCxFQUFlO0FBQ2hDLE1BQUksb0JBQWEsQ0FBQyxHQUFsQixFQUF1QjtBQUNyQixVQUFNLElBQU47QUFDQSxVQUFNLElBQU47QUFDRCxHQUhELE1BR087QUFDTDtBQUNEO0FBQ0YsQ0FQRDs7QUFTQSxlQUFLLElBQUwsQ0FBVSxjQUFWLEVBQTBCLEtBQTFCOztBQUVBLFNBQVMsS0FBVCxDQUFlLElBQWYsRUFBcUI7QUFDbkIscUJBQUksa0JBQVcscUJBQVgsR0FBNEIsNkNBQWhDLEVBQ0csSUFESCxDQUNRO0FBQUEsV0FBTSxNQUFOO0FBQUEsR0FEUixFQUNzQixJQUR0QjtBQUVEIiwiZmlsZSI6ImNsZWFuLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEd1bHAgZnJvbSAnZ3VscCc7XG5pbXBvcnQgZGVsIGZyb20gJ2RlbCc7XG5cbmltcG9ydCB7QlVJTERfVEFSR0VULCBDT1ZFUkFHRV9UQVJHRVQsIFdBVENISU5HfSBmcm9tICcuLi9pbmRleCc7XG5cbmxldCByYW4gPSBmYWxzZTtcbkd1bHAudGFzaygnY2xlYW4nLCBmdW5jdGlvbihkb25lKSB7XG4gIGlmICghV0FUQ0hJTkcgfHwgIXJhbikge1xuICAgIHJhbiA9IHRydWU7XG4gICAgY2xlYW4oZG9uZSk7XG4gIH0gZWxzZSB7XG4gICAgZG9uZSgpO1xuICB9XG59KTtcblxuR3VscC50YXNrKCdjbGVhbjphbHdheXMnLCBjbGVhbik7XG5cbmZ1bmN0aW9uIGNsZWFuKGRvbmUpIHtcbiAgZGVsKFdBVENISU5HID8gW0JVSUxEX1RBUkdFVF0gOiBbQlVJTERfVEFSR0VULCBDT1ZFUkFHRV9UQVJHRVRdKVxuICAgIC50aGVuKCgpID0+IGRvbmUoKSwgZG9uZSk7XG59XG4iXX0=", "ast": null, "map": null, "mtime": 1452108702000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/lint.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "gulp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Gulp" } ] }, { "source": "gulp-changed", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "changed" } ] }, { "source": "gulp-eslint", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "eslint" } ] }, { "source": "../src/plumber", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "plumber" } ] }, { "source": "../index", "imported": [ "jsFiles", "BUILD_TARGET" ], "specifiers": [ { "kind": "named", "imported": "jsFiles", "local": "jsFiles" }, { "kind": "named", "imported": "BUILD_TARGET", "local": "BUILD_TARGET" } ] }, { "source": "../src/watch", "imported": [ "changeMonitors" ], "specifiers": [ { "kind": "named", "imported": "changeMonitors", "local": "changeMonitors" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/lint.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/lint.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "lint.js", "sourceFileName": "lint.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "lint" }, "ignored": false, "code": "'use strict';\n\nvar _gulp = require('gulp');\n\nvar _gulp2 = _interopRequireDefault(_gulp);\n\nvar _gulpChanged = require('gulp-changed');\n\nvar _gulpChanged2 = _interopRequireDefault(_gulpChanged);\n\nvar _gulpEslint = require('gulp-eslint');\n\nvar _gulpEslint2 = _interopRequireDefault(_gulpEslint);\n\nvar _plumber = require('../src/plumber');\n\nvar _plumber2 = _interopRequireDefault(_plumber);\n\nvar _index = require('../index');\n\nvar _watch = require('../src/watch');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar fileCache = {};\n_watch.changeMonitors.on('change', function (changed) {\n changed.forEach(function (change) {\n delete fileCache[change.path];\n });\n});\n\n_gulp2.default.task('lint', function () {\n return _gulp2.default.src((0, _index.jsFiles)()).pipe((0, _plumber2.default)()).pipe((0, _gulpChanged2.default)(_index.BUILD_TARGET, {\n hasChanged: function hasChanged(stream, callback, sourceFile) {\n var modified = fileCache[sourceFile.path];\n if (!modified || modified < sourceFile.stat.mtime) {\n stream.push(sourceFile);\n fileCache[sourceFile.path] = sourceFile.stat.mtime;\n }\n callback();\n }\n })).pipe((0, _gulpEslint2.default)()).pipe(_gulpEslint2.default.format()).pipe(_gulpEslint2.default.failAfterError());\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBOztBQUVBOzs7O0FBRUEsSUFBSSxZQUFZLEVBQWhCO0FBQ0Esc0JBQWUsRUFBZixDQUFrQixRQUFsQixFQUE0QixVQUFDLE9BQUQsRUFBYTtBQUN2QyxVQUFRLE9BQVIsQ0FBZ0IsVUFBQyxNQUFELEVBQVk7QUFDMUIsV0FBTyxVQUFVLE9BQU8sSUFBakIsQ0FBUDtBQUNELEdBRkQ7QUFHRCxDQUpEOztBQU1BLGVBQUssSUFBTCxDQUFVLE1BQVYsRUFBa0IsWUFBVztBQUMzQixTQUFPLGVBQUssR0FBTCxDQUFTLHFCQUFULEVBQ0YsSUFERSxDQUNHLHdCQURILEVBRUYsSUFGRSxDQUVHLGdEQUFzQjtBQUMxQixjQUQwQixzQkFDZixNQURlLEVBQ1AsUUFETyxFQUNHLFVBREgsRUFDZTtBQUN2QyxVQUFJLFdBQVcsVUFBVSxXQUFXLElBQXJCLENBQWY7QUFDQSxVQUFJLENBQUMsUUFBRCxJQUFhLFdBQVcsV0FBVyxJQUFYLENBQWdCLEtBQTVDLEVBQW1EO0FBQ2pELGVBQU8sSUFBUCxDQUFZLFVBQVo7QUFDQSxrQkFBVSxXQUFXLElBQXJCLElBQTZCLFdBQVcsSUFBWCxDQUFnQixLQUE3QztBQUNEO0FBQ0Q7QUFDRDtBQVJ5QixHQUF0QixDQUZILEVBWUYsSUFaRSxDQVlHLDJCQVpILEVBYUYsSUFiRSxDQWFHLHFCQUFPLE1BQVAsRUFiSCxFQWNGLElBZEUsQ0FjRyxxQkFBTyxjQUFQLEVBZEgsQ0FBUDtBQWVELENBaEJEIiwiZmlsZSI6ImxpbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3VscCBmcm9tICdndWxwJztcbmltcG9ydCBjaGFuZ2VkIGZyb20gJ2d1bHAtY2hhbmdlZCc7XG5pbXBvcnQgZXNsaW50IGZyb20gJ2d1bHAtZXNsaW50JztcbmltcG9ydCBwbHVtYmVyIGZyb20gJy4uL3NyYy9wbHVtYmVyJztcblxuaW1wb3J0IHtqc0ZpbGVzLCBCVUlMRF9UQVJHRVR9IGZyb20gJy4uL2luZGV4JztcblxuaW1wb3J0IHtjaGFuZ2VNb25pdG9yc30gZnJvbSAnLi4vc3JjL3dhdGNoJztcblxubGV0IGZpbGVDYWNoZSA9IHt9O1xuY2hhbmdlTW9uaXRvcnMub24oJ2NoYW5nZScsIChjaGFuZ2VkKSA9PiB7XG4gIGNoYW5nZWQuZm9yRWFjaCgoY2hhbmdlKSA9PiB7XG4gICAgZGVsZXRlIGZpbGVDYWNoZVtjaGFuZ2UucGF0aF07XG4gIH0pO1xufSk7XG5cbkd1bHAudGFzaygnbGludCcsIGZ1bmN0aW9uKCkge1xuICByZXR1cm4gR3VscC5zcmMoanNGaWxlcygpKVxuICAgICAgLnBpcGUocGx1bWJlcigpKVxuICAgICAgLnBpcGUoY2hhbmdlZChCVUlMRF9UQVJHRVQsIHtcbiAgICAgICAgaGFzQ2hhbmdlZChzdHJlYW0sIGNhbGxiYWNrLCBzb3VyY2VGaWxlKSB7XG4gICAgICAgICAgbGV0IG1vZGlmaWVkID0gZmlsZUNhY2hlW3NvdXJjZUZpbGUucGF0aF07XG4gICAgICAgICAgaWYgKCFtb2RpZmllZCB8fCBtb2RpZmllZCA8IHNvdXJjZUZpbGUuc3RhdC5tdGltZSkge1xuICAgICAgICAgICAgc3RyZWFtLnB1c2goc291cmNlRmlsZSk7XG4gICAgICAgICAgICBmaWxlQ2FjaGVbc291cmNlRmlsZS5wYXRoXSA9IHNvdXJjZUZpbGUuc3RhdC5tdGltZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgICAgfSkpXG4gICAgICAucGlwZShlc2xpbnQoKSlcbiAgICAgIC5waXBlKGVzbGludC5mb3JtYXQoKSlcbiAgICAgIC5waXBlKGVzbGludC5mYWlsQWZ0ZXJFcnJvcigpKTtcbn0pO1xuIl19", "ast": null, "map": null, "mtime": 1452197032000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/plumber.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "gulp-util", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "GUtil" } ] }, { "source": "gulp-plumber", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "plumber" } ] }, { "source": "../config", "imported": [ "WATCHING" ], "specifiers": [ { "kind": "named", "imported": "WATCHING", "local": "WATCHING" } ] } ], "exports": { "exported": [ "done" ], "specifiers": [ { "kind": "local", "local": "done", "exported": "default" } ] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/plumber.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/plumber.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "plumber.js", "sourceFileName": "plumber.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "plumber" }, "ignored": false, "code": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (done) {\n return (0, _gulpPlumber2.default)({\n // Need to special case this here to ensure that we successfully complete the\n // task should we have an error in the mocha init section.\n errorHandler: _config.WATCHING && function (err) {\n _gulpUtil2.default.log(_gulpUtil2.default.colors.cyan('Plumber') + _gulpUtil2.default.colors.red(' found unhandled error:\\n'), err.toString());\n if (done && err.plugin === 'gulp-mocha' && err.showStack) {\n done();\n }\n }\n });\n};\n\nvar _gulpUtil = require('gulp-util');\n\nvar _gulpUtil2 = _interopRequireDefault(_gulpUtil);\n\nvar _gulpPlumber = require('gulp-plumber');\n\nvar _gulpPlumber2 = _interopRequireDefault(_gulpPlumber);\n\nvar _config = require('../config');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdW1iZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O2tCQUllLFVBQVMsSUFBVCxFQUFlO0FBQzVCLFNBQU8sMkJBQVE7OztBQUdiLGtCQUFjLG9CQUFZLFVBQVMsR0FBVCxFQUFjO0FBQ3RDLHlCQUFNLEdBQU4sQ0FDRSxtQkFBTSxNQUFOLENBQWEsSUFBYixDQUFrQixTQUFsQixJQUErQixtQkFBTSxNQUFOLENBQWEsR0FBYixDQUFpQiwyQkFBakIsQ0FEakMsRUFFRSxJQUFJLFFBQUosRUFGRjtBQUdBLFVBQUksUUFBUSxJQUFJLE1BQUosS0FBZSxZQUF2QixJQUF1QyxJQUFJLFNBQS9DLEVBQTBEO0FBQ3hEO0FBQ0Q7QUFDRjtBQVZZLEdBQVIsQ0FBUDtBQVlELEM7O0FBakJEOzs7O0FBQ0E7Ozs7QUFDQSIsImZpbGUiOiJwbHVtYmVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEdVdGlsIGZyb20gJ2d1bHAtdXRpbCc7XG5pbXBvcnQgcGx1bWJlciBmcm9tICdndWxwLXBsdW1iZXInO1xuaW1wb3J0IHtXQVRDSElOR30gZnJvbSAnLi4vY29uZmlnJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oZG9uZSkge1xuICByZXR1cm4gcGx1bWJlcih7XG4gICAgLy8gTmVlZCB0byBzcGVjaWFsIGNhc2UgdGhpcyBoZXJlIHRvIGVuc3VyZSB0aGF0IHdlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZSB0aGVcbiAgICAvLyB0YXNrIHNob3VsZCB3ZSBoYXZlIGFuIGVycm9yIGluIHRoZSBtb2NoYSBpbml0IHNlY3Rpb24uXG4gICAgZXJyb3JIYW5kbGVyOiBXQVRDSElORyAmJiBmdW5jdGlvbihlcnIpIHtcbiAgICAgIEdVdGlsLmxvZyhcbiAgICAgICAgR1V0aWwuY29sb3JzLmN5YW4oJ1BsdW1iZXInKSArIEdVdGlsLmNvbG9ycy5yZWQoJyBmb3VuZCB1bmhhbmRsZWQgZXJyb3I6XFxuJyksXG4gICAgICAgIGVyci50b1N0cmluZygpKTtcbiAgICAgIGlmIChkb25lICYmIGVyci5wbHVnaW4gPT09ICdndWxwLW1vY2hhJyAmJiBlcnIuc2hvd1N0YWNrKSB7XG4gICAgICAgIGRvbmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuIl19", "ast": null, "map": null, "mtime": 1450273822000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/cover.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "lodash", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "_" } ] }, { "source": "gulp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Gulp" } ] }, { "source": "gulp-util", "imported": [ "default", "PluginError", "colors" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "GUtil" }, { "kind": "named", "imported": "PluginError", "local": "PluginError" }, { "kind": "named", "imported": "colors", "local": "colors" } ] }, { "source": "gulp-istanbul", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "istanbul" } ] }, { "source": "source-map", "imported": [ "SourceMapConsumer" ], "specifiers": [ { "kind": "named", "imported": "SourceMapConsumer", "local": "SourceMapConsumer" } ] }, { "source": "../src/cover", "imported": [ "instrumenterConfig" ], "specifiers": [ { "kind": "named", "imported": "instrumenterConfig", "local": "instrumenterConfig" } ] }, { "source": "../src/plumber", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "plumber" } ] }, { "source": "../src/watch", "imported": [ "runTask" ], "specifiers": [ { "kind": "named", "imported": "runTask", "local": "runTask" } ] }, { "source": "../index", "imported": [ "SOURCE_FILES", "COVERAGE_TARGET", "WATCHING", "COMPLETE_COVERAGE" ], "specifiers": [ { "kind": "named", "imported": "SOURCE_FILES", "local": "SOURCE_FILES" }, { "kind": "named", "imported": "COVERAGE_TARGET", "local": "COVERAGE_TARGET" }, { "kind": "named", "imported": "WATCHING", "local": "WATCHING" }, { "kind": "named", "imported": "COMPLETE_COVERAGE", "local": "COMPLETE_COVERAGE" } ] }, { "source": "istanbul", "imported": [ "utils", "Collector", "Report" ], "specifiers": [ { "kind": "named", "imported": "utils", "local": "utils" }, { "kind": "named", "imported": "Collector", "local": "Collector" }, { "kind": "named", "imported": "Report", "local": "Report" } ] }, { "source": "through2", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "through" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/cover.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/tasks/cover.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "cover.js", "sourceFileName": "cover.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "cover" }, "ignored": false, "code": "'use strict';\n\nvar _lodash = require('lodash');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _gulp = require('gulp');\n\nvar _gulp2 = _interopRequireDefault(_gulp);\n\nvar _gulpUtil = require('gulp-util');\n\nvar _gulpUtil2 = _interopRequireDefault(_gulpUtil);\n\nvar _gulpIstanbul = require('gulp-istanbul');\n\nvar _gulpIstanbul2 = _interopRequireDefault(_gulpIstanbul);\n\nvar _sourceMap = require('source-map');\n\nvar _cover = require('../src/cover');\n\nvar _plumber = require('../src/plumber');\n\nvar _plumber2 = _interopRequireDefault(_plumber);\n\nvar _watch = require('../src/watch');\n\nvar _index = require('../index');\n\nvar _istanbul = require('istanbul');\n\nvar _through = require('through2');\n\nvar _through2 = _interopRequireDefault(_through);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction coverSourceFiles() {\n return _gulp2.default.src(_index.SOURCE_FILES).pipe((0, _plumber2.default)()).pipe((0, _gulpIstanbul2.default)((0, _cover.instrumenterConfig)()));\n}\n\n// Bit of a hack, but lets us ensure that all source files are included\n// in the coverage report.\n_gulp2.default.task('cover:untested', function () {\n return coverSourceFiles().pipe(_gulpIstanbul2.default.writeReports({\n dir: _index.COVERAGE_TARGET,\n reporters: ['json'],\n reportOpts: { dir: _index.COVERAGE_TARGET + '/untested' }\n }));\n});\n\n_gulp2.default.task('cover:report', function () {\n var collector = new _istanbul.Collector();\n\n return _gulp2.default.src(_index.COVERAGE_TARGET + '/**/coverage-final.json').pipe(_through2.default.obj(function (file, enc, cb) {\n try {\n collector.add(JSON.parse(file.contents.toString()));\n } catch (err) {\n // We can get into an out of sync state where only one set of coverage\n // files are updated and the state doesn't match up, cauing istanbul to\n // blow up. We are ignoring this case and assuming that once the other\n // coverage process completes we will return to a consistent state in\n // the report.\n if (!_index.WATCHING) {\n throw err;\n }\n }\n\n cb();\n })).on('finish', function () {\n var report = _istanbul.Report.create('lcov', { dir: _index.COVERAGE_TARGET });\n try {\n report.writeReport(collector, true);\n } catch (err) {\n if (_index.WATCHING) {\n // We can get into an out of sync state where only one set of coverage\n // files are updated and the state doesn't match up, cauing istanbul to\n // blow up. We are ignoring this case and assuming that once the other\n // coverage process completes we will return to a consistent state in\n // the report.\n return;\n } else {\n throw err;\n }\n }\n\n report = _istanbul.Report.create('text-summary');\n report.writeReport(collector, true);\n\n if (!_index.WATCHING) {\n var errors = _lodash2.default.compact(_lodash2.default.map(collector.getFinalCoverage(), function (file, path) {\n var summary = _istanbul.utils.summarizeFileCoverage(file),\n sourceMap = extractSourceMap(file.code),\n errors = [];\n\n function mapLine(line) {\n var column = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1];\n\n if (sourceMap) {\n line = sourceMap.originalPositionFor({ line: line, column: column, bias: _sourceMap.SourceMapConsumer.LEAST_UPPER_BOUND }).line || 'generated: ' + line;\n }\n return parseInt(line, 10);\n }\n function formatLines(lines) {\n return lines.sort(function (a, b) {\n return a - b;\n }).map(function (line) {\n return _gulpUtil.colors.magenta(line);\n }).join(', ');\n }\n\n if (summary.lines.pct < 100) {\n var lines = _lodash2.default.compact(_lodash2.default.map(summary.linesCovered, function (value, key) {\n return value ? undefined : mapLine(parseInt(key, 10));\n }));\n if (lines.length) {\n errors.push('lines: ' + formatLines(lines));\n }\n }\n if (summary.statements.pct < 100) {\n var statements = _lodash2.default.compact(_lodash2.default.map(file.s, function (coverage, id) {\n if (!coverage && !file.statementMap[id].skip) {\n var _file$statementMap$id = file.statementMap[id].start;\n var line = _file$statementMap$id.line;\n var column = _file$statementMap$id.column;\n\n return mapLine(line, column);\n }\n }));\n if (statements.length) {\n errors.push('statements: line #' + formatLines(statements));\n }\n }\n if (summary.functions.pct < 100) {\n var functions = _lodash2.default.compact(_lodash2.default.map(file.f, function (coverage, id) {\n if (!coverage && !file.fnMap[id].skip) {\n var _file$fnMap$id$loc$st = file.fnMap[id].loc.start;\n var line = _file$fnMap$id$loc$st.line;\n var column = _file$fnMap$id$loc$st.column;\n\n return mapLine(line, column);\n }\n }));\n if (functions.length) {\n errors.push('functions: line #' + formatLines(functions));\n }\n }\n if (summary.branches.pct < 100) {\n var branches = _lodash2.default.compact(_lodash2.default.map(file.b, function (coverage, id) {\n var branch = file.branchMap[id];\n coverage = _lodash2.default.map(coverage, function (coverage, location) {\n return !coverage && !branch.locations[location].skip;\n });\n if (_lodash2.default.includes(coverage, true)) {\n var _file$branchMap$id$lo = file.branchMap[id].locations[0].start;\n var line = _file$branchMap$id$lo.line;\n var column = _file$branchMap$id$lo.column;\n\n return mapLine(line, column);\n }\n }));\n if (branches.length) {\n errors.push('branches: line #' + formatLines(branches));\n }\n }\n\n if (errors.length > 0) {\n return _gulpUtil.colors.cyan(path) + '\\n ' + errors.join('\\n ');\n }\n }));\n\n if (errors.length) {\n errors = 'Coverage failed:\\n' + errors.join('\\n');\n }\n if (errors.length && _index.COMPLETE_COVERAGE) {\n this.emit('error', new _gulpUtil.PluginError({\n plugin: 'coverage',\n message: errors\n }));\n } else if (errors.length) {\n _gulpUtil2.default.log('[cover:report]', errors);\n }\n }\n });\n});\n\n_gulp2.default.task('watch:cover:report', function () {\n _gulp2.default.watch(_index.COVERAGE_TARGET + '/**/coverage-final.json', function () {\n (0, _watch.runTask)('cover:report');\n });\n});\n\nfunction extractSourceMap(code) {\n var mappingLine = code.reduceRight(function (prev, current) {\n return prev || /sourceMappingURL=data:.*base64,(.*)/.exec(current);\n }, undefined);\n if (mappingLine) {\n var decoded = JSON.parse(new Buffer(mappingLine[1], 'base64').toString());\n return new _sourceMap.SourceMapConsumer(decoded);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvdmVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7QUFFQTs7QUFDQTs7OztBQUNBOztBQUVBOztBQUVBOztBQUNBOzs7Ozs7QUFFQSxTQUFTLGdCQUFULEdBQTRCO0FBQzFCLFNBQU8sZUFBSyxHQUFMLHNCQUNGLElBREUsQ0FDRyx3QkFESCxFQUVGLElBRkUsQ0FFRyw0QkFBUyxnQ0FBVCxDQUZILENBQVA7QUFHRDs7OztBQUlELGVBQUssSUFBTCxDQUFVLGdCQUFWLEVBQTRCLFlBQVc7QUFDckMsU0FBTyxtQkFDRixJQURFLENBQ0csdUJBQVMsWUFBVCxDQUFzQjtBQUMxQiwrQkFEMEI7QUFFMUIsZUFBVyxDQUFFLE1BQUYsQ0FGZTtBQUcxQixnQkFBWSxFQUFFLHlDQUFGO0FBSGMsR0FBdEIsQ0FESCxDQUFQO0FBTUQsQ0FQRDs7QUFTQSxlQUFLLElBQUwsQ0FBVSxjQUFWLEVBQTBCLFlBQVc7QUFDbkMsTUFBSSxZQUFZLHlCQUFoQjs7QUFFQSxTQUFPLGVBQUssR0FBTCxxREFDSixJQURJLENBQ0Msa0JBQVEsR0FBUixDQUFZLFVBQVMsSUFBVCxFQUFlLEdBQWYsRUFBb0IsRUFBcEIsRUFBd0I7QUFDeEMsUUFBSTtBQUNGLGdCQUFVLEdBQVYsQ0FBYyxLQUFLLEtBQUwsQ0FBVyxLQUFLLFFBQUwsQ0FBYyxRQUFkLEVBQVgsQ0FBZDtBQUNELEtBRkQsQ0FFRSxPQUFPLEdBQVAsRUFBWTs7Ozs7O0FBTVosVUFBSSxnQkFBSixFQUFlO0FBQ2IsY0FBTSxHQUFOO0FBQ0Q7QUFDRjs7QUFFRDtBQUNELEdBZkssQ0FERCxFQWlCSixFQWpCSSxDQWlCRCxRQWpCQyxFQWlCUyxZQUFXO0FBQ3ZCLFFBQUksU0FBUyxpQkFBTyxNQUFQLENBQWMsTUFBZCxFQUFzQixFQUFDLDJCQUFELEVBQXRCLENBQWI7QUFDQSxRQUFJO0FBQ0YsYUFBTyxXQUFQLENBQW1CLFNBQW5CLEVBQThCLElBQTlCO0FBQ0QsS0FGRCxDQUVFLE9BQU8sR0FBUCxFQUFZO0FBQ1osMkJBQWM7Ozs7OztBQU1aO0FBQ0QsT0FQRCxNQU9PO0FBQ0wsY0FBTSxHQUFOO0FBQ0Q7QUFDRjs7QUFFRCxhQUFTLGlCQUFPLE1BQVAsQ0FBYyxjQUFkLENBQVQ7QUFDQSxXQUFPLFdBQVAsQ0FBbUIsU0FBbkIsRUFBOEIsSUFBOUI7O0FBRUEsUUFBSSxnQkFBSixFQUFlO0FBQ2IsVUFBSSxTQUFTLGlCQUFFLE9BQUYsQ0FBVSxpQkFBRSxHQUFGLENBQU0sVUFBVSxnQkFBVixFQUFOLEVBQW9DLFVBQUMsSUFBRCxFQUFPLElBQVAsRUFBZ0I7QUFDekUsWUFBSSxVQUFVLGdCQUFNLHFCQUFOLENBQTRCLElBQTVCLENBQWQ7WUFDSSxZQUFZLGlCQUFpQixLQUFLLElBQXRCLENBRGhCO1lBRUksU0FBUyxFQUZiOztBQUlBLGlCQUFTLE9BQVQsQ0FBaUIsSUFBakIsRUFBbUM7QUFBQSxjQUFaLE1BQVkseURBQUgsQ0FBRzs7QUFDakMsY0FBSSxTQUFKLEVBQWU7QUFDYixtQkFBTyxVQUFVLG1CQUFWLENBQThCLEVBQUMsVUFBRCxFQUFPLGNBQVAsRUFBZSxNQUFNLDZCQUFrQixpQkFBdkMsRUFBOUIsRUFBeUYsSUFBekYsb0JBQStHLElBQXRIO0FBQ0Q7QUFDRCxpQkFBTyxTQUFTLElBQVQsRUFBZSxFQUFmLENBQVA7QUFDRDtBQUNELGlCQUFTLFdBQVQsQ0FBcUIsS0FBckIsRUFBNEI7QUFDMUIsaUJBQU8sTUFBTSxJQUFOLENBQVcsVUFBQyxDQUFELEVBQUksQ0FBSjtBQUFBLG1CQUFVLElBQUksQ0FBZDtBQUFBLFdBQVgsRUFDRixHQURFLENBQ0UsVUFBQyxJQUFEO0FBQUEsbUJBQVUsaUJBQU8sT0FBUCxDQUFlLElBQWYsQ0FBVjtBQUFBLFdBREYsRUFFRixJQUZFLENBRUcsSUFGSCxDQUFQO0FBR0Q7O0FBRUQsWUFBSSxRQUFRLEtBQVIsQ0FBYyxHQUFkLEdBQW9CLEdBQXhCLEVBQTZCO0FBQzNCLGNBQUksUUFBUSxpQkFBRSxPQUFGLENBQVUsaUJBQUUsR0FBRixDQUFNLFFBQVEsWUFBZCxFQUE0QixVQUFDLEtBQUQsRUFBUSxHQUFSO0FBQUEsbUJBQWdCLFFBQVEsU0FBUixHQUFvQixRQUFRLFNBQVMsR0FBVCxFQUFjLEVBQWQsQ0FBUixDQUFwQztBQUFBLFdBQTVCLENBQVYsQ0FBWjtBQUNBLGNBQUksTUFBTSxNQUFWLEVBQWtCO0FBQ2hCLG1CQUFPLElBQVAsYUFBc0IsWUFBWSxLQUFaLENBQXRCO0FBQ0Q7QUFDRjtBQUNELFlBQUksUUFBUSxVQUFSLENBQW1CLEdBQW5CLEdBQXlCLEdBQTdCLEVBQWtDO0FBQ2hDLGNBQUksYUFBYSxpQkFBRSxPQUFGLENBQVUsaUJBQUUsR0FBRixDQUFNLEtBQUssQ0FBWCxFQUFjLFVBQUMsUUFBRCxFQUFXLEVBQVgsRUFBa0I7QUFDekQsZ0JBQUksQ0FBQyxRQUFELElBQWEsQ0FBQyxLQUFLLFlBQUwsQ0FBa0IsRUFBbEIsRUFBc0IsSUFBeEMsRUFBOEM7QUFBQSwwQ0FDdkIsS0FBSyxZQUFMLENBQWtCLEVBQWxCLEVBQXNCLEtBREM7QUFBQSxrQkFDdkMsSUFEdUMseUJBQ3ZDLElBRHVDO0FBQUEsa0JBQ2pDLE1BRGlDLHlCQUNqQyxNQURpQzs7QUFFNUMscUJBQU8sUUFBUSxJQUFSLEVBQWMsTUFBZCxDQUFQO0FBQ0Q7QUFDRixXQUwwQixDQUFWLENBQWpCO0FBTUEsY0FBSSxXQUFXLE1BQWYsRUFBdUI7QUFDckIsbUJBQU8sSUFBUCx3QkFBaUMsWUFBWSxVQUFaLENBQWpDO0FBQ0Q7QUFDRjtBQUNELFlBQUksUUFBUSxTQUFSLENBQWtCLEdBQWxCLEdBQXdCLEdBQTVCLEVBQWlDO0FBQy9CLGNBQUksWUFBWSxpQkFBRSxPQUFGLENBQVUsaUJBQUUsR0FBRixDQUFNLEtBQUssQ0FBWCxFQUFjLFVBQUMsUUFBRCxFQUFXLEVBQVgsRUFBa0I7QUFDeEQsZ0JBQUksQ0FBQyxRQUFELElBQWEsQ0FBQyxLQUFLLEtBQUwsQ0FBVyxFQUFYLEVBQWUsSUFBakMsRUFBdUM7QUFBQSwwQ0FDaEIsS0FBSyxLQUFMLENBQVcsRUFBWCxFQUFlLEdBQWYsQ0FBbUIsS0FESDtBQUFBLGtCQUNoQyxJQURnQyx5QkFDaEMsSUFEZ0M7QUFBQSxrQkFDMUIsTUFEMEIseUJBQzFCLE1BRDBCOztBQUVyQyxxQkFBTyxRQUFRLElBQVIsRUFBYyxNQUFkLENBQVA7QUFDRDtBQUNGLFdBTHlCLENBQVYsQ0FBaEI7QUFNQSxjQUFJLFVBQVUsTUFBZCxFQUFzQjtBQUNwQixtQkFBTyxJQUFQLHVCQUFnQyxZQUFZLFNBQVosQ0FBaEM7QUFDRDtBQUNGO0FBQ0QsWUFBSSxRQUFRLFFBQVIsQ0FBaUIsR0FBakIsR0FBdUIsR0FBM0IsRUFBZ0M7QUFDOUIsY0FBSSxXQUFXLGlCQUFFLE9BQUYsQ0FBVSxpQkFBRSxHQUFGLENBQU0sS0FBSyxDQUFYLEVBQWMsVUFBQyxRQUFELEVBQVcsRUFBWCxFQUFrQjtBQUN2RCxnQkFBSSxTQUFTLEtBQUssU0FBTCxDQUFlLEVBQWYsQ0FBYjtBQUNBLHVCQUFXLGlCQUFFLEdBQUYsQ0FBTSxRQUFOLEVBQWdCLFVBQUMsUUFBRCxFQUFXLFFBQVg7QUFBQSxxQkFBd0IsQ0FBQyxRQUFELElBQWEsQ0FBQyxPQUFPLFNBQVAsQ0FBaUIsUUFBakIsRUFBMkIsSUFBakU7QUFBQSxhQUFoQixDQUFYO0FBQ0EsZ0JBQUksaUJBQUUsUUFBRixDQUFXLFFBQVgsRUFBcUIsSUFBckIsQ0FBSixFQUFnQztBQUFBLDBDQUNULEtBQUssU0FBTCxDQUFlLEVBQWYsRUFBbUIsU0FBbkIsQ0FBNkIsQ0FBN0IsRUFBZ0MsS0FEdkI7QUFBQSxrQkFDekIsSUFEeUIseUJBQ3pCLElBRHlCO0FBQUEsa0JBQ25CLE1BRG1CLHlCQUNuQixNQURtQjs7QUFFOUIscUJBQU8sUUFBUSxJQUFSLEVBQWMsTUFBZCxDQUFQO0FBQ0Q7QUFDRixXQVB3QixDQUFWLENBQWY7QUFRQSxjQUFJLFNBQVMsTUFBYixFQUFxQjtBQUNuQixtQkFBTyxJQUFQLHNCQUErQixZQUFZLFFBQVosQ0FBL0I7QUFDRDtBQUNGOztBQUVELFlBQUksT0FBTyxNQUFQLEdBQWdCLENBQXBCLEVBQXVCO0FBQ3JCLGlCQUFVLGlCQUFPLElBQVAsQ0FBWSxJQUFaLENBQVYsY0FBb0MsT0FBTyxJQUFQLENBQVksUUFBWixDQUFwQztBQUNEO0FBQ0YsT0E5RHNCLENBQVYsQ0FBYjs7QUFnRUEsVUFBSSxPQUFPLE1BQVgsRUFBbUI7QUFDakIsd0NBQThCLE9BQU8sSUFBUCxDQUFZLElBQVosQ0FBOUI7QUFDRDtBQUNELFVBQUksT0FBTyxNQUFQLDRCQUFKLEVBQXdDO0FBQ3RDLGFBQUssSUFBTCxDQUFVLE9BQVYsRUFBbUIsMEJBQWdCO0FBQ2pDLGtCQUFRLFVBRHlCO0FBRWpDLG1CQUFTO0FBRndCLFNBQWhCLENBQW5CO0FBSUQsT0FMRCxNQUtPLElBQUksT0FBTyxNQUFYLEVBQW1CO0FBQ3hCLDJCQUFNLEdBQU4sQ0FBVSxnQkFBVixFQUE0QixNQUE1QjtBQUNEO0FBQ0Y7QUFDRixHQWxISSxDQUFQO0FBbUhELENBdEhEOztBQXdIQSxlQUFLLElBQUwsQ0FBVSxvQkFBVixFQUFnQyxZQUFXO0FBQ3pDLGlCQUFLLEtBQUwscURBQXdELFlBQVc7QUFDakUsd0JBQVEsY0FBUjtBQUNELEdBRkQ7QUFHRCxDQUpEOztBQU1BLFNBQVMsZ0JBQVQsQ0FBMEIsSUFBMUIsRUFBZ0M7QUFDOUIsTUFBSSxjQUFjLEtBQUssV0FBTCxDQUFpQixVQUFDLElBQUQsRUFBTyxPQUFQLEVBQW1CO0FBQ3BELFdBQU8sUUFBUSxzQ0FBc0MsSUFBdEMsQ0FBMkMsT0FBM0MsQ0FBZjtBQUNELEdBRmlCLEVBRWYsU0FGZSxDQUFsQjtBQUdBLE1BQUksV0FBSixFQUFpQjtBQUNmLFFBQUksVUFBVSxLQUFLLEtBQUwsQ0FBVyxJQUFJLE1BQUosQ0FBVyxZQUFZLENBQVosQ0FBWCxFQUEyQixRQUEzQixFQUFxQyxRQUFyQyxFQUFYLENBQWQ7QUFDQSxXQUFPLGlDQUFzQixPQUF0QixDQUFQO0FBQ0Q7QUFDRiIsImZpbGUiOiJjb3Zlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgR3VscCBmcm9tICdndWxwJztcbmltcG9ydCBHVXRpbCwge1BsdWdpbkVycm9yLCBjb2xvcnN9IGZyb20gJ2d1bHAtdXRpbCc7XG5pbXBvcnQgaXN0YW5idWwgZnJvbSAnZ3VscC1pc3RhbmJ1bCc7XG5cbmltcG9ydCB7U291cmNlTWFwQ29uc3VtZXJ9IGZyb20gJ3NvdXJjZS1tYXAnO1xuXG5pbXBvcnQge2luc3RydW1lbnRlckNvbmZpZ30gZnJvbSAnLi4vc3JjL2NvdmVyJztcbmltcG9ydCBwbHVtYmVyIGZyb20gJy4uL3NyYy9wbHVtYmVyJztcbmltcG9ydCB7cnVuVGFza30gZnJvbSAnLi4vc3JjL3dhdGNoJztcblxuaW1wb3J0IHtTT1VSQ0VfRklMRVMsIENPVkVSQUdFX1RBUkdFVCwgV0FUQ0hJTkcsIENPTVBMRVRFX0NPVkVSQUdFfSBmcm9tICcuLi9pbmRleCc7XG5cbmltcG9ydCB7dXRpbHMsIENvbGxlY3RvciwgUmVwb3J0fSBmcm9tICdpc3RhbmJ1bCc7XG5pbXBvcnQgdGhyb3VnaCBmcm9tICd0aHJvdWdoMic7XG5cbmZ1bmN0aW9uIGNvdmVyU291cmNlRmlsZXMoKSB7XG4gIHJldHVybiBHdWxwLnNyYyhTT1VSQ0VfRklMRVMpXG4gICAgICAucGlwZShwbHVtYmVyKCkpXG4gICAgICAucGlwZShpc3RhbmJ1bChpbnN0cnVtZW50ZXJDb25maWcoKSkpO1xufVxuXG4vLyBCaXQgb2YgYSBoYWNrLCBidXQgbGV0cyB1cyBlbnN1cmUgdGhhdCBhbGwgc291cmNlIGZpbGVzIGFyZSBpbmNsdWRlZFxuLy8gaW4gdGhlIGNvdmVyYWdlIHJlcG9ydC5cbkd1bHAudGFzaygnY292ZXI6dW50ZXN0ZWQnLCBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIGNvdmVyU291cmNlRmlsZXMoKVxuICAgICAgLnBpcGUoaXN0YW5idWwud3JpdGVSZXBvcnRzKHtcbiAgICAgICAgZGlyOiBDT1ZFUkFHRV9UQVJHRVQsXG4gICAgICAgIHJlcG9ydGVyczogWyAnanNvbicgXSxcbiAgICAgICAgcmVwb3J0T3B0czogeyBkaXI6IGAke0NPVkVSQUdFX1RBUkdFVH0vdW50ZXN0ZWRgIH1cbiAgICAgIH0pKTtcbn0pO1xuXG5HdWxwLnRhc2soJ2NvdmVyOnJlcG9ydCcsIGZ1bmN0aW9uKCkge1xuICBsZXQgY29sbGVjdG9yID0gbmV3IENvbGxlY3RvcigpO1xuXG4gIHJldHVybiBHdWxwLnNyYyhgJHtDT1ZFUkFHRV9UQVJHRVR9LyoqL2NvdmVyYWdlLWZpbmFsLmpzb25gKVxuICAgIC5waXBlKHRocm91Z2gub2JqKGZ1bmN0aW9uKGZpbGUsIGVuYywgY2IpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbGxlY3Rvci5hZGQoSlNPTi5wYXJzZShmaWxlLmNvbnRlbnRzLnRvU3RyaW5nKCkpKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBXZSBjYW4gZ2V0IGludG8gYW4gb3V0IG9mIHN5bmMgc3RhdGUgd2hlcmUgb25seSBvbmUgc2V0IG9mIGNvdmVyYWdlXG4gICAgICAgIC8vIGZpbGVzIGFyZSB1cGRhdGVkIGFuZCB0aGUgc3RhdGUgZG9lc24ndCBtYXRjaCB1cCwgY2F1aW5nIGlzdGFuYnVsIHRvXG4gICAgICAgIC8vIGJsb3cgdXAuIFdlIGFyZSBpZ25vcmluZyB0aGlzIGNhc2UgYW5kIGFzc3VtaW5nIHRoYXQgb25jZSB0aGUgb3RoZXJcbiAgICAgICAgLy8gY292ZXJhZ2UgcHJvY2VzcyBjb21wbGV0ZXMgd2Ugd2lsbCByZXR1cm4gdG8gYSBjb25zaXN0ZW50IHN0YXRlIGluXG4gICAgICAgIC8vIHRoZSByZXBvcnQuXG4gICAgICAgIGlmICghV0FUQ0hJTkcpIHtcbiAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY2IoKTtcbiAgICB9KSlcbiAgICAub24oJ2ZpbmlzaCcsIGZ1bmN0aW9uKCkge1xuICAgICAgbGV0IHJlcG9ydCA9IFJlcG9ydC5jcmVhdGUoJ2xjb3YnLCB7ZGlyOiBDT1ZFUkFHRV9UQVJHRVR9KTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlcG9ydC53cml0ZVJlcG9ydChjb2xsZWN0b3IsIHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChXQVRDSElORykge1xuICAgICAgICAgIC8vIFdlIGNhbiBnZXQgaW50byBhbiBvdXQgb2Ygc3luYyBzdGF0ZSB3aGVyZSBvbmx5IG9uZSBzZXQgb2YgY292ZXJhZ2VcbiAgICAgICAgICAvLyBmaWxlcyBhcmUgdXBkYXRlZCBhbmQgdGhlIHN0YXRlIGRvZXNuJ3QgbWF0Y2ggdXAsIGNhdWluZyBpc3RhbmJ1bCB0b1xuICAgICAgICAgIC8vIGJsb3cgdXAuIFdlIGFyZSBpZ25vcmluZyB0aGlzIGNhc2UgYW5kIGFzc3VtaW5nIHRoYXQgb25jZSB0aGUgb3RoZXJcbiAgICAgICAgICAvLyBjb3ZlcmFnZSBwcm9jZXNzIGNvbXBsZXRlcyB3ZSB3aWxsIHJldHVybiB0byBhIGNvbnNpc3RlbnQgc3RhdGUgaW5cbiAgICAgICAgICAvLyB0aGUgcmVwb3J0LlxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmVwb3J0ID0gUmVwb3J0LmNyZWF0ZSgndGV4dC1zdW1tYXJ5Jyk7XG4gICAgICByZXBvcnQud3JpdGVSZXBvcnQoY29sbGVjdG9yLCB0cnVlKTtcblxuICAgICAgaWYgKCFXQVRDSElORykge1xuICAgICAgICBsZXQgZXJyb3JzID0gXy5jb21wYWN0KF8ubWFwKGNvbGxlY3Rvci5nZXRGaW5hbENvdmVyYWdlKCksIChmaWxlLCBwYXRoKSA9PiB7XG4gICAgICAgICAgbGV0IHN1bW1hcnkgPSB1dGlscy5zdW1tYXJpemVGaWxlQ292ZXJhZ2UoZmlsZSksXG4gICAgICAgICAgICAgIHNvdXJjZU1hcCA9IGV4dHJhY3RTb3VyY2VNYXAoZmlsZS5jb2RlKSxcbiAgICAgICAgICAgICAgZXJyb3JzID0gW107XG5cbiAgICAgICAgICBmdW5jdGlvbiBtYXBMaW5lKGxpbmUsIGNvbHVtbiA9IDApIHtcbiAgICAgICAgICAgIGlmIChzb3VyY2VNYXApIHtcbiAgICAgICAgICAgICAgbGluZSA9IHNvdXJjZU1hcC5vcmlnaW5hbFBvc2l0aW9uRm9yKHtsaW5lLCBjb2x1bW4sIGJpYXM6IFNvdXJjZU1hcENvbnN1bWVyLkxFQVNUX1VQUEVSX0JPVU5EfSkubGluZSB8fCBgZ2VuZXJhdGVkOiAke2xpbmV9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwYXJzZUludChsaW5lLCAxMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdExpbmVzKGxpbmVzKSB7XG4gICAgICAgICAgICByZXR1cm4gbGluZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpXG4gICAgICAgICAgICAgICAgLm1hcCgobGluZSkgPT4gY29sb3JzLm1hZ2VudGEobGluZSkpXG4gICAgICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN1bW1hcnkubGluZXMucGN0IDwgMTAwKSB7XG4gICAgICAgICAgICBsZXQgbGluZXMgPSBfLmNvbXBhY3QoXy5tYXAoc3VtbWFyeS5saW5lc0NvdmVyZWQsICh2YWx1ZSwga2V5KSA9PiB2YWx1ZSA/IHVuZGVmaW5lZCA6IG1hcExpbmUocGFyc2VJbnQoa2V5LCAxMCkpKSk7XG4gICAgICAgICAgICBpZiAobGluZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGVycm9ycy5wdXNoKGBsaW5lczogJHtmb3JtYXRMaW5lcyhsaW5lcyl9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzdW1tYXJ5LnN0YXRlbWVudHMucGN0IDwgMTAwKSB7XG4gICAgICAgICAgICBsZXQgc3RhdGVtZW50cyA9IF8uY29tcGFjdChfLm1hcChmaWxlLnMsIChjb3ZlcmFnZSwgaWQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFjb3ZlcmFnZSAmJiAhZmlsZS5zdGF0ZW1lbnRNYXBbaWRdLnNraXApIHtcbiAgICAgICAgICAgICAgICBsZXQge2xpbmUsIGNvbHVtbn0gPSBmaWxlLnN0YXRlbWVudE1hcFtpZF0uc3RhcnQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcExpbmUobGluZSwgY29sdW1uKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgaWYgKHN0YXRlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGVycm9ycy5wdXNoKGBzdGF0ZW1lbnRzOiBsaW5lICMke2Zvcm1hdExpbmVzKHN0YXRlbWVudHMpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3VtbWFyeS5mdW5jdGlvbnMucGN0IDwgMTAwKSB7XG4gICAgICAgICAgICBsZXQgZnVuY3Rpb25zID0gXy5jb21wYWN0KF8ubWFwKGZpbGUuZiwgKGNvdmVyYWdlLCBpZCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWNvdmVyYWdlICYmICFmaWxlLmZuTWFwW2lkXS5za2lwKSB7XG4gICAgICAgICAgICAgICAgbGV0IHtsaW5lLCBjb2x1bW59ID0gZmlsZS5mbk1hcFtpZF0ubG9jLnN0YXJ0O1xuICAgICAgICAgICAgICAgIHJldHVybiBtYXBMaW5lKGxpbmUsIGNvbHVtbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGlmIChmdW5jdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGVycm9ycy5wdXNoKGBmdW5jdGlvbnM6IGxpbmUgIyR7Zm9ybWF0TGluZXMoZnVuY3Rpb25zKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHN1bW1hcnkuYnJhbmNoZXMucGN0IDwgMTAwKSB7XG4gICAgICAgICAgICBsZXQgYnJhbmNoZXMgPSBfLmNvbXBhY3QoXy5tYXAoZmlsZS5iLCAoY292ZXJhZ2UsIGlkKSA9PiB7XG4gICAgICAgICAgICAgIGxldCBicmFuY2ggPSBmaWxlLmJyYW5jaE1hcFtpZF07XG4gICAgICAgICAgICAgIGNvdmVyYWdlID0gXy5tYXAoY292ZXJhZ2UsIChjb3ZlcmFnZSwgbG9jYXRpb24pID0+ICFjb3ZlcmFnZSAmJiAhYnJhbmNoLmxvY2F0aW9uc1tsb2NhdGlvbl0uc2tpcCk7XG4gICAgICAgICAgICAgIGlmIChfLmluY2x1ZGVzKGNvdmVyYWdlLCB0cnVlKSkge1xuICAgICAgICAgICAgICAgIGxldCB7bGluZSwgY29sdW1ufSA9IGZpbGUuYnJhbmNoTWFwW2lkXS5sb2NhdGlvbnNbMF0uc3RhcnQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcExpbmUobGluZSwgY29sdW1uKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgaWYgKGJyYW5jaGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICBlcnJvcnMucHVzaChgYnJhbmNoZXM6IGxpbmUgIyR7Zm9ybWF0TGluZXMoYnJhbmNoZXMpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke2NvbG9ycy5jeWFuKHBhdGgpfVxcbiAgICAke2Vycm9ycy5qb2luKCdcXG4gICAgJyl9YDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcblxuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgIGVycm9ycyA9IGBDb3ZlcmFnZSBmYWlsZWQ6XFxuJHtlcnJvcnMuam9pbignXFxuJyl9YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCAmJiBDT01QTEVURV9DT1ZFUkFHRSkge1xuICAgICAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBuZXcgUGx1Z2luRXJyb3Ioe1xuICAgICAgICAgICAgcGx1Z2luOiAnY292ZXJhZ2UnLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JzXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICBHVXRpbC5sb2coJ1tjb3ZlcjpyZXBvcnRdJywgZXJyb3JzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xufSk7XG5cbkd1bHAudGFzaygnd2F0Y2g6Y292ZXI6cmVwb3J0JywgZnVuY3Rpb24oKSB7XG4gIEd1bHAud2F0Y2goYCR7Q09WRVJBR0VfVEFSR0VUfS8qKi9jb3ZlcmFnZS1maW5hbC5qc29uYCwgZnVuY3Rpb24oKSB7XG4gICAgcnVuVGFzaygnY292ZXI6cmVwb3J0Jyk7XG4gIH0pO1xufSk7XG5cbmZ1bmN0aW9uIGV4dHJhY3RTb3VyY2VNYXAoY29kZSkge1xuICBsZXQgbWFwcGluZ0xpbmUgPSBjb2RlLnJlZHVjZVJpZ2h0KChwcmV2LCBjdXJyZW50KSA9PiB7XG4gICAgcmV0dXJuIHByZXYgfHwgL3NvdXJjZU1hcHBpbmdVUkw9ZGF0YTouKmJhc2U2NCwoLiopLy5leGVjKGN1cnJlbnQpO1xuICB9LCB1bmRlZmluZWQpO1xuICBpZiAobWFwcGluZ0xpbmUpIHtcbiAgICBsZXQgZGVjb2RlZCA9IEpTT04ucGFyc2UobmV3IEJ1ZmZlcihtYXBwaW5nTGluZVsxXSwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiBuZXcgU291cmNlTWFwQ29uc3VtZXIoZGVjb2RlZCk7XG4gIH1cbn1cbiJdfQ==", "ast": null, "map": null, "mtime": 1451767327000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/cover.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "extends", "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "../babel-defaults", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "BABEL_DEFAULTS" } ] }, { "source": "istanbul", "imported": [ "Instrumenter" ], "specifiers": [ { "kind": "named", "imported": "Instrumenter", "local": "Instrumenter" } ] }, { "source": "babel-core", "imported": [ "transform" ], "specifiers": [ { "kind": "named", "imported": "transform", "local": "transform" } ] } ], "exports": { "exported": [ "instrumenterConfig" ], "specifiers": [ { "kind": "local", "local": "instrumenterConfig", "exported": "instrumenterConfig" } ] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/cover.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/cover.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "cover.js", "sourceFileName": "cover.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "cover" }, "ignored": false, "code": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.instrumenterConfig = instrumenterConfig;\n\nvar _babelDefaults = require('../babel-defaults');\n\nvar _babelDefaults2 = _interopRequireDefault(_babelDefaults);\n\nvar _istanbul = require('istanbul');\n\nvar _babelCore = require('babel-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction instrumenterConfig() {\n return {\n instrumenter: function instrumenter(opts) {\n // Hack around our own instrumenter so we can execute against inline paths but still instrument\n // the transpiled code. This is necessary as ignore statements don't work in isparta right now\n // and development has stalled by a potential istanbul merge. Fun.\n var ret = new _istanbul.Instrumenter(opts);\n var $instrumentSync = ret.instrumentSync;\n ret.instrumentSync = function (code, filename) {\n var babelOptions = _extends({\n auxiliaryCommentBefore: 'istanbul ignore start',\n auxiliaryCommentAfter: 'istanbul ignore end'\n }, _babelDefaults2.default);\n\n code = (0, _babelCore.transform)(code, Object.assign({ filename: filename }, babelOptions));\n return $instrumentSync.call(this, code.code, filename);\n };\n return ret;\n },\n\n embedSource: true,\n includeUntested: true,\n sourceMap: true\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvdmVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O1FBS2dCLGtCLEdBQUEsa0I7O0FBTGhCOzs7O0FBRUE7O0FBQ0E7Ozs7QUFFTyxTQUFTLGtCQUFULEdBQThCO0FBQ25DLFNBQU87QUFDTCxnQkFESyx3QkFDUSxJQURSLEVBQ2M7Ozs7QUFJakIsVUFBSSxNQUFNLDJCQUFpQixJQUFqQixDQUFWO0FBQ0EsVUFBSSxrQkFBa0IsSUFBSSxjQUExQjtBQUNBLFVBQUksY0FBSixHQUFxQixVQUFTLElBQVQsRUFBZSxRQUFmLEVBQXlCO0FBQzVDLFlBQUk7QUFDRixrQ0FBd0IsdUJBRHRCO0FBRUYsaUNBQXVCO0FBRnJCLG1DQUFKOztBQU1BLGVBQU8sMEJBQVUsSUFBVixFQUFnQixPQUFPLE1BQVAsQ0FBYyxFQUFDLGtCQUFELEVBQWQsRUFBMEIsWUFBMUIsQ0FBaEIsQ0FBUDtBQUNBLGVBQU8sZ0JBQWdCLElBQWhCLENBQXFCLElBQXJCLEVBQTJCLEtBQUssSUFBaEMsRUFBc0MsUUFBdEMsQ0FBUDtBQUNELE9BVEQ7QUFVQSxhQUFPLEdBQVA7QUFDRCxLQWxCSTs7QUFtQkwsaUJBQWEsSUFuQlI7QUFvQkwscUJBQWlCLElBcEJaO0FBcUJMLGVBQVc7QUFyQk4sR0FBUDtBQXVCRCIsImZpbGUiOiJjb3Zlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCQUJFTF9ERUZBVUxUUyBmcm9tICcuLi9iYWJlbC1kZWZhdWx0cyc7XG5cbmltcG9ydCB7SW5zdHJ1bWVudGVyfSBmcm9tICdpc3RhbmJ1bCc7XG5pbXBvcnQge3RyYW5zZm9ybX0gZnJvbSAnYmFiZWwtY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0cnVtZW50ZXJDb25maWcoKSB7XG4gIHJldHVybiB7XG4gICAgaW5zdHJ1bWVudGVyKG9wdHMpIHtcbiAgICAgIC8vIEhhY2sgYXJvdW5kIG91ciBvd24gaW5zdHJ1bWVudGVyIHNvIHdlIGNhbiBleGVjdXRlIGFnYWluc3QgaW5saW5lIHBhdGhzIGJ1dCBzdGlsbCBpbnN0cnVtZW50XG4gICAgICAvLyB0aGUgdHJhbnNwaWxlZCBjb2RlLiBUaGlzIGlzIG5lY2Vzc2FyeSBhcyBpZ25vcmUgc3RhdGVtZW50cyBkb24ndCB3b3JrIGluIGlzcGFydGEgcmlnaHQgbm93XG4gICAgICAvLyBhbmQgZGV2ZWxvcG1lbnQgaGFzIHN0YWxsZWQgYnkgYSBwb3RlbnRpYWwgaXN0YW5idWwgbWVyZ2UuIEZ1bi5cbiAgICAgIGxldCByZXQgPSBuZXcgSW5zdHJ1bWVudGVyKG9wdHMpO1xuICAgICAgbGV0ICRpbnN0cnVtZW50U3luYyA9IHJldC5pbnN0cnVtZW50U3luYztcbiAgICAgIHJldC5pbnN0cnVtZW50U3luYyA9IGZ1bmN0aW9uKGNvZGUsIGZpbGVuYW1lKSB7XG4gICAgICAgIGxldCBiYWJlbE9wdGlvbnMgPSB7XG4gICAgICAgICAgYXV4aWxpYXJ5Q29tbWVudEJlZm9yZTogJ2lzdGFuYnVsIGlnbm9yZSBzdGFydCcsXG4gICAgICAgICAgYXV4aWxpYXJ5Q29tbWVudEFmdGVyOiAnaXN0YW5idWwgaWdub3JlIGVuZCcsXG4gICAgICAgICAgLi4uIEJBQkVMX0RFRkFVTFRTXG4gICAgICAgIH07XG5cbiAgICAgICAgY29kZSA9IHRyYW5zZm9ybShjb2RlLCBPYmplY3QuYXNzaWduKHtmaWxlbmFtZX0sIGJhYmVsT3B0aW9ucykpO1xuICAgICAgICByZXR1cm4gJGluc3RydW1lbnRTeW5jLmNhbGwodGhpcywgY29kZS5jb2RlLCBmaWxlbmFtZSk7XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9LFxuICAgIGVtYmVkU291cmNlOiB0cnVlLFxuICAgIGluY2x1ZGVVbnRlc3RlZDogdHJ1ZSxcbiAgICBzb3VyY2VNYXA6IHRydWVcbiAgfTtcbn1cbiJdfQ==", "ast": null, "map": null, "mtime": 1452157191000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/babel.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "gulp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Gulp" } ] }, { "source": "gulp-babel", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "babel" } ] }, { "source": "gulp-changed", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "changed" } ] }, { "source": "@kpdecker/linoleum/src/plumber", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "plumber" } ] }, { "source": "@kpdecker/linoleum/config", "imported": [ "SOURCE_FILES", "BUILD_TARGET" ], "specifiers": [ { "kind": "named", "imported": "SOURCE_FILES", "local": "SOURCE_FILES" }, { "kind": "named", "imported": "BUILD_TARGET", "local": "BUILD_TARGET" } ] }, { "source": "@kpdecker/linoleum/babel-defaults", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "BABEL_DEFAULTS" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/babel.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/babel.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "babel.js", "sourceFileName": "babel.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "babel" }, "ignored": false, "code": "'use strict';\n\nvar _gulp = require('gulp');\n\nvar _gulp2 = _interopRequireDefault(_gulp);\n\nvar _gulpBabel = require('gulp-babel');\n\nvar _gulpBabel2 = _interopRequireDefault(_gulpBabel);\n\nvar _gulpChanged = require('gulp-changed');\n\nvar _gulpChanged2 = _interopRequireDefault(_gulpChanged);\n\nvar _plumber = require('@kpdecker/linoleum/src/plumber');\n\nvar _plumber2 = _interopRequireDefault(_plumber);\n\nvar _config = require('@kpdecker/linoleum/config');\n\nvar _babelDefaults = require('@kpdecker/linoleum/babel-defaults');\n\nvar _babelDefaults2 = _interopRequireDefault(_babelDefaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_gulp2.default.task('babel', function () {\n return _gulp2.default.src(_config.SOURCE_FILES).pipe((0, _plumber2.default)()).pipe((0, _gulpChanged2.default)(_config.BUILD_TARGET)).pipe((0, _gulpBabel2.default)(_babelDefaults2.default)).pipe(_gulp2.default.dest(_config.BUILD_TARGET));\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhYmVsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7QUFDQTs7Ozs7O0FBRUEsZUFBSyxJQUFMLENBQVUsT0FBVixFQUFtQixZQUFXO0FBQzVCLFdBQU8sZUFBSyxHQUFMLHVCQUNGLElBREUsQ0FDRyx3QkFESCxFQUVGLElBRkUsQ0FFRyxnREFGSCxFQUdGLElBSEUsQ0FHRyxpREFISCxFQUlGLElBSkUsQ0FJRyxlQUFLLElBQUwsc0JBSkgsQ0FBUDtBQUtELENBTkQiLCJmaWxlIjoiYmFiZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3VscCBmcm9tICdndWxwJztcbmltcG9ydCBiYWJlbCBmcm9tICdndWxwLWJhYmVsJztcbmltcG9ydCBjaGFuZ2VkIGZyb20gJ2d1bHAtY2hhbmdlZCc7XG5pbXBvcnQgcGx1bWJlciBmcm9tICdAa3BkZWNrZXIvbGlub2xldW0vc3JjL3BsdW1iZXInO1xuXG5pbXBvcnQge1NPVVJDRV9GSUxFUywgQlVJTERfVEFSR0VUfSBmcm9tICdAa3BkZWNrZXIvbGlub2xldW0vY29uZmlnJztcbmltcG9ydCBCQUJFTF9ERUZBVUxUUyBmcm9tICdAa3BkZWNrZXIvbGlub2xldW0vYmFiZWwtZGVmYXVsdHMnO1xuXG5HdWxwLnRhc2soJ2JhYmVsJywgZnVuY3Rpb24oKSB7XG4gIHJldHVybiBHdWxwLnNyYyhTT1VSQ0VfRklMRVMpXG4gICAgICAucGlwZShwbHVtYmVyKCkpXG4gICAgICAucGlwZShjaGFuZ2VkKEJVSUxEX1RBUkdFVCkpXG4gICAgICAucGlwZShiYWJlbChCQUJFTF9ERUZBVUxUUykpXG4gICAgICAucGlwZShHdWxwLmRlc3QoQlVJTERfVEFSR0VUKSk7XG59KTtcbiJdfQ==", "ast": null, "map": null, "mtime": 1452229519000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/test.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "gulp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Gulp" } ] }, { "source": "gulp-mocha", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "mocha" } ] }, { "source": "@kpdecker/linoleum/src/plumber", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "plumber" } ] }, { "source": "@kpdecker/linoleum/config", "imported": [ "testFiles" ], "specifiers": [ { "kind": "named", "imported": "testFiles", "local": "testFiles" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/test.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/test.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "test.js", "sourceFileName": "test.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "test" }, "ignored": false, "code": "'use strict';\n\nvar _gulp = require('gulp');\n\nvar _gulp2 = _interopRequireDefault(_gulp);\n\nvar _gulpMocha = require('gulp-mocha');\n\nvar _gulpMocha2 = _interopRequireDefault(_gulpMocha);\n\nvar _plumber = require('@kpdecker/linoleum/src/plumber');\n\nvar _plumber2 = _interopRequireDefault(_plumber);\n\nvar _config = require('@kpdecker/linoleum/config');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_gulp2.default.task('test:mocha', function () {\n return _gulp2.default.src((0, _config.testFiles)()).pipe((0, _plumber2.default)()).pipe((0, _gulpMocha2.default)());\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUVBLGVBQUssSUFBTCxDQUFVLFlBQVYsRUFBd0IsWUFBVztBQUNqQyxXQUFPLGVBQUssR0FBTCxDQUFTLHdCQUFULEVBQ0YsSUFERSxDQUNHLHdCQURILEVBRUYsSUFGRSxDQUVHLDBCQUZILENBQVA7QUFHRCxDQUpEIiwiZmlsZSI6InRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3VscCBmcm9tICdndWxwJztcbmltcG9ydCBtb2NoYSBmcm9tICdndWxwLW1vY2hhJztcbmltcG9ydCBwbHVtYmVyIGZyb20gJ0BrcGRlY2tlci9saW5vbGV1bS9zcmMvcGx1bWJlcic7XG5cbmltcG9ydCB7dGVzdEZpbGVzfSBmcm9tICdAa3BkZWNrZXIvbGlub2xldW0vY29uZmlnJztcblxuR3VscC50YXNrKCd0ZXN0Om1vY2hhJywgZnVuY3Rpb24oKSB7XG4gIHJldHVybiBHdWxwLnNyYyh0ZXN0RmlsZXMoKSlcbiAgICAgIC5waXBlKHBsdW1iZXIoKSlcbiAgICAgIC5waXBlKG1vY2hhKCkpO1xufSk7XG4iXX0=", "ast": null, "map": null, "mtime": 1450272934000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/cover.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "gulp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Gulp" } ] }, { "source": "gulp-istanbul", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "istanbul" } ] }, { "source": "gulp-mocha", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "mocha" } ] }, { "source": "@kpdecker/linoleum/src/cover", "imported": [ "instrumenterConfig" ], "specifiers": [ { "kind": "named", "imported": "instrumenterConfig", "local": "instrumenterConfig" } ] }, { "source": "@kpdecker/linoleum/src/plumber", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "plumber" } ] }, { "source": "@kpdecker/linoleum/config", "imported": [ "SOURCE_FILES", "COVERAGE_TARGET", "MOCHA_TIMEOUT", "testFiles" ], "specifiers": [ { "kind": "named", "imported": "SOURCE_FILES", "local": "SOURCE_FILES" }, { "kind": "named", "imported": "COVERAGE_TARGET", "local": "COVERAGE_TARGET" }, { "kind": "named", "imported": "MOCHA_TIMEOUT", "local": "MOCHA_TIMEOUT" }, { "kind": "named", "imported": "testFiles", "local": "testFiles" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/cover.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum-node/tasks/cover.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "cover.js", "sourceFileName": "cover.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "cover" }, "ignored": false, "code": "'use strict';\n\nvar _gulp = require('gulp');\n\nvar _gulp2 = _interopRequireDefault(_gulp);\n\nvar _gulpIstanbul = require('gulp-istanbul');\n\nvar _gulpIstanbul2 = _interopRequireDefault(_gulpIstanbul);\n\nvar _gulpMocha = require('gulp-mocha');\n\nvar _gulpMocha2 = _interopRequireDefault(_gulpMocha);\n\nvar _cover = require('@kpdecker/linoleum/src/cover');\n\nvar _plumber = require('@kpdecker/linoleum/src/plumber');\n\nvar _plumber2 = _interopRequireDefault(_plumber);\n\nvar _config = require('@kpdecker/linoleum/config');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction coverSourceFiles() {\n return _gulp2.default.src(_config.SOURCE_FILES).pipe((0, _plumber2.default)()).pipe((0, _gulpIstanbul2.default)((0, _cover.instrumenterConfig)()));\n}\n\n// This task hierarchy is to hack around\n// https://github.com/sindresorhus/gulp-mocha/issues/112\n_gulp2.default.task('cover:mocha:pre', function () {\n return coverSourceFiles().pipe(_gulpIstanbul2.default.hookRequire({ extensions: ['.js', '.jsx'] }));\n});\n_gulp2.default.task('cover:mocha:run', ['cover:mocha:pre'], function () {\n return _gulp2.default.src((0, _config.testFiles)()).pipe((0, _plumber2.default)()).pipe((0, _gulpMocha2.default)({ timeout: _config.MOCHA_TIMEOUT || 2000 }));\n});\n_gulp2.default.task('cover:mocha', ['cover:mocha:run'], function () {\n return _gulp2.default.src((0, _config.testFiles)()).pipe(_gulpIstanbul2.default.writeReports({\n dir: _config.COVERAGE_TARGET,\n reporters: ['json'],\n reportOpts: { dir: _config.COVERAGE_TARGET + '/mocha' }\n }));\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvdmVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBRUE7O0FBQ0E7Ozs7QUFFQTs7OztBQUVBLFNBQVMsZ0JBQVQsR0FBNEI7QUFDMUIsU0FBTyxlQUFLLEdBQUwsdUJBQ0YsSUFERSxDQUNHLHdCQURILEVBRUYsSUFGRSxDQUVHLDRCQUFTLGdDQUFULENBRkgsQ0FBUDtBQUdEOzs7O0FBSUQsZUFBSyxJQUFMLENBQVUsaUJBQVYsRUFBNkIsWUFBVztBQUN0QyxTQUFPLG1CQUNGLElBREUsQ0FDRyx1QkFBUyxXQUFULENBQXFCLEVBQUMsWUFBWSxDQUFDLEtBQUQsRUFBUSxNQUFSLENBQWIsRUFBckIsQ0FESCxDQUFQO0FBRUQsQ0FIRDtBQUlBLGVBQUssSUFBTCxDQUFVLGlCQUFWLEVBQTZCLENBQUMsaUJBQUQsQ0FBN0IsRUFBa0QsWUFBVztBQUMzRCxTQUFPLGVBQUssR0FBTCxDQUFTLHdCQUFULEVBQ0YsSUFERSxDQUNHLHdCQURILEVBRUYsSUFGRSxDQUVHLHlCQUFNLEVBQUMsU0FBUyx5QkFBaUIsSUFBM0IsRUFBTixDQUZILENBQVA7QUFHRCxDQUpEO0FBS0EsZUFBSyxJQUFMLENBQVUsYUFBVixFQUF5QixDQUFDLGlCQUFELENBQXpCLEVBQThDLFlBQVc7QUFDdkQsU0FBTyxlQUFLLEdBQUwsQ0FBUyx3QkFBVCxFQUNGLElBREUsQ0FDRyx1QkFBUyxZQUFULENBQXNCO0FBQzFCLGdDQUQwQjtBQUUxQixlQUFXLENBQUUsTUFBRixDQUZlO0FBRzFCLGdCQUFZLEVBQUUsdUNBQUY7QUFIYyxHQUF0QixDQURILENBQVA7QUFNRCxDQVBEIiwiZmlsZSI6ImNvdmVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEd1bHAgZnJvbSAnZ3VscCc7XG5pbXBvcnQgaXN0YW5idWwgZnJvbSAnZ3VscC1pc3RhbmJ1bCc7XG5pbXBvcnQgbW9jaGEgZnJvbSAnZ3VscC1tb2NoYSc7XG5cbmltcG9ydCB7aW5zdHJ1bWVudGVyQ29uZmlnfSBmcm9tICdAa3BkZWNrZXIvbGlub2xldW0vc3JjL2NvdmVyJztcbmltcG9ydCBwbHVtYmVyIGZyb20gJ0BrcGRlY2tlci9saW5vbGV1bS9zcmMvcGx1bWJlcic7XG5cbmltcG9ydCB7U09VUkNFX0ZJTEVTLCBDT1ZFUkFHRV9UQVJHRVQsIE1PQ0hBX1RJTUVPVVQsIHRlc3RGaWxlc30gZnJvbSAnQGtwZGVja2VyL2xpbm9sZXVtL2NvbmZpZyc7XG5cbmZ1bmN0aW9uIGNvdmVyU291cmNlRmlsZXMoKSB7XG4gIHJldHVybiBHdWxwLnNyYyhTT1VSQ0VfRklMRVMpXG4gICAgICAucGlwZShwbHVtYmVyKCkpXG4gICAgICAucGlwZShpc3RhbmJ1bChpbnN0cnVtZW50ZXJDb25maWcoKSkpO1xufVxuXG4vLyBUaGlzIHRhc2sgaGllcmFyY2h5IGlzIHRvIGhhY2sgYXJvdW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2d1bHAtbW9jaGEvaXNzdWVzLzExMlxuR3VscC50YXNrKCdjb3Zlcjptb2NoYTpwcmUnLCBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIGNvdmVyU291cmNlRmlsZXMoKVxuICAgICAgLnBpcGUoaXN0YW5idWwuaG9va1JlcXVpcmUoe2V4dGVuc2lvbnM6IFsnLmpzJywgJy5qc3gnXX0pKTtcbn0pO1xuR3VscC50YXNrKCdjb3Zlcjptb2NoYTpydW4nLCBbJ2NvdmVyOm1vY2hhOnByZSddLCBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIEd1bHAuc3JjKHRlc3RGaWxlcygpKVxuICAgICAgLnBpcGUocGx1bWJlcigpKVxuICAgICAgLnBpcGUobW9jaGEoe3RpbWVvdXQ6IE1PQ0hBX1RJTUVPVVQgfHwgMjAwMH0pKTtcbn0pO1xuR3VscC50YXNrKCdjb3Zlcjptb2NoYScsIFsnY292ZXI6bW9jaGE6cnVuJ10sIGZ1bmN0aW9uKCkge1xuICByZXR1cm4gR3VscC5zcmModGVzdEZpbGVzKCkpXG4gICAgICAucGlwZShpc3RhbmJ1bC53cml0ZVJlcG9ydHMoe1xuICAgICAgICBkaXI6IENPVkVSQUdFX1RBUkdFVCxcbiAgICAgICAgcmVwb3J0ZXJzOiBbICdqc29uJyBdLFxuICAgICAgICByZXBvcnRPcHRzOiB7IGRpcjogYCR7Q09WRVJBR0VfVEFSR0VUfS9tb2NoYWAgfVxuICAgICAgfSkpO1xufSk7XG4iXX0=", "ast": null, "map": null, "mtime": 1460740645000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/sandbox.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "chai", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Chai" } ] }, { "source": "chai-string", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "ChaiString" } ] }, { "source": "sinon", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Sinon" } ] }, { "source": "sinon-chai", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "SinonChai" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/sandbox.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/node_modules/@kpdecker/linoleum/src/sandbox.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "sandbox.js", "sourceFileName": "sandbox.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "sandbox" }, "ignored": false, "code": "'use strict';\n\nvar _chai = require('chai');\n\nvar _chai2 = _interopRequireDefault(_chai);\n\nvar _chaiString = require('chai-string');\n\nvar _chaiString2 = _interopRequireDefault(_chaiString);\n\nvar _sinon = require('sinon');\n\nvar _sinon2 = _interopRequireDefault(_sinon);\n\nvar _sinonChai = require('sinon-chai');\n\nvar _sinonChai2 = _interopRequireDefault(_sinonChai);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-env mocha */\n\n\n_chai2.default.use(_chaiString2.default);\n_chai2.default.use(_sinonChai2.default);\n\nbeforeEach(function () {\n this.sandbox = _sinon2.default.sandbox.create({\n injectInto: this,\n properties: ['spy', 'stub', 'mock'],\n useFakeTimers: false,\n useFakeServer: false\n });\n});\nafterEach(function () {\n this.sandbox.restore();\n});\n\n/* istanbul ignore next */\nif (typeof process !== 'undefined') {\n (function () {\n var unhandledRejection = function unhandledRejection(err) {\n if (!err) {\n throw new Error('Rejection without value passed');\n } else {\n throw err;\n }\n };\n\n beforeEach(function () {\n process.on('unhandledRejection', unhandledRejection);\n });\n afterEach(function () {\n process.removeListener('unhandledRejection', unhandledRejection);\n });\n })();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNhbmRib3guanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7O0FBRUEsZUFBSyxHQUFMO0FBQ0EsZUFBSyxHQUFMOztBQUVBLFdBQVcsWUFBVztBQUNwQixPQUFLLE9BQUwsR0FBZSxnQkFBTSxPQUFOLENBQWMsTUFBZCxDQUFxQjtBQUNsQyxnQkFBWSxJQURzQjtBQUVsQyxnQkFBWSxDQUFDLEtBQUQsRUFBUSxNQUFSLEVBQWdCLE1BQWhCLENBRnNCO0FBR2xDLG1CQUFlLEtBSG1CO0FBSWxDLG1CQUFlO0FBSm1CLEdBQXJCLENBQWY7QUFNRCxDQVBEO0FBUUEsVUFBVSxZQUFXO0FBQ25CLE9BQUssT0FBTCxDQUFhLE9BQWI7QUFDRCxDQUZEOzs7QUFLQSxJQUFJLE9BQU8sT0FBUCxLQUFtQixXQUF2QixFQUFvQztBQUFBO0FBQUEsUUFDekIsa0JBRHlCLEdBQ2xDLFNBQVMsa0JBQVQsQ0FBNEIsR0FBNUIsRUFBaUM7QUFDL0IsVUFBSSxDQUFDLEdBQUwsRUFBVTtBQUNSLGNBQU0sSUFBSSxLQUFKLENBQVUsZ0NBQVYsQ0FBTjtBQUNELE9BRkQsTUFFTztBQUNMLGNBQU0sR0FBTjtBQUNEO0FBQ0YsS0FQaUM7O0FBUWxDLGVBQVcsWUFBVztBQUNwQixjQUFRLEVBQVIsQ0FBVyxvQkFBWCxFQUFpQyxrQkFBakM7QUFDRCxLQUZEO0FBR0EsY0FBVSxZQUFXO0FBQ25CLGNBQVEsY0FBUixDQUF1QixvQkFBdkIsRUFBNkMsa0JBQTdDO0FBQ0QsS0FGRDtBQVhrQztBQWNuQyIsImZpbGUiOiJzYW5kYm94LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWVudiBtb2NoYSAqL1xuaW1wb3J0IENoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgQ2hhaVN0cmluZyBmcm9tICdjaGFpLXN0cmluZyc7XG5pbXBvcnQgU2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IFNpbm9uQ2hhaSBmcm9tICdzaW5vbi1jaGFpJztcblxuQ2hhaS51c2UoQ2hhaVN0cmluZyk7XG5DaGFpLnVzZShTaW5vbkNoYWkpO1xuXG5iZWZvcmVFYWNoKGZ1bmN0aW9uKCkge1xuICB0aGlzLnNhbmRib3ggPSBTaW5vbi5zYW5kYm94LmNyZWF0ZSh7XG4gICAgaW5qZWN0SW50bzogdGhpcyxcbiAgICBwcm9wZXJ0aWVzOiBbJ3NweScsICdzdHViJywgJ21vY2snXSxcbiAgICB1c2VGYWtlVGltZXJzOiBmYWxzZSxcbiAgICB1c2VGYWtlU2VydmVyOiBmYWxzZVxuICB9KTtcbn0pO1xuYWZ0ZXJFYWNoKGZ1bmN0aW9uKCkge1xuICB0aGlzLnNhbmRib3gucmVzdG9yZSgpO1xufSk7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5pZiAodHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnKSB7XG4gIGZ1bmN0aW9uIHVuaGFuZGxlZFJlamVjdGlvbihlcnIpIHtcbiAgICBpZiAoIWVycikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWplY3Rpb24gd2l0aG91dCB2YWx1ZSBwYXNzZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxuICBiZWZvcmVFYWNoKGZ1bmN0aW9uKCkge1xuICAgIHByb2Nlc3Mub24oJ3VuaGFuZGxlZFJlamVjdGlvbicsIHVuaGFuZGxlZFJlamVjdGlvbik7XG4gIH0pO1xuICBhZnRlckVhY2goZnVuY3Rpb24oKSB7XG4gICAgcHJvY2Vzcy5yZW1vdmVMaXN0ZW5lcigndW5oYW5kbGVkUmVqZWN0aW9uJywgdW5oYW5kbGVkUmVqZWN0aW9uKTtcbiAgfSk7XG59XG4iXX0=", "ast": null, "map": null, "mtime": 1452195062000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/test/app.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireWildcard", "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "../src/app", "imported": [ "*" ], "specifiers": [ { "kind": "namespace", "local": "App" } ] }, { "source": "chai", "imported": [ "expect" ], "specifiers": [ { "kind": "named", "imported": "expect", "local": "expect" } ] }, { "source": "fs", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "fs" } ] }, { "source": "temp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "temp" } ] }, { "source": "rimraf", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "rimraf" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/test/app.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/test/app.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "app.js", "sourceFileName": "app.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "app" }, "ignored": false, "code": "'use strict';\n\nvar _app = require('../src/app');\n\nvar App = _interopRequireWildcard(_app);\n\nvar _chai = require('chai');\n\nvar _fs = require('fs');\n\nvar _fs2 = _interopRequireDefault(_fs);\n\nvar _temp = require('temp');\n\nvar _temp2 = _interopRequireDefault(_temp);\n\nvar _rimraf = require('rimraf');\n\nvar _rimraf2 = _interopRequireDefault(_rimraf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\ndescribe('app', function () {\n this.timeout(10000); // Be loose with network IO\n\n var path = void 0;\n afterEach(function (done) {\n if (path) {\n (0, _rimraf2.default)(path, done);\n path = undefined;\n } else {\n done();\n }\n });\n\n it('should extract package', function () {\n path = _temp2.default.mkdirSync({ suffix: '.download' });\n return App.extract(__dirname + '/artifacts/disk.dmg', path).then(function () {\n return (0, _chai.expect)(_fs2.default.existsSync(path + '/The App.app/file.txt')).to.be.true;\n }).then(function () {\n return (0, _chai.expect)(_fs2.default.existsSync(path + '/The App.app/sub/file.txt')).to.be.true;\n });\n });\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOztJQUFZLEc7O0FBRVo7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7OztBQUVBLFNBQVMsS0FBVCxFQUFnQixZQUFXO0FBQ3pCLE9BQUssT0FBTCxDQUFhLEtBQWIsRTs7QUFFQSxNQUFJLGFBQUo7QUFDQSxZQUFVLFVBQUMsSUFBRCxFQUFVO0FBQ2xCLFFBQUksSUFBSixFQUFVO0FBQ1IsNEJBQU8sSUFBUCxFQUFhLElBQWI7QUFDQSxhQUFPLFNBQVA7QUFDRCxLQUhELE1BR087QUFDTDtBQUNEO0FBQ0YsR0FQRDs7QUFTQSxLQUFHLHdCQUFILEVBQTZCLFlBQVc7QUFDdEMsV0FBTyxlQUFLLFNBQUwsQ0FBZSxFQUFDLFFBQVEsV0FBVCxFQUFmLENBQVA7QUFDQSxXQUFPLElBQUksT0FBSixDQUFlLFNBQWYsMEJBQStDLElBQS9DLEVBQ0YsSUFERSxDQUNHO0FBQUEsYUFBTSxrQkFBTyxhQUFHLFVBQUgsQ0FBaUIsSUFBakIsMkJBQVAsRUFBc0QsRUFBdEQsQ0FBeUQsRUFBekQsQ0FBNEQsSUFBbEU7QUFBQSxLQURILEVBRUYsSUFGRSxDQUVHO0FBQUEsYUFBTSxrQkFBTyxhQUFHLFVBQUgsQ0FBaUIsSUFBakIsK0JBQVAsRUFBMEQsRUFBMUQsQ0FBNkQsRUFBN0QsQ0FBZ0UsSUFBdEU7QUFBQSxLQUZILENBQVA7QUFHRCxHQUxEO0FBTUQsQ0FuQkQiLCJmaWxlIjoiYXBwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQXBwIGZyb20gJy4uL3NyYy9hcHAnO1xuXG5pbXBvcnQge2V4cGVjdH0gZnJvbSAnY2hhaSc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHRlbXAgZnJvbSAndGVtcCc7XG5pbXBvcnQgcmltcmFmIGZyb20gJ3JpbXJhZic7XG5cbmRlc2NyaWJlKCdhcHAnLCBmdW5jdGlvbigpIHtcbiAgdGhpcy50aW1lb3V0KDEwMDAwKTsgICAgLy8gQmUgbG9vc2Ugd2l0aCBuZXR3b3JrIElPXG5cbiAgbGV0IHBhdGg7XG4gIGFmdGVyRWFjaCgoZG9uZSkgPT4ge1xuICAgIGlmIChwYXRoKSB7XG4gICAgICByaW1yYWYocGF0aCwgZG9uZSk7XG4gICAgICBwYXRoID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb25lKCk7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc2hvdWxkIGV4dHJhY3QgcGFja2FnZScsIGZ1bmN0aW9uKCkge1xuICAgIHBhdGggPSB0ZW1wLm1rZGlyU3luYyh7c3VmZml4OiAnLmRvd25sb2FkJ30pO1xuICAgIHJldHVybiBBcHAuZXh0cmFjdChgJHtfX2Rpcm5hbWV9L2FydGlmYWN0cy9kaXNrLmRtZ2AsIHBhdGgpXG4gICAgICAgIC50aGVuKCgpID0+IGV4cGVjdChmcy5leGlzdHNTeW5jKGAke3BhdGh9L1RoZSBBcHAuYXBwL2ZpbGUudHh0YCkpLnRvLmJlLnRydWUpXG4gICAgICAgIC50aGVuKCgpID0+IGV4cGVjdChmcy5leGlzdHNTeW5jKGAke3BhdGh9L1RoZSBBcHAuYXBwL3N1Yi9maWxlLnR4dGApKS50by5iZS50cnVlKTtcbiAgfSk7XG59KTtcbiJdfQ==", "ast": null, "map": null, "mtime": 1444707190000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/src/app.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "child_process", "imported": [ "exec" ], "specifiers": [ { "kind": "named", "imported": "exec", "local": "exec" } ] }, { "source": "dmg", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "Dmg" } ] }, { "source": "glob", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "glob" } ] }, { "source": "path", "imported": [ "join", "relative" ], "specifiers": [ { "kind": "named", "imported": "join", "local": "join" }, { "kind": "named", "imported": "relative", "local": "relative" } ] } ], "exports": { "exported": [ "extract", "dmg", "destination", "mount", "dmg", "unmount", "volume", "cleanup", "source", "destination", "copy", "volume", "destination" ], "specifiers": [ { "kind": "local", "local": "extract", "exported": "extract" }, { "kind": "local", "local": "dmg", "exported": "dmg" }, { "kind": "local", "local": "destination", "exported": "destination" }, { "kind": "local", "local": "mount", "exported": "mount" }, { "kind": "local", "local": "dmg", "exported": "dmg" }, { "kind": "local", "local": "unmount", "exported": "unmount" }, { "kind": "local", "local": "volume", "exported": "volume" }, { "kind": "local", "local": "cleanup", "exported": "cleanup" }, { "kind": "local", "local": "source", "exported": "source" }, { "kind": "local", "local": "destination", "exported": "destination" }, { "kind": "local", "local": "copy", "exported": "copy" }, { "kind": "local", "local": "volume", "exported": "volume" }, { "kind": "local", "local": "destination", "exported": "destination" } ] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/src/app.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/src/app.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "app.js", "sourceFileName": "app.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "app" }, "ignored": false, "code": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.extract = extract;\nexports.mount = mount;\nexports.unmount = unmount;\nexports.cleanup = cleanup;\nexports.copy = copy;\n\nvar _child_process = require('child_process');\n\nvar _dmg = require('dmg');\n\nvar _dmg2 = _interopRequireDefault(_dmg);\n\nvar _glob = require('glob');\n\nvar _glob2 = _interopRequireDefault(_glob);\n\nvar _path = require('path');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction extract(dmg, destination) {\n return mount(dmg).then(function (volume) {\n return cleanup(volume, destination);\n }).then(function (volume) {\n return copy(volume, destination);\n }).then(function (volume) {\n return new Promise(function (resolve) {\n return setTimeout(function () {\n return resolve(volume);\n }, 1000);\n });\n }).then(function (volume) {\n return unmount(volume);\n });\n}\n\nfunction mount(dmg) {\n return new Promise(function (resolve, reject) {\n _dmg2.default.mount(dmg, function (err, volume) {\n /* istanbul ignore if */\n if (err) {\n reject(err);\n } else {\n resolve(volume);\n }\n });\n });\n}\nfunction unmount(volume) {\n return new Promise(function (resolve) {\n _dmg2.default.unmount(volume, function (err, volume) {\n // TODO: Figure out how to make this less brittle\n /* istanbul ignore if */\n if (err) {\n console.log(err.stack);\n }\n\n resolve(volume);\n });\n });\n}\n\nfunction cleanup(source, destination) {\n return Promise.all(_glob2.default.sync((0, _path.join)(source, '*.app')).map(function (file) {\n file = (0, _path.relative)(source, file);\n\n return new Promise(function (resolve, reject) {\n var toRemove = JSON.stringify((0, _path.join)(destination, file));\n console.log('Removing ' + toRemove);\n (0, _child_process.exec)('rm -rf \"' + toRemove + '\"', function (err) {\n /* istanbul ignore if */\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n })).then(function () {\n return source;\n });\n}\n\nfunction copy(volume, destination) {\n return new Promise(function (resolve, reject) {\n (0, _child_process.exec)('cp -a \"' + volume + '\"/*.app \"' + destination + '\"', function (err) {\n /* istanbul ignore if */\n if (err) {\n reject(err);\n } else {\n resolve(volume);\n }\n });\n });\n}\n//# sourceMappingURL=data:application/json;base64,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TUFFTztBQUNMLGdCQUFRLE1BQVI7QUFDRDtBQUNGLEtBUEQ7QUFRRCxHQVRNLENBQVA7QUFVRCIsImZpbGUiOiJhcHAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2V4ZWN9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IERtZyBmcm9tICdkbWcnO1xuaW1wb3J0IGdsb2IgZnJvbSAnZ2xvYic7XG5pbXBvcnQge2pvaW4sIHJlbGF0aXZlfSBmcm9tICdwYXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3QoZG1nLCBkZXN0aW5hdGlvbikge1xuICByZXR1cm4gbW91bnQoZG1nKVxuICAgICAgLnRoZW4oKHZvbHVtZSkgPT4gY2xlYW51cCh2b2x1bWUsIGRlc3RpbmF0aW9uKSlcbiAgICAgIC50aGVuKCh2b2x1bWUpID0+IGNvcHkodm9sdW1lLCBkZXN0aW5hdGlvbikpXG4gICAgICAudGhlbigodm9sdW1lKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKHZvbHVtZSksIDEwMDApKSlcbiAgICAgIC50aGVuKCh2b2x1bWUpID0+IHVubW91bnQodm9sdW1lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3VudChkbWcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBEbWcubW91bnQoZG1nLCBmdW5jdGlvbihlcnIsIHZvbHVtZSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZSh2b2x1bWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1bm1vdW50KHZvbHVtZSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBEbWcudW5tb3VudCh2b2x1bWUsIGZ1bmN0aW9uKGVyciwgdm9sdW1lKSB7XG4gICAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGhvdyB0byBtYWtlIHRoaXMgbGVzcyBicml0dGxlXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyLnN0YWNrKTtcbiAgICAgIH1cblxuICAgICAgcmVzb2x2ZSh2b2x1bWUpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXAoc291cmNlLCBkZXN0aW5hdGlvbikge1xuICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgZ2xvYi5zeW5jKGpvaW4oc291cmNlLCAnKi5hcHAnKSkubWFwKChmaWxlKSA9PiB7XG4gICAgICBmaWxlID0gcmVsYXRpdmUoc291cmNlLCBmaWxlKTtcblxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgbGV0IHRvUmVtb3ZlID0gSlNPTi5zdHJpbmdpZnkoam9pbihkZXN0aW5hdGlvbiwgZmlsZSkpO1xuICAgICAgICBjb25zb2xlLmxvZyhgUmVtb3ZpbmcgJHt0b1JlbW92ZX1gKTtcbiAgICAgICAgZXhlYyhgcm0gLXJmIFwiJHt0b1JlbW92ZX1cImAsIGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pXG4gIClcbiAgLnRoZW4oKCkgPT4gc291cmNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvcHkodm9sdW1lLCBkZXN0aW5hdGlvbikge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGV4ZWMoYGNwIC1hIFwiJHt2b2x1bWV9XCIvKi5hcHAgXCIke2Rlc3RpbmF0aW9ufVwiYCwgZnVuY3Rpb24oZXJyKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKHZvbHVtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl19", "ast": null, "map": null, "mtime": 1444707190000 }, "{\"filename\":\"/Users/kpdecker/dev/kpdecker/browser-downloader/test/download.js\",\"env\":{},\"retainLines\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"presets\":[],\"plugins\":[[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],null],[[],{\"async\":false,\"asyncGenerators\":false}],[[],null],[[],null],[[],null],[[],null],[[],null]],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"minified\":false,\"sourceMap\":\"inline\",\"sourceMaps\":\"inline\",\"babelrc\":true,\"sourceType\":\"module\",\"moduleIds\":false,\"passPerPreset\":false}:6.7.7": { "metadata": { "usedHelpers": [ "interopRequireWildcard", "interopRequireDefault" ], "marked": [], "modules": { "imports": [ { "source": "../src/download", "imported": [ "*" ], "specifiers": [ { "kind": "namespace", "local": "Downloader" } ] }, { "source": "chai", "imported": [ "expect" ], "specifiers": [ { "kind": "named", "imported": "expect", "local": "expect" } ] }, { "source": "fs", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "fs" } ] }, { "source": "temp", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "temp" } ] }, { "source": "rimraf", "imported": [ "default" ], "specifiers": [ { "kind": "named", "imported": "default", "local": "rimraf" } ] } ], "exports": { "exported": [], "specifiers": [] } } }, "options": { "filename": "/Users/kpdecker/dev/kpdecker/browser-downloader/test/download.js", "filenameRelative": "/Users/kpdecker/dev/kpdecker/browser-downloader/test/download.js", "env": {}, "retainLines": false, "highlightCode": true, "suppressDeprecationMessages": false, "presets": [], "plugins": [ [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], { "async": false, "asyncGenerators": false } ], [ [], null ], [ [], null ], [ [], null ], [ [], null ], [ [], null ] ], "ignore": [], "code": true, "metadata": true, "ast": false, "comments": true, "compact": "auto", "minified": false, "sourceMap": "both", "sourceMaps": "inline", "sourceMapTarget": "download.js", "sourceFileName": "download.js", "babelrc": false, "sourceType": "module", "moduleIds": false, "passPerPreset": false, "basename": "download" }, "ignored": false, "code": "'use strict';\n\nvar _download = require('../src/download');\n\nvar Downloader = _interopRequireWildcard(_download);\n\nvar _chai = require('chai');\n\nvar _fs = require('fs');\n\nvar _fs2 = _interopRequireDefault(_fs);\n\nvar _temp = require('temp');\n\nvar _temp2 = _interopRequireDefault(_temp);\n\nvar _rimraf = require('rimraf');\n\nvar _rimraf2 = _interopRequireDefault(_rimraf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\ndescribe('downloader', function () {\n this.timeout(10000); // Be loose with network IO\n\n var path = void 0;\n afterEach(function (done) {\n if (path) {\n (0, _rimraf2.default)(path, done);\n path = undefined;\n } else {\n done();\n }\n });\n\n it('should download file', function () {\n path = _temp2.default.mkdirSync({ suffix: '.html' });\n return Downloader.download('https://developer.apple.com/safari/download/', path).then(function () {\n var content = _fs2.default.readFileSync(path + '/download');\n (0, _chai.expect)(content).to.match(/