diff --git a/.gitignore b/.gitignore index d0049c5dcf7..dcacf381574 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,7 @@ dist .idea .vscode *.iml + +# Coverage +.nyc_output +coverage diff --git a/.travis.yml b/.travis.yml index 34ba65f5180..992691b6026 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,9 @@ before_install: before_script: - cp config/ci.config.json config/project.json script: - - xvfb-run npm test + - xvfb-run yarn test +after_success: + - yarn test:coverage # Misc Addons/Configs dist: trusty diff --git a/config/karma.base.js b/config/karma.base.js index b2c301ef35e..fc7459145ec 100644 --- a/config/karma.base.js +++ b/config/karma.base.js @@ -66,7 +66,7 @@ const config = { // test results reporter to use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['spec' /*, 'saucelabs' */], + reporters: ['spec', 'coverage-istanbul' /*, 'saucelabs' */], // web server port port: 8089, @@ -113,6 +113,12 @@ const config = { // Pass through --grep option to filter the tests that run. args: argv.grep ? ['--grep', argv.grep] : [] + }, + + coverageIstanbulReporter: { + dir: path.resolve(process.cwd(), 'coverage/browser/%browser%'), + fixWebpackSourcePaths: true, + reports: ['lcovonly'] } }; diff --git a/config/webpack.test.js b/config/webpack.test.js index ed5d7974f6b..a4912059b14 100644 --- a/config/webpack.test.js +++ b/config/webpack.test.js @@ -18,7 +18,7 @@ const path = require('path'); const webpack = require('webpack'); module.exports = { - devtool: 'eval-source-map', + devtool: 'source-map', module: { rules: [ { @@ -27,9 +27,18 @@ module.exports = { use: 'ts-loader' }, { - test: /\.js$/, - use: ['source-map-loader'], + test: /\.[tj]sx?$/, + use: 'source-map-loader', enforce: 'pre' + }, + { + test: /\.tsx?$/, + use: { + loader: 'istanbul-instrumenter-loader', + options: { esModules: true } + }, + enforce: 'post', + include: path.resolve(process.cwd(), 'src') } ] }, diff --git a/integration/firestore/gulpfile.js b/integration/firestore/gulpfile.js index b814a7ac1d1..6df5c05d718 100644 --- a/integration/firestore/gulpfile.js +++ b/integration/firestore/gulpfile.js @@ -36,9 +36,9 @@ function reworkFirebasePaths() { /** * This regex is designed to match the following statement used in our * firestore integratino test suites: - * + * * import firebase from '../../util/firebase_export'; - * + * * It will handle variations in whitespace, single/double quote * differences, as well as different paths to a valid firebase_export */ diff --git a/integration/shared/validator.js b/integration/shared/validator.js index 60a3b4a196f..7fd22f723a6 100644 --- a/integration/shared/validator.js +++ b/integration/shared/validator.js @@ -43,7 +43,7 @@ function validateNamespace(definition, candidate) { const candidateChunk = candidate[key]; /** - * Grab all of the keys that aren't meta properties and capture + * Grab all of the keys that aren't meta properties and capture * them for more testing later */ const internalKeys = Object.keys(definitionChunk).filter( @@ -72,16 +72,16 @@ function validateNamespace(definition, candidate) { } /** - * Keys marked with `__return` allow us to validate the + * Keys marked with `__return` allow us to validate the * return value of a specific part of the API - * + * * e.g. * { * ... * app: { * __return: { * - * } + * } * } * } */ diff --git a/package.json b/package.json index af9a701c6e8..ef275ffce0e 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,8 @@ "repl": "node tools/repl.js", "pretest": "node tools/pretest.js", "test": "lerna run --parallel test", + "pretest:coverage": "mkdirp coverage", + "test:coverage": "lcov-result-merger 'packages/**/lcov.info' | coveralls", "test:setup": "node tools/config.js" }, "repository": { @@ -36,14 +38,18 @@ "devDependencies": { "chalk": "^2.3.0", "child-process-promise": "^2.2.1", + "coveralls": "^3.0.0", "firebase-tools": "^3.10.1", "glob": "^7.1.2", "gulp-sourcemaps": "^2.6.1", "gulp-typescript": "^3.2.3", "husky": "^0.14.3", "inquirer": "^3.2.3", + "istanbul-instrumenter-loader": "^3.0.0", + "lcov-result-merger": "^1.2.0", "lerna": "^2.1.0", "merge2": "^1.2.0", + "mkdirp": "^0.5.1", "mz": "^2.7.0", "ora": "^1.3.0", "prettier": "^1.7.0", diff --git a/packages/app/package.json b/packages/app/package.json index 1568cf6b5a6..bf545c05ecd 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -8,7 +8,8 @@ "dev": "gulp dev", "test": "run-p test:browser test:node", "test:browser": "karma start --single-run", - "test:node": "mocha test/**/*.test.* --compilers ts:ts-node/register --exit", + "test:browser:debug": "karma start --browsers Chrome --auto-watch", + "test:node": "nyc --reporter lcovonly -- mocha test/**/*.test.* --compilers ts:ts-node/register --exit", "prepare": "gulp build" }, "license": "Apache-2.0", @@ -26,6 +27,7 @@ "karma": "^1.7.0", "karma-chrome-launcher": "^2.2.0", "karma-cli": "^1.0.1", + "karma-coverage-istanbul-reporter": "^1.3.0", "karma-mocha": "^1.3.0", "karma-sauce-launcher": "^1.2.0", "karma-sourcemap-loader": "^0.3.7", @@ -33,6 +35,7 @@ "karma-webpack": "^2.0.4", "mocha": "^4.0.1", "npm-run-all": "^4.1.1", + "nyc": "^11.2.1", "sinon": "^4.0.2", "source-map-loader": "^0.2.3", "ts-loader": "^3.1.0", @@ -47,5 +50,11 @@ "bugs": { "url": "https://github.com/firebase/firebase-js-sdk/issues" }, - "typings": "dist/index.d.ts" + "typings": "dist/index.d.ts", + "nyc": { + "extension": [ + ".ts" + ], + "reportDir": "./coverage/node" + } } diff --git a/packages/app/src/firebaseApp.ts b/packages/app/src/firebaseApp.ts index f99cf033fa5..5db0f1478f8 100644 --- a/packages/app/src/firebaseApp.ts +++ b/packages/app/src/firebaseApp.ts @@ -312,14 +312,14 @@ class FirebaseAppImpl implements FirebaseApp { /** * Return a service instance associated with this app (creating it * on demand), identified by the passed instanceIdentifier. - * + * * NOTE: Currently storage is the only one that is leveraging this * functionality. They invoke it by calling: - * + * * ```javascript * firebase.app().storage('STORAGE BUCKET ID') * ``` - * + * * The service name is passed to this already * @internal */ @@ -364,10 +364,10 @@ class FirebaseAppImpl implements FirebaseApp { /** * If the app has overwritten the addAuthTokenListener stub, forward * the active token listeners on to the true fxn. - * + * * TODO: This function is required due to our current module * structure. Once we are able to rely strictly upon a single module - * implementation, this code should be refactored and Auth should + * implementation, this code should be refactored and Auth should * provide these stubs and the upgrade logic */ if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) { diff --git a/packages/app/test/firebaseApp.test.ts b/packages/app/test/firebaseApp.test.ts index 767f91b6b04..5f33d9751f5 100644 --- a/packages/app/test/firebaseApp.test.ts +++ b/packages/app/test/firebaseApp.test.ts @@ -351,8 +351,7 @@ describe('Firebase App Class', () => { (app2 as any).test(); // Confirm extended INTERNAL getToken resolve with the corresponding // service's value. - return app.INTERNAL - .getToken() + return app.INTERNAL.getToken() .then(token => { assert.equal('tokenFor0', token.accessToken); return app2.INTERNAL.getToken(); diff --git a/packages/database/index.node.ts b/packages/database/index.node.ts index 66f0fd072b3..bf53c5d7055 100644 --- a/packages/database/index.node.ts +++ b/packages/database/index.node.ts @@ -28,9 +28,9 @@ import './src/nodePatches'; /** * A one off register function which returns a database based on the app and * passed database URL. - * + * * @param app A valid FirebaseApp-like object - * @param url A valid Firebase databaseURL + * @param url A valid Firebase databaseURL */ const ServerValue = Database.ServerValue; diff --git a/packages/database/package.json b/packages/database/package.json index b599aeef0eb..fa39b43fdc1 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -9,7 +9,7 @@ "dev": "gulp dev", "test": "run-p test:browser test:node", "test:browser": "karma start --single-run", - "test:node": "mocha 'test/{,!(browser)/**/}*.test.ts' --compilers ts:ts-node/register -r src/nodePatches.ts --retries 5 --timeout 5000 --exit", + "test:node": "nyc --reporter lcovonly -- mocha 'test/{,!(browser)/**/}*.test.ts' --compilers ts:ts-node/register -r src/nodePatches.ts --retries 5 --timeout 5000 --exit", "prepare": "gulp build" }, "license": "Apache-2.0", @@ -37,6 +37,7 @@ "karma-webpack": "^2.0.4", "mocha": "^4.0.1", "npm-run-all": "^4.1.1", + "nyc": "^11.2.1", "sinon": "^4.0.2", "source-map-loader": "^0.2.3", "ts-loader": "^3.1.0", @@ -51,5 +52,11 @@ "bugs": { "url": "https://github.com/firebase/firebase-js-sdk/issues" }, - "typings": "dist/cjs/index.d.ts" + "typings": "dist/cjs/index.d.ts", + "nyc": { + "extension": [ + ".ts" + ], + "reportDir": "./coverage/node" + } } diff --git a/packages/database/src/core/SyncTree.ts b/packages/database/src/core/SyncTree.ts index 4145ce9cd02..c9ce06889e6 100644 --- a/packages/database/src/core/SyncTree.ts +++ b/packages/database/src/core/SyncTree.ts @@ -546,24 +546,24 @@ export class SyncTree { private collectDistinctViewsForSubTree_( subtree: ImmutableTree ): View[] { - return subtree.fold< - View[] - >((relativePath, maybeChildSyncPoint, childMap) => { - if (maybeChildSyncPoint && maybeChildSyncPoint.hasCompleteView()) { - const completeView = maybeChildSyncPoint.getCompleteView(); - return [completeView]; - } else { - // No complete view here, flatten any deeper listens into an array - let views: View[] = []; - if (maybeChildSyncPoint) { - views = maybeChildSyncPoint.getQueryViews(); + return subtree.fold( + (relativePath, maybeChildSyncPoint, childMap) => { + if (maybeChildSyncPoint && maybeChildSyncPoint.hasCompleteView()) { + const completeView = maybeChildSyncPoint.getCompleteView(); + return [completeView]; + } else { + // No complete view here, flatten any deeper listens into an array + let views: View[] = []; + if (maybeChildSyncPoint) { + views = maybeChildSyncPoint.getQueryViews(); + } + forEach(childMap, function(key: string, childViews: View[]) { + views = views.concat(childViews); + }); + return views; } - forEach(childMap, function(key: string, childViews: View[]) { - views = views.concat(childViews); - }); - return views; } - }); + ); } /** diff --git a/packages/database/src/core/snap/LeafNode.ts b/packages/database/src/core/snap/LeafNode.ts index c62c470435c..0e7b4cb9baa 100644 --- a/packages/database/src/core/snap/LeafNode.ts +++ b/packages/database/src/core/snap/LeafNode.ts @@ -121,9 +121,10 @@ export class LeafNode implements Node { } else if (newChildNode.isEmpty() && childName !== '.priority') { return this; } else { - return LeafNode.__childrenNodeConstructor.EMPTY_NODE - .updateImmediateChild(childName, newChildNode) - .updatePriority(this.priorityNode_); + return LeafNode.__childrenNodeConstructor.EMPTY_NODE.updateImmediateChild( + childName, + newChildNode + ).updatePriority(this.priorityNode_); } } diff --git a/packages/database/src/core/snap/childSet.ts b/packages/database/src/core/snap/childSet.ts index e163ddb147d..538f47d647a 100644 --- a/packages/database/src/core/snap/childSet.ts +++ b/packages/database/src/core/snap/childSet.ts @@ -86,7 +86,7 @@ export const buildChildSet = function( return null; } else if (length == 1) { namedNode = childList[low]; - key = keyFn ? keyFn(namedNode) : (namedNode as any) as K; + key = keyFn ? keyFn(namedNode) : ((namedNode as any) as K); return new LLRBNode( key, (namedNode.node as any) as V, @@ -99,7 +99,7 @@ export const buildChildSet = function( const left = buildBalancedTree(low, middle); const right = buildBalancedTree(middle + 1, high); namedNode = childList[middle]; - key = keyFn ? keyFn(namedNode) : (namedNode as any) as K; + key = keyFn ? keyFn(namedNode) : ((namedNode as any) as K); return new LLRBNode( key, (namedNode.node as any) as V, @@ -121,7 +121,7 @@ export const buildChildSet = function( index -= chunkSize; const childTree = buildBalancedTree(low + 1, high); const namedNode = childList[low]; - const key: K = keyFn ? keyFn(namedNode) : (namedNode as any) as K; + const key: K = keyFn ? keyFn(namedNode) : ((namedNode as any) as K); attachPennant( new LLRBNode(key, (namedNode.node as any) as V, color, null, childTree) ); diff --git a/packages/database/src/core/util/CountedSet.ts b/packages/database/src/core/util/CountedSet.ts index 25b311678eb..32959de0fac 100644 --- a/packages/database/src/core/util/CountedSet.ts +++ b/packages/database/src/core/util/CountedSet.ts @@ -29,7 +29,7 @@ export class CountedSet { * @param {V} val */ add(item: K, val: V) { - this.set[item as any] = val !== null ? val : true as any; + this.set[item as any] = val !== null ? val : (true as any); } /** diff --git a/packages/database/src/core/util/SortedMap.ts b/packages/database/src/core/util/SortedMap.ts index e9d95855ec4..4563ed0c7d4 100644 --- a/packages/database/src/core/util/SortedMap.ts +++ b/packages/database/src/core/util/SortedMap.ts @@ -157,9 +157,9 @@ export class LLRBNode { ) { this.color = color != null ? color : LLRBNode.RED; this.left = - left != null ? left : SortedMap.EMPTY_NODE as LLRBEmptyNode; + left != null ? left : (SortedMap.EMPTY_NODE as LLRBEmptyNode); this.right = - right != null ? right : SortedMap.EMPTY_NODE as LLRBEmptyNode; + right != null ? right : (SortedMap.EMPTY_NODE as LLRBEmptyNode); } static RED = true; diff --git a/packages/database/src/core/view/filter/LimitedFilter.ts b/packages/database/src/core/view/filter/LimitedFilter.ts index 6fe153f7be8..c83a0befd39 100644 --- a/packages/database/src/core/view/filter/LimitedFilter.ts +++ b/packages/database/src/core/view/filter/LimitedFilter.ts @@ -270,7 +270,7 @@ export class LimitedFilter implements NodeFilter { const newChildNamedNode = new NamedNode(childKey, childSnap); const windowBoundary = this.reverse_ ? oldEventCache.getFirstChild(this.index_) - : oldEventCache.getLastChild(this.index_) as NamedNode; + : (oldEventCache.getLastChild(this.index_) as NamedNode); const inRange = this.rangedFilter_.matches(newChildNamedNode); if (oldEventCache.hasChild(childKey)) { const oldChildSnap = oldEventCache.getImmediateChild(childKey); diff --git a/packages/database/src/realtime/WebSocketConnection.ts b/packages/database/src/realtime/WebSocketConnection.ts index 07e691ad5fb..081cd7eb018 100644 --- a/packages/database/src/realtime/WebSocketConnection.ts +++ b/packages/database/src/realtime/WebSocketConnection.ts @@ -149,7 +149,9 @@ export class WebSocketConnection implements Transport { // UA Format: Firebase//// const options: { [k: string]: object } = { headers: { - 'User-Agent': `Firebase/${PROTOCOL_VERSION}/${firebase.SDK_VERSION}/${process.platform}/${device}` + 'User-Agent': `Firebase/${PROTOCOL_VERSION}/${ + firebase.SDK_VERSION + }/${process.platform}/${device}` } }; diff --git a/packages/database/test/query.test.ts b/packages/database/test/query.test.ts index 3df377063c2..499748d3edd 100644 --- a/packages/database/test/query.test.ts +++ b/packages/database/test/query.test.ts @@ -83,7 +83,7 @@ describe('Query Tests', function() { /** * Because we are testing invalid queries, I am casting * to `any` to avoid the typechecking error. This can - * occur when a user uses the SDK through a pure JS + * occur when a user uses the SDK through a pure JS * client, rather than typescript */ expect(function() { diff --git a/packages/firebase/externs/firebase-auth-externs.js b/packages/firebase/externs/firebase-auth-externs.js index 2cbc6a63f3c..b70c6a55550 100644 --- a/packages/firebase/externs/firebase-auth-externs.js +++ b/packages/firebase/externs/firebase-auth-externs.js @@ -70,9 +70,9 @@ firebase.auth.AuthCredential = function() {}; /** * The authentication provider ID for the credential. * For example, 'facebook.com', or 'google.com'. - * - * @type {string} - */ + * + * @type {string} + */ firebase.auth.AuthCredential.prototype.providerId; /** diff --git a/packages/firebase/webpack.config.js b/packages/firebase/webpack.config.js index 724bf75bf4a..ac739cdfd15 100644 --- a/packages/firebase/webpack.config.js +++ b/packages/firebase/webpack.config.js @@ -43,15 +43,15 @@ const baseConfig = { /** * This regex will trigger minification of subproperties that match * any of the following use cases: - * + * * - Prefixed with an underscore (i.e. _) * - Suffixed with an underscore (i.e. _) - * + * * Exceptions: * - Double underscore prefix/suffix (we have some props that rely on * this naming convention) * - `_lat` (we have a property in auth that depends on this name) - * + * * This will be kept up to date as this changes */ regex: /^_[^_][^lat]|[^_]_$/ diff --git a/packages/firestore/package.json b/packages/firestore/package.json index f111b95729f..4e2b01c9be3 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -7,7 +7,7 @@ "test": "run-p test:browser test:node", "test:browser": "karma start --single-run", "test:browser:debug": "karma start --browsers=Chrome --auto-watch", - "test:node": "mocha 'test/{,!(integration|browser)/**/}*.test.ts' --compilers ts:ts-node/register -r src/platform_node/node_init.ts --retries 5 --timeout 5000 --exit", + "test:node": "nyc --reporter lcovonly -- mocha 'test/{,!(integration|browser)/**/}*.test.ts' --compilers ts:ts-node/register -r src/platform_node/node_init.ts --retries 5 --timeout 5000 --exit", "prepare": "gulp build" }, "main": "dist/cjs/index.node.js", @@ -41,6 +41,7 @@ "mkdirp": "^0.5.1", "mocha": "^4.0.1", "npm-run-all": "^4.1.1", + "nyc": "^11.2.1", "sinon": "^4.0.2", "source-map-loader": "^0.2.3", "ts-loader": "^3.1.0", @@ -55,5 +56,11 @@ }, "bugs": { "url": "https://github.com/firebase/firebase-js-sdk/issues" + }, + "nyc": { + "extension": [ + ".ts" + ], + "reportDir": "./coverage/node" } } diff --git a/packages/firestore/src/api/credentials.ts b/packages/firestore/src/api/credentials.ts index c91229f427e..54435923a35 100644 --- a/packages/firestore/src/api/credentials.ts +++ b/packages/firestore/src/api/credentials.ts @@ -248,15 +248,15 @@ export class GoogleCredentialsProvider implements CredentialsProvider { getToken(forceRefresh: boolean): Promise { return new Promise((resolve, reject) => { // TODO(b/32935141): ideally this would be declared as an extern - this.authClient[ - 'getAccessToken' - ]((error: AnyJs, tokenLiteral: string) => { - if (error) { - reject(error); - } else { - resolve(new OAuthToken(tokenLiteral, User.GOOGLE_CREDENTIALS)); + this.authClient['getAccessToken']( + (error: AnyJs, tokenLiteral: string) => { + if (error) { + reject(error); + } else { + resolve(new OAuthToken(tokenLiteral, User.GOOGLE_CREDENTIALS)); + } } - }); + ); }); } diff --git a/packages/firestore/src/api/database.ts b/packages/firestore/src/api/database.ts index d9853b787aa..d6a8aa64628 100644 --- a/packages/firestore/src/api/database.ts +++ b/packages/firestore/src/api/database.ts @@ -1058,8 +1058,9 @@ export class DocumentSnapshot implements firestore.DocumentSnapshot { log.error( `Document ${this._key.path} contains a document ` + `reference within a different database (` + - `${value.databaseId.projectId}/${value.databaseId - .database}) which is not ` + + `${value.databaseId.projectId}/${ + value.databaseId.database + }) which is not ` + `supported. It will be treated as a reference in the current ` + `database (${database.projectId}/${database.database}) ` + `instead.` diff --git a/packages/firestore/src/api/user_data_converter.ts b/packages/firestore/src/api/user_data_converter.ts index 7d7f0f2a3f1..e2be1a70289 100644 --- a/packages/firestore/src/api/user_data_converter.ts +++ b/packages/firestore/src/api/user_data_converter.ts @@ -152,7 +152,7 @@ class ParseContext { * of an array. * @param fieldTransforms A mutable list of field transforms encountered while * parsing the data. - * @param fieldMask A mutable list of field paths encountered while parsing + * @param fieldMask A mutable list of field paths encountered while parsing * the data. * * TODO(b/34871131): We don't support array paths right now, so path can be diff --git a/packages/firestore/src/core/firestore_client.ts b/packages/firestore/src/core/firestore_client.ts index 08a7e4648e6..eff6cf7ecf4 100644 --- a/packages/firestore/src/core/firestore_client.ts +++ b/packages/firestore/src/core/firestore_client.ts @@ -72,13 +72,13 @@ export class FirestoreClient { private databaseInfo: DatabaseInfo, private credentials: CredentialsProvider, /** - * Asynchronous queue responsible for all of our internal processing. When - * we get incoming work from the user (via public API) or the network - * (incoming GRPC messages), we should always schedule onto this queue. - * This ensures all of our work is properly serialized (e.g. we don't - * start processing a new operation while the previous one is waiting for - * an async I/O to complete). - */ + * Asynchronous queue responsible for all of our internal processing. When + * we get incoming work from the user (via public API) or the network + * (incoming GRPC messages), we should always schedule onto this queue. + * This ensures all of our work is properly serialized (e.g. we don't + * start processing a new operation while the previous one is waiting for + * an async I/O to complete). + */ private asyncQueue: AsyncQueue ) {} diff --git a/packages/firestore/src/local/indexeddb_mutation_queue.ts b/packages/firestore/src/local/indexeddb_mutation_queue.ts index 54d1a25de6b..bf869a3cc3a 100644 --- a/packages/firestore/src/local/indexeddb_mutation_queue.ts +++ b/packages/firestore/src/local/indexeddb_mutation_queue.ts @@ -62,9 +62,9 @@ export class IndexedDbMutationQueue implements MutationQueue { constructor( /** - * The normalized userId (e.g. null UID => "" userId) used to store / - * retrieve mutations. - */ + * The normalized userId (e.g. null UID => "" userId) used to store / + * retrieve mutations. + */ private userId: string, private serializer: LocalSerializer ) {} diff --git a/packages/firestore/src/local/indexeddb_schema.ts b/packages/firestore/src/local/indexeddb_schema.ts index 3b32c48ba18..52cb2c0eefa 100644 --- a/packages/firestore/src/local/indexeddb_schema.ts +++ b/packages/firestore/src/local/indexeddb_schema.ts @@ -112,25 +112,25 @@ export class DbMutationQueue { constructor( /** - * The normalized user ID to which this queue belongs. - */ + * The normalized user ID to which this queue belongs. + */ public userId: string, /** - * An identifier for the highest numbered batch that has been acknowledged - * by the server. All MutationBatches in this queue with batchIds less - * than or equal to this value are considered to have been acknowledged by - * the server. - */ + * An identifier for the highest numbered batch that has been acknowledged + * by the server. All MutationBatches in this queue with batchIds less + * than or equal to this value are considered to have been acknowledged by + * the server. + */ public lastAcknowledgedBatchId: number, /** - * A stream token that was previously sent by the server. - * - * See StreamingWriteRequest in datastore.proto for more details about - * usage. - * - * After sending this token, earlier tokens may not be used anymore so - * only a single stream token is retained. - */ + * A stream token that was previously sent by the server. + * + * See StreamingWriteRequest in datastore.proto for more details about + * usage. + * + * After sending this token, earlier tokens may not be used anymore so + * only a single stream token is retained. + */ public lastStreamToken: string ) {} } @@ -154,24 +154,24 @@ export class DbMutationBatch { constructor( /** - * The normalized user ID to which this batch belongs. - */ + * The normalized user ID to which this batch belongs. + */ public userId: string, /** - * An identifier for this batch, allocated by the mutation queue in a - * monotonically increasing manner. - */ + * An identifier for this batch, allocated by the mutation queue in a + * monotonically increasing manner. + */ public batchId: BatchId, /** - * The local write time of the batch, stored as milliseconds since the - * epoch. - */ + * The local write time of the batch, stored as milliseconds since the + * epoch. + */ public localWriteTimeMs: number, /** - * A list of mutations to apply. All mutations will be applied atomically. - * - * Mutations are serialized via JsonProtoSerializer.toMutation(). - */ + * A list of mutations to apply. All mutations will be applied atomically. + * + * Mutations are serialized via JsonProtoSerializer.toMutation(). + */ public mutations: api.Write[] ) {} } @@ -262,14 +262,14 @@ export class DbRemoteDocument { constructor( /** - * Set to an instance of a DbNoDocument if it is known that no document - * exists. - */ + * Set to an instance of a DbNoDocument if it is known that no document + * exists. + */ public noDocument: DbNoDocument | null, /** - * Set to an instance of a Document if there's a cached version of the - * document. - */ + * Set to an instance of a Document if there's a cached version of the + * document. + */ public document: api.Document | null ) {} } @@ -313,64 +313,64 @@ export class DbTarget { constructor( /** - * An auto-generated sequential numeric identifier for the query. - * - * Queries are stored using their canonicalId as the key, but these - * canonicalIds can be quite long so we additionally assign a unique - * queryId which can be used by referenced data structures (e.g. - * indexes) to minimize the on-disk cost. - */ + * An auto-generated sequential numeric identifier for the query. + * + * Queries are stored using their canonicalId as the key, but these + * canonicalIds can be quite long so we additionally assign a unique + * queryId which can be used by referenced data structures (e.g. + * indexes) to minimize the on-disk cost. + */ public targetId: TargetId, /** - * The canonical string representing this query. This is not unique. - */ + * The canonical string representing this query. This is not unique. + */ public canonicalId: string, /** - * The last readTime received from the Watch Service for this query. - * - * This is the same value as TargetChange.read_time in the protos. - */ + * The last readTime received from the Watch Service for this query. + * + * This is the same value as TargetChange.read_time in the protos. + */ public readTime: DbTimestamp, /** - * An opaque, server-assigned token that allows watching a query to be - * resumed after disconnecting without retransmitting all the data - * that matches the query. The resume token essentially identifies a - * point in time from which the server should resume sending results. - * - * This is related to the snapshotVersion in that the resumeToken - * effectively also encodes that value, but the resumeToken is opaque - * and sometimes encodes additional information. - * - * A consequence of this is that the resumeToken should be used when - * asking the server to reason about where this client is in the watch - * stream, but the client should use the snapshotVersion for its own - * purposes. - * - * This is the same value as TargetChange.resume_token in the protos. - */ + * An opaque, server-assigned token that allows watching a query to be + * resumed after disconnecting without retransmitting all the data + * that matches the query. The resume token essentially identifies a + * point in time from which the server should resume sending results. + * + * This is related to the snapshotVersion in that the resumeToken + * effectively also encodes that value, but the resumeToken is opaque + * and sometimes encodes additional information. + * + * A consequence of this is that the resumeToken should be used when + * asking the server to reason about where this client is in the watch + * stream, but the client should use the snapshotVersion for its own + * purposes. + * + * This is the same value as TargetChange.resume_token in the protos. + */ public resumeToken: string, /** - * A sequence number representing the last time this query was - * listened to, used for garbage collection purposes. - * - * Conventionally this would be a timestamp value, but device-local - * clocks are unreliable and they must be able to create new listens - * even while disconnected. Instead this should be a monotonically - * increasing number that's incremented on each listen call. - * - * This is different from the queryId since the queryId is an - * immutable identifier assigned to the Query on first use while - * lastListenSequenceNumber is updated every time the query is - * listened to. - */ + * A sequence number representing the last time this query was + * listened to, used for garbage collection purposes. + * + * Conventionally this would be a timestamp value, but device-local + * clocks are unreliable and they must be able to create new listens + * even while disconnected. Instead this should be a monotonically + * increasing number that's incremented on each listen call. + * + * This is different from the queryId since the queryId is an + * immutable identifier assigned to the Query on first use while + * lastListenSequenceNumber is updated every time the query is + * listened to. + */ public lastListenSequenceNumber: number, /** - * The query for this target. - * - * Because canonical ids are not unique we must store the actual query. We - * use the proto to have an object we can persist without having to - * duplicate translation logic to and from a `Query` object. - */ + * The query for this target. + * + * Because canonical ids are not unique we must store the actual query. We + * use the proto to have an object we can persist without having to + * duplicate translation logic to and from a `Query` object. + */ public query: DbQuery ) {} } @@ -401,12 +401,12 @@ export class DbTargetDocument { constructor( /** - * The targetId identifying a target. - */ + * The targetId identifying a target. + */ public targetId: TargetId, /** - * The path to the document, as encoded in the key. - */ + * The path to the document, as encoded in the key. + */ public path: EncodedResourcePath ) {} } @@ -432,25 +432,25 @@ export class DbTargetGlobal { constructor( /** - * The highest numbered target id across all targets. - * - * See DbTarget.targetId. - */ + * The highest numbered target id across all targets. + * + * See DbTarget.targetId. + */ public highestTargetId: TargetId, /** - * The highest numbered lastListenSequenceNumber across all targets. - * - * See DbTarget.lastListenSequenceNumber. - */ + * The highest numbered lastListenSequenceNumber across all targets. + * + * See DbTarget.lastListenSequenceNumber. + */ public highestListenSequenceNumber: number, /** - * A global snapshot version representing the last consistent snapshot we - * received from the backend. This is monotonically increasing and any - * snapshots received from the backend prior to this version (e.g. for - * targets resumed with a resumeToken) should be suppressed (buffered) - * until the backend has caught up to this snapshot version again. This - * prevents our cache from ever going backwards in time. - */ + * A global snapshot version representing the last consistent snapshot we + * received from the backend. This is monotonically increasing and any + * snapshots received from the backend prior to this version (e.g. for + * targets resumed with a resumeToken) should be suppressed (buffered) + * until the backend has caught up to this snapshot version again. This + * prevents our cache from ever going backwards in time. + */ public lastRemoteSnapshotVersion: DbTimestamp ) {} } diff --git a/packages/firestore/src/local/local_documents_view.ts b/packages/firestore/src/local/local_documents_view.ts index 4082895f064..7a37b330774 100644 --- a/packages/firestore/src/local/local_documents_view.ts +++ b/packages/firestore/src/local/local_documents_view.ts @@ -106,16 +106,15 @@ export class LocalDocumentsView { docPath: ResourcePath ): PersistencePromise { // Just do a simple document lookup. - return this.getDocument( - transaction, - new DocumentKey(docPath) - ).next(maybeDoc => { - let result = documentMap(); - if (maybeDoc instanceof Document) { - result = result.insert(maybeDoc.key, maybeDoc); + return this.getDocument(transaction, new DocumentKey(docPath)).next( + maybeDoc => { + let result = documentMap(); + if (maybeDoc instanceof Document) { + result = result.insert(maybeDoc.key, maybeDoc); + } + return result; } - return result; - }); + ); } private getDocumentsMatchingCollectionQuery( diff --git a/packages/firestore/src/local/local_store.ts b/packages/firestore/src/local/local_store.ts index ab614020112..b220f618bad 100644 --- a/packages/firestore/src/local/local_store.ts +++ b/packages/firestore/src/local/local_store.ts @@ -162,10 +162,10 @@ export class LocalStore { private persistence: Persistence, initialUser: User, /** - * The garbage collector collects documents that should no longer be - * cached (e.g. if they are no longer retained by the above reference sets - * and the garbage collector is performing eager collection). - */ + * The garbage collector collects documents that should no longer be + * cached (e.g. if they are no longer retained by the above reference sets + * and the garbage collector is performing eager collection). + */ private garbageCollector: GarbageCollector ) { this.mutationQueue = persistence.getMutationQueue(initialUser); @@ -667,12 +667,11 @@ export class LocalStore { const documentBuffer = new RemoteDocumentChangeBuffer( this.remoteDocuments ); - return this.releaseHeldBatchResults( - txn, - documentBuffer - ).next(() => { - documentBuffer.apply(txn); - }); + return this.releaseHeldBatchResults(txn, documentBuffer).next( + () => { + documentBuffer.apply(txn); + } + ); } else { return PersistencePromise.resolve(); } diff --git a/packages/firestore/src/model/mutation.ts b/packages/firestore/src/model/mutation.ts index 072f7032d3f..47f1e423f3c 100644 --- a/packages/firestore/src/model/mutation.ts +++ b/packages/firestore/src/model/mutation.ts @@ -77,16 +77,16 @@ export class FieldTransform { export class MutationResult { constructor( /** - * The version at which the mutation was committed or null for a delete. - */ + * The version at which the mutation was committed or null for a delete. + */ readonly version: SnapshotVersion | null, /** - * The resulting fields returned from the backend after a - * TransformMutation has been committed. Contains one FieldValue for each - * FieldTransform that was in the mutation. - * - * Will be null if the mutation was not a TransformMutation. - */ + * The resulting fields returned from the backend after a + * TransformMutation has been committed. Contains one FieldValue for each + * FieldTransform that was in the mutation. + * + * Will be null if the mutation was not a TransformMutation. + */ readonly transformResults: FieldValue[] | null ) {} } diff --git a/packages/firestore/src/platform_node/grpc_connection.ts b/packages/firestore/src/platform_node/grpc_connection.ts index 902e8827235..c9257ad057e 100644 --- a/packages/firestore/src/platform_node/grpc_connection.ts +++ b/packages/firestore/src/platform_node/grpc_connection.ts @@ -50,8 +50,9 @@ const LOG_TAG = 'Connection'; // TODO(b/38203344): The SDK_VERSION is set independently from Firebase because // we are doing out-of-band releases. Once we release as part of Firebase, we // should use the Firebase version instead. -const X_GOOG_API_CLIENT_VALUE = `gl-node/${process.versions - .node} fire/${SDK_VERSION} grpc/${grpcVersion}`; +const X_GOOG_API_CLIENT_VALUE = `gl-node/${process.versions.node} fire/${ + SDK_VERSION +} grpc/${grpcVersion}`; function createHeaders(databaseInfo: DatabaseInfo, token: Token | null): {} { assert( diff --git a/packages/firestore/src/remote/backoff.ts b/packages/firestore/src/remote/backoff.ts index 2c979578273..0bc991b5982 100644 --- a/packages/firestore/src/remote/backoff.ts +++ b/packages/firestore/src/remote/backoff.ts @@ -33,21 +33,21 @@ export class ExponentialBackoff { constructor( /** - * The initial delay (used as the base delay on the first retry attempt). - * Note that jitter will still be applied, so the actual delay could be as - * little as 0.5*initialDelayMs. - */ + * The initial delay (used as the base delay on the first retry attempt). + * Note that jitter will still be applied, so the actual delay could be as + * little as 0.5*initialDelayMs. + */ private readonly initialDelayMs: number, /** - * The multiplier to use to determine the extended base delay after each - * attempt. - */ + * The multiplier to use to determine the extended base delay after each + * attempt. + */ private readonly backoffFactor: number, /** - * The maximum base delay after which no further backoff is performed. - * Note that jitter will still be applied, so the actual delay could be as - * much as 1.5*maxDelayMs. - */ + * The maximum base delay after which no further backoff is performed. + * Note that jitter will still be applied, so the actual delay could be as + * much as 1.5*maxDelayMs. + */ private readonly maxDelayMs: number ) { this.reset(); diff --git a/packages/firestore/src/remote/datastore.ts b/packages/firestore/src/remote/datastore.ts index 26cb53507bc..7c00c482849 100644 --- a/packages/firestore/src/remote/datastore.ts +++ b/packages/firestore/src/remote/datastore.ts @@ -84,35 +84,33 @@ export class Datastore { const params: CommitRequest = { writes: mutations.map(m => this.serializer.toMutation(m)) }; - return this.invokeRPC( - 'commit', - params - ).then((response: api.CommitResponse) => { - return this.serializer.fromWriteResults(response.writeResults); - }); + return this.invokeRPC('commit', params).then( + (response: api.CommitResponse) => { + return this.serializer.fromWriteResults(response.writeResults); + } + ); } lookup(keys: DocumentKey[]): Promise { const params: BatchGetDocumentsRequest = { documents: keys.map(k => this.serializer.toName(k)) }; - return this.invokeRPC( - 'batchGet', - params - ).then((response: api.BatchGetDocumentsResponse[]) => { - let docs = maybeDocumentMap(); - response.forEach(proto => { - const doc = this.serializer.fromMaybeDocument(proto); - docs = docs.insert(doc.key, doc); - }); - const result: MaybeDocument[] = []; - keys.forEach(key => { - const doc = docs.get(key); - assert(!!doc, 'Missing entity in write response for ' + key); - result.push(doc!); - }); - return result; - }); + return this.invokeRPC('batchGet', params).then( + (response: api.BatchGetDocumentsResponse[]) => { + let docs = maybeDocumentMap(); + response.forEach(proto => { + const doc = this.serializer.fromMaybeDocument(proto); + docs = docs.insert(doc.key, doc); + }); + const result: MaybeDocument[] = []; + keys.forEach(key => { + const doc = docs.get(key); + assert(!!doc, 'Missing entity in write response for ' + key); + result.push(doc!); + }); + return result; + } + ); } /** Gets an auth token and invokes the provided RPC. */ diff --git a/packages/firestore/src/remote/persistent_stream.ts b/packages/firestore/src/remote/persistent_stream.ts index 195c467ca83..eb7b1b6a7e7 100644 --- a/packages/firestore/src/remote/persistent_stream.ts +++ b/packages/firestore/src/remote/persistent_stream.ts @@ -261,7 +261,9 @@ export abstract class PersistentStream< // rejections are not considered unhandled. assert( err.code === Code.CANCELLED, - `Received unexpected error in idle timeout closure. Expected CANCELLED, but was: ${err}` + `Received unexpected error in idle timeout closure. Expected CANCELLED, but was: ${ + err + }` ); }); } diff --git a/packages/firestore/src/remote/remote_event.ts b/packages/firestore/src/remote/remote_event.ts index eb29990dfdf..0e8c38686e7 100644 --- a/packages/firestore/src/remote/remote_event.ts +++ b/packages/firestore/src/remote/remote_event.ts @@ -33,17 +33,17 @@ import { emptyByteString } from '../platform/platform'; export class RemoteEvent { constructor( /** - * The snapshot version this event brings us up to, or MIN if not set. - */ + * The snapshot version this event brings us up to, or MIN if not set. + */ public readonly snapshotVersion: SnapshotVersion, /** - * A map from target to changes to the target. See TargetChange. - */ + * A map from target to changes to the target. See TargetChange. + */ public readonly targetChanges: { [targetId: number]: TargetChange }, /** - * A set of which documents have changed or been deleted, along with the - * doc's new values (if not deleted). - */ + * A set of which documents have changed or been deleted, along with the + * doc's new values (if not deleted). + */ public documentUpdates: MaybeDocumentMap ) {} diff --git a/packages/firestore/src/remote/watch_change.ts b/packages/firestore/src/remote/watch_change.ts index ca8a3c8e9ad..cc468684511 100644 --- a/packages/firestore/src/remote/watch_change.ts +++ b/packages/firestore/src/remote/watch_change.ts @@ -57,9 +57,9 @@ export class DocumentWatchChange { /** The key of the document for this change. */ public key: DocumentKey, /** - * The new document or NoDocument if it was deleted. Is null if the - * document went out of view without the server sending a new document. - */ + * The new document or NoDocument if it was deleted. Is null if the + * document went out of view without the server sending a new document. + */ public newDoc: Document | NoDocument | null ) {} } @@ -86,11 +86,11 @@ export class WatchTargetChange { /** The target IDs that were added/removed/set. */ public targetIds: TargetId[], /** - * An opaque, server-assigned token that allows watching a query to be - * resumed after disconnecting without retransmitting all the data that - * matches the query. The resume token essentially identifies a point in - * time from which the server should resume sending results. - */ + * An opaque, server-assigned token that allows watching a query to be + * resumed after disconnecting without retransmitting all the data that + * matches the query. The resume token essentially identifies a point in + * time from which the server should resume sending results. + */ public resumeToken: ProtoByteString = emptyByteString(), /** An RPC error indicating why the watch failed. */ public cause: FirestoreError | null = null diff --git a/packages/firestore/test/integration/api/validation.test.ts b/packages/firestore/test/integration/api/validation.test.ts index 86ce3a1e17e..771ff7099ad 100644 --- a/packages/firestore/test/integration/api/validation.test.ts +++ b/packages/firestore/test/integration/api/validation.test.ts @@ -172,7 +172,9 @@ apiDescribe('Validation:', persistence => { const collection = db.collection('test-collection'); const doc = collection.doc('test-document'); for (const path of badPaths) { - const reason = `Invalid path (${path}). Paths must not contain // in them.`; + const reason = `Invalid path (${ + path + }). Paths must not contain // in them.`; expect(() => db.collection(path)).to.throw(reason); expect(() => db.doc(path)).to.throw(reason); expect(() => collection.doc(path)).to.throw(reason); diff --git a/packages/firestore/test/integration/bootstrap.ts b/packages/firestore/test/integration/bootstrap.ts index 57d83a248a6..42aa1c317c3 100644 --- a/packages/firestore/test/integration/bootstrap.ts +++ b/packages/firestore/test/integration/bootstrap.ts @@ -18,7 +18,7 @@ import '../../src/platform_browser/browser_init'; /** * This will include all of the test files and compile them as needed - * + * * Taken from karma-webpack source: * https://github.com/webpack-contrib/karma-webpack#alternative-usage */ diff --git a/packages/firestore/test/unit/bootstrap.ts b/packages/firestore/test/unit/bootstrap.ts index 57d83a248a6..42aa1c317c3 100644 --- a/packages/firestore/test/unit/bootstrap.ts +++ b/packages/firestore/test/unit/bootstrap.ts @@ -18,7 +18,7 @@ import '../../src/platform_browser/browser_init'; /** * This will include all of the test files and compile them as needed - * + * * Taken from karma-webpack source: * https://github.com/webpack-contrib/karma-webpack#alternative-usage */ diff --git a/packages/firestore/test/unit/local/mutation_queue.test.ts b/packages/firestore/test/unit/local/mutation_queue.test.ts index 14bcec967db..98efa331ac0 100644 --- a/packages/firestore/test/unit/local/mutation_queue.test.ts +++ b/packages/firestore/test/unit/local/mutation_queue.test.ts @@ -71,11 +71,11 @@ describe('IndexedDbMutationQueue', () => { describe('loadNextBatchIdFromDb', () => { function loadNextBatchId(): Promise { return persistence.runTransaction('loadNextBatchIdFromDb', txn => { - return IndexedDbMutationQueue.loadNextBatchIdFromDb( - txn - ).next(batchId => { - return batchId; - }); + return IndexedDbMutationQueue.loadNextBatchIdFromDb(txn).next( + batchId => { + return batchId; + } + ); }); } diff --git a/packages/messaging/src/controllers/sw-controller.ts b/packages/messaging/src/controllers/sw-controller.ts index a3957bd5a07..67cd84bd238 100644 --- a/packages/messaging/src/controllers/sw-controller.ts +++ b/packages/messaging/src/controllers/sw-controller.ts @@ -48,18 +48,18 @@ export default class SWController extends ControllerInterface { } /** - * A handler for push events that shows notifications based on the content of - * the payload. - * - * The payload must be a JSON-encoded Object with a `notification` key. The - * value of the `notification` property will be used as the NotificationOptions - * object passed to showNotification. Additionally, the `title` property of the - * notification object will be used as the title. - * - * If there is no notification data in the payload then no notification will be - * shown. - * @private - */ + * A handler for push events that shows notifications based on the content of + * the payload. + * + * The payload must be a JSON-encoded Object with a `notification` key. The + * value of the `notification` property will be used as the NotificationOptions + * object passed to showNotification. Additionally, the `title` property of the + * notification object will be used as the title. + * + * If there is no notification data in the payload then no notification will be + * shown. + * @private + */ onPush_(event) { let msgPayload; try { @@ -97,8 +97,8 @@ export default class SWController extends ControllerInterface { } /** - * @private - */ + * @private + */ onSubChange_(event) { const promiseChain = this.getToken().then(token => { if (!token) { @@ -149,8 +149,8 @@ export default class SWController extends ControllerInterface { } /** - * @private - */ + * @private + */ onNotificationClick_(event) { if ( !( diff --git a/packages/messaging/src/models/token-details-model.ts b/packages/messaging/src/models/token-details-model.ts index 2376766fe12..d8ce2a9fdb3 100644 --- a/packages/messaging/src/models/token-details-model.ts +++ b/packages/messaging/src/models/token-details-model.ts @@ -258,8 +258,8 @@ export default class TokenDetailsModel extends DBInterface { }) .then(db => { /** - * @dict - */ + * @dict + */ const details = { swScope: swScope, vapidKey: vapidKey, diff --git a/packages/storage/src/implementation/requestinfo.ts b/packages/storage/src/implementation/requestinfo.ts index 95c38eedf96..beb90abfe2e 100644 --- a/packages/storage/src/implementation/requestinfo.ts +++ b/packages/storage/src/implementation/requestinfo.ts @@ -39,12 +39,12 @@ export class RequestInfo { public url: string, public method: string, /** - * Returns the value with which to resolve the request's promise. Only called - * if the request is successful. Throw from this function to reject the - * returned Request's promise with the thrown error. - * Note: The XhrIo passed to this function may be reused after this callback - * returns. Do not keep a reference to it in any way. - */ + * Returns the value with which to resolve the request's promise. Only called + * if the request is successful. Throw from this function to reject the + * returned Request's promise with the thrown error. + * Note: The XhrIo passed to this function may be reused after this callback + * returns. Do not keep a reference to it in any way. + */ public handler: (p1: XhrIo, p2: string) => T, public timeout: number ) {} diff --git a/packages/storage/test/xhrio.ts b/packages/storage/test/xhrio.ts index 8ac94780fbd..fae7e0d59c5 100644 --- a/packages/storage/test/xhrio.ts +++ b/packages/storage/test/xhrio.ts @@ -46,11 +46,11 @@ export class TestingXhrIo implements XhrIo { constructor(sendHook: SendHook) { this.state = State.START; - this.sendPromise = this.sendPromise = promiseimpl.make< - XhrIo - >((resolve, reject) => { - this.resolve = resolve; - }); + this.sendPromise = this.sendPromise = promiseimpl.make( + (resolve, reject) => { + this.resolve = resolve; + } + ); this.sendHook = sendHook; this.status = -1; this.responseText = ''; diff --git a/packages/util/package.json b/packages/util/package.json index 562b9ac0460..b14e75cc0b9 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -9,7 +9,7 @@ "dev": "gulp dev", "test": "run-p test:browser test:node", "test:browser": "karma start --single-run", - "test:node": "mocha test/**/*.test.* --compilers ts:ts-node/register --exit", + "test:node": "nyc --reporter lcovonly -- mocha test/**/*.test.* --compilers ts:ts-node/register --exit", "prepare": "gulp build" }, "license": "Apache-2.0", @@ -28,6 +28,7 @@ "karma-webpack": "^2.0.4", "mocha": "^4.0.1", "npm-run-all": "^4.1.1", + "nyc": "^11.2.1", "ts-loader": "^3.1.0", "ts-node": "^3.3.0", "typescript": "^2.4.2", @@ -39,5 +40,11 @@ }, "bugs": { "url": "https://github.com/firebase/firebase-js-sdk/issues" + }, + "nyc": { + "extension": [ + ".ts" + ], + "reportDir": "./coverage/node" } } diff --git a/packages/util/src/deferred.ts b/packages/util/src/deferred.ts index 3c9e771a9d1..cda3511ae40 100644 --- a/packages/util/src/deferred.ts +++ b/packages/util/src/deferred.ts @@ -26,12 +26,12 @@ export class Deferred { } /** - * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around - * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback - * and returns a node-style callback which will resolve or reject the Deferred's promise. - * @param {((?function(?(Error)): (?|undefined))| (?function(?(Error),?=): (?|undefined)))=} callback - * @return {!function(?(Error), ?=)} - */ + * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around + * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback + * and returns a node-style callback which will resolve or reject the Deferred's promise. + * @param {((?function(?(Error)): (?|undefined))| (?function(?(Error),?=): (?|undefined)))=} callback + * @return {!function(?(Error), ?=)} + */ wrapCallback(callback?) { return (error, value?) => { if (error) { diff --git a/yarn.lock b/yarn.lock index 87b1dc4b8ac..29bae1a44a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,35 +26,35 @@ through2 "^2.0.3" "@google-cloud/functions-emulator@^1.0.0-alpha.23": - version "1.0.0-alpha.25" - resolved "https://registry.yarnpkg.com/@google-cloud/functions-emulator/-/functions-emulator-1.0.0-alpha.25.tgz#b443e148244f3887633f1fc3678d03735b2a9587" + version "1.0.0-alpha.27" + resolved "https://registry.yarnpkg.com/@google-cloud/functions-emulator/-/functions-emulator-1.0.0-alpha.27.tgz#d2210a02bb4a09037de63a512e7d5a98c28123e7" dependencies: - "@google-cloud/storage" "1.2.1" + "@google-cloud/storage" "1.4.0" adm-zip "0.4.7" - ajv "5.2.2" - body-parser "1.17.2" + ajv "5.3.0" + body-parser "1.18.2" cli-table2 "0.2.0" colors "1.1.2" configstore "3.1.1" - express "4.15.4" - google-proto-files "0.12.1" - googleapis "20.1.0" + express "4.16.2" + google-proto-files "0.14.1" + googleapis "22.2.0" got "7.1.0" - grpc "1.4.1" + grpc "1.7.1" http-proxy "1.16.2" lodash "4.17.4" prompt "1.0.0" - rimraf "2.6.1" + rimraf "2.6.2" semver "5.4.1" serializerr "1.0.3" tmp "0.0.33" uuid "3.1.0" - winston "2.3.1" - yargs "8.0.2" + winston "2.4.0" + yargs "10.0.3" -"@google-cloud/storage@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-1.2.1.tgz#a0f2e20871b862f0ea64a90ac48fc08845cf9505" +"@google-cloud/storage@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-1.4.0.tgz#af5bcac2a986989c46f352b1ca1833be7b383ddb" dependencies: "@google-cloud/common" "^0.13.0" arrify "^1.0.0" @@ -63,12 +63,14 @@ create-error-class "^3.0.2" duplexify "^3.5.0" extend "^3.0.0" - gcs-resumable-upload "^0.8.0" + gcs-resumable-upload "^0.8.2" hash-stream-validation "^0.2.1" is "^3.0.1" mime-types "^2.0.8" once "^1.3.1" pumpify "^1.3.3" + safe-buffer "^5.1.1" + snakeize "^0.1.0" stream-events "^1.0.1" string-format-obj "^1.0.0" through2 "^2.0.0" @@ -90,29 +92,80 @@ normalize-path "^2.0.1" through2 "^2.0.3" +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + "@types/chai@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.4.tgz#fe86315d9a66827feeb16f73bc954688ec950e18" + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.5.tgz#b6e250e281b47e0192e236619e9b1afe62fd345c" + +"@types/long@^3.0.31": + version "3.0.32" + resolved "https://registry.yarnpkg.com/@types/long/-/long-3.0.32.tgz#f4e5af31e9e9b196d8e5fca8a5e2e20aa3d60b69" "@types/mocha@^2.2.44": version "2.2.44" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.44.tgz#1d4a798e53f35212fd5ad4d04050620171cd5b5e" "@types/node@^6.0.46": - version "6.0.90" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.90.tgz#0ed74833fa1b73dcdb9409dcb1c97ec0a8b13b02" + version "6.0.92" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.92.tgz#e7f721ae282772e12ba2579968c00d9cce422c5d" + +"@types/node@^7.0.29": + version "7.0.48" + resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.48.tgz#24bfdc0aa82e8f6dbd017159c58094a2e06d0abb" "@types/node@^8.0.47": - version "8.0.47" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.47.tgz#968e596f91acd59069054558a00708c445ca30c2" + version "8.0.53" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.53.tgz#396b35af826fa66aad472c8cb7b8d5e277f4e6d8" "@types/q@^0.0.32": version "0.0.32" resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" "@types/selenium-webdriver@^2.53.35", "@types/selenium-webdriver@~2.53.39": - version "2.53.42" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.42.tgz#74cb77fb6052edaff2a8984ddafd88d419f25cac" + version "2.53.43" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz#2de3d718819bc20165754c4a59afb7e9833f6707" "@types/sinon@^2.3.7": version "2.3.7" @@ -140,7 +193,7 @@ accepts@1.3.3: mime-types "~2.1.11" negotiator "0.6.1" -accepts@~1.3.3, accepts@~1.3.4: +accepts@~1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" dependencies: @@ -188,14 +241,14 @@ ajv-keywords@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" -ajv@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" +ajv@5.3.0, ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.3.0.tgz#4414ff74a50879c208ee5fdc826e32c303549eda" dependencies: co "^4.6.0" fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" - json-stable-stringify "^1.0.1" ajv@^4.9.1: version "4.11.8" @@ -204,15 +257,6 @@ ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.1.0, ajv@^5.1.5: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.3.0.tgz#4414ff74a50879c208ee5fdc826e32c303549eda" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -276,6 +320,12 @@ anymatch@^1.3.0: micromatch "^2.1.5" normalize-path "^2.0.0" +append-transform@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + dependencies: + default-require-extensions "^1.0.0" + aproba@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -305,18 +355,18 @@ archiver@1.3.0: walkdir "^0.0.11" zip-stream "^1.1.0" -archiver@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.16.0.tgz#bb570346899d0865eb77ed66727ab3c634fc1a50" +archiver@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-2.1.0.tgz#d2df2e8d5773a82c1dcce925ccc41450ea999afd" dependencies: - async "~1.4.2" - buffer-crc32 "~0.2.1" - glob "~5.0.0" - lazystream "~0.1.0" - lodash "~3.10.0" - readable-stream "~1.0.26" - tar-stream "~1.2.1" - zip-stream "~0.6.0" + archiver-utils "^1.3.0" + async "^2.0.0" + buffer-crc32 "^0.2.1" + glob "^7.0.0" + lodash "^4.8.0" + readable-stream "^2.0.0" + tar-stream "^1.5.0" + zip-stream "^1.2.0" archy@^1.0.0: version "1.0.0" @@ -467,8 +517,8 @@ ascli@~1: optjs "~3.2.2" asn1.js@^4.0.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" + version "4.9.2" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a" dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -546,8 +596,8 @@ async@2.4.1: lodash "^4.14.0" async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.1.4, async@^2.3.0, async@^2.4.0, async@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" + version "2.6.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: lodash "^4.14.0" @@ -559,10 +609,6 @@ async@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" -async@~1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.4.2.tgz#6c9edcb11ced4f0dd2f2d40db0d49a109c088aab" - async@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9" @@ -589,6 +635,77 @@ aws4@^1.2.1, aws4@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +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: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-generator@^6.18.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + 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.6" + trim-right "^1.0.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-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.16.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.18.0, 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.18.0, 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" + bach@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" @@ -699,10 +816,6 @@ bluebird@3.4.6: version "3.4.6" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" -bluebird@^2.9.34: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" - bluebird@^3.3.0: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" @@ -711,21 +824,6 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" -body-parser@1.17.2: - version "1.17.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz#f8892abc8f9e627d42aedafbca66bf5ab99104ee" - dependencies: - bytes "2.4.0" - content-type "~1.0.2" - debug "2.6.7" - depd "~1.1.0" - http-errors "~1.6.1" - iconv-lite "0.4.15" - on-finished "~2.3.0" - qs "6.4.0" - raw-body "~2.2.0" - type-is "~1.6.15" - body-parser@1.18.2, body-parser@^1.16.1: version "1.18.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" @@ -875,70 +973,12 @@ browserify-sign@^4.0.0: inherits "^2.0.1" parse-asn1 "^5.0.0" -browserify-zlib@^0.1.4, browserify-zlib@~0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" - dependencies: - pako "~0.2.0" - browserify-zlib@^0.2.0, browserify-zlib@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" dependencies: pako "~1.0.5" -browserify@14.4.0: - version "14.4.0" - resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.4.0.tgz#089a3463af58d0e48d8cd4070b3f74654d5abca9" - dependencies: - JSONStream "^1.0.3" - assert "^1.4.0" - browser-pack "^6.0.1" - browser-resolve "^1.11.0" - browserify-zlib "~0.1.2" - buffer "^5.0.2" - cached-path-relative "^1.0.0" - concat-stream "~1.5.1" - console-browserify "^1.1.0" - constants-browserify "~1.0.0" - crypto-browserify "^3.0.0" - defined "^1.0.0" - deps-sort "^2.0.0" - domain-browser "~1.1.0" - duplexer2 "~0.1.2" - events "~1.1.0" - glob "^7.1.0" - has "^1.0.0" - htmlescape "^1.1.0" - https-browserify "^1.0.0" - inherits "~2.0.1" - insert-module-globals "^7.0.0" - labeled-stream-splicer "^2.0.0" - module-deps "^4.0.8" - os-browserify "~0.1.1" - parents "^1.0.1" - path-browserify "~0.0.0" - process "~0.11.0" - punycode "^1.3.2" - querystring-es3 "~0.2.0" - read-only-stream "^2.0.0" - readable-stream "^2.0.2" - resolve "^1.1.4" - shasum "^1.0.0" - shell-quote "^1.6.1" - stream-browserify "^2.0.0" - stream-http "^2.0.0" - string_decoder "~1.0.0" - subarg "^1.0.0" - syntax-error "^1.1.1" - through2 "^2.0.0" - timers-browserify "^1.0.1" - tty-browserify "~0.0.0" - url "~0.11.0" - util "~0.10.1" - vm-browserify "~0.0.1" - xtend "^4.0.0" - browserify@14.5.0, browserify@^14.5.0: version "14.5.0" resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.5.0.tgz#0bbbce521acd6e4d1d54d8e9365008efb85a9cc5" @@ -991,7 +1031,7 @@ browserify@14.5.0, browserify@^14.5.0: vm-browserify "~0.0.1" xtend "^4.0.0" -buffer-crc32@^0.2.1, buffer-crc32@~0.2.1, buffer-crc32@~0.2.3: +buffer-crc32@^0.2.1, buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -1052,10 +1092,6 @@ bytebuffer@~5: dependencies: long "~3" -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -1064,6 +1100,14 @@ cached-path-relative@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" +caching-transform@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" + dependencies: + md5-hex "^1.2.0" + mkdirp "^0.5.1" + write-file-atomic "^1.1.4" + callsite@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" @@ -1201,7 +1245,7 @@ cjson@^0.3.1: dependencies: json-parse-helpfulerror "^1.0.3" -clean-css@^4.1.8, clean-css@^4.1.9: +clean-css@^4.1.9: version "4.1.9" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.9.tgz#35cee8ae7687a49b98034f70de00c4edd3826301" dependencies: @@ -1283,8 +1327,8 @@ clone@^0.2.0: resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" clone@^1.0.0, clone@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f" clone@^2.1.1: version "2.1.1" @@ -1298,28 +1342,7 @@ cloneable-readable@^1.0.0: process-nextick-args "^1.0.6" through2 "^2.0.1" -closure-builder@^2.0.17: - version "2.2.27" - resolved "https://registry.yarnpkg.com/closure-builder/-/closure-builder-2.2.27.tgz#2514342bfc8aabad91e3953aa5e3817c1910f773" - dependencies: - browserify "14.4.0" - clean-css "^4.1.8" - decompress "^4.2.0" - eslint-config-google "^0.9.1" - follow-redirects "1.2.4" - fs-extra "4.0.1" - glob "7.1.2" - loglevel "^1.5.0" - marked "0.3.6" - mkdirp "0.5.1" - path-parse "1.0.5" - progress "2.0.0" - rimraf "^2.6.2" - rollup "^0.49.3" - touch "3.1.0" - validator "^8.2.0" - -closure-builder@^2.2.29: +closure-builder@^2.0.17, closure-builder@^2.2.29: version "2.2.29" resolved "https://registry.yarnpkg.com/closure-builder/-/closure-builder-2.2.29.tgz#c93b5a7c24e2658d4093616fbea93aaa52a68557" dependencies: @@ -1368,8 +1391,8 @@ collection-map@^1.0.0: make-iterator "^1.0.0" color-convert@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" dependencies: color-name "^1.1.1" @@ -1440,6 +1463,10 @@ commander@~2.8.1: dependencies: graceful-readlink ">= 1.0.0" +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + compare-func@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" @@ -1478,15 +1505,6 @@ compress-commons@^1.2.0: normalize-path "^2.0.0" readable-stream "^2.0.0" -compress-commons@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-0.3.0.tgz#97093e2e193f7567fa13203d4b8defcd5971a519" - dependencies: - buffer-crc32 "~0.2.1" - crc32-stream "~0.3.1" - node-int64 "~0.4.0" - readable-stream "~1.0.26" - compressible@~2.0.11: version "2.0.12" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.12.tgz#c59a5c99db76767e9876500e271ef63b3493bd66" @@ -1577,8 +1595,8 @@ configstore@^2.0.0: xdg-basedir "^2.0.0" connect-history-api-fallback@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.4.0.tgz#3db24f973f4b923b0e82f619ce0df02411ca623d" + version "1.5.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" connect-query@^1.0.0: version "1.0.0" @@ -1613,50 +1631,50 @@ content-disposition@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" -content-type@~1.0.2, content-type@~1.0.4: +content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" -conventional-changelog-angular@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.5.1.tgz#974e73aa1c39c392e4364f2952bd9a62904e9ea3" +conventional-changelog-angular@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.5.2.tgz#2b38f665fe9c5920af1a2f82f547f4babe6de57c" dependencies: compare-func "^1.3.1" q "^1.4.1" -conventional-changelog-atom@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.1.tgz#d40a9b297961b53c745e5d1718fd1a3379f6a92f" +conventional-changelog-atom@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.2.tgz#12595ad5267a6937c34cf900281b1c65198a4c63" dependencies: q "^1.4.1" conventional-changelog-cli@^1.3.2: - version "1.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.4.tgz#38f7ff7ac7bca92ea110897ea08b473f2055a27c" + version "1.3.5" + resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.5.tgz#46c51496216b7406588883defa6fac589e9bb31e" dependencies: add-stream "^1.0.0" - conventional-changelog "^1.1.6" + conventional-changelog "^1.1.7" lodash "^4.1.0" meow "^3.7.0" tempfile "^1.1.1" -conventional-changelog-codemirror@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.2.0.tgz#3cc925955f3b14402827b15168049821972d9459" +conventional-changelog-codemirror@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.2.1.tgz#299a4f7147baf350e6c8158fc54954a291c5cc09" dependencies: q "^1.4.1" -conventional-changelog-core@^1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.2.tgz#a09b6b959161671ff45b93cc9efb0444e7c845c0" +conventional-changelog-core@^1.9.3: + version "1.9.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.3.tgz#2899fe779389a329f0ec4b2746c36ddefb98da2d" dependencies: - conventional-changelog-writer "^2.0.1" - conventional-commits-parser "^2.0.0" + conventional-changelog-writer "^2.0.2" + conventional-commits-parser "^2.0.1" dateformat "^1.0.12" get-pkg-repo "^1.0.0" - git-raw-commits "^1.2.0" + git-raw-commits "^1.3.0" git-remote-origin-url "^2.0.0" - git-semver-tags "^1.2.2" + git-semver-tags "^1.2.3" lodash "^4.0.0" normalize-package-data "^2.3.5" q "^1.4.1" @@ -1664,21 +1682,21 @@ conventional-changelog-core@^1.9.2: read-pkg-up "^1.0.1" through2 "^2.0.0" -conventional-changelog-ember@^0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.8.tgz#65e686da83d23b67133d1f853908c87f948035c0" +conventional-changelog-ember@^0.2.9: + version "0.2.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.9.tgz#8ec73cc054e3ab064667fb1feb52fe8ef1b16438" dependencies: q "^1.4.1" -conventional-changelog-eslint@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.2.0.tgz#b4b9b5dc09417844d87c7bcfb16bdcc686c4b1c1" +conventional-changelog-eslint@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.2.1.tgz#2c2a11beb216f80649ba72834180293b687c0662" dependencies: q "^1.4.1" -conventional-changelog-express@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.2.0.tgz#8d666ad41b10ebf964a4602062ddd2e00deb518d" +conventional-changelog-express@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.2.1.tgz#838d9e1e6c9099703b150b9c19aa2d781742bd6c" dependencies: q "^1.4.1" @@ -1694,19 +1712,19 @@ conventional-changelog-jscs@^0.1.0: dependencies: q "^1.4.1" -conventional-changelog-jshint@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.2.0.tgz#63ad7aec66cd1ae559bafe80348c4657a6eb1872" +conventional-changelog-jshint@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.2.1.tgz#86139bb3ac99899f2b177e9617e09b37d99bcf3a" dependencies: compare-func "^1.3.1" q "^1.4.1" -conventional-changelog-writer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-2.0.1.tgz#47c10d0faba526b78d194389d1e931d09ee62372" +conventional-changelog-writer@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-2.0.2.tgz#b5857ded1b001daf9a78b9cd40926f45c134949b" dependencies: compare-func "^1.3.1" - conventional-commits-filter "^1.0.0" + conventional-commits-filter "^1.1.0" dateformat "^1.0.11" handlebars "^4.0.2" json-stringify-safe "^5.0.1" @@ -1716,31 +1734,31 @@ conventional-changelog-writer@^2.0.1: split "^1.0.0" through2 "^2.0.0" -conventional-changelog@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.6.tgz#ebd9b1ab63766c715f903f654626b6b1c0da7762" - dependencies: - conventional-changelog-angular "^1.5.1" - conventional-changelog-atom "^0.1.1" - conventional-changelog-codemirror "^0.2.0" - conventional-changelog-core "^1.9.2" - conventional-changelog-ember "^0.2.8" - conventional-changelog-eslint "^0.2.0" - conventional-changelog-express "^0.2.0" +conventional-changelog@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.7.tgz#9151a62b1d8edb2d82711dabf5b7cf71041f82b1" + dependencies: + conventional-changelog-angular "^1.5.2" + conventional-changelog-atom "^0.1.2" + conventional-changelog-codemirror "^0.2.1" + conventional-changelog-core "^1.9.3" + conventional-changelog-ember "^0.2.9" + conventional-changelog-eslint "^0.2.1" + conventional-changelog-express "^0.2.1" conventional-changelog-jquery "^0.1.0" conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^0.2.0" + conventional-changelog-jshint "^0.2.1" -conventional-commits-filter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" +conventional-commits-filter@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.0.tgz#1fc29af30b5edab76f54e229c411b0c663d0f9eb" dependencies: is-subset "^0.1.1" modify-values "^1.0.0" -conventional-commits-parser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.0.0.tgz#71d01910cb0a99aeb20c144e50f81f4df3178447" +conventional-commits-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.0.1.tgz#1f15ce6b844f7ca41495c8190c0833c30b8b1693" dependencies: JSONStream "^1.0.4" is-text-path "^1.0.0" @@ -1751,18 +1769,18 @@ conventional-commits-parser@^2.0.0: trim-off-newlines "^1.0.0" conventional-recommended-bump@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.0.2.tgz#31856443ab6f9453a1827650e7cc15ec28769645" + version "1.0.3" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.0.3.tgz#472b69b1b8f09c5c4ed40fe28a41e63cc04bd736" dependencies: concat-stream "^1.4.10" - conventional-commits-filter "^1.0.0" - conventional-commits-parser "^2.0.0" - git-raw-commits "^1.2.0" - git-semver-tags "^1.2.2" + conventional-commits-filter "^1.1.0" + conventional-commits-parser "^2.0.1" + git-raw-commits "^1.3.0" + git-semver-tags "^1.2.3" meow "^3.3.0" object-assign "^4.0.1" -convert-source-map@1.X, convert-source-map@^1.1.1, convert-source-map@^1.5.0: +convert-source-map@1.X, convert-source-map@^1.1.1, convert-source-map@^1.3.0, convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1785,7 +1803,7 @@ copy-props@^1.4.1: each-props "^1.2.1" is-plain-object "^2.0.1" -core-js@^2.2.0: +core-js@^2.2.0, core-js@^2.4.0: version "2.5.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" @@ -1797,6 +1815,16 @@ 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" +coveralls@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.0.tgz#22ef730330538080d29b8c151dc9146afde88a99" + dependencies: + js-yaml "^3.6.1" + lcov-parse "^0.0.10" + log-driver "^1.2.5" + minimist "^1.2.0" + request "^2.79.0" + crc32-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" @@ -1804,13 +1832,6 @@ crc32-stream@^2.0.0: crc "^3.4.4" readable-stream "^2.0.0" -crc32-stream@~0.3.1: - version "0.3.4" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-0.3.4.tgz#73bc25b45fac1db6632231a7bfce8927e9f06552" - dependencies: - buffer-crc32 "~0.2.1" - readable-stream "~1.0.24" - crc@^3.4.4: version "3.5.0" resolved "https://registry.yarnpkg.com/crc/-/crc-3.5.0.tgz#98b8ba7d489665ba3979f59b21381374101a1964" @@ -1822,7 +1843,7 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-error-class@^3.0.1, create-error-class@^3.0.2: +create-error-class@^3.0.0, create-error-class@^3.0.1, create-error-class@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: @@ -1848,7 +1869,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@^4.0.0, cross-spawn@^4.0.2: +cross-spawn@^4, cross-spawn@^4.0.0, cross-spawn@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" dependencies: @@ -1876,8 +1897,8 @@ cryptiles@3.x.x: boom "5.x.x" crypto-browserify@^3.0.0, crypto-browserify@^3.11.0, crypto-browserify@^3.11.1: - version "3.11.1" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.1.tgz#948945efc6757a400d6e5e5af47194d10064279f" + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -1889,6 +1910,7 @@ crypto-browserify@^3.0.0, crypto-browserify@^3.11.0, crypto-browserify@^3.11.1: pbkdf2 "^3.0.3" public-encrypt "^4.0.0" randombytes "^2.0.0" + randomfill "^1.0.3" crypto-random-string@^1.0.0: version "1.0.0" @@ -1968,7 +1990,11 @@ debug-fabulous@>=0.1.1: memoizee "0.4.X" object-assign "4.X" -debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.4.5, debug@^2.6.6, debug@^2.6.7, debug@^2.6.8, debug@^2.6.9: +debug-log@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" + +debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -1986,18 +2012,6 @@ debug@2.3.3: dependencies: ms "0.7.2" -debug@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" - dependencies: - ms "2.0.0" - -debug@2.6.8: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - debug@3.1.0, debug@3.X, debug@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" @@ -2092,6 +2106,12 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" +default-require-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + dependencies: + strip-bom "^2.0.0" + default-resolution@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" @@ -2144,7 +2164,7 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@1.1.1, depd@~1.1.0, depd@~1.1.1: +depd@1.1.1, depd@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" @@ -2178,10 +2198,20 @@ detect-file@^0.1.0: dependencies: fs-exists-sync "^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" + detect-indent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" +detect-libc@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.2.tgz#71ad5d204bf17a6a6ca8f450c61454066ef461e1" + detect-newline@2.X: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -2563,7 +2593,7 @@ esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -etag@~1.8.0, etag@~1.8.1: +etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" @@ -2688,40 +2718,7 @@ expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -express@4.15.4: - version "4.15.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.15.4.tgz#032e2253489cf8fce02666beca3d11ed7a2daed1" - dependencies: - accepts "~1.3.3" - array-flatten "1.1.1" - content-disposition "0.5.2" - content-type "~1.0.2" - cookie "0.3.1" - cookie-signature "1.0.6" - debug "2.6.8" - depd "~1.1.1" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.0" - finalhandler "~1.0.4" - fresh "0.5.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.1" - path-to-regexp "0.1.7" - proxy-addr "~1.1.5" - qs "6.5.0" - range-parser "~1.2.0" - send "0.15.4" - serve-static "1.12.4" - setprototypeof "1.0.3" - statuses "~1.3.1" - type-is "~1.6.15" - utils-merge "1.0.0" - vary "~1.1.1" - -express@^4.13.3, express@^4.15.4, express@^4.16.2: +express@4.16.2, express@^4.13.3, express@^4.15.4, express@^4.16.2: version "4.16.2" resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" dependencies: @@ -2781,11 +2778,11 @@ extglob@^0.3.1: is-extglob "^1.0.0" extract-zip@^1.6.5: - version "1.6.5" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.5.tgz#99a06735b6ea20ea9b705d779acffcc87cff0440" + version "1.6.6" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.6.tgz#1290ede8d20d0872b429fd3f351ca128ec5ef85c" dependencies: concat-stream "1.6.0" - debug "2.2.0" + debug "2.6.9" mkdirp "0.5.0" yauzl "2.4.1" @@ -2869,6 +2866,13 @@ filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" +fileset@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + dependencies: + glob "^7.0.3" + minimatch "^3.0.3" + filesize@^3.1.3: version "3.5.11" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" @@ -2887,7 +2891,7 @@ filled-array@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" -finalhandler@1.0.6, finalhandler@~1.0.4: +finalhandler@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f" dependencies: @@ -2911,6 +2915,14 @@ finalhandler@1.1.0: statuses "~1.3.1" unpipe "~1.0.0" +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + find-index@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" @@ -2954,11 +2966,11 @@ fined@^1.0.1: parse-filepath "^1.0.1" firebase-tools@^3.10.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/firebase-tools/-/firebase-tools-3.14.0.tgz#708d0e5fedab329d9cb1485714d1bbdeabf1a2b5" + version "3.15.1" + resolved "https://registry.yarnpkg.com/firebase-tools/-/firebase-tools-3.15.1.tgz#cbb0b569365e6fa545ffd8e4c9d45988a3008ae5" dependencies: JSONStream "^1.2.1" - archiver "^0.16.0" + archiver "^2.1.0" chalk "^1.1.0" cjson "^0.3.1" cli-table "^0.3.1" @@ -2976,6 +2988,7 @@ firebase-tools@^3.10.1: glob "^7.1.2" google-auto-auth "^0.7.2" inquirer "^0.12.0" + is "^3.2.1" jsonschema "^1.0.2" jsonwebtoken "^7.4.1" lodash "^4.6.1" @@ -3020,12 +3033,6 @@ flat-arguments@^1.0.0: lodash.isarguments "^3.0.0" lodash.isobject "^3.0.0" -follow-redirects@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.2.4.tgz#355e8f4d16876b43f577b0d5ce2668b9723214ea" - dependencies: - debug "^2.4.5" - follow-redirects@1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.2.5.tgz#ffd3e14cbdd5eaa72f61b6368c1f68516c2a26cc" @@ -3052,6 +3059,13 @@ foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" +foreground-child@^1.5.3, foreground-child@^1.5.6: + version "1.5.6" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" + dependencies: + cross-spawn "^4" + signal-exit "^3.0.0" + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -3078,14 +3092,10 @@ formatio@1.2.0, formatio@^1.2.0: dependencies: samsam "1.x" -forwarded@~0.1.0, forwarded@~0.1.2: +forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" -fresh@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" - fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -3104,14 +3114,6 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" -fs-extra@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.1.tgz#7fc0c6c8957f983f57f306a24e5b9ddd8d0dd880" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^3.0.0" - universalify "^0.1.0" - fs-extra@4.0.2, fs-extra@^4.0.1, fs-extra@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" @@ -3144,11 +3146,11 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" + version "1.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" dependencies: nan "^2.3.0" - node-pre-gyp "^0.6.36" + node-pre-gyp "^0.6.39" fstream-ignore@^1.0.5: version "1.0.5" @@ -3158,7 +3160,7 @@ fstream-ignore@^1.0.5: inherits "2" minimatch "^3.0.0" -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2, fstream@^1.0.8: +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: @@ -3197,7 +3199,7 @@ gcp-metadata@^0.3.0: extend "^3.0.0" retry-request "^3.0.0" -gcs-resumable-upload@^0.8.0: +gcs-resumable-upload@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/gcs-resumable-upload/-/gcs-resumable-upload-0.8.2.tgz#37df02470430395a789a637e72cabc80677ae964" dependencies: @@ -3210,13 +3212,13 @@ gcs-resumable-upload@^0.8.0: through2 "^2.0.0" geckodriver@^1.8.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-1.9.0.tgz#dcf0025bc46d9a0298576282db23389999f352dc" + version "1.10.0" + resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-1.10.0.tgz#73e2f785666521d0d3a9ddc9fd5a0a5e3bf47845" dependencies: adm-zip "0.4.7" bluebird "3.4.6" got "5.6.0" - tar.gz "1.0.5" + tar "4.0.2" generate-function@^2.0.0: version "2.0.0" @@ -3271,9 +3273,9 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-raw-commits@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.2.0.tgz#0f3a8bfd99ae0f2d8b9224d58892975e9a52d03c" +git-raw-commits@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.0.tgz#0bc8596e90d5ffe736f7f5546bd2d12f73abaac6" dependencies: dargs "^4.0.1" lodash.template "^4.0.2" @@ -3296,9 +3298,9 @@ git-rev-sync@^1.9.1: graceful-fs "4.1.11" shelljs "0.7.7" -git-semver-tags@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.2.2.tgz#a2139be1bf6e337e125f3eb8bb8fc6f5d4d6445f" +git-semver-tags@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.2.3.tgz#188b453882bf9d7a23afd31baba537dab7388d5d" dependencies: meow "^3.3.0" semver "^5.0.1" @@ -3440,6 +3442,10 @@ global-prefix@^0.1.4: is-windows "^0.2.0" which "^1.2.12" +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + globby@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" @@ -3520,13 +3526,16 @@ google-p12-pem@^0.1.0: dependencies: node-forge "^0.7.1" -google-proto-files@0.12.1: - version "0.12.1" - resolved "https://registry.yarnpkg.com/google-proto-files/-/google-proto-files-0.12.1.tgz#6434dc7e025a0d0c82e5f04e615c737d6a4c4387" +google-proto-files@0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/google-proto-files/-/google-proto-files-0.14.1.tgz#6e5f15f8bd6615d73ca3fdd08cdec33363f9af89" + dependencies: + globby "^6.1.0" + protobufjs "^6.8.0" -googleapis@20.1.0: - version "20.1.0" - resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-20.1.0.tgz#efb2541f0cab123492bc8ccfe09fa6baaf2b84ca" +googleapis@22.2.0: + version "22.2.0" + resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-22.2.0.tgz#fd79c3c26e7e71a4f5a2ec1a7da5fb115d8853d2" dependencies: async "~2.3.0" google-auth-library "~0.10.0" @@ -3607,6 +3616,22 @@ got@^5.0.0: unzip-response "^1.0.2" url-parse-lax "^1.0.0" +got@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + graceful-fs@4.1.11, graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -3629,26 +3654,16 @@ growl@1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" -grpc@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/grpc/-/grpc-1.4.1.tgz#3ee4a8346a613f2823928c9f8f99081b6368ec7c" +grpc@1.7.1, grpc@^1.6.6: + version "1.7.1" + resolved "https://registry.yarnpkg.com/grpc/-/grpc-1.7.1.tgz#a1eecd074e78ffe5bb3bb64dcc7417d14fdb5cc4" dependencies: arguejs "^0.2.3" lodash "^4.15.0" nan "^2.0.0" - node-pre-gyp "^0.6.35" + node-pre-gyp "^0.6.39" protobufjs "^5.0.0" -grpc@^1.6.6: - version "1.6.6" - resolved "https://registry.yarnpkg.com/grpc/-/grpc-1.6.6.tgz#2051784f6bd6134681fa2c4b5e75dc82c6c23ffa" - dependencies: - arguejs "^0.2.3" - lodash "^4.17.4" - nan "^2.7.0" - node-pre-gyp "^0.6.38" - protobufjs "^5.0.2" - gtoken@^1.2.1: version "1.2.3" resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-1.2.3.tgz#5509571b8afd4322e124cf66cf68115284c476d8" @@ -3837,7 +3852,7 @@ handle-thing@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" -handlebars@^4.0.1, handlebars@^4.0.2: +handlebars@^4.0.1, handlebars@^4.0.2, handlebars@^4.0.3: version "4.0.11" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" dependencies: @@ -4027,7 +4042,7 @@ http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" -http-errors@1.6.2, http-errors@~1.6.1, http-errors@~1.6.2: +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" dependencies: @@ -4072,10 +4087,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" - https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -4100,10 +4111,6 @@ i@0.3.x: version "0.3.6" resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" -iconv-lite@0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" - iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" @@ -4230,6 +4237,12 @@ interpret@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0" +invariant@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" @@ -4238,10 +4251,6 @@ ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" -ipaddr.js@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0" - ipaddr.js@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" @@ -4492,7 +4501,7 @@ is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" -is@^3.0.1, is@^3.2.0: +is@^3.0.1, is@^3.2.0, is@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/is/-/is-3.2.1.tgz#d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5" @@ -4530,6 +4539,78 @@ isstream@0.1.x, isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" +istanbul-api@^1.1.8: + version "1.2.1" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.2.1.tgz#0c60a0515eb11c7d65c6b50bba2c6e999acd8620" + dependencies: + async "^2.1.4" + fileset "^2.0.2" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-hook "^1.1.0" + istanbul-lib-instrument "^1.9.1" + istanbul-lib-report "^1.1.2" + istanbul-lib-source-maps "^1.2.2" + istanbul-reports "^1.1.3" + js-yaml "^3.7.0" + mkdirp "^0.5.1" + once "^1.4.0" + +istanbul-instrumenter-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.0.tgz#9f553923b22360bac95e617aaba01add1f7db0b2" + dependencies: + convert-source-map "^1.5.0" + istanbul-lib-instrument "^1.7.3" + loader-utils "^1.1.0" + schema-utils "^0.3.0" + +istanbul-lib-coverage@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" + +istanbul-lib-hook@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b" + dependencies: + append-transform "^0.4.0" + +istanbul-lib-instrument@^1.7.3, istanbul-lib-instrument@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e" + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.18.0" + istanbul-lib-coverage "^1.1.1" + semver "^5.3.0" + +istanbul-lib-report@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz#922be27c13b9511b979bd1587359f69798c1d425" + dependencies: + istanbul-lib-coverage "^1.1.1" + mkdirp "^0.5.1" + path-parse "^1.0.5" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz#750578602435f28a0c04ee6d7d9e0f2960e62c1c" + dependencies: + debug "^3.1.0" + istanbul-lib-coverage "^1.1.1" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-reports@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.3.tgz#3b9e1e8defb6d18b1d425da8e8b32c5a163f2d10" + dependencies: + handlebars "^4.0.3" + istanbul@0.4.5, istanbul@^0.4.0: version "0.4.5" resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" @@ -4600,7 +4681,11 @@ join-path@^1.1.1: url-join "0.0.1" valid-url "^1" -js-yaml@3.x: +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" + +js-yaml@3.x, js-yaml@^3.6.1, js-yaml@^3.7.0: version "3.10.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" dependencies: @@ -4615,10 +4700,18 @@ jschardet@^1.4.2: version "1.6.0" resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.6.0.tgz#c7d1a71edcff2839db2f9ec30fc5d5ebd3c1a678" +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + json-loader@^0.5.4: version "0.5.7" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" +json-parse-better-errors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" + json-parse-helpfulerror@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" @@ -4663,12 +4756,6 @@ jsonfile@^2.1.0: optionalDependencies: graceful-fs "^4.1.6" -jsonfile@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -4711,8 +4798,8 @@ jsprim@^1.2.2: verror "1.10.0" jszip@^3.1.3: - version "3.1.4" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.1.4.tgz#fc323fe41bb1730348d20dd022aa4d8b57cbbcf9" + version "3.1.5" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.1.5.tgz#e3c2a6c6d706ac6e603314036d43cd40beefdf37" dependencies: core-js "~2.3.0" es6-promise "~3.0.2" @@ -4721,8 +4808,8 @@ jszip@^3.1.3: readable-stream "~2.0.6" just-extend@^1.1.26: - version "1.1.26" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.26.tgz#dba4ad2786d319f1d10afab106e004b5a0851ac2" + version "1.1.27" + resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905" jwa@^1.1.4: version "1.1.5" @@ -4754,6 +4841,13 @@ karma-cli@^1.0.1: dependencies: resolve "^1.1.6" +karma-coverage-istanbul-reporter@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.3.0.tgz#d142cd9c55731c9e363ef7374e8ef1a31bebfadb" + dependencies: + istanbul-api "^1.1.8" + minimatch "^3.0.4" + karma-coverage@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-1.1.1.tgz#5aff8b39cf6994dc22de4c84362c76001b637cf6" @@ -4844,14 +4938,14 @@ karma-typescript@^3.0.8: vm-browserify "0.0.4" karma-webpack@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.5.tgz#4f56887e32cf4f9583391c2388415de06af06efd" + version "2.0.6" + resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.6.tgz#967918e59750ebe0f40829263435fde7ac81bdb4" dependencies: async "~0.9.0" loader-utils "^0.2.5" lodash "^3.8.0" - source-map "^0.1.41" - webpack-dev-middleware "^1.0.11" + source-map "^0.5.6" + webpack-dev-middleware "^1.12.0" karma@^1.7.0: version "1.7.1" @@ -4889,6 +4983,10 @@ kew@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" +killable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" + kind-of@^3.0.2, kind-of@^3.1.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -4948,21 +5046,27 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" -lazystream@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-0.1.0.tgz#1b25d63c772a4c20f0a5ed0a9d77f484b6e16920" - dependencies: - readable-stream "~1.0.2" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" dependencies: invert-kv "^1.0.0" +lcov-parse@^0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" + +lcov-result-merger@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/lcov-result-merger/-/lcov-result-merger-1.2.0.tgz#5de1e6426f885929b77357f014de5fee1dad0553" + dependencies: + through2 "^2.0.1" + vinyl "^1.1.1" + vinyl-fs "^2.4.3" + lerna@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.4.0.tgz#7b76446b154bafb9cba8996f3dc233f1cb6ca7c3" + version "2.5.1" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.5.1.tgz#d07099bd3051ee799f98c753328bd69e96c6fab8" dependencies: async "^1.5.0" chalk "^2.1.0" @@ -4988,6 +5092,7 @@ lerna@^2.1.0: minimatch "^3.0.4" npmlog "^4.1.2" p-finally "^1.0.0" + package-json "^4.0.1" path-exists "^3.0.0" read-cmd-shim "^1.0.1" read-pkg "^2.0.0" @@ -5063,6 +5168,15 @@ load-json-file@^3.0.0: pify "^2.0.0" strip-bom "^3.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" @@ -5293,7 +5407,7 @@ lodash@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" -lodash@^3.10.0, lodash@^3.10.1, lodash@^3.8.0, lodash@~3.10.0, lodash@~3.10.1: +lodash@^3.10.0, lodash@^3.10.1, lodash@^3.8.0: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" @@ -5326,19 +5440,19 @@ log4js@^1.1.1: semver "^5.3.0" streamroller "^0.4.0" -loglevel@^1.4.1, loglevel@^1.5.0, loglevel@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.5.1.tgz#189078c94ab9053ee215a0acdbf24244ea0f6502" +loglevel@^1.4.1, loglevel@^1.5.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.0.tgz#ae0caa561111498c5ba13723d6fb631d24003934" lolex@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lolex/-/lolex-1.6.0.tgz#3a9a0283452a47d7439e72731b9e07d7386e49f6" -lolex@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.1.3.tgz#53f893bbe88c80378156240e127126b905c83087" +lolex@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.0.tgz#d6bad0f0aa5caebffcfebb09fb2caa89baaff51c" -long@~3: +long@^3.2.0, long@~3: version "3.2.0" resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" @@ -5346,6 +5460,12 @@ longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" +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" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -5425,6 +5545,16 @@ matchdep@^1.0.0: resolve "~1.1.6" stack-trace "0.0.9" +md5-hex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" + dependencies: + md5-o-matic "^0.1.1" + +md5-o-matic@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" + md5.js@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" @@ -5462,11 +5592,9 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -memory-streams@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/memory-streams/-/memory-streams-0.1.2.tgz#273ff777ab60fec599b116355255282cca2c50c2" - dependencies: - readable-stream "~1.0.2" +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" meow@^3.3.0, meow@^3.7.0: version "3.7.0" @@ -5487,6 +5615,12 @@ merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" +merge-source-map@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" + dependencies: + source-map "^0.5.6" + merge-stream@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" @@ -5548,10 +5682,6 @@ mime-types@^2.0.8, mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.11, m dependencies: mime-db "~1.30.0" -mime@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" - mime@1.4.1, mime@^1.3.4, mime@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" @@ -5613,7 +5743,7 @@ minipass@^2.0.2, minipass@^2.2.1: dependencies: yallist "^3.0.0" -minizlib@^1.0.3: +minizlib@^1.0.3, minizlib@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.0.4.tgz#8ebb51dd8bbe40b0126b5633dbb36b284a2f523c" dependencies: @@ -5675,8 +5805,8 @@ module-deps@^4.0.8: xtend "^4.0.0" moment@2.x.x, moment@^2.6.0: - version "2.19.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.1.tgz#56da1a2d1cbf01d38b7e1afc31c10bcfa1929167" + version "2.19.2" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.2.tgz#8a7f774c95a64550b4c7ebd496683908f9419dbe" morgan@^1.8.2: version "1.9.0" @@ -5688,10 +5818,6 @@ morgan@^1.8.2: on-finished "~2.3.0" on-headers "~1.0.1" -mout@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/mout/-/mout-0.11.1.tgz#ba3611df5f0e5b1ffbfd01166b8f02d1f5fa2b99" - ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -5750,9 +5876,9 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.0.0, nan@^2.3.0, nan@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" +nan@^2.0.0, nan@^2.3.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" nash@^2.0.4: version "2.0.4" @@ -5810,33 +5936,29 @@ node-forge@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300" -node-int64@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - node-libs-browser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" dependencies: assert "^1.1.1" - browserify-zlib "^0.1.4" + browserify-zlib "^0.2.0" buffer "^4.3.0" console-browserify "^1.1.0" constants-browserify "^1.0.0" crypto-browserify "^3.11.0" domain-browser "^1.1.1" events "^1.0.0" - https-browserify "0.0.1" - os-browserify "^0.2.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" path-browserify "0.0.0" - process "^0.11.0" + process "^0.11.10" punycode "^1.2.4" querystring-es3 "^0.2.0" - readable-stream "^2.0.5" + readable-stream "^2.3.3" stream-browserify "^2.0.1" - stream-http "^2.3.1" - string_decoder "^0.10.25" - timers-browserify "^2.0.2" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" tty-browserify "0.0.0" url "^0.11.0" util "^0.10.3" @@ -5848,10 +5970,11 @@ node-localstorage@^1.3.0: dependencies: write-file-atomic "^1.1.4" -node-pre-gyp@^0.6.35, node-pre-gyp@^0.6.36, node-pre-gyp@^0.6.38: - version "0.6.38" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz#e92a20f83416415bb4086f6d1fb78b3da73d113d" +node-pre-gyp@^0.6.39: + version "0.6.39" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" dependencies: + detect-libc "^1.0.2" hawk "3.1.3" mkdirp "^0.5.1" nopt "^4.0.1" @@ -5920,16 +6043,16 @@ now-and-later@^2.0.0: once "^1.3.2" npm-run-all@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.1.tgz#3095cf3f3cacf57fcb662b210ab10c609af6ddbb" + version "4.1.2" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.2.tgz#90d62d078792d20669139e718621186656cea056" dependencies: ansi-styles "^3.2.0" chalk "^2.1.0" cross-spawn "^5.1.0" - memory-streams "^0.1.2" + memorystream "^0.3.1" minimatch "^3.0.4" ps-tree "^1.1.0" - read-pkg "^2.0.0" + read-pkg "^3.0.0" shell-quote "^1.6.1" string.prototype.padend "^3.0.0" @@ -5956,6 +6079,38 @@ 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" +nyc@^11.2.1: + version "11.3.0" + resolved "https://registry.yarnpkg.com/nyc/-/nyc-11.3.0.tgz#a42bc17b3cfa41f7b15eb602bc98b2633ddd76f0" + dependencies: + archy "^1.0.0" + arrify "^1.0.1" + caching-transform "^1.0.0" + convert-source-map "^1.3.0" + debug-log "^1.0.1" + default-require-extensions "^1.0.0" + find-cache-dir "^0.1.1" + find-up "^2.1.0" + foreground-child "^1.5.3" + glob "^7.0.6" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-hook "^1.1.0" + istanbul-lib-instrument "^1.9.1" + istanbul-lib-report "^1.1.2" + istanbul-lib-source-maps "^1.2.2" + istanbul-reports "^1.1.3" + md5-hex "^1.2.0" + merge-source-map "^1.0.2" + micromatch "^2.3.11" + mkdirp "^0.5.0" + resolve-from "^2.0.0" + rimraf "^2.5.4" + signal-exit "^3.0.1" + spawn-wrap "=1.3.8" + test-exclude "^4.1.1" + yargs "^10.0.3" + yargs-parser "^8.0.0" + oauth-sign@~0.8.1, oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -6124,18 +6279,10 @@ original@>=0.0.5: dependencies: url-parse "1.0.x" -os-browserify@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" - os-browserify@^0.3.0, os-browserify@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" -os-browserify@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" - os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -6209,6 +6356,15 @@ package-json@^2.0.0: registry-url "^3.0.3" semver "^5.1.0" +package-json@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + dependencies: + got "^6.7.1" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + pad@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/pad/-/pad-1.2.1.tgz#c656342f14ab8605e9ed159b9b2f516577dfc872" @@ -6216,10 +6372,6 @@ pad@^1.1.0: coffee-script "^1.12.7" wcwidth "^1.0.1" -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - pako@~1.0.2, pako@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" @@ -6273,6 +6425,13 @@ parse-json@^3.0.0: dependencies: error-ex "^1.3.1" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -6295,7 +6454,7 @@ parseuri@0.0.5: dependencies: better-assert "~1.0.0" -parseurl@~1.3.1, parseurl@~1.3.2: +parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" @@ -6371,6 +6530,12 @@ path-type@^2.0.0: dependencies: pify "^2.0.0" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + dependencies: + pify "^3.0.0" + pathval@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" @@ -6421,6 +6586,12 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" @@ -6463,8 +6634,8 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" prettier@^1.7.0: - version "1.7.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa" + version "1.8.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.2.tgz#bff83e7fd573933c607875e5ba3abbdffb96aeb8" pretty-hrtime@^1.0.0: version "1.0.3" @@ -6474,7 +6645,7 @@ process-nextick-args@^1.0.6, process-nextick-args@^1.0.7, process-nextick-args@~ version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" -process@^0.11.0, process@^0.11.10, process@~0.11.0: +process@^0.11.10, process@~0.11.0: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -6497,7 +6668,7 @@ prompt@1.0.0: utile "0.3.x" winston "2.1.x" -protobufjs@^5.0.0, protobufjs@^5.0.2: +protobufjs@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-5.0.2.tgz#59748d7dcf03d2db22c13da9feb024e16ab80c91" dependencies: @@ -6506,6 +6677,24 @@ protobufjs@^5.0.0, protobufjs@^5.0.2: glob "^7.0.5" yargs "^3.10.0" +protobufjs@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.0.tgz#04e85493c4e1653878ec283f18bc78b1e7c5d5a2" + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^3.0.31" + "@types/node" "^7.0.29" + long "^3.2.0" + protochain@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/protochain/-/protochain-1.0.5.tgz#991c407e99de264aadf8f81504b5e7faf7bfa260" @@ -6530,13 +6719,6 @@ protractor@^5.1.2: webdriver-js-extender "^1.0.0" webdriver-manager "^12.0.6" -proxy-addr@~1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.5.tgz#71c0ee3b102de3f202f3b64f608d173fcba1a918" - dependencies: - forwarded "~0.1.0" - ipaddr.js "1.4.0" - proxy-addr@~2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" @@ -6569,8 +6751,8 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" pump@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.2.tgz#3b3ee6512f94f0e575538c17995f9f16990a5d51" + version "1.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -6603,14 +6785,6 @@ qjobs@^1.1.4: version "1.1.5" resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73" -qs@6.4.0, qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -qs@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" - qs@6.5.1, qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" @@ -6619,6 +6793,10 @@ qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + querystring-es3@^0.2.0, querystring-es3@^0.2.1, querystring-es3@~0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -6642,12 +6820,19 @@ randomatic@^1.1.3: is-number "^3.0.0" kind-of "^4.0.0" -randombytes@^2.0.0, randombytes@^2.0.1: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" dependencies: safe-buffer "^5.1.0" +randomfill@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + range-parser@^1.0.3, range-parser@^1.2.0, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" @@ -6661,14 +6846,6 @@ raw-body@2.3.2: iconv-lite "0.4.19" unpipe "1.0.0" -raw-body@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96" - dependencies: - bytes "2.4.0" - iconv-lite "0.4.15" - unpipe "1.0.0" - rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: version "1.2.2" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" @@ -6727,13 +6904,21 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + read@1.0.x: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" dependencies: mute-stream "~0.0.4" -"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.2, readable-stream@~1.0.24, readable-stream@~1.0.26: +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.2: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -6804,6 +6989,10 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" @@ -6964,7 +7153,7 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -requires-port@1.0.x, requires-port@1.x.x: +requires-port@1.0.x, requires-port@1.x.x, requires-port@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -6981,6 +7170,10 @@ resolve-dir@^0.1.0: expand-tilde "^1.2.2" global-modules "^0.2.3" +resolve-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" + resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -7014,8 +7207,8 @@ restore-cursor@^2.0.0: signal-exit "^3.0.2" retry-request@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-3.1.0.tgz#f948ca1792657a64abc89a0fad727dd07b62b0d6" + version "3.1.1" + resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-3.1.1.tgz#0c6ec046253f2f8475e9465c4eb58c802675014c" dependencies: request "^2.81.0" through2 "^2.0.0" @@ -7030,18 +7223,12 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2, rimraf@2.6.2, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" -rimraf@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" - dependencies: - glob "^7.0.5" - ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" @@ -7049,10 +7236,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^2.0.0" inherits "^2.0.1" -rollup@^0.49.3: - version "0.49.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.49.3.tgz#4cce32643dd8cf2154c69ff0e43470067db0adbf" - rollup@^0.50.0: version "0.50.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.50.1.tgz#e4dafcbf8d2bb0d9f5589d0cc6f64d76b8815730" @@ -7137,6 +7320,12 @@ sax@>=0.6.0: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" + seek-bzip@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" @@ -7213,24 +7402,6 @@ semver@~5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" -send@0.15.4: - version "0.15.4" - resolved "https://registry.yarnpkg.com/send/-/send-0.15.4.tgz#985faa3e284b0273c793364a35c6737bd93905b9" - dependencies: - debug "2.6.8" - depd "~1.1.1" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.0" - fresh "0.5.0" - http-errors "~1.6.2" - mime "1.3.4" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.1" - send@0.16.1: version "0.16.1" resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" @@ -7271,15 +7442,6 @@ serve-index@^1.7.2: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.12.4: - version "1.12.4" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.4.tgz#9b6aa98eeb7253c4eedc4c1f6fdbca609901a961" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.15.4" - serve-static@1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" @@ -7354,24 +7516,24 @@ sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.0, signal-exit@^3.0.1, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" simple-git@^1.80.1: - version "1.80.1" - resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.80.1.tgz#48104cb4ac72576937853e1afd1eeffdc97acb29" + version "1.82.0" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.82.0.tgz#5fd0efe9c4ee78e5d942f276ac492b32e041a01a" dependencies: - debug "^2.6.7" + debug "^3.1.0" sinon@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-4.0.2.tgz#c81f62456d37986c84e9f522ddb9ce413bda49d2" + version "4.1.2" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-4.1.2.tgz#65610521d926fb53742dd84cd599f0b89a82f440" dependencies: diff "^3.1.0" formatio "1.2.0" lodash.get "^4.4.2" - lolex "^2.1.3" + lolex "^2.2.0" nise "^1.2.0" supports-color "^4.4.0" type-detect "^4.0.0" @@ -7380,6 +7542,10 @@ slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" +snakeize@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/snakeize/-/snakeize-0.1.0.tgz#10c088d8b58eb076b3229bb5a04e232ce126422d" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" @@ -7499,7 +7665,7 @@ source-map@0.X, source-map@>=0.5.6, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" -source-map@^0.1.38, source-map@^0.1.41: +source-map@^0.1.38: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" dependencies: @@ -7521,6 +7687,17 @@ sparkles@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" +spawn-wrap@=1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.3.8.tgz#fa2a79b990cbb0bb0018dca6748d88367b19ec31" + dependencies: + foreground-child "^1.5.6" + mkdirp "^0.5.0" + os-homedir "^1.0.1" + rimraf "^2.3.3" + signal-exit "^3.0.2" + which "^1.2.4" + spdx-correct@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" @@ -7655,7 +7832,7 @@ stream-exhaust@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" -stream-http@^2.0.0, stream-http@^2.3.1, stream-http@^2.7.2: +stream-http@^2.0.0, stream-http@^2.7.2: version "2.7.2" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" dependencies: @@ -7728,16 +7905,16 @@ string.prototype.padend@^3.0.0: es-abstract "^1.4.3" function-bind "^1.0.2" -string_decoder@^0.10.25, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@^1.0.3, string_decoder@~1.0.0, string_decoder@~1.0.3: +string_decoder@^1.0.0, string_decoder@^1.0.3, string_decoder@~1.0.0, string_decoder@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" dependencies: safe-buffer "~5.1.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + stringstream@~0.0.4, stringstream@~0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -7871,7 +8048,7 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.1.0: +supports-color@^3.1.0, supports-color@^3.1.2: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: @@ -7914,34 +8091,25 @@ tar-pack@^3.4.0: uid-number "^0.0.6" tar-stream@^1.5.0, tar-stream@^1.5.2: - version "1.5.4" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016" - dependencies: - bl "^1.0.0" - end-of-stream "^1.0.0" - readable-stream "^2.0.0" - xtend "^4.0.0" - -tar-stream@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.2.2.tgz#9632f23d98fd33d41661bbdec05489120dec6028" + version "1.5.5" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55" dependencies: bl "^1.0.0" end-of-stream "^1.0.0" readable-stream "^2.0.0" xtend "^4.0.0" -tar.gz@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tar.gz/-/tar.gz-1.0.5.tgz#e1ada7e45ef2241b4b1ee58123c8f40b5d3c1bc4" +tar@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.0.2.tgz#e8e22bf3eec330e5c616d415a698395e294e8fad" dependencies: - bluebird "^2.9.34" - commander "^2.8.1" - fstream "^1.0.8" - mout "^0.11.0" - tar "^2.1.1" + chownr "^1.0.1" + minipass "^2.2.1" + minizlib "^1.0.4" + mkdirp "^0.5.0" + yallist "^3.0.2" -tar@^2.1.1, tar@^2.2.1: +tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -7990,6 +8158,16 @@ tempfile@^1.1.1: os-tmpdir "^1.0.0" uuid "^2.0.1" +test-exclude@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" + dependencies: + arrify "^1.0.1" + micromatch "^2.3.11" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + text-encoding@^0.6.4: version "0.6.4" resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19" @@ -8082,7 +8260,7 @@ timers-browserify@^1.0.1: dependencies: process "~0.11.0" -timers-browserify@^2.0.2: +timers-browserify@^2.0.2, timers-browserify@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" dependencies: @@ -8143,6 +8321,10 @@ to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" +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" + topo@1.x.x: version "1.1.0" resolved "https://registry.yarnpkg.com/topo/-/topo-1.1.0.tgz#e9d751615d1bb87dc865db182fa1ca0a5ef536d5" @@ -8175,6 +8357,10 @@ trim-off-newlines@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + try-require@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/try-require/-/try-require-1.2.1.tgz#34489a2cac0c09c1cc10ed91ba011594d4333be2" @@ -8235,8 +8421,8 @@ type-check@~0.3.2: prelude-ls "~1.1.2" type-detect@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.3.tgz#0e3f2670b44099b0b46c284d136a7ef49c74c2ea" + version "4.0.5" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2" type-is@~1.6.15: version "1.6.15" @@ -8250,8 +8436,8 @@ typedarray@^0.0.6, typedarray@~0.0.5: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" typescript@^2.4.2: - version "2.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d" + version "2.6.1" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631" uglify-js@^2.6, uglify-js@^2.8.29: version "2.8.29" @@ -8364,6 +8550,10 @@ unzip-response@^1.0.0, unzip-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + update-notifier@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.5.0.tgz#07b5dc2066b3627ab3b4f530130f7eddda07a4cc" @@ -8411,11 +8601,11 @@ url-parse@1.0.x: requires-port "1.0.x" url-parse@^1.1.8: - version "1.1.9" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19" + version "1.2.0" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.2.0.tgz#3a19e8aaa6d023ddd27dcc44cb4fc8f7fec23986" dependencies: querystringify "~1.0.0" - requires-port "1.0.x" + requires-port "~1.0.0" url-to-options@^1.0.1: version "1.0.1" @@ -8466,10 +8656,6 @@ utile@0.3.x: ncp "1.0.x" rimraf "2.x.x" -utils-merge@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -8509,10 +8695,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" -validator@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9" - validator@^9.1.1: version "9.1.1" resolved "https://registry.yarnpkg.com/validator/-/validator-9.1.1.tgz#3bdd1065cbd28f9d96ac806dee01030d32fd97ef" @@ -8521,7 +8703,7 @@ vargs@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/vargs/-/vargs-0.1.0.tgz#6b6184da6520cc3204ce1b407cac26d92609ebff" -vary@~1.1.1, vary@~1.1.2: +vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -8546,7 +8728,7 @@ vinyl-fs@^0.3.0: through2 "^0.6.1" vinyl "^0.4.0" -vinyl-fs@^2.0.0, vinyl-fs@~2.4.3: +vinyl-fs@^2.0.0, vinyl-fs@^2.4.3, vinyl-fs@~2.4.3: version "2.4.4" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" dependencies: @@ -8574,7 +8756,7 @@ vinyl-sourcemaps-apply@^0.2.0: dependencies: source-map "^0.5.1" -vinyl@1.X, vinyl@^1.0.0: +vinyl@1.X, vinyl@^1.0.0, vinyl@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" dependencies: @@ -8689,7 +8871,7 @@ webdriver-manager@^12.0.6: semver "^5.3.0" xml2js "^0.4.17" -webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.11.0: +webpack-dev-middleware@^1.11.0, webpack-dev-middleware@^1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709" dependencies: @@ -8700,8 +8882,8 @@ webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.11.0: time-stamp "^2.0.0" webpack-dev-server@^2.8.1: - version "2.9.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.3.tgz#f0554e88d129e87796a6f74a016b991743ca6f81" + version "2.9.4" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.4.tgz#7883e61759c6a4b33e9b19ec4037bd4ab61428d1" dependencies: ansi-html "0.0.7" array-includes "^3.0.3" @@ -8717,6 +8899,7 @@ webpack-dev-server@^2.8.1: import-local "^0.1.1" internal-ip "1.2.0" ip "^1.1.5" + killable "^1.0.0" loglevel "^1.4.1" opn "^5.1.0" portfinder "^1.0.9" @@ -8731,11 +8914,11 @@ webpack-dev-server@^2.8.1: yargs "^6.6.0" webpack-sources@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" + version "1.0.2" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.2.tgz#d0148ec083b3b5ccef1035a6b3ec16442983b27a" dependencies: source-list-map "^2.0.0" - source-map "~0.5.3" + source-map "~0.6.1" webpack-stream@^4.0.0: version "4.0.0" @@ -8784,8 +8967,8 @@ websocket-driver@>=0.5.1: websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.2.tgz#0e18781de629a18308ce1481650f67ffa2693a5d" + version "0.1.3" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" which-module@^1.0.0: version "1.0.0" @@ -8795,7 +8978,7 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.1.1, which@^1.2.1, which@^1.2.12, which@^1.2.9, which@^1.3.0: +which@^1.1.1, which@^1.2.1, which@^1.2.12, which@^1.2.4, which@^1.2.9, which@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" dependencies: @@ -8833,9 +9016,9 @@ winston@2.1.x: pkginfo "0.3.x" stack-trace "0.0.x" -winston@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/winston/-/winston-2.3.1.tgz#0b48420d978c01804cf0230b648861598225a119" +winston@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.0.tgz#808050b93d52661ed9fb6c26b3f0c826708b0aee" dependencies: async "~1.0.0" colors "1.0.x" @@ -8934,8 +9117,8 @@ ws@1.1.2: ultron "1.0.x" ws@^1.0.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.4.tgz#57f40d036832e5f5055662a397c4de76ed66bf61" + version "1.1.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" dependencies: options ">=0.0.5" ultron "1.0.x" @@ -9014,25 +9197,7 @@ yargs-parser@^8.0.0: dependencies: camelcase "^4.1.0" -yargs@8.0.2, yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - -yargs@^10.0.3: +yargs@10.0.3, yargs@^10.0.3: version "10.0.3" resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.0.3.tgz#6542debd9080ad517ec5048fb454efe9e4d4aaae" dependencies: @@ -9079,6 +9244,24 @@ yargs@^6.6.0: y18n "^3.2.1" yargs-parser "^4.2.0" +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" @@ -9109,7 +9292,7 @@ yn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" -zip-stream@^1.1.0: +zip-stream@^1.1.0, zip-stream@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" dependencies: @@ -9117,11 +9300,3 @@ zip-stream@^1.1.0: compress-commons "^1.2.0" lodash "^4.8.0" readable-stream "^2.0.0" - -zip-stream@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-0.6.0.tgz#ee933aed996fb18b344a91ae3b5d264cec5e812b" - dependencies: - compress-commons "~0.3.0" - lodash "~3.10.1" - readable-stream "~1.0.26"