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;
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/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/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/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/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/test-resources/typescript-base-case.ts b/test/test-resources/typescript-base-case.ts
new file mode 100644
index 00000000..c0668b8c
--- /dev/null
+++ b/test/test-resources/typescript-base-case.ts
@@ -0,0 +1,13 @@
+///
+import * as 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/typescript-resources/base-case.ts b/test/typescript-resources/base-case.ts
deleted file mode 100644
index 97a82148..00000000
--- a/test/typescript-resources/base-case.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-import Router from 'express-promise-router';
-var router = Router();
-
-router.get('test', function(req, res) {
- res.send('Test');
-});
diff --git a/test/typescript.test.js b/test/typescript.test.js
index 941f628f..0aa7c959 100644
--- a/test/typescript.test.js
+++ b/test/typescript.test.js
@@ -2,10 +2,41 @@
var tt = require('typescript-definition-tester');
var path = require('path');
+var resolve = require('path').resolve;
+var assert = require('chai').assert;
+var spawnTypeScript = require('./util/launch-utils').spawnTypeScript;
+var GET = require('./util/http-utils').GET;
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));
+ });
+
+ 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 = spawnTypeScript(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/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;
+ });
+};
diff --git a/test/util/launch-utils.js b/test/util/launch-utils.js
new file mode 100644
index 00000000..3051446f
--- /dev/null
+++ b/test/util/launch-utils.js
@@ -0,0 +1,40 @@
+var ts = require('typescript');
+var babel = require('babel-core');
+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.spawnTypeScript = function spawnTypeScript(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));
+};
+
+exports.spawnJavaScript = function spawnJavaScript(path) {
+ var content = fs.readFileSync(path, 'utf-8');
+
+ 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"