From 0af95db7786370801861b6426f78b13a8622c01d Mon Sep 17 00:00:00 2001 From: Moritz Mahringer Date: Wed, 24 Jan 2018 18:33:38 +0100 Subject: [PATCH 1/8] Rename path and file --- .../base-case.ts => test-resources/typescript-base-case.ts} | 0 test/typescript.test.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename test/{typescript-resources/base-case.ts => test-resources/typescript-base-case.ts} (100%) diff --git a/test/typescript-resources/base-case.ts b/test/test-resources/typescript-base-case.ts similarity index 100% rename from test/typescript-resources/base-case.ts rename to test/test-resources/typescript-base-case.ts diff --git a/test/typescript.test.js b/test/typescript.test.js index 941f628f..09df28c8 100644 --- a/test/typescript.test.js +++ b/test/typescript.test.js @@ -6,6 +6,6 @@ var path = require('path'); describe('TypeScript', function() { it('should compile base-case successfully against index.d.ts', function(done) { this.timeout(20000); - tt.compile([path.resolve(__dirname + '/typescript-resources/base-case.ts')], {}, done.bind(null)); + tt.compile([path.resolve(__dirname + '/typescript-resources/typescript-base-case.ts')], {}, done.bind(null)); }); }); From 3137abed1a9732914a04bdb6be86362afa973521 Mon Sep 17 00:00:00 2001 From: Moritz Mahringer Date: Fri, 26 Jan 2018 02:24:40 +0100 Subject: [PATCH 2/8] Add typescript run test --- test/test-resources/typescript-base-case.ts | 15 +++++--- test/typescript.test.js | 40 +++++++++++++++++++++ test/util/launch-utils.js | 23 ++++++++++++ 3 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 test/util/launch-utils.js diff --git a/test/test-resources/typescript-base-case.ts b/test/test-resources/typescript-base-case.ts index cef0fc82..5660d3b1 100644 --- a/test/test-resources/typescript-base-case.ts +++ b/test/test-resources/typescript-base-case.ts @@ -1,8 +1,13 @@ /// -import Router from "express-promise-router" -var router = Router(); +import * as express from "express" +import Router from "../../lib/express-promise-router.js" +const router = Router() -router.get("test", function (req, res) { - res.send("Test"); -}); +router.get("/", function (req, res) { + res.send("Hi!") +}) +const app = express() +app.use(router) +app.listen(12345) +console.log("START") diff --git a/test/typescript.test.js b/test/typescript.test.js index 09df28c8..25d5c9bd 100644 --- a/test/typescript.test.js +++ b/test/typescript.test.js @@ -2,10 +2,50 @@ var tt = require('typescript-definition-tester'); var path = require('path'); +var resolve = require('path').resolve; +var assert = require('chai').assert; +var request = require('request-promise'); +var spawnTranspiledModule = require('./util/launch-utils').spawnTranspiledModule; + +var GET = function(route) { + return request({ url: 'http://localhost:12345' + route, resolveWithFullResponse: true }).then(function(res) { + // Express sends 500 errors for uncaught exceptions (like failed assertions) + // Make sure to still fail the test if an assertion in middleware failed. + assert.equal(res.statusCode, 200); + return res; + }); +}; describe('TypeScript', function() { it('should compile base-case successfully against index.d.ts', function(done) { this.timeout(20000); tt.compile([path.resolve(__dirname + '/typescript-resources/typescript-base-case.ts')], {}, done.bind(null)); }); + + it('should run the example and respond', function(done) { + this.timeout(5000); + var ts_file = resolve(__dirname, './test-resources/typescript-base-case.ts'); + var target = spawnTranspiledModule(ts_file); + var called = false; + + target.stdout.on('data', function(data) { + if (data.toString().indexOf('START') === -1) { + return; + } + + GET('/').then(function() { + called = true; + target.kill('SIGINT'); + }); + }); + + target.stderr.on('data', function(data) { + console.error(data.toString()); + }); + + target.on('close', function() { + assert(called); + done(); + }); + }); }); diff --git a/test/util/launch-utils.js b/test/util/launch-utils.js new file mode 100644 index 00000000..95f5d8da --- /dev/null +++ b/test/util/launch-utils.js @@ -0,0 +1,23 @@ +var ts = require('typescript'); +var fs = require('fs'); +var spawn = require('child_process').spawn +var dirname = require('path').dirname + +function spawnString(source, dir) { + return spawn('node', ['-e', source], { + cwd: dir, + }); +} + +// path has to be fully qualified +exports.spawnTranspiledModule = function spawnTranspiledModule(path) { + var content = fs.readFileSync(path, 'utf-8'); + + var compilerOptions = { + module: ts.ModuleKind.CommonJS + }; + + var transpiled = ts.transpile(content, compilerOptions); + + return spawnString(transpiled, dirname(path)); +} From ca008f76f6e2c37e6014a88af4d7954da4bdc7bf Mon Sep 17 00:00:00 2001 From: Moritz Mahringer Date: Fri, 26 Jan 2018 02:27:59 +0100 Subject: [PATCH 3/8] Add "default" export --- lib/express-promise-router.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/express-promise-router.js b/lib/express-promise-router.js index 27ef0bb4..1b5a28ce 100644 --- a/lib/express-promise-router.js +++ b/lib/express-promise-router.js @@ -110,4 +110,5 @@ var PromiseRouter = function(path) { return me; }; +PromiseRouter.default = PromiseRouter; module.exports = PromiseRouter; From 5d194306274142413e01416246bb65cbdba41785 Mon Sep 17 00:00:00 2001 From: Moritz Mahringer Date: Fri, 26 Jan 2018 16:35:44 +0100 Subject: [PATCH 4/8] Rename utility function --- test/typescript.test.js | 4 ++-- test/util/launch-utils.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/typescript.test.js b/test/typescript.test.js index 25d5c9bd..f31a0d1f 100644 --- a/test/typescript.test.js +++ b/test/typescript.test.js @@ -5,7 +5,7 @@ var path = require('path'); var resolve = require('path').resolve; var assert = require('chai').assert; var request = require('request-promise'); -var spawnTranspiledModule = require('./util/launch-utils').spawnTranspiledModule; +var spawnTypeScript = require('./util/launch-utils').spawnTypeScript; var GET = function(route) { return request({ url: 'http://localhost:12345' + route, resolveWithFullResponse: true }).then(function(res) { @@ -25,7 +25,7 @@ describe('TypeScript', function() { it('should run the example and respond', function(done) { this.timeout(5000); var ts_file = resolve(__dirname, './test-resources/typescript-base-case.ts'); - var target = spawnTranspiledModule(ts_file); + var target = spawnTypeScript(ts_file); var called = false; target.stdout.on('data', function(data) { diff --git a/test/util/launch-utils.js b/test/util/launch-utils.js index 95f5d8da..70977ecd 100644 --- a/test/util/launch-utils.js +++ b/test/util/launch-utils.js @@ -10,7 +10,7 @@ function spawnString(source, dir) { } // path has to be fully qualified -exports.spawnTranspiledModule = function spawnTranspiledModule(path) { +exports.spawnTypeScript = function spawnTypeScript(path) { var content = fs.readFileSync(path, 'utf-8'); var compilerOptions = { From a48f2a80420986076c716700e129306f6de7bd44 Mon Sep 17 00:00:00 2001 From: Moritz Mahringer Date: Fri, 26 Jan 2018 17:01:21 +0100 Subject: [PATCH 5/8] Extract GET test utility function Signed-off-by: Moritz Mahringer --- test/express-promise-router.route.test.js | 11 +---------- test/express-promise-router.test.js | 11 +---------- test/typescript.test.js | 11 +---------- test/util/http-utils.js | 11 +++++++++++ 4 files changed, 14 insertions(+), 30 deletions(-) create mode 100644 test/util/http-utils.js diff --git a/test/express-promise-router.route.test.js b/test/express-promise-router.route.test.js index edb6818d..ae7a81e0 100644 --- a/test/express-promise-router.route.test.js +++ b/test/express-promise-router.route.test.js @@ -3,7 +3,7 @@ var assert = require('chai').assert; var sinon = require('sinon'); var express = require('express'); -var request = require('request-promise'); +var GET = require('./util/http-utils').GET; var delay = function(method, payload) { setTimeout(function() { @@ -19,15 +19,6 @@ describe('new Router().route(...)', function() { var server; var router; - var GET = function(route) { - return request({ url: 'http://localhost:12345' + route, resolveWithFullResponse: true }).then(function(res) { - // Express sends 500 errors for uncaught exceptions (like failed assertions) - // Make sure to still fail the test if an assertion in middleware failed. - assert.equal(res.statusCode, 200); - return res; - }); - }; - var bootstrap = function(router) { app = express(); app.use('/', router); diff --git a/test/express-promise-router.test.js b/test/express-promise-router.test.js index 303970f2..f4a81dad 100644 --- a/test/express-promise-router.test.js +++ b/test/express-promise-router.test.js @@ -3,7 +3,7 @@ var assert = require('chai').assert; var sinon = require('sinon'); var express = require('express'); -var request = require('request-promise'); +var GET = require('./util/http-utils').GET; var delay = function(method, payload) { setTimeout(function() { @@ -19,15 +19,6 @@ describe('express-promise-router', function() { var server; var router; - var GET = function(route) { - return request({ url: 'http://localhost:12345' + route, resolveWithFullResponse: true }).then(function(res) { - // Express sends 500 errors for uncaught exceptions (like failed assertions) - // Make sure to still fail the test if an assertion in middleware failed. - assert.equal(res.statusCode, 200); - return res; - }); - }; - var bootstrap = function(router) { app = express(); app.use('/', router); diff --git a/test/typescript.test.js b/test/typescript.test.js index f31a0d1f..0aa7c959 100644 --- a/test/typescript.test.js +++ b/test/typescript.test.js @@ -4,17 +4,8 @@ var tt = require('typescript-definition-tester'); var path = require('path'); var resolve = require('path').resolve; var assert = require('chai').assert; -var request = require('request-promise'); var spawnTypeScript = require('./util/launch-utils').spawnTypeScript; - -var GET = function(route) { - return request({ url: 'http://localhost:12345' + route, resolveWithFullResponse: true }).then(function(res) { - // Express sends 500 errors for uncaught exceptions (like failed assertions) - // Make sure to still fail the test if an assertion in middleware failed. - assert.equal(res.statusCode, 200); - return res; - }); -}; +var GET = require('./util/http-utils').GET; describe('TypeScript', function() { it('should compile base-case successfully against index.d.ts', function(done) { diff --git a/test/util/http-utils.js b/test/util/http-utils.js new file mode 100644 index 00000000..0b9dd4d3 --- /dev/null +++ b/test/util/http-utils.js @@ -0,0 +1,11 @@ +var request = require('request-promise'); +var assert = require('chai').assert; + +exports.GET = function(route) { + return request({ url: 'http://localhost:12345' + route, resolveWithFullResponse: true }).then(function(res) { + // Express sends 500 errors for uncaught exceptions (like failed assertions) + // Make sure to still fail the test if an assertion in middleware failed. + assert.equal(res.statusCode, 200); + return res; + }); +}; From 602370158c50c34daf9fa5361aa05dbe59288bdb Mon Sep 17 00:00:00 2001 From: Moritz Mahringer Date: Fri, 26 Jan 2018 17:23:32 +0100 Subject: [PATCH 6/8] Remove merge artifact --- test/typescript-resources/base-case.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test/typescript-resources/base-case.ts diff --git a/test/typescript-resources/base-case.ts b/test/typescript-resources/base-case.ts deleted file mode 100644 index e69de29b..00000000 From 5704f7886b65afa2cdae332a6aca4cb591b178ec Mon Sep 17 00:00:00 2001 From: Moritz Mahringer Date: Fri, 26 Jan 2018 17:29:10 +0100 Subject: [PATCH 7/8] Add CommonJS test case --- test/commonjs.test.js | 35 +++++++++++++++++++++++ test/test-resources/commonjs-base-case.js | 12 ++++++++ test/util/launch-utils.js | 6 ++++ 3 files changed, 53 insertions(+) create mode 100644 test/commonjs.test.js create mode 100644 test/test-resources/commonjs-base-case.js diff --git a/test/commonjs.test.js b/test/commonjs.test.js new file mode 100644 index 00000000..96e4e7c3 --- /dev/null +++ b/test/commonjs.test.js @@ -0,0 +1,35 @@ +'use strict'; + +var resolve = require('path').resolve; +var assert = require('chai').assert; +var spawnJavaScript = require('./util/launch-utils').spawnJavaScript; +var GET = require('./util/http-utils').GET; + +describe('CommonJs', function() { + it('should run the example and respond', function(done) { + this.timeout(5000); + var js_file = resolve(__dirname, './test-resources/commonjs-base-case.js'); + var target = spawnJavaScript(js_file); + var called = false; + + target.stdout.on('data', function(data) { + if (data.toString().indexOf('START') === -1) { + return; + } + + GET('/').then(function() { + called = true; + target.kill('SIGINT'); + }); + }); + + target.stderr.on('data', function(data) { + console.error(data.toString()); + }); + + target.on('close', function() { + assert(called); + done(); + }); + }); +}); diff --git a/test/test-resources/commonjs-base-case.js b/test/test-resources/commonjs-base-case.js new file mode 100644 index 00000000..8f583a6f --- /dev/null +++ b/test/test-resources/commonjs-base-case.js @@ -0,0 +1,12 @@ +var express = require('express'); +var Router = require('../../lib/express-promise-router.js'); +var router = Router(); + +router.get('/', function(req, res) { + res.send('Hi!'); +}); + +var app = express(); +app.use(router); +app.listen(12345); +console.log('START'); diff --git a/test/util/launch-utils.js b/test/util/launch-utils.js index 877d9a0d..08f2ae7c 100644 --- a/test/util/launch-utils.js +++ b/test/util/launch-utils.js @@ -21,3 +21,9 @@ exports.spawnTypeScript = function spawnTypeScript(path) { return spawnString(transpiled, dirname(path)); }; + +exports.spawnJavaScript = function spawnJavaScript(path) { + var content = fs.readFileSync(path, 'utf-8'); + + return spawnString(content, dirname(path)); +}; From fd9ad74edf02baab8f164e0ae6393f528a4490b0 Mon Sep 17 00:00:00 2001 From: Moritz Mahringer Date: Sun, 8 Apr 2018 17:26:39 +0200 Subject: [PATCH 8/8] Add Babel test case --- package.json | 2 + test/babel.test.js | 35 ++++ test/test-resources/.eslintrc | 6 + test/test-resources/babel-base-case.js | 12 ++ test/util/launch-utils.js | 11 ++ yarn.lock | 225 ++++++++++++++++++++++++- 6 files changed, 285 insertions(+), 6 deletions(-) create mode 100644 test/babel.test.js create mode 100644 test/test-resources/.eslintrc create mode 100644 test/test-resources/babel-base-case.js diff --git a/package.json b/package.json index fb957934..5b4229a7 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,8 @@ }, "devDependencies": { "@types/express": "^4.11.0", + "babel-core": "^6.26.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", "chai": "^4.0.0", "eslint": "^4.0.0", "express": "4.x", diff --git a/test/babel.test.js b/test/babel.test.js new file mode 100644 index 00000000..ee72b91c --- /dev/null +++ b/test/babel.test.js @@ -0,0 +1,35 @@ +'use strict'; + +var resolve = require('path').resolve; +var assert = require('chai').assert; +var spawnBabel = require('./util/launch-utils').spawnBabel; +var GET = require('./util/http-utils').GET; + +describe('Babel', function() { + it('should run the example and respond', function(done) { + this.timeout(5000); + var js_file = resolve(__dirname, './test-resources/babel-base-case.js'); + var target = spawnBabel(js_file); + var called = false; + + target.stdout.on('data', function(data) { + if (data.toString().indexOf('START') === -1) { + return; + } + + GET('/').then(function() { + called = true; + target.kill('SIGINT'); + }); + }); + + target.stderr.on('data', function(data) { + console.error(data.toString()); + }); + + target.on('close', function() { + assert(called); + done(); + }); + }); +}); diff --git a/test/test-resources/.eslintrc b/test/test-resources/.eslintrc new file mode 100644 index 00000000..3f7adbfb --- /dev/null +++ b/test/test-resources/.eslintrc @@ -0,0 +1,6 @@ +{ + "parserOptions": { + "ecmaVersion": 2015, + "sourceType": "module" + } +} diff --git a/test/test-resources/babel-base-case.js b/test/test-resources/babel-base-case.js new file mode 100644 index 00000000..713005bc --- /dev/null +++ b/test/test-resources/babel-base-case.js @@ -0,0 +1,12 @@ +import express from 'express'; +import Router from '../../lib/express-promise-router.js'; +const router = Router(); + +router.get('/', function(req, res) { + res.send('Hi!'); +}); + +const app = express(); +app.use(router); +app.listen(12345); +console.log('START'); diff --git a/test/util/launch-utils.js b/test/util/launch-utils.js index 08f2ae7c..3051446f 100644 --- a/test/util/launch-utils.js +++ b/test/util/launch-utils.js @@ -1,4 +1,5 @@ var ts = require('typescript'); +var babel = require('babel-core'); var fs = require('fs'); var spawn = require('child_process').spawn; var dirname = require('path').dirname; @@ -27,3 +28,13 @@ exports.spawnJavaScript = function spawnJavaScript(path) { return spawnString(content, dirname(path)); }; + +exports.spawnBabel = function spawnBabel(path) { + var content = fs.readFileSync(path, 'utf-8'); + + var result = babel.transform(content, { + plugins: ['transform-es2015-modules-commonjs'], + }); + + return spawnString(result.code, dirname(path)); +}; diff --git a/yarn.lock b/yarn.lock index 307dfac0..6c5b0157 100644 --- a/yarn.lock +++ b/yarn.lock @@ -142,7 +142,7 @@ aws4@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-code-frame@^6.22.0: +babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: @@ -150,6 +150,128 @@ babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.2" +babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -311,6 +433,10 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" +convert-source-map@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -319,6 +445,10 @@ cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.4.tgz#f2c8bf181f2a80b92f360121429ce63a2f0aeae0" + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -343,7 +473,7 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -debug@2.6.9: +debug@2.6.9, debug@^2.6.8: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -396,6 +526,12 @@ detect-indent@^0.2.0: get-stdin "^0.1.0" minimist "^0.1.0" +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + diff@3.3.1, diff@^3.1.0: version "3.3.1" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" @@ -683,7 +819,7 @@ glob@^4.0.2: minimatch "^2.0.1" once "^1.3.0" -globals@^9.17.0: +globals@^9.17.0, globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -744,6 +880,13 @@ hoek@4.x.x: version "4.2.0" resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + http-errors@1.6.2, http-errors@~1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" @@ -803,10 +946,22 @@ inquirer@^3.0.6: strip-ansi "^4.0.0" through "^2.3.6" +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + ipaddr.js@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -857,7 +1012,7 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -js-tokens@^3.0.2: +js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" @@ -876,6 +1031,10 @@ jschardet@^1.4.2: version "1.5.1" resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.5.1.tgz#c519f629f86b3a5bedba58a88d311309eec097f9" +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" @@ -894,6 +1053,10 @@ json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -942,6 +1105,12 @@ lolex@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.1.3.tgz#53f893bbe88c80378156240e127126b905c83087" +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + lru-cache@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" @@ -1050,6 +1219,10 @@ nise@^1.1.1: path-to-regexp "^1.7.0" text-encoding "^0.6.4" +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -1087,7 +1260,11 @@ optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" -os-tmpdir@~1.0.2: +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +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" @@ -1095,7 +1272,7 @@ parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" -path-is-absolute@^1.0.0: +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -1147,6 +1324,10 @@ prettier@^1.1.0: version "1.7.4" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa" +private@^0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" @@ -1199,6 +1380,16 @@ readable-stream@^2.2.2: string_decoder "~1.0.3" util-deprecate "~1.0.1" +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + request-promise-core@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" @@ -1361,6 +1552,10 @@ sinon@^4.0.0: text-encoding "0.6.4" type-detect "^4.0.0" +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + slice-ansi@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" @@ -1373,6 +1568,16 @@ sntp@2.x.x: dependencies: hoek "4.x.x" +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map@^0.5.6, source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -1471,12 +1676,20 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + tough-cookie@>=2.3.3, tough-cookie@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" dependencies: punycode "^1.4.1" +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"