diff --git a/package.json b/package.json index afd53c314..f58a6cea0 100644 --- a/package.json +++ b/package.json @@ -18,11 +18,12 @@ "devDependencies": { "@azure/cosmos": "^2.0.5", "@bugsnag/js": "^5.0.1", + "@ffmpeg-installer/ffmpeg": "^1.0.17", "@google-cloud/bigquery": "^2.0.1", "@google-cloud/firestore": "^0.19.0", "@sentry/node": "^4.3.0", "@tensorflow/tfjs-node": "^0.3.0", - "@zeit/webpack-asset-relocator-loader": "0.4.5", + "@zeit/webpack-asset-relocator-loader": "0.5.0-beta.5", "analytics-node": "^3.3.0", "apollo-server-express": "^2.2.2", "arg": "^4.1.0", @@ -60,6 +61,7 @@ "jugglingdb": "2.0.1", "koa": "^2.6.2", "leveldown": "^4.0.1", + "lighthouse": "^5.0.0", "loopback": "^3.24.0", "mailgun": "^0.5.0", "mariadb": "^2.0.1-beta", @@ -73,6 +75,7 @@ "passport": "^0.4.0", "passport-google-oauth": "^1.0.0", "path-platform": "^0.11.15", + "pdf2json": "^1.1.8", "pdfkit": "^0.8.3", "pg": "^7.6.1", "pug": "^2.0.3", diff --git a/scripts/build.js b/scripts/build.js index 3cb4dac36..58d192bff 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -62,13 +62,12 @@ async function main() { // detect unexpected asset emissions from core build const unknownAssets = [ ...Object.keys(cliAssets), - ...Object.keys(indexAssets).filter(asset => !asset.startsWith('locales/')), + ...Object.keys(indexAssets).filter(asset => !asset.startsWith('locales/') && asset !== 'worker.js' && asset !== 'index1.js'), ...Object.keys(relocateLoaderAssets), ...Object.keys(shebangLoaderAssets), - ...Object.keys(tsLoaderAssets).filter(asset => !asset.startsWith('lib/')), + ...Object.keys(tsLoaderAssets).filter(asset => !asset.startsWith('lib/') && !asset.startsWith('typescript/lib')), ...Object.keys(sourcemapAssets) ].filter(asset => !asset.endsWith('.js.cache') && !asset.endsWith('.cache.js')); - if (unknownAssets.length) { console.error("New assets are being emitted by the core build"); console.log(unknownAssets); @@ -111,6 +110,8 @@ module.exports = typescript; writeFileSync(__dirname + "/../dist/ncc/loaders/ts-loader.js", tsLoader); writeFileSync(__dirname + "/../dist/ncc/loaders/uncacheable.js", readFileSync(__dirname + "/../src/loaders/uncacheable.js")); writeFileSync(__dirname + "/../dist/ncc/loaders/empty-loader.js", readFileSync(__dirname + "/../src/loaders/empty-loader.js")); + writeFileSync(__dirname + "/../dist/ncc/loaders/notfound-loader.js", readFileSync(__dirname + "/../src/loaders/notfound-loader.js")); + writeFileSync(__dirname + "/../dist/ncc/@@notfound.js", readFileSync(__dirname + "/../src/@@notfound.js")); // copy typescript types await copy( diff --git a/src/@@notfound.js b/src/@@notfound.js new file mode 100644 index 000000000..60f186dbc --- /dev/null +++ b/src/@@notfound.js @@ -0,0 +1,9 @@ +const id = 'UNKNOWN'; +if (id.startsWith('./') || id.startsWith('../')) { + const e = new Error('Cannot find module "' + id + '".'); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +else { + __non_webpack_require__(id); +} diff --git a/src/index.js b/src/index.js index c2cd247e5..3bef0c86c 100644 --- a/src/index.js +++ b/src/index.js @@ -66,7 +66,6 @@ module.exports = ( existingAssetNames.push(`${filename}.cache.js`); } const resolvePlugins = []; - let tsconfigMatchPath; // add TsconfigPathsPlugin to support `paths` resolution in tsconfig // we need to catch here because the plugin will // error if there's no tsconfig in the working directory @@ -79,6 +78,21 @@ module.exports = ( } } catch (e) {} + resolvePlugins.push({ + apply(resolver) { + const resolve = resolver.resolve; + resolver.resolve = function (context, path, request, resolveContext, callback) { + resolve.call(resolver, context, path, request, resolveContext, function (err, result) { + if (!err) return callback(null, result); + if (!err.missing || !err.missing.length) + return callback(err); + // make not found errors runtime errors + callback(null, __dirname + '/@@notfound.js' + '?' + request); + }); + }; + } + }); + const externalSet = new Set(externals); let watcher, watchHandler, rebuildHandler; @@ -118,30 +132,16 @@ module.exports = ( node: false, externals: async ({ context, request }, callback) => { if (externalSet.has(request)) return callback(null, `commonjs ${request}`); - if (request[0] === "." && (request[1] === "/" || request[1] === "." && request[2] === "/")) { - if (request.startsWith("./node_modules/")) request = request.substr(15); - else if (request.startsWith("../node_modules/")) request = request.substr(16); - else return callback(); - } - if (request[0] === "/" || /^[a-z]:\\/i.test(request) || nodeBuiltins.has(request) || - tsconfigMatchPath && tsconfigMatchPath(request, undefined, undefined, SUPPORTED_EXTENSIONS)) - return callback(); - const pkgNameMatch = request.match(pkgNameRegEx); - if (pkgNameMatch) request = pkgNameMatch[0]; - let pkgPath = context + sep + 'node_modules' + sep + request; - do { - if (await new Promise((resolve, reject) => - compiler.inputFileSystem.stat(pkgPath, (err, stats) => - err && err.code !== 'ENOENT' ? reject(err) : resolve(stats ? stats.isDirectory() : false) - ) - )) - return callback(); - } while (pkgPath.length > (pkgPath = pkgPath.substr(0, pkgPath.lastIndexOf(sep, pkgPath.length - 15 - request.length)) + sep + 'node_modules' + sep + request).length); - console.error(`ncc: Module directory "${context}" attempted to require "${request}" but could not be resolved, assuming external.`); - return callback(null, `commonjs ${request}`); + return callback(); }, module: { rules: [ + { + test: /@@notfound\.js$/, + use: [{ + loader: eval('__dirname + "/loaders/notfound-loader.js"') + }] + }, { test: /\.(js|mjs|tsx?|node)$/, use: [{ @@ -184,6 +184,36 @@ module.exports = ( plugins: [ { apply(compiler) { + // override "not found" context to try built require first + compiler.hooks.compilation.tap("ncc", compilation => { + compilation.moduleTemplates.javascript.hooks.render.tap( + "ncc", + ( + moduleSourcePostModule, + module, + options, + dependencyTemplates + ) => { + if ( + module._contextDependencies && + moduleSourcePostModule._value.match( + /webpackEmptyAsyncContext|webpackEmptyContext/ + ) + ) { + // ensure __webpack_require__ is added to wrapper + module.type = 'custom'; + return moduleSourcePostModule._value.replace( + "var e = new Error", + `if (typeof req === 'number' && __webpack_require__.m[req])\n` + + ` return __webpack_require__(req);\n` + + `try { return require(req) }\n` + + `catch (e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\n` + + `var e = new Error` + ); + } + } + ); + }); compiler.hooks.compilation.tap("relocate-loader", relocateLoader.initAssetPermissionsCache); compiler.hooks.watchRun.tap("ncc", () => { if (rebuildHandler) diff --git a/src/loaders/notfound-loader.js b/src/loaders/notfound-loader.js new file mode 100644 index 000000000..5b925fa36 --- /dev/null +++ b/src/loaders/notfound-loader.js @@ -0,0 +1,7 @@ +module.exports = function (input, map) { + if (this.cacheable) + this.cacheable(); + const id = this.resourceQuery.substr(1); + input = input.replace('\'UNKNOWN\'', JSON.stringify(id)); + this.callback(null, input, map); +}; diff --git a/test/integration/ffmpeg.js b/test/integration/ffmpeg.js new file mode 100644 index 000000000..d21b24f87 --- /dev/null +++ b/test/integration/ffmpeg.js @@ -0,0 +1,2 @@ +let {path} = require('@ffmpeg-installer/ffmpeg'); +console.log(path); diff --git a/test/integration/lighthouse.js b/test/integration/lighthouse.js new file mode 100644 index 000000000..289e4de7b --- /dev/null +++ b/test/integration/lighthouse.js @@ -0,0 +1 @@ +require('lighthouse'); diff --git a/test/integration/pdf2json.js b/test/integration/pdf2json.js new file mode 100644 index 000000000..ea97ed951 --- /dev/null +++ b/test/integration/pdf2json.js @@ -0,0 +1,8 @@ +const { parse } = require('url') +const PDFParser = require('pdf2json') + +module.exports = (req, res) => { + const { query } = parse(req.url, true) + const { name = 'World' } = query + res.end(`Hello ${name}!`) +} \ No newline at end of file diff --git a/test/integration/twilio.js b/test/integration/twilio.js index 149544887..c8e6337a3 100644 --- a/test/integration/twilio.js +++ b/test/integration/twilio.js @@ -6,3 +6,4 @@ try { throw err; } } + diff --git a/test/unit/runtime-notfound/input.js b/test/unit/runtime-notfound/input.js new file mode 100644 index 000000000..2b48e2b40 --- /dev/null +++ b/test/unit/runtime-notfound/input.js @@ -0,0 +1,2 @@ +require('./not-found.js'); +require('./not-foud2.js'); \ No newline at end of file diff --git a/test/unit/runtime-notfound/output-coverage.js b/test/unit/runtime-notfound/output-coverage.js new file mode 100644 index 000000000..e1579b4e6 --- /dev/null +++ b/test/unit/runtime-notfound/output-coverage.js @@ -0,0 +1,85 @@ +module.exports = +/******/ (function(modules, runtime) { // webpackBootstrap +/******/ "use strict"; +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ +/******/ // the startup function +/******/ function startup() { +/******/ // Load entry module and return exports +/******/ return __webpack_require__(226); +/******/ }; +/******/ +/******/ // run startup +/******/ return startup(); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 226: +/***/ (function(__unusedmodule, __unusedexports, __webpack_require__) { + +__webpack_require__(590); +__webpack_require__(548); + +/***/ }), + +/***/ 548: +/***/ (function() { + +const id = "./not-foud2.js"; +if (id.startsWith('./') || id.startsWith('../')) { + const e = new Error('Cannot find module "' + id + '".'); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +else { + eval("require")(id); +} + + +/***/ }), + +/***/ 590: +/***/ (function() { + +const id = "./not-found.js"; +if (id.startsWith('./') || id.startsWith('../')) { + const e = new Error('Cannot find module "' + id + '".'); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +else { + eval("require")(id); +} + + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/test/unit/runtime-notfound/output.js b/test/unit/runtime-notfound/output.js new file mode 100644 index 000000000..9485e2e13 --- /dev/null +++ b/test/unit/runtime-notfound/output.js @@ -0,0 +1,85 @@ +module.exports = +/******/ (function(modules, runtime) { // webpackBootstrap +/******/ "use strict"; +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ +/******/ // the startup function +/******/ function startup() { +/******/ // Load entry module and return exports +/******/ return __webpack_require__(768); +/******/ }; +/******/ +/******/ // run startup +/******/ return startup(); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 663: +/***/ (function() { + +const id = "./not-foud2.js"; +if (id.startsWith('./') || id.startsWith('../')) { + const e = new Error('Cannot find module "' + id + '".'); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +else { + eval("require")(id); +} + + +/***/ }), + +/***/ 768: +/***/ (function(__unusedmodule, __unusedexports, __webpack_require__) { + +__webpack_require__(925); +__webpack_require__(663); + +/***/ }), + +/***/ 925: +/***/ (function() { + +const id = "./not-found.js"; +if (id.startsWith('./') || id.startsWith('../')) { + const e = new Error('Cannot find module "' + id + '".'); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +else { + eval("require")(id); +} + + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/test/unit/shebang/output-coverage.js b/test/unit/shebang/output-coverage.js index e3830274c..0725dc404 100644 --- a/test/unit/shebang/output-coverage.js +++ b/test/unit/shebang/output-coverage.js @@ -34,7 +34,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(817); +/******/ return __webpack_require__(374); /******/ }; /******/ /******/ // run startup @@ -43,7 +43,7 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 817: +/***/ 374: /***/ (function(module) { module.exports = 'asdf'; diff --git a/test/unit/shebang/output.js b/test/unit/shebang/output.js index 0f87511f8..4ac0ac502 100644 --- a/test/unit/shebang/output.js +++ b/test/unit/shebang/output.js @@ -34,7 +34,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(408); +/******/ return __webpack_require__(780); /******/ }; /******/ /******/ // run startup @@ -43,7 +43,7 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 408: +/***/ 780: /***/ (function(module) { module.exports = 'asdf'; diff --git a/test/unit/ts-decl/output-coverage.js b/test/unit/ts-decl/output-coverage.js index 3475cacad..99c12358a 100644 --- a/test/unit/ts-decl/output-coverage.js +++ b/test/unit/ts-decl/output-coverage.js @@ -33,7 +33,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(492); +/******/ return __webpack_require__(326); /******/ }; /******/ // initialize runtime /******/ runtime(__webpack_require__); @@ -44,7 +44,7 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 177: +/***/ 37: /***/ (function(__unusedmodule, exports) { "use strict"; @@ -58,12 +58,12 @@ exports.test = test; /***/ }), -/***/ 492: +/***/ 326: /***/ (function(__unusedmodule, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(177); +/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(37); /* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_test_ts__WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _test_ts__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __webpack_require__.d(__webpack_exports__, __WEBPACK_IMPORT_KEY__, function(key) { return _test_ts__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)); diff --git a/test/unit/ts-decl/output.js b/test/unit/ts-decl/output.js index 413e05164..75422d304 100644 --- a/test/unit/ts-decl/output.js +++ b/test/unit/ts-decl/output.js @@ -33,7 +33,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(724); +/******/ return __webpack_require__(315); /******/ }; /******/ // initialize runtime /******/ runtime(__webpack_require__); @@ -44,29 +44,29 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 550: -/***/ (function(__unusedmodule, exports) { +/***/ 315: +/***/ (function(__unusedmodule, __webpack_exports__, __webpack_require__) { "use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(765); +/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_test_ts__WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _test_ts__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __webpack_require__.d(__webpack_exports__, __WEBPACK_IMPORT_KEY__, function(key) { return _test_ts__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)); -exports.__esModule = true; -function test(arg) { - return arg; -} -exports.test = test; /***/ }), -/***/ 724: -/***/ (function(__unusedmodule, __webpack_exports__, __webpack_require__) { +/***/ 765: +/***/ (function(__unusedmodule, exports) { "use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(550); -/* harmony import */ var _test_ts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_test_ts__WEBPACK_IMPORTED_MODULE_0__); -/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _test_ts__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __webpack_require__.d(__webpack_exports__, __WEBPACK_IMPORT_KEY__, function(key) { return _test_ts__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)); +exports.__esModule = true; +function test(arg) { + return arg; +} +exports.test = test; /***/ }) diff --git a/test/unit/tsconfig-paths-conflicting-external/output-coverage.js b/test/unit/tsconfig-paths-conflicting-external/output-coverage.js index 1ca0b3602..dc2ea4e34 100644 --- a/test/unit/tsconfig-paths-conflicting-external/output-coverage.js +++ b/test/unit/tsconfig-paths-conflicting-external/output-coverage.js @@ -33,7 +33,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(478); +/******/ return __webpack_require__(22); /******/ }; /******/ /******/ // run startup @@ -42,19 +42,19 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 478: +/***/ 22: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(744); +var _module_1 = __webpack_require__(793); console.log(_module_1["default"]); /***/ }), -/***/ 744: +/***/ 793: /***/ (function(__unusedmodule, exports) { "use strict"; diff --git a/test/unit/tsconfig-paths-conflicting-external/output.js b/test/unit/tsconfig-paths-conflicting-external/output.js index e669ca9be..d5d2b8b22 100644 --- a/test/unit/tsconfig-paths-conflicting-external/output.js +++ b/test/unit/tsconfig-paths-conflicting-external/output.js @@ -33,7 +33,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(266); +/******/ return __webpack_require__(513); /******/ }; /******/ /******/ // run startup @@ -42,23 +42,32 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 250: -/***/ (function(module) { - -module.exports = require("@module"); - -/***/ }), - -/***/ 266: +/***/ 513: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(250); +var _module_1 = __webpack_require__(545); console.log(_module_1["default"]); +/***/ }), + +/***/ 545: +/***/ (function() { + +const id = "@module"; +if (id.startsWith('./') || id.startsWith('../')) { + const e = new Error('Cannot find module "' + id + '".'); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +else { + eval("require")(id); +} + + /***/ }) /******/ }); \ No newline at end of file diff --git a/test/unit/tsconfig-paths/output-coverage.js b/test/unit/tsconfig-paths/output-coverage.js index cb209dec7..ca7b75145 100644 --- a/test/unit/tsconfig-paths/output-coverage.js +++ b/test/unit/tsconfig-paths/output-coverage.js @@ -33,7 +33,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(921); +/******/ return __webpack_require__(134); /******/ }; /******/ /******/ // run startup @@ -42,19 +42,19 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 921: +/***/ 134: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(923); +var _module_1 = __webpack_require__(254); console.log(_module_1["default"]); /***/ }), -/***/ 923: +/***/ 254: /***/ (function(__unusedmodule, exports) { "use strict"; diff --git a/test/unit/tsconfig-paths/output.js b/test/unit/tsconfig-paths/output.js index 8cc375c0d..a1d096116 100644 --- a/test/unit/tsconfig-paths/output.js +++ b/test/unit/tsconfig-paths/output.js @@ -33,7 +33,7 @@ module.exports = /******/ // the startup function /******/ function startup() { /******/ // Load entry module and return exports -/******/ return __webpack_require__(710); +/******/ return __webpack_require__(121); /******/ }; /******/ /******/ // run startup @@ -42,23 +42,32 @@ module.exports = /************************************************************************/ /******/ ({ -/***/ 250: -/***/ (function(module) { - -module.exports = require("@module"); - -/***/ }), - -/***/ 710: +/***/ 121: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(250); +var _module_1 = __webpack_require__(545); console.log(_module_1["default"]); +/***/ }), + +/***/ 545: +/***/ (function() { + +const id = "@module"; +if (id.startsWith('./') || id.startsWith('../')) { + const e = new Error('Cannot find module "' + id + '".'); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +else { + eval("require")(id); +} + + /***/ }) /******/ }); \ No newline at end of file diff --git a/test/watcher.test.js b/test/watcher.test.js index 85d29b150..5f07a977f 100644 --- a/test/watcher.test.js +++ b/test/watcher.test.js @@ -101,7 +101,6 @@ it('Should support custom watch API', async () => { await new Promise((resolve, reject) => { const watcher = new CustomWatchFileSystem(function watchStart (files, dirs, missing) { expect(files.length).toBeGreaterThan(100); - expect(dirs.length).toBeGreaterThan(0); expect(missing.length).toBeGreaterThan(100); if (buildCnt < 3) { setTimeout(() => { diff --git a/yarn.lock b/yarn.lock index b9c0d24be..0ec37924d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -93,6 +93,42 @@ request "^2.87.0" stack-generator "^2.0.3" +"@ffmpeg-installer/darwin-x64@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@ffmpeg-installer/darwin-x64/-/darwin-x64-4.1.0.tgz#48e1706c690e628148482bfb64acb67472089aaa" + integrity sha512-Z4EyG3cIFjdhlY8wI9aLUXuH8nVt7E9SlMVZtWvSPnm2sm37/yC2CwjUzyCQbJbySnef1tQwGG2Sx+uWhd9IAw== + +"@ffmpeg-installer/ffmpeg@^1.0.17": + version "1.0.17" + resolved "https://registry.yarnpkg.com/@ffmpeg-installer/ffmpeg/-/ffmpeg-1.0.17.tgz#ca0a048e5c5439a9632a391e9a441f88f46624f8" + integrity sha512-DClZOfrYTvamCfJ9ToFj58hMfEyH5HlHN/zSTaPzfev3I+Vy5J9qBGGAyquAmY+/FOFBtChdXBu64D6H3uZhkA== + optionalDependencies: + "@ffmpeg-installer/darwin-x64" "4.1.0" + "@ffmpeg-installer/linux-ia32" "4.1.0" + "@ffmpeg-installer/linux-x64" "4.1.0" + "@ffmpeg-installer/win32-ia32" "4.1.0" + "@ffmpeg-installer/win32-x64" "4.1.0" + +"@ffmpeg-installer/linux-ia32@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@ffmpeg-installer/linux-ia32/-/linux-ia32-4.1.0.tgz#adad70b0d0d9d8d813983d6e683c5a338a75e442" + integrity sha512-0LWyFQnPf+Ij9GQGD034hS6A90URNu9HCtQ5cTqo5MxOEc7Rd8gLXrJvn++UmxhU0J5RyRE9KRYstdCVUjkNOQ== + +"@ffmpeg-installer/linux-x64@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@ffmpeg-installer/linux-x64/-/linux-x64-4.1.0.tgz#b4a5d89c4e12e6d9306dbcdc573df716ec1c4323" + integrity sha512-Y5BWhGLU/WpQjOArNIgXD3z5mxxdV8c41C+U15nsE5yF8tVcdCGet5zPs5Zy3Ta6bU7haGpIzryutqCGQA/W8A== + +"@ffmpeg-installer/win32-ia32@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@ffmpeg-installer/win32-ia32/-/win32-ia32-4.1.0.tgz#6eac4fb691b64c02e7a116c1e2d167f3e9b40638" + integrity sha512-FV2D7RlaZv/lrtdhaQ4oETwoFUsUjlUiasiZLDxhEUPdNDWcH1OU9K1xTvqz+OXLdsmYelUDuBS/zkMOTtlUAw== + +"@ffmpeg-installer/win32-x64@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@ffmpeg-installer/win32-x64/-/win32-x64-4.1.0.tgz#17e8699b5798d4c60e36e2d6326a8ebe5e95a2c5" + integrity sha512-Drt5u2vzDnIONf4ZEkKtFlbvwj6rI3kxw1Ck9fpudmtgaZIHD4ucsWB2lCZBXRxJgXR+2IMSti+4rtM4C4rXgg== + "@firebase/app-types@0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.3.2.tgz#a92dc544290e2893bd8c02a81e684dae3d8e7c85" @@ -1189,10 +1225,10 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@zeit/webpack-asset-relocator-loader@0.4.5": - version "0.4.5" - resolved "https://registry.yarnpkg.com/@zeit/webpack-asset-relocator-loader/-/webpack-asset-relocator-loader-0.4.5.tgz#2bdc602a8b86f14d1e8728c01c92d16db9a18c6b" - integrity sha512-VKPt3nLAyDGaD85B6o3pR9J4a9WN1s5VLWmr6mO5whJf4+qLCTW+4nF6kegohJPIQSX0lAMxfmrgXKN8CB6jFw== +"@zeit/webpack-asset-relocator-loader@0.5.0-beta.5": + version "0.5.0-beta.5" + resolved "https://registry.yarnpkg.com/@zeit/webpack-asset-relocator-loader/-/webpack-asset-relocator-loader-0.5.0-beta.5.tgz#dd419d7a5a1d19d32b8ec48fcffae5756ed917c8" + integrity sha512-kzEobQetg91vkqFhVr4R3eDIshrNynRT0d5RgTelM065HeqBtXqPJIVKodHAx0fnszsyihlEPc+oM8AZSpiZAg== dependencies: sourcemap-codec "^1.4.4" @@ -1204,6 +1240,11 @@ JSONStream@^1.3.1, JSONStream@^1.3.4, JSONStream@^1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" +"JSV@>= 4.0.x": + version "4.0.2" + resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" + integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= + abab@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" @@ -1403,6 +1444,11 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-styles@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= + ansi-wrap@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" @@ -1833,6 +1879,11 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== +axe-core@3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.2.2.tgz#b06d6e9ae4636d706068843272bfaeed3fe97362" + integrity sha512-gAy4kMSPpuRJV3mwictJqlg5LhE84Vw2CydKdC4tvrLhR6+G3KW51zbL/vYujcLA2jvWOq3HMHrVeNuw+mrLVA== + axios-retry@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-3.1.1.tgz#88d2971f671a9023b21d887c5dcac6c54f332cde" @@ -2662,6 +2713,15 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + change-case@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/change-case/-/change-case-2.3.1.tgz#2c4fde3f063bb41d00cd68e0d5a09db61cbe894f" @@ -2691,6 +2751,11 @@ character-parser@^2.1.1: dependencies: is-regex "^1.0.3" +chardet@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= + charenc@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" @@ -2720,6 +2785,17 @@ chrome-launcher@^0.10.0: mkdirp "0.5.1" rimraf "^2.6.1" +chrome-launcher@^0.10.7: + version "0.10.7" + resolved "https://registry.yarnpkg.com/chrome-launcher/-/chrome-launcher-0.10.7.tgz#5e2a9e99f212e0501d9c7024802acd01a812f5d5" + integrity sha512-IoQLp64s2n8OQuvKZwt77CscVj3UlV2Dj7yZtd1EBMld9mSdGcsGy9fN5hd/r4vJuWZR09it78n1+A17gB+AIQ== + dependencies: + "@types/node" "*" + is-wsl "^1.1.0" + lighthouse-logger "^1.0.0" + mkdirp "0.5.1" + rimraf "^2.6.1" + chrome-remote-interface@^0.25.5: version "0.25.7" resolved "https://registry.yarnpkg.com/chrome-remote-interface/-/chrome-remote-interface-0.25.7.tgz#827e85fbef3cc561a9ef2404eb7eee355968c5bc" @@ -2809,6 +2885,13 @@ cli-columns@^3.1.2: string-width "^2.0.0" strip-ansi "^3.0.1" +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + cli-table3@^0.5.0, cli-table3@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" @@ -2819,6 +2902,11 @@ cli-table3@^0.5.0, cli-table3@^0.5.1: optionalDependencies: colors "^1.1.2" +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + cliui@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" @@ -3053,7 +3141,7 @@ config-chain@^1.1.12, config-chain@~1.1.11: ini "^1.3.4" proto-list "~1.2.1" -configstore@^3.0.0, configstore@^3.1.2: +configstore@^3.0.0, configstore@^3.1.1, configstore@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== @@ -3287,6 +3375,13 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" integrity sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog== +cssstyle@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.1.tgz#3aceb2759eaf514ac1a21628d723d6043a819495" + integrity sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A== + dependencies: + cssom "0.3.x" + cssstyle@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" @@ -3513,6 +3608,11 @@ destroy@^1.0.4, destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +details-element-polyfill@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/details-element-polyfill/-/details-element-polyfill-2.2.0.tgz#1c0bb65372c20f622e90974b9694ae204d4c8d8c" + integrity sha512-Sjg+A4q3Mrn2JKQu58zsreuHqAb4M0qe4eK5ZQAIBuch9i8nx6MlKWCxx0z8s59MMen9I4WXavzW5z+BnkIC0A== + detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -4196,6 +4296,15 @@ extend@3, extend@^3.0.0, extend@^3.0.1, extend@^3.0.2, extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +external-editor@^2.0.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" @@ -4294,6 +4403,13 @@ figgy-pudding@^3.0.0, figgy-pudding@^3.1.0, figgy-pudding@^3.4.1, figgy-pudding@ resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + file-contents@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/file-contents/-/file-contents-0.2.4.tgz#0506f7b8eff62afa45ae45da4df9e9d47df453cb" @@ -5187,6 +5303,11 @@ has-binary2@~1.0.2: dependencies: isarray "2.0.1" +has-color@~0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= + has-cors@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" @@ -5396,6 +5517,11 @@ http-errors@^1.6.3, http-errors@~1.7.1: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" +http-link-header@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/http-link-header/-/http-link-header-0.8.0.tgz#a22b41a0c9b1e2d8fac1bf1b697c6bd532d5f5e4" + integrity sha1-oitBoMmx4tj6wb8baXxr1TLV9eQ= + http-parser-js@>=0.4.0: version "0.5.0" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" @@ -5458,7 +5584,7 @@ iconv-lite@0.4.23: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -5492,6 +5618,11 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" +image-ssim@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/image-ssim/-/image-ssim-0.2.0.tgz#83b42c7a2e6e4b85505477fe6917f5dbc56420e5" + integrity sha1-g7Qsei5uS4VQVHf+aRf128VkIOU= + import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" @@ -5562,6 +5693,43 @@ init-package-json@^1.10.3: validate-npm-package-license "^3.0.1" validate-npm-package-name "^3.0.0" +inquirer@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.4" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +intl-messageformat-parser@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz#b43d45a97468cadbe44331d74bb1e8dea44fc075" + integrity sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU= + +intl-messageformat-parser@^1.4.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.5.1.tgz#b15a93dc8d4ba77ff60fd0443ed4794403b1e132" + integrity sha512-G9/w2k2MRG2OvzVc/zOfBQbZJT590TiUI6/4wUshvzV1Q9rA5DDC2mWFz5UtiWT4Z7U3nunaba3FWri77KXCnA== + +intl-messageformat@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-2.2.0.tgz#345bcd46de630b7683330c2e52177ff5eab484fc" + integrity sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw= + dependencies: + intl-messageformat-parser "1.4.0" + into-stream@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" @@ -5911,7 +6079,7 @@ is-primitive@^2.0.0: resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= -is-promise@^2.0.0: +is-promise@^2.0.0, is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= @@ -6525,11 +6693,21 @@ join-component@^1.1.0: resolved "https://registry.yarnpkg.com/join-component/-/join-component-1.1.0.tgz#b8417b750661a392bee2c2537c68b2a9d4977cd5" integrity sha1-uEF7dQZho5K+4sJTfGiyqdSXfNU= +jpeg-js@0.1.2, jpeg-js@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.1.2.tgz#135b992c0575c985cfa0f494a3227ed238583ece" + integrity sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4= + jpeg-js@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.4.tgz#dc2ba501ee3d58b7bb893c5d1fab47294917e7e7" integrity sha512-6IzjQxvnlT8UlklNmDXIJMWxijULjqGrzgqc0OG7YadZdvm7KPQ1j0ehmQQHckgEWOfgpptzcnWgESovxudpTA== +js-library-detector@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/js-library-detector/-/js-library-detector-5.4.0.tgz#d1b08dfbdc3886258f888bd441801ef9e5b69567" + integrity sha512-lSTEC9Q3L/cXOhYIilW3GH/v4tOnPIN40NTIBHRcn2vxTwGhMyySQTQpJ0W68ISGzOgvwVe7KCfQ9PJi6MsOIw== + js-stringify@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" @@ -6668,6 +6846,24 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= +jsonld@^1.5.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-1.6.1.tgz#9db5d2a38ac26a118dbc5fae5dbefc3f22780ce2" + integrity sha512-4J5ilGTk+rAvAChbADruqFLcZ52b0aoMLL7xtyCVEmoIbyaPtwO4rOlQ/VczqhcrDvzxHflpDBdVi37LpALpXg== + dependencies: + rdf-canonize "^1.0.2" + request "^2.88.0" + semver "^5.6.0" + xmldom "0.1.19" + +jsonlint-mod@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/jsonlint-mod/-/jsonlint-mod-1.7.4.tgz#310390e1a6a85cef99f45f200e662ef23b48f7a6" + integrity sha512-FYOkwHqiuBbdVCHgXYlmtL+iUOz9AxCgjotzXl+edI0Hc1km1qK6TrBEAyPpO+5R0/IX3XENRp66mfob4jwxow== + dependencies: + JSV ">= 4.0.x" + nomnom ">= 1.5.x" + jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -7111,7 +7307,7 @@ libnpx@^10.2.0: y18n "^4.0.0" yargs "^11.0.0" -lighthouse-logger@^1.0.0: +lighthouse-logger@^1.0.0, lighthouse-logger@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/lighthouse-logger/-/lighthouse-logger-1.2.0.tgz#b76d56935e9c137e86a04741f6bb9b2776e886ca" integrity sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw== @@ -7119,6 +7315,41 @@ lighthouse-logger@^1.0.0: debug "^2.6.8" marky "^1.2.0" +lighthouse@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/lighthouse/-/lighthouse-5.0.0.tgz#bca0f2a3ca36877d44bef5ba6478b135820d1cfb" + integrity sha512-s9S2ZujnAYF+F5EqKKGL72H1PQ1tPf7YxEl79LmvF9QHXElrITjQfYgi+8ZmHrNrCkKra5aKPzKRN3IIfF5Q9w== + dependencies: + axe-core "3.2.2" + chrome-launcher "^0.10.7" + configstore "^3.1.1" + cssstyle "1.2.1" + details-element-polyfill "2.2.0" + http-link-header "^0.8.0" + inquirer "^3.3.0" + intl-messageformat "^2.2.0" + intl-messageformat-parser "^1.4.0" + jpeg-js "0.1.2" + js-library-detector "^5.4.0" + jsonld "^1.5.0" + jsonlint-mod "^1.7.4" + lighthouse-logger "^1.2.0" + lodash.isequal "^4.5.0" + lookup-closest-locale "6.0.4" + metaviewport-parser "0.2.0" + mkdirp "0.5.1" + opn "4.0.2" + parse-cache-control "1.0.1" + raven "^2.2.1" + rimraf "^2.6.1" + robots-parser "^2.0.1" + semver "^5.3.0" + speedline-core "1.4.2" + update-notifier "^2.5.0" + ws "3.3.2" + yargs "3.32.0" + yargs-parser "7.0.0" + limiter@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.3.tgz#32e2eb55b2324076943e5d04c1185ffb387968ef" @@ -7284,6 +7515,11 @@ lodash.isboolean@^3.0.3: resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + lodash.isinteger@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" @@ -7349,7 +7585,7 @@ lodash.without@~4.4.0: resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= -lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5: +lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -7382,6 +7618,11 @@ longest@^1.0.1: resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= +lookup-closest-locale@6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/lookup-closest-locale/-/lookup-closest-locale-6.0.4.tgz#1279fed7546a601647bbc980f64423ee990a8590" + integrity sha512-bWoFbSGe6f1GvMGzj17LrwMX4FhDXDwZyH04ySVCPbtOJADcSRguZNKewoJ3Ful/MOxD/wRHvFPadk/kYZUbuQ== + loopback-connector-remote@^3.0.0: version "3.4.0" resolved "https://registry.yarnpkg.com/loopback-connector-remote/-/loopback-connector-remote-3.4.0.tgz#413ce53a5a81bffeb3ff3f47e78a1bc45f80affa" @@ -7763,6 +8004,11 @@ merge@^1.2.0: resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== +metaviewport-parser@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/metaviewport-parser/-/metaviewport-parser-0.2.0.tgz#535c3ce1ccf6223a5025fddc6a1c36505f7e7db1" + integrity sha1-U1w84cz2IjpQJf3cahw2UF9+fbE= + methmeth@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/methmeth/-/methmeth-1.1.0.tgz#e80a26618e52f5c4222861bb748510bd10e29089" @@ -8091,7 +8337,7 @@ msgpack5@^4.2.0: readable-stream "^2.3.6" safe-buffer "^5.1.2" -mute-stream@~0.0.4: +mute-stream@0.0.7, mute-stream@~0.0.4: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= @@ -8248,6 +8494,11 @@ node-forge@^0.7.4: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac" integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw== +node-forge@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.8.2.tgz#b4bcc59fb12ce77a8825fc6a783dfe3182499c5a" + integrity sha512-mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg== + node-gyp@^3.6.2, node-gyp@^3.8.0: version "3.8.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" @@ -8359,6 +8610,14 @@ nodemailer@^4.0.1: resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.7.0.tgz#4420e06abfffd77d0618f184ea49047db84f4ad8" integrity sha512-IludxDypFpYw4xpzKdMAozBSkzKHmNBvGanUREjJItgJ2NYcK/s8+PggVhj7c2yGFQykKsnnmv1+Aqo0ZfjHmw== +"nomnom@>= 1.5.x": + version "1.8.1" + resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" + integrity sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc= + dependencies: + chalk "~0.4.0" + underscore "~1.6.0" + noop-logger@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" @@ -8943,6 +9202,13 @@ once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.3.3, once@^1.4.0, once@~1.4.0: dependencies: wrappy "1" +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + oniguruma@7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/oniguruma/-/oniguruma-7.0.2.tgz#a5c922cf7066da1dbcc60f6385a90437a83f8d0b" @@ -8960,6 +9226,14 @@ opener@^1.5.0, opener@^1.5.1: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== +opn@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + integrity sha1-erwi5kTf9jsKltWrfyeQwPAavJU= + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + optimist@^0.6.1, optimist@~0.6, optimist@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -9032,7 +9306,7 @@ os-locale@^3.0.1: lcid "^2.0.0" mem "^4.0.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= @@ -9263,6 +9537,11 @@ parse-bmfont-xml@^1.1.4: xml-parse-from-string "^1.0.0" xml2js "^0.4.5" +parse-cache-control@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" + integrity sha1-juqz5U+laSD+Fro493+iGqzC104= + parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -9452,6 +9731,16 @@ pause@0.0.1: resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10= +pdf2json@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/pdf2json/-/pdf2json-1.1.8.tgz#8f268a662ee417b1b1574c362f2caaeb3b7187da" + integrity sha512-ka7l/w+4FM5vdI8X9UihxqdTispanZ72ZKsFdghwpBaHcIhXeWCO0qs81P9modFZHf7s4znf0sxc5k6wk6L4Og== + dependencies: + async "^2.0.1" + lodash "^4.15.0" + optimist "^0.6.1" + xmldom "^0.1.22" + pdfkit@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/pdfkit/-/pdfkit-0.8.3.tgz#ec99a57fc55ca309726f856456da14418f5330e3" @@ -10081,6 +10370,17 @@ range-parser@~1.2.0: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= +raven@^2.2.1: + version "2.6.4" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" + integrity sha512-6PQdfC4+DQSFncowthLf+B6Hr0JpPsFBgTVYTAOq7tCmx/kR4SXbeawtPch20+3QfUcQDoJBLjWW1ybvZ4kXTw== + dependencies: + cookie "0.3.1" + md5 "^2.2.1" + stack-trace "0.0.10" + timed-out "4.0.1" + uuid "3.3.2" + raw-body@2.3.3, raw-body@^2.2.0: version "2.3.3" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" @@ -10101,6 +10401,14 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +rdf-canonize@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/rdf-canonize/-/rdf-canonize-1.0.3.tgz#71dc56bb808a39d12e3ca17674c15f881cad648a" + integrity sha512-piLMOB5Q6LJSVx2XzmdpHktYVb8TmVTy8coXJBFtdkcMC96DknZOuzpAYqCWx2ERZX7xEW+mMi8/wDuMJS/95w== + dependencies: + node-forge "^0.8.1" + semver "^5.6.0" + react-dom@^16.6.3: version "16.6.3" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.6.3.tgz#8fa7ba6883c85211b8da2d0efeffc9d3825cccc0" @@ -10525,6 +10833,14 @@ rest-facade@^1.10.1: superagent "^3.8.0" superagent-proxy "^1.0.2" +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + restructure@^0.5.3: version "0.5.4" resolved "https://registry.yarnpkg.com/restructure/-/restructure-0.5.4.tgz#f54e7dd563590fb34fd6bf55876109aeccb28de8" @@ -10601,6 +10917,11 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +robots-parser@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/robots-parser/-/robots-parser-2.1.1.tgz#41b289cf44a6aa136dc62be0085adca954573ab0" + integrity sha512-6yWEYSdhK3bAEcYY0In3wgSBK70BiQoJArzdjZKCP/35b3gKIYu5Lc0qQqsoxjoLVebVoJiKK4VWGc5+oxvWBQ== + rootpath@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/rootpath/-/rootpath-0.1.2.tgz#5b379a87dca906e9b91d690a599439bef267ea6b" @@ -10611,6 +10932,13 @@ rsvp@^3.3.3: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + dependencies: + is-promise "^2.1.0" + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -10618,6 +10946,18 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= + rxjs@^6.3.3: version "6.3.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" @@ -11230,6 +11570,15 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz#a59efc09784c2a5bada13cfeaf5c75dd214044d2" integrity sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg== +speedline-core@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/speedline-core/-/speedline-core-1.4.2.tgz#bb061444a218d67b4cd52f63a262386197b90c8a" + integrity sha512-9/5CApkKKl6bS6jJ2D0DQllwz/1xq3cyJCR6DLgAQnkj5djCuq8NbflEdD2TI01p8qzS9qaKjzxM9cHT11ezmg== + dependencies: + "@types/node" "*" + image-ssim "^0.2.0" + jpeg-js "^0.1.2" + split-array-stream@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/split-array-stream/-/split-array-stream-1.0.3.tgz#d2b75a8e5e0d824d52fdec8b8225839dc2e35dfa" @@ -11487,7 +11836,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1, string-width@~2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1, string-width@~2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -11533,6 +11882,11 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= + strip-bom-buffer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-bom-buffer/-/strip-bom-buffer-0.1.1.tgz#ca3ddc4919c13f9fddf30b1dff100a9835248b4d" @@ -11864,7 +12218,7 @@ through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3, through2@~2. readable-stream "~2.3.6" xtend "~4.0.1" -through@2, "through@>=2.2.7 <3", through@~2.3.1, through@~2.3.4: +through@2, "through@>=2.2.7 <3", through@^2.3.6, through@~2.3.1, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -11879,7 +12233,7 @@ thunkify@^2.1.2: resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0= -timed-out@^4.0.0, timed-out@^4.0.1: +timed-out@4.0.1, timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= @@ -11922,6 +12276,13 @@ title-case@^1.1.0: sentence-case "^1.1.1" upper-case "^1.0.3" +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -12224,6 +12585,11 @@ underscore.string@^3.0.3: sprintf-js "^1.0.3" util-deprecate "^1.0.2" +underscore@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= + underscore@~1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" @@ -12792,6 +13158,15 @@ write-file-atomic@^2.4.2: imurmurhash "^0.1.4" signal-exit "^3.0.2" +ws@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.2.tgz#96c1d08b3fefda1d5c1e33700d3bfaa9be2d5608" + integrity sha512-t+WGpsNxhMR4v6EClXS8r8km5ZljKJzyGhJf7goJz9k5Ye3+b5Bvno5rjqPuIBn5mnn5GBb7o8IrIWHxX1qOLQ== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + ws@3.3.x, ws@^3.2.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -12877,6 +13252,16 @@ xmlcreate@^1.0.1: resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-1.0.2.tgz#fa6bf762a60a413fb3dd8f4b03c5b269238d308f" integrity sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8= +xmldom@0.1.19: + version "0.1.19" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.19.tgz#631fc07776efd84118bf25171b37ed4d075a0abc" + integrity sha1-Yx/Ad3bv2EEYvyUXGzftTQdaCrw= + +xmldom@^0.1.22: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= + xmlhttprequest-ssl@~1.5.4: version "1.5.5" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" @@ -12930,6 +13315,13 @@ yamljs@^0.3.0: argparse "^1.0.7" glob "^7.0.5" +yargs-parser@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= + dependencies: + camelcase "^4.1.0" + yargs-parser@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" @@ -12945,6 +13337,19 @@ yargs-parser@^9.0.2: dependencies: camelcase "^4.1.0" +yargs@3.32.0, yargs@^3.10.0, yargs@^3.23.0: + version "3.32.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" + integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU= + dependencies: + camelcase "^2.0.1" + cliui "^3.0.3" + decamelize "^1.1.1" + os-locale "^1.4.0" + string-width "^1.0.1" + window-size "^0.1.4" + y18n "^3.2.0" + yargs@^11.0.0: version "11.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" @@ -12963,19 +13368,6 @@ yargs@^11.0.0: y18n "^3.2.1" yargs-parser "^9.0.2" -yargs@^3.10.0, yargs@^3.23.0: - version "3.32.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" - integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU= - dependencies: - camelcase "^2.0.1" - cliui "^3.0.3" - decamelize "^1.1.1" - os-locale "^1.4.0" - string-width "^1.0.1" - window-size "^0.1.4" - y18n "^3.2.0" - yargs@^4.7.1: version "4.8.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"