From 197096aac7ae8c90b68daafc5900d9218292f15e Mon Sep 17 00:00:00 2001 From: dkniazevych Date: Mon, 6 Nov 2017 11:02:02 +0100 Subject: [PATCH 1/7] #8: add a customizable transaction id generator --- CHANGELOG.md | 3 +++ README.md | 30 +++++++++++++++++++++++++++++- package.json | 11 ++++++++--- src/index.ts | 17 ++++++++++++++--- src/parser.ts | 12 ++++++------ src/tags/transaction-info.ts | 12 +++++------- test/cases/abn-amro-1.json | 2 +- test/cases/base-1.json | 18 +++++++++--------- test/cases/base-2.json | 4 ++-- test/cases/base-3.json | 4 ++-- test/cases/ing-1.json | 6 +++--- tsconfig.json | 6 +++++- 12 files changed, 87 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26d7aac..c528ae3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 0.6.0 +* **Breaking change**: [new transaction id generator](README.md#readoptions) + ## 0.5.2 * fix parsing of customer and bank references diff --git a/README.md b/README.md index 1e32d75..f609c12 100644 --- a/README.md +++ b/README.md @@ -7,12 +7,40 @@ > An isomorphic Javascript library for working with [MT940](#related-links) format +> # [Changelog](CHANGELOG.md) + ## Reading ### API -#### read(buffer) +#### read(buffer, options) * `buffer` {Buffer|ArrayBuffer} - income buffer that contains data of mt940 file. +* `options` {ReadOptions} * returns `Promise` with list of [Statement](src/typings.ts#L40). +#### ReadOptions +* `getTransactionId(transaction, index)` - a custom generator for transaction id. By default it's: +```js +/** +* @description version 0.5.x +* @param {Transaction} transaction +* @param {number} index +* @returns {string} +*/ +function getTransactionId (transaction, index) { + return md5(`${ date }${ transaction.description }${ amount }${ transaction.currency }`); +} + + +/** +* @description version 0.6.x+ +* @param {Transaction} transaction +* @param {number} index +* @returns {string} +*/ +function getTransactionId (transaction, index) { + return md5(JSON.strinfigy(transaction)); +} +``` + ### Node.js environment ````js import * as mt940 from 'mt940-js'; diff --git a/package.json b/package.json index 40c0979..e8212de 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "mt940-js", - "version": "0.5.2", + "version": "0.6.0", "description": "An isomorphic Javascript library for working with MT940 format", "main": "./lib/index.js", "types": "./lib/index.d.ts", "devDependencies": { "@types/es6-shim": "^0.31.34", - "@types/jest": "^20.0.2", + "@types/jest": "^21.1.5", "@types/node": "^6.0.78", "coveralls": "^2.13.1", "jest": "^20.0.4", @@ -36,7 +36,12 @@ "collectCoverage": true, "coverageDirectory": "test/coverage", "coverageReporters": [ - "lcov" + "lcov", + "html" + ], + "collectCoverageFrom": [ + "src/*.{ts,tsx}", + "src/**/*.{ts,tsx}" ], "scriptPreprocessor": "/jest/preprocessor.js", "setupTestFrameworkScriptFile": "/jest/config.js", diff --git a/src/index.ts b/src/index.ts index 201e2ad..4d18e89 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ +import md5 from './utils/md5'; import * as parser from './parser'; const invalidInputMessage: string = 'invalid input'; @@ -7,7 +8,7 @@ export interface Tag { open?: (state: State) => any; readContent?: (state: State, symbolCode: number) => any; readToken: (state: State) => number; - close?: (state: State) => any; + close?: (state: State, options?: ReadOptions) => any; [key: string]: any; } @@ -57,7 +58,11 @@ export interface Statement { transactions: Transaction[]; } -export function read (input: ArrayBuffer|Buffer): Promise { +export interface ReadOptions { + getTransactionId (transaction: Transaction, index: number): string; +} + +export function read (input: ArrayBuffer|Buffer, options?: ReadOptions): Promise { let data: Uint8Array|Buffer; if (typeof Buffer !== 'undefined' && input instanceof Buffer) { @@ -68,5 +73,11 @@ export function read (input: ArrayBuffer|Buffer): Promise { return Promise.reject(new Error(invalidInputMessage)) as any; } - return parser.read(data).catch(() => Promise.reject(new Error(invalidInputMessage))); + return parser.read(data, Object.assign({}, options, { + getTransactionId (transaction: Transaction) { + return md5(JSON.stringify(transaction)); + } + })).catch(() => { + return Promise.reject(new Error(invalidInputMessage)); + }); } \ No newline at end of file diff --git a/src/parser.ts b/src/parser.ts index 24aa3fa..d138ca8 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -3,7 +3,7 @@ import { newLineSymbolCode, returnSymbolCode } from './tokens'; -import {Tag, State, Statement} from './index'; +import {Tag, State, Statement, ReadOptions} from './index'; import transactionReferenceNumber from './tags/transaction-reference-number'; import relatedReferenceNumber from './tags/related-reference-number'; import accountId from './tags/account-id'; @@ -29,13 +29,13 @@ const tags: Tag[] = [ ]; const tagsCount: number = tags.length; -function closeCurrentTag (state: State) { +function closeCurrentTag (state: State, options: ReadOptions) { if (state.tag && state.tag.close) { - state.tag.close(state); + state.tag.close(state, options); } } -export function read (data: Uint8Array|Buffer): Promise { +export function read (data: Uint8Array|Buffer, options: ReadOptions): Promise { const length: number = data.length; const state: State = { pos: 0, @@ -56,7 +56,7 @@ export function read (data: Uint8Array|Buffer): Promise { const newPos: number = tag.readToken(state); if (newPos) { - closeCurrentTag(state); + closeCurrentTag(state, options); state.pos = newPos; state.tagContentStart = newPos; state.tagContentEnd = newPos; @@ -83,7 +83,7 @@ export function read (data: Uint8Array|Buffer): Promise { state.pos++; } - closeCurrentTag(state); + closeCurrentTag(state, options); return Promise.resolve(state.statements); } \ No newline at end of file diff --git a/src/tags/transaction-info.ts b/src/tags/transaction-info.ts index 988ca8d..ac7f28d 100644 --- a/src/tags/transaction-info.ts +++ b/src/tags/transaction-info.ts @@ -1,7 +1,6 @@ import compareArrays from '../utils/compare-arrays'; -import md5 from '../utils/md5'; import {colonSymbolCode, bigCSymbolCode, dotSymbolCode} from '../tokens'; -import {Tag, State, Statement, Transaction} from '../index'; +import {Tag, State, Statement, Transaction, ReadOptions} from '../index'; const transactionInfoPattern: RegExp = new RegExp([ '^\\\s*', @@ -63,8 +62,9 @@ const transactionInfoTag: Tag = { }); }, - close (state: State) { - const transaction: Transaction = state.statements[state.statementIndex].transactions[state.transactionIndex]; + close (state: State, options: ReadOptions) { + const statement: Statement = state.statements[state.statementIndex]; + const transaction: Transaction = statement.transactions[state.transactionIndex]; const content: string = String.fromCharCode.apply( String, state.data.slice(state.tagContentStart, state.tagContentEnd) @@ -114,9 +114,7 @@ const transactionInfoTag: Tag = { transaction.amount = parseFloat(amount.replace(commaPattern, dotSymbol)); transaction.code = code; transaction.isExpense = incomeTransactionCodes.indexOf(code) === -1; - const date: string = transaction.valueDate || transaction.entryDate; - - transaction.id = md5(`${ date }${ transaction.description }${ amount }${ transaction.currency }`); + transaction.id = options.getTransactionId(transaction, state.transactionIndex); } }; diff --git a/test/cases/abn-amro-1.json b/test/cases/abn-amro-1.json index e65dc57..40c6b1b 100644 --- a/test/cases/abn-amro-1.json +++ b/test/cases/abn-amro-1.json @@ -17,7 +17,7 @@ }, "transactions": [ { - "id": "61149bfbc36c9228f17dd40856382721", + "id": "73428377c7ce19b7e3f072f719435274", "code": "N426", "fundsCode": "", "isCredit": true, diff --git a/test/cases/base-1.json b/test/cases/base-1.json index 8e01729..091999f 100644 --- a/test/cases/base-1.json +++ b/test/cases/base-1.json @@ -17,7 +17,7 @@ }, "transactions": [ { - "id": "c0ed06ccba5f305d5812c7b888b494b2", + "id": "d0401c0697e097897df85a4463760d27", "code": "S051", "fundsCode": "M", "isCredit": true, @@ -31,7 +31,7 @@ "bankReference": "" }, { - "id": "7dc7c2ee72ecef607d11a448753b541a", + "id": "23d3b2456afc91c4efd5e389254d6fa8", "code": "NCHG", "fundsCode": "M", "isCredit": true, @@ -45,7 +45,7 @@ "bankReference": "" }, { - "id": "7dc7c2ee72ecef607d11a448753b541a", + "id": "22291c3872e333051c813aa7d34b2816", "code": "S051", "fundsCode": "M", "isCredit": true, @@ -59,7 +59,7 @@ "bankReference": "" }, { - "id": "7dc7c2ee72ecef607d11a448753b541a", + "id": "22291c3872e333051c813aa7d34b2816", "code": "S051", "fundsCode": "M", "isCredit": true, @@ -73,7 +73,7 @@ "bankReference": "" }, { - "id": "7dc7c2ee72ecef607d11a448753b541a", + "id": "22291c3872e333051c813aa7d34b2816", "code": "S051", "fundsCode": "M", "isCredit": true, @@ -87,7 +87,7 @@ "bankReference": "" }, { - "id": "7dc7c2ee72ecef607d11a448753b541a", + "id": "22291c3872e333051c813aa7d34b2816", "code": "S051", "fundsCode": "M", "isCredit": true, @@ -120,7 +120,7 @@ }, "transactions": [ { - "id": "7dc7c2ee72ecef607d11a448753b541a", + "id": "22291c3872e333051c813aa7d34b2816", "code": "S051", "fundsCode": "M", "isCredit": true, @@ -134,7 +134,7 @@ "bankReference": "" }, { - "id": "7dc7c2ee72ecef607d11a448753b541a", + "id": "22291c3872e333051c813aa7d34b2816", "code": "S051", "fundsCode": "M", "isCredit": true, @@ -167,7 +167,7 @@ }, "transactions": [ { - "id": "c5734756c18f38e18ec6804d1ef7a19f", + "id": "5134c8e053ec660eacba8802475d0fd5", "code": "S051", "fundsCode": "M", "isCredit": false, diff --git a/test/cases/base-2.json b/test/cases/base-2.json index fd15106..b778662 100644 --- a/test/cases/base-2.json +++ b/test/cases/base-2.json @@ -17,7 +17,7 @@ }, "transactions": [ { - "id": "113f6309764949dc34abc481cf6c9cd1", + "id": "692af6323ab4123008dc75422bcff774", "code": "N310", "fundsCode": "", "isCredit": false, @@ -31,7 +31,7 @@ "bankReference": "B7B27AG0MQ000001" }, { - "id": "113f6309764949dc34abc481cf6c9cd1", + "id": "a6ce2a581b16d782597709087ccb8c1d", "code": "N310", "fundsCode": "", "isCredit": false, diff --git a/test/cases/base-3.json b/test/cases/base-3.json index 78ca3d4..de22b02 100644 --- a/test/cases/base-3.json +++ b/test/cases/base-3.json @@ -17,7 +17,7 @@ }, "transactions": [ { - "id": "53302f828508c9ff2cba4849c8d7b6d6", + "id": "5f8409ba8716dbf402fed70d6ec4e14c", "code": "N110", "fundsCode": "", "isCredit": true, @@ -58,7 +58,7 @@ "description": "/TRTP/IDEAL BETALING/IBAN/NL59ABNA0626226163/BIC/ABNANL2AXXX/NAME/WORLDPAY CUSTOMER PAYMENTS/REMI/7510143342 0030001826916174 VISTAPRINT 9ZTV3-34A29-5N6 000291VISTAPRIN", "entryDate": "2016-11-21", "fundsCode": "", - "id": "65e3f648c526acda4d833052365793e1", + "id": "117ddb4130bd0613ef9c4ec35a384d13", "isCredit": false, "isExpense": true, "valueDate": "2016-11-21" diff --git a/test/cases/ing-1.json b/test/cases/ing-1.json index 16033da..49769fd 100644 --- a/test/cases/ing-1.json +++ b/test/cases/ing-1.json @@ -29,7 +29,7 @@ }, "transactions": [ { - "id": "57bc42eedd977fe2ba74ae184f021a09", + "id": "2b33a41e4439d4207fe6fc77b2928252", "code": "N078", "fundsCode": "", "isCredit": true, @@ -43,7 +43,7 @@ "bankReference": "" }, { - "id": "bd96d856262c34a287688c02a3268fd9", + "id": "1f4d07fd1738faad66ef84eb489b7185", "code": "N077", "fundsCode": "", "isCredit": true, @@ -57,7 +57,7 @@ "bankReference": "" }, { - "id": "92b2dd5bdbf84325950cb889d14509de", + "id": "10afa5eb66016d5052921a24c394c769", "code": "N029", "fundsCode": "", "isCredit": false, diff --git a/tsconfig.json b/tsconfig.json index cd8288e..7ecf7e4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,7 +7,11 @@ "noImplicitAny": true, "noUnusedParameters": true, "noUnusedLocals": true, - "module": "commonjs" + "module": "commonjs", + "lib": [ + "es2017", + "dom" + ] }, "exclude": [ "node_modules", From 6880af79b724e91dac0b7500f4922dfcc97b040a Mon Sep 17 00:00:00 2001 From: dkniazevych Date: Mon, 6 Nov 2017 11:10:45 +0100 Subject: [PATCH 2/7] #8: add a lock file --- npm-shrinkwrap.json | 2677 +++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +- 2 files changed, 2679 insertions(+), 1 deletion(-) create mode 100644 npm-shrinkwrap.json diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json new file mode 100644 index 0000000..68b13ba --- /dev/null +++ b/npm-shrinkwrap.json @@ -0,0 +1,2677 @@ +{ + "name": "mt940-js", + "version": "0.6.0", + "dependencies": { + "@types/jest": { + "version": "21.1.5", + "from": "@types/jest@latest", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-21.1.5.tgz", + "dev": true + }, + "@types/node": { + "version": "6.0.90", + "from": "@types/node@>=6.0.78 <7.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.90.tgz", + "dev": true + }, + "abab": { + "version": "1.0.4", + "from": "abab@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "dev": true + }, + "abbrev": { + "version": "1.0.9", + "from": "abbrev@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "dev": true + }, + "acorn": { + "version": "4.0.13", + "from": "acorn@>=4.0.4 <5.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "dev": true + }, + "acorn-globals": { + "version": "3.1.0", + "from": "acorn-globals@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "from": "align-text@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "from": "amdefine@>=0.0.4", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "dev": true + }, + "ansi-escapes": { + "version": "1.4.0", + "from": "ansi-escapes@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "from": "ansi-styles@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "dev": true + }, + "ansicolors": { + "version": "0.2.1", + "from": "ansicolors@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "from": "anymatch@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "from": "append-transform@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "dev": true + }, + "argparse": { + "version": "1.0.9", + "from": "argparse@>=1.0.7 <2.0.0", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "from": "arr-diff@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "from": "arr-flatten@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "from": "array-differ@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "from": "array-equal@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "from": "array-union@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "from": "array-uniq@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "from": "array-unique@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "from": "arrify@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "from": "asn1@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "dev": true + }, + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "dev": true + }, + "async": { + "version": "2.5.0", + "from": "async@>=2.1.4 <3.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "from": "asynckit@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "from": "aws4@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "from": "babel-code-frame@>=6.26.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "dev": true + }, + "babel-core": { + "version": "6.26.0", + "from": "babel-core@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "dev": true + }, + "babel-generator": { + "version": "6.26.0", + "from": "babel-generator@>=6.18.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "dev": true + }, + "babel-helpers": { + "version": "6.24.1", + "from": "babel-helpers@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "dev": true + }, + "babel-jest": { + "version": "20.0.3", + "from": "babel-jest@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "6.23.0", + "from": "babel-messages@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "dev": true + }, + "babel-plugin-istanbul": { + "version": "4.1.5", + "from": "babel-plugin-istanbul@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", + "dev": true + }, + "babel-plugin-jest-hoist": { + "version": "20.0.3", + "from": "babel-plugin-jest-hoist@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz", + "dev": true + }, + "babel-preset-jest": { + "version": "20.0.3", + "from": "babel-preset-jest@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", + "dev": true + }, + "babel-register": { + "version": "6.26.0", + "from": "babel-register@>=6.26.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "dev": true + }, + "babel-runtime": { + "version": "6.26.0", + "from": "babel-runtime@>=6.26.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "dev": true + }, + "babel-template": { + "version": "6.26.0", + "from": "babel-template@>=6.16.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "dev": true + }, + "babel-traverse": { + "version": "6.26.0", + "from": "babel-traverse@>=6.18.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "dev": true + }, + "babel-types": { + "version": "6.26.0", + "from": "babel-types@>=6.18.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "dev": true + }, + "babylon": { + "version": "6.18.0", + "from": "babylon@>=6.18.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "from": "balanced-match@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "from": "bcrypt-pbkdf@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "dev": true, + "optional": true + }, + "boom": { + "version": "2.10.1", + "from": "boom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "from": "brace-expansion@>=1.1.7 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "dev": true + }, + "braces": { + "version": "1.8.5", + "from": "braces@>=1.8.2 <2.0.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "dev": true + }, + "browser-resolve": { + "version": "1.11.2", + "from": "browser-resolve@>=1.11.2 <2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", + "dev": true, + "dependencies": { + "resolve": { + "version": "1.1.7", + "from": "resolve@1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "dev": true + } + } + }, + "bser": { + "version": "2.0.0", + "from": "bser@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "from": "builtin-modules@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "dev": true + }, + "callsites": { + "version": "2.0.0", + "from": "callsites@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "from": "camelcase@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "dev": true, + "optional": true + }, + "cardinal": { + "version": "1.0.0", + "from": "cardinal@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "from": "center-align@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "from": "chalk@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "dev": true + }, + "ci-info": { + "version": "1.1.1", + "from": "ci-info@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", + "dev": true + }, + "cli-table": { + "version": "0.3.1", + "from": "cli-table@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "dev": true + }, + "cli-usage": { + "version": "0.1.4", + "from": "cli-usage@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "from": "cliui@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "dev": true, + "optional": true, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "wordwrap@0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "from": "code-point-at@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "dev": true + }, + "color-convert": { + "version": "1.9.0", + "from": "color-convert@>=1.9.0 <2.0.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "dev": true + }, + "color-name": { + "version": "1.1.3", + "from": "color-name@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "dev": true + }, + "colors": { + "version": "1.0.3", + "from": "colors@1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "dev": true + }, + "commander": { + "version": "2.11.0", + "from": "commander@>=2.9.0 <3.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "dev": true + }, + "content-type-parser": { + "version": "1.0.2", + "from": "content-type-parser@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "dev": true + }, + "convert-source-map": { + "version": "1.5.0", + "from": "convert-source-map@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "dev": true + }, + "core-js": { + "version": "2.5.1", + "from": "core-js@>=2.4.0 <3.0.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "dev": true + }, + "coveralls": { + "version": "2.13.3", + "from": "coveralls@>=2.13.1 <3.0.0", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "dev": true + }, + "cssom": { + "version": "0.3.2", + "from": "cssom@>=0.3.2 <0.4.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "from": "cssstyle@>=0.2.37 <0.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "from": "dashdash@>=1.12.0 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "dev": true + } + } + }, + "debug": { + "version": "2.6.9", + "from": "debug@>=2.6.8 <3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "from": "decamelize@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "from": "deep-is@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "from": "default-require-extensions@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "from": "detect-indent@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "dev": true + }, + "diff": { + "version": "3.4.0", + "from": "diff@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", + "dev": true + }, + "doctrine": { + "version": "0.7.2", + "from": "doctrine@>=0.7.2 <0.8.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "dev": true, + "dependencies": { + "esutils": { + "version": "1.1.6", + "from": "esutils@>=1.1.6 <2.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + } + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "dev": true, + "optional": true + }, + "errno": { + "version": "0.1.4", + "from": "errno@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "dev": true + }, + "error-ex": { + "version": "1.3.1", + "from": "error-ex@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "dev": true + }, + "escodegen": { + "version": "1.9.0", + "from": "escodegen@>=1.6.1 <2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "3.1.3", + "from": "esprima@>=3.1.3 <4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "dev": true + } + } + }, + "esprima": { + "version": "2.7.3", + "from": "esprima@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "dev": true + }, + "estraverse": { + "version": "4.2.0", + "from": "estraverse@>=4.2.0 <5.0.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "from": "esutils@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "dev": true + }, + "exec-sh": { + "version": "0.2.1", + "from": "exec-sh@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "from": "expand-brackets@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "dev": true + }, + "expand-range": { + "version": "1.8.2", + "from": "expand-range@>=1.8.1 <2.0.0", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "dev": true + }, + "extend": { + "version": "3.0.1", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "dev": true + }, + "extglob": { + "version": "0.3.2", + "from": "extglob@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "from": "extsprintf@1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "from": "fast-levenshtein@>=2.0.4 <2.1.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "dev": true + }, + "fb-watchman": { + "version": "2.0.0", + "from": "fb-watchman@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "dev": true + }, + "filename-regex": { + "version": "2.0.1", + "from": "filename-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "dev": true + }, + "fileset": { + "version": "2.0.3", + "from": "fileset@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "from": "fill-range@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "from": "find-up@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "from": "for-in@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "from": "for-own@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "dev": true + }, + "form-data": { + "version": "2.1.4", + "from": "form-data@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "dev": true + }, + "generate-function": { + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "from": "get-caller-file@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "from": "getpass@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "dev": true + } + } + }, + "glob": { + "version": "7.1.2", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "dev": true + }, + "glob-base": { + "version": "0.3.0", + "from": "glob-base@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "dev": true + }, + "glob-parent": { + "version": "2.0.0", + "from": "glob-parent@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "dev": true + }, + "globals": { + "version": "9.18.0", + "from": "globals@>=9.18.0 <10.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "from": "graceful-fs@>=4.1.11 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "dev": true + }, + "growly": { + "version": "1.3.0", + "from": "growly@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "from": "handlebars@>=4.0.3 <5.0.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "dev": true, + "dependencies": { + "async": { + "version": "1.5.2", + "from": "async@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "from": "source-map@>=0.4.4 <0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "dev": true + } + } + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@>=2.0.6 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "from": "has-flag@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "dev": true + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@>=3.1.3 <3.2.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "dev": true + }, + "hoek": { + "version": "2.16.3", + "from": "hoek@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "from": "home-or-tmp@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "from": "hosted-git-info@>=2.1.4 <3.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "from": "html-encoding-sniffer@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "dev": true + }, + "iconv-lite": { + "version": "0.4.19", + "from": "iconv-lite@0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "from": "invariant@>=2.2.2 <3.0.0", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "from": "invert-kv@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "from": "is-arrayish@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "from": "is-buffer@>=1.1.5 <2.0.0", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "from": "is-builtin-module@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "dev": true + }, + "is-ci": { + "version": "1.0.10", + "from": "is-ci@>=1.0.10 <2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "from": "is-dotfile@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "from": "is-equal-shallow@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "from": "is-extendable@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "from": "is-extglob@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "from": "is-finite@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "from": "is-glob@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "dev": true + }, + "is-my-json-valid": { + "version": "2.16.1", + "from": "is-my-json-valid@>=2.12.4 <3.0.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "from": "is-number@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "from": "is-posix-bracket@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "from": "is-primitive@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "from": "is-property@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "from": "is-utf8@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "from": "isexe@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "from": "isobject@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "dev": true + }, + "istanbul": { + "version": "0.4.5", + "from": "istanbul@>=0.4.5 <0.5.0", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "dev": true, + "dependencies": { + "async": { + "version": "1.5.2", + "from": "async@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "from": "escodegen@>=1.8.0 <1.9.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "from": "estraverse@>=1.9.1 <2.0.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "dev": true + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.15 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "from": "resolve@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "from": "source-map@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "dev": true, + "optional": true + }, + "supports-color": { + "version": "3.2.3", + "from": "supports-color@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "dev": true + } + } + }, + "istanbul-api": { + "version": "1.2.1", + "from": "istanbul-api@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "4.0.0", + "from": "esprima@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "dev": true + }, + "js-yaml": { + "version": "3.10.0", + "from": "js-yaml@>=3.7.0 <4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "dev": true + } + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "from": "istanbul-lib-coverage@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "from": "istanbul-lib-hook@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "from": "istanbul-lib-instrument@>=1.4.2 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "dev": true + }, + "istanbul-lib-report": { + "version": "1.1.2", + "from": "istanbul-lib-report@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "dev": true, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "dev": true + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.2", + "from": "istanbul-lib-source-maps@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "3.1.0", + "from": "debug@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "1.1.3", + "from": "istanbul-reports@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "dev": true + }, + "jasmine-check": { + "version": "0.1.5", + "from": "jasmine-check@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/jasmine-check/-/jasmine-check-0.1.5.tgz", + "dev": true + }, + "jest": { + "version": "20.0.4", + "from": "jest@>=20.0.4 <21.0.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-20.0.4.tgz", + "dev": true, + "dependencies": { + "jest-cli": { + "version": "20.0.4", + "from": "jest-cli@>=20.0.4 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", + "dev": true + } + } + }, + "jest-changed-files": { + "version": "20.0.3", + "from": "jest-changed-files@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-20.0.3.tgz", + "dev": true + }, + "jest-cli": { + "version": "15.1.1", + "from": "jest-cli@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-15.1.1.tgz", + "dev": true, + "dependencies": { + "babel-jest": { + "version": "15.0.0", + "from": "babel-jest@>=15.0.0 <16.0.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-15.0.0.tgz", + "dev": true + }, + "babel-plugin-istanbul": { + "version": "2.0.3", + "from": "babel-plugin-istanbul@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-2.0.3.tgz", + "dev": true + }, + "babel-plugin-jest-hoist": { + "version": "15.0.0", + "from": "babel-plugin-jest-hoist@>=15.0.0 <16.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-15.0.0.tgz", + "dev": true + }, + "babel-preset-jest": { + "version": "15.0.0", + "from": "babel-preset-jest@>=15.0.0 <16.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-15.0.0.tgz", + "dev": true + }, + "bser": { + "version": "1.0.2", + "from": "bser@1.0.2", + "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "from": "camelcase@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "from": "cliui@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "dev": true + }, + "fb-watchman": { + "version": "1.9.2", + "from": "fb-watchman@>=1.9.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "from": "find-up@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "dev": true + }, + "jest-changed-files": { + "version": "15.0.0", + "from": "jest-changed-files@>=15.0.0 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-15.0.0.tgz", + "dev": true + }, + "jest-config": { + "version": "15.1.1", + "from": "jest-config@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-15.1.1.tgz", + "dev": true + }, + "jest-diff": { + "version": "15.1.0", + "from": "jest-diff@>=15.1.0 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-15.1.0.tgz", + "dev": true + }, + "jest-environment-jsdom": { + "version": "15.1.1", + "from": "jest-environment-jsdom@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-15.1.1.tgz", + "dev": true + }, + "jest-environment-node": { + "version": "15.1.1", + "from": "jest-environment-node@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-15.1.1.tgz", + "dev": true + }, + "jest-haste-map": { + "version": "15.0.1", + "from": "jest-haste-map@>=15.0.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-15.0.1.tgz", + "dev": true + }, + "jest-jasmine2": { + "version": "15.1.1", + "from": "jest-jasmine2@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-15.1.1.tgz", + "dev": true + }, + "jest-matcher-utils": { + "version": "15.1.0", + "from": "jest-matcher-utils@>=15.1.0 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-15.1.0.tgz", + "dev": true + }, + "jest-matchers": { + "version": "15.1.1", + "from": "jest-matchers@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-15.1.1.tgz", + "dev": true + }, + "jest-mock": { + "version": "15.0.0", + "from": "jest-mock@>=15.0.0 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-15.0.0.tgz", + "dev": true + }, + "jest-resolve": { + "version": "15.0.1", + "from": "jest-resolve@>=15.0.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-15.0.1.tgz", + "dev": true + }, + "jest-resolve-dependencies": { + "version": "15.0.1", + "from": "jest-resolve-dependencies@>=15.0.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-15.0.1.tgz", + "dev": true + }, + "jest-runtime": { + "version": "15.1.1", + "from": "jest-runtime@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-15.1.1.tgz", + "dev": true + }, + "jest-snapshot": { + "version": "15.1.1", + "from": "jest-snapshot@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-15.1.1.tgz", + "dev": true + }, + "jest-util": { + "version": "15.1.1", + "from": "jest-util@>=15.1.1 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-15.1.1.tgz", + "dev": true + }, + "node-notifier": { + "version": "4.6.1", + "from": "node-notifier@>=4.6.1 <5.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "from": "path-exists@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "dev": true + }, + "pretty-format": { + "version": "3.8.0", + "from": "pretty-format@>=3.7.0 <4.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "dev": true + }, + "sane": { + "version": "1.4.1", + "from": "sane@>=1.4.1 <1.5.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", + "dev": true + }, + "test-exclude": { + "version": "2.1.3", + "from": "test-exclude@>=2.1.1 <3.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-2.1.3.tgz", + "dev": true + }, + "window-size": { + "version": "0.2.0", + "from": "window-size@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "dev": true + }, + "yargs": { + "version": "5.0.0", + "from": "yargs@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-5.0.0.tgz", + "dev": true + }, + "yargs-parser": { + "version": "3.2.0", + "from": "yargs-parser@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-3.2.0.tgz", + "dev": true + } + } + }, + "jest-config": { + "version": "20.0.4", + "from": "jest-config@>=20.0.4 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz", + "dev": true + }, + "jest-diff": { + "version": "20.0.3", + "from": "jest-diff@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", + "dev": true + }, + "jest-docblock": { + "version": "20.0.3", + "from": "jest-docblock@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz", + "dev": true + }, + "jest-environment-jsdom": { + "version": "20.0.3", + "from": "jest-environment-jsdom@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", + "dev": true + }, + "jest-environment-node": { + "version": "20.0.3", + "from": "jest-environment-node@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", + "dev": true + }, + "jest-file-exists": { + "version": "15.0.0", + "from": "jest-file-exists@>=15.0.0 <16.0.0", + "resolved": "https://registry.npmjs.org/jest-file-exists/-/jest-file-exists-15.0.0.tgz", + "dev": true + }, + "jest-haste-map": { + "version": "20.0.5", + "from": "jest-haste-map@>=20.0.4 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", + "dev": true + }, + "jest-jasmine2": { + "version": "20.0.4", + "from": "jest-jasmine2@>=20.0.4 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", + "dev": true + }, + "jest-matcher-utils": { + "version": "20.0.3", + "from": "jest-matcher-utils@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", + "dev": true + }, + "jest-matchers": { + "version": "20.0.3", + "from": "jest-matchers@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", + "dev": true + }, + "jest-message-util": { + "version": "20.0.3", + "from": "jest-message-util@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", + "dev": true + }, + "jest-mock": { + "version": "20.0.3", + "from": "jest-mock@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-20.0.3.tgz", + "dev": true + }, + "jest-regex-util": { + "version": "20.0.3", + "from": "jest-regex-util@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-20.0.3.tgz", + "dev": true + }, + "jest-resolve": { + "version": "20.0.4", + "from": "jest-resolve@>=20.0.4 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", + "dev": true + }, + "jest-resolve-dependencies": { + "version": "20.0.3", + "from": "jest-resolve-dependencies@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", + "dev": true + }, + "jest-runtime": { + "version": "20.0.4", + "from": "jest-runtime@>=20.0.4 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", + "dev": true, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "from": "strip-bom@3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "dev": true + } + } + }, + "jest-snapshot": { + "version": "20.0.3", + "from": "jest-snapshot@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", + "dev": true + }, + "jest-util": { + "version": "20.0.3", + "from": "jest-util@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz", + "dev": true + }, + "jest-validate": { + "version": "20.0.3", + "from": "jest-validate@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "from": "js-tokens@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "dev": true + }, + "js-yaml": { + "version": "3.6.1", + "from": "js-yaml@3.6.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "from": "jsbn@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "dev": true, + "optional": true + }, + "jsdom": { + "version": "9.12.0", + "from": "jsdom@>=9.12.0 <10.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "from": "jsesc@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "from": "json-schema@0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "from": "json-stable-stringify@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "dev": true + }, + "json5": { + "version": "0.5.1", + "from": "json5@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "from": "jsonify@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "from": "jsonpointer@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "from": "jsprim@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "dev": true + }, + "lazy-cache": { + "version": "1.0.4", + "from": "lazy-cache@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "from": "lcid@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "dev": true + }, + "lcov-parse": { + "version": "0.0.10", + "from": "lcov-parse@0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "dev": true + }, + "leven": { + "version": "2.1.0", + "from": "leven@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "dev": true + }, + "levn": { + "version": "0.3.0", + "from": "levn@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "from": "load-json-file@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "from": "locate-path@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "from": "lodash@>=4.14.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + }, + "lodash._arraycopy": { + "version": "3.0.0", + "from": "lodash._arraycopy@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", + "dev": true + }, + "lodash._arrayeach": { + "version": "3.0.0", + "from": "lodash._arrayeach@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "from": "lodash._baseassign@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "dev": true + }, + "lodash._baseclone": { + "version": "3.3.0", + "from": "lodash._baseclone@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", + "dev": true + }, + "lodash._basecopy": { + "version": "3.0.1", + "from": "lodash._basecopy@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "dev": true + }, + "lodash._basefor": { + "version": "3.0.3", + "from": "lodash._basefor@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", + "dev": true + }, + "lodash._bindcallback": { + "version": "3.0.1", + "from": "lodash._bindcallback@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "from": "lodash._getnative@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "from": "lodash.assign@>=4.2.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "dev": true + }, + "lodash.clonedeep": { + "version": "3.0.2", + "from": "lodash.clonedeep@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "from": "lodash.isarguments@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "from": "lodash.isarray@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "from": "lodash.keys@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "dev": true + }, + "lodash.toarray": { + "version": "4.4.0", + "from": "lodash.toarray@>=4.4.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "dev": true + }, + "log-driver": { + "version": "1.2.5", + "from": "log-driver@1.2.5", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", + "dev": true + }, + "longest": { + "version": "1.0.1", + "from": "longest@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "from": "loose-envify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "dev": true + }, + "makeerror": { + "version": "1.0.11", + "from": "makeerror@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "dev": true + }, + "marked": { + "version": "0.3.6", + "from": "marked@>=0.3.6 <0.4.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", + "dev": true + }, + "marked-terminal": { + "version": "1.7.0", + "from": "marked-terminal@>=1.6.2 <2.0.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz", + "dev": true + }, + "merge": { + "version": "1.2.0", + "from": "merge@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "from": "micromatch@>=2.3.11 <3.0.0", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "dev": true + }, + "mime-db": { + "version": "1.30.0", + "from": "mime-db@>=1.30.0 <1.31.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "dev": true + }, + "mime-types": { + "version": "2.1.17", + "from": "mime-types@>=2.1.7 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "from": "minimatch@>=3.0.3 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "from": "minimist@1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "from": "mkdirp@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "dev": true, + "dependencies": { + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "from": "ms@2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "from": "multimatch@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "from": "natural-compare@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "dev": true + }, + "node-emoji": { + "version": "1.8.1", + "from": "node-emoji@>=1.4.1 <2.0.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "from": "node-int64@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "dev": true + }, + "node-notifier": { + "version": "5.1.2", + "from": "node-notifier@>=5.0.2 <6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "from": "nopt@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "from": "normalize-package-data@>=2.3.2 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "dev": true + }, + "normalize-path": { + "version": "2.1.1", + "from": "normalize-path@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "dev": true + }, + "nwmatcher": { + "version": "1.4.3", + "from": "nwmatcher@>=1.3.9 <2.0.0", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "from": "oauth-sign@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "from": "object-assign@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "from": "object.omit@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "dev": true + }, + "once": { + "version": "1.4.0", + "from": "once@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "from": "optimist@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dev": true, + "dependencies": { + "minimist": { + "version": "0.0.10", + "from": "minimist@>=0.0.1 <0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "from": "optionator@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "dev": true, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "dev": true + } + } + }, + "os-homedir": { + "version": "1.0.2", + "from": "os-homedir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "from": "os-locale@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "from": "os-tmpdir@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "dev": true + }, + "p-limit": { + "version": "1.1.0", + "from": "p-limit@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "from": "p-locate@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "dev": true + }, + "p-map": { + "version": "1.2.0", + "from": "p-map@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "from": "parse-glob@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "from": "parse-json@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "dev": true + }, + "parse5": { + "version": "1.5.1", + "from": "parse5@>=1.5.1 <2.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "from": "path-exists@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "from": "path-parse@>=1.0.5 <2.0.0", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "from": "path-type@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "dev": true + }, + "pify": { + "version": "2.3.0", + "from": "pify@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "from": "prelude-ls@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "from": "preserve@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "dev": true + }, + "pretty-format": { + "version": "20.0.3", + "from": "pretty-format@>=20.0.3 <21.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "from": "ansi-styles@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "dev": true + } + } + }, + "private": { + "version": "0.1.8", + "from": "private@>=0.1.7 <0.2.0", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "dev": true + }, + "prr": { + "version": "0.0.0", + "from": "prr@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "from": "punycode@>=1.4.1 <2.0.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "dev": true + }, + "qs": { + "version": "6.3.2", + "from": "qs@>=6.3.0 <6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "from": "randomatic@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "dev": true, + "dependencies": { + "is-number": { + "version": "3.0.0", + "from": "is-number@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "dev": true, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "from": "kind-of@^3.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "dev": true + } + } + }, + "kind-of": { + "version": "4.0.0", + "from": "kind-of@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "dev": true + } + } + }, + "read-pkg": { + "version": "1.1.0", + "from": "read-pkg@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "from": "read-pkg-up@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "dev": true, + "dependencies": { + "find-up": { + "version": "1.1.2", + "from": "find-up@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "from": "path-exists@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "dev": true + } + } + }, + "redeyed": { + "version": "1.0.1", + "from": "redeyed@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "3.0.0", + "from": "esprima@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz", + "dev": true + } + } + }, + "regenerator-runtime": { + "version": "0.11.0", + "from": "regenerator-runtime@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "from": "regex-cache@>=0.4.2 <0.5.0", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "from": "remove-trailing-separator@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "from": "repeat-element@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "from": "repeat-string@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "from": "repeating@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "dev": true + }, + "request": { + "version": "2.79.0", + "from": "request@2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "from": "require-directory@>=2.1.1 <3.0.0", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "from": "require-main-filename@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "dev": true + }, + "resolve": { + "version": "1.5.0", + "from": "resolve@>=1.3.2 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "from": "right-align@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "dev": true, + "optional": true + }, + "rimraf": { + "version": "2.6.2", + "from": "rimraf@>=2.6.1 <3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "dev": true + }, + "sane": { + "version": "1.6.0", + "from": "sane@>=1.6.0 <1.7.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", + "dev": true, + "dependencies": { + "bser": { + "version": "1.0.2", + "from": "bser@1.0.2", + "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", + "dev": true + }, + "fb-watchman": { + "version": "1.9.2", + "from": "fb-watchman@>=1.8.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "from": "sax@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "dev": true + }, + "semver": { + "version": "5.4.1", + "from": "semver@>=5.3.0 <6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "from": "set-blocking@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "from": "shellwords@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "dev": true + }, + "slash": { + "version": "1.0.0", + "from": "slash@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "dev": true + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "from": "source-map@>=0.5.6 <0.6.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "from": "source-map-support@>=0.4.15 <0.5.0", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "dev": true + }, + "spdx-correct": { + "version": "1.0.2", + "from": "spdx-correct@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "dev": true + }, + "spdx-expression-parse": { + "version": "1.0.4", + "from": "spdx-expression-parse@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "from": "spdx-license-ids@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "from": "sprintf-js@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "dev": true + }, + "sshpk": { + "version": "1.13.1", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "dev": true + } + } + }, + "string-length": { + "version": "1.0.1", + "from": "string-length@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "from": "string-width@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "from": "strip-bom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "from": "supports-color@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "from": "symbol-tree@>=3.2.1 <4.0.0", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "dev": true + }, + "test-exclude": { + "version": "4.1.1", + "from": "test-exclude@>=4.1.1 <5.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "dev": true + }, + "testcheck": { + "version": "0.1.4", + "from": "testcheck@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/testcheck/-/testcheck-0.1.4.tgz", + "dev": true + }, + "throat": { + "version": "3.2.0", + "from": "throat@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", + "dev": true + }, + "tmpl": { + "version": "1.0.4", + "from": "tmpl@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "from": "to-fast-properties@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "dev": true + }, + "tough-cookie": { + "version": "2.3.3", + "from": "tough-cookie@>=2.3.0 <2.4.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "from": "tr46@>=0.0.3 <0.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "from": "trim-right@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "dev": true + }, + "tslib": { + "version": "1.8.0", + "from": "tslib@>=1.7.1 <2.0.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.0.tgz", + "dev": true + }, + "tslint": { + "version": "5.8.0", + "from": "tslint@>=5.4.3 <6.0.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.8.0.tgz", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "from": "ansi-styles@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "dev": true + }, + "chalk": { + "version": "2.3.0", + "from": "chalk@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "from": "has-flag@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "from": "supports-color@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "dev": true + } + } + }, + "tslint-eslint-rules": { + "version": "4.1.1", + "from": "tslint-eslint-rules@>=4.1.1 <5.0.0", + "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-4.1.1.tgz", + "dev": true, + "dependencies": { + "tsutils": { + "version": "1.9.1", + "from": "tsutils@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-1.9.1.tgz", + "dev": true + } + } + }, + "tsutils": { + "version": "2.12.2", + "from": "tsutils@>=2.12.1 <3.0.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.12.2.tgz", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "dev": true + }, + "tweetnacl": { + "version": "0.14.5", + "from": "tweetnacl@>=0.14.0 <0.15.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "from": "type-check@>=0.3.2 <0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "dev": true + }, + "typescript": { + "version": "2.6.1", + "from": "typescript@latest", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.1.tgz", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "from": "uglify-js@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "dev": true, + "optional": true, + "dependencies": { + "yargs": { + "version": "3.10.0", + "from": "yargs@>=3.10.0 <3.11.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "dev": true, + "optional": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "from": "uglify-to-browserify@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "dev": true, + "optional": true + }, + "uuid": { + "version": "3.1.0", + "from": "uuid@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "from": "validate-npm-package-license@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "dev": true + }, + "verror": { + "version": "1.10.0", + "from": "verror@1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "dev": true + } + } + }, + "walker": { + "version": "1.0.7", + "from": "walker@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "dev": true + }, + "watch": { + "version": "0.10.0", + "from": "watch@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", + "dev": true + }, + "webidl-conversions": { + "version": "4.0.2", + "from": "webidl-conversions@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.3", + "from": "whatwg-encoding@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", + "dev": true + }, + "whatwg-url": { + "version": "4.8.0", + "from": "whatwg-url@>=4.3.0 <5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", + "dev": true, + "dependencies": { + "webidl-conversions": { + "version": "3.0.1", + "from": "webidl-conversions@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "dev": true + } + } + }, + "which": { + "version": "1.3.0", + "from": "which@>=1.2.12 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "dev": true + }, + "which-module": { + "version": "1.0.0", + "from": "which-module@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "from": "window-size@0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "from": "wordwrap@>=0.0.2 <0.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "dev": true + }, + "worker-farm": { + "version": "1.5.1", + "from": "worker-farm@>=1.3.1 <2.0.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.1.tgz", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "from": "wrap-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "dev": true + }, + "xml-name-validator": { + "version": "2.0.1", + "from": "xml-name-validator@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "from": "y18n@>=3.2.1 <4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "from": "yargs@>=7.0.2 <8.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "dev": true, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "from": "camelcase@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "from": "cliui@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "from": "yargs-parser@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "dev": true, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "from": "camelcase@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json index e8212de..44a7409 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "test": "npm run lint &&./node_modules/.bin/jest --no-cache", "coveralls": "npm run test && cat ./test/coverage/lcov.info | node ./node_modules/coveralls/bin/coveralls.js", "lint": "./node_modules/.bin/tslint \"src/**/*.ts\" \"test/unit/**/*.ts\"", - "build": "npm run lint && rm -rf lib && ./node_modules/.bin/tsc" + "build": "npm run lint && rm -rf lib && ./node_modules/.bin/tsc", + "lock": "npm shrinkwrap --dev" }, "repository": { "type": "git", From c8e3a9a7cd1a0aad476f64240cc93a0cf3a9e823 Mon Sep 17 00:00:00 2001 From: dkniazevych Date: Mon, 6 Nov 2017 11:15:37 +0100 Subject: [PATCH 3/7] #8: update Travis CI config --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index d124b0d..7241498 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,4 +2,5 @@ language: node_js sudo: false node_js: - '6.1' +before_install: npm prune script: npm run build \ No newline at end of file From 09ea2c429f03a4998667c11796379d38df442bc9 Mon Sep 17 00:00:00 2001 From: dkniazevych Date: Mon, 6 Nov 2017 11:18:21 +0100 Subject: [PATCH 4/7] #8: update Travis CI config --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7241498..983fe48 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,5 +2,5 @@ language: node_js sudo: false node_js: - '6.1' -before_install: npm prune +before_install: rm -rf ./node_modules script: npm run build \ No newline at end of file From b116c3d83cab01aa728707f149301581daab8009 Mon Sep 17 00:00:00 2001 From: dkniazevych Date: Mon, 6 Nov 2017 11:20:10 +0100 Subject: [PATCH 5/7] #8: update Travis CI config, fix dependencies --- .travis.yml | 1 - package.json | 1 - 2 files changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 983fe48..d124b0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,5 +2,4 @@ language: node_js sudo: false node_js: - '6.1' -before_install: rm -rf ./node_modules script: npm run build \ No newline at end of file diff --git a/package.json b/package.json index 44a7409..a98babe 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,6 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "devDependencies": { - "@types/es6-shim": "^0.31.34", "@types/jest": "^21.1.5", "@types/node": "^6.0.78", "coveralls": "^2.13.1", From 182b938fb6c550862974f3ae4650c2f526c4efad Mon Sep 17 00:00:00 2001 From: dkniazevych Date: Mon, 6 Nov 2017 11:21:34 +0100 Subject: [PATCH 6/7] #8: update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f609c12..5e1f755 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ * `options` {ReadOptions} * returns `Promise` with list of [Statement](src/typings.ts#L40). -#### ReadOptions +##### ReadOptions * `getTransactionId(transaction, index)` - a custom generator for transaction id. By default it's: ```js /** From 5676f7271834ae5962463639b857cd0f8122eb67 Mon Sep 17 00:00:00 2001 From: dkniazevych Date: Mon, 6 Nov 2017 11:23:05 +0100 Subject: [PATCH 7/7] #8: extend a default ReadOptions --- src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index 4d18e89..82b1a90 100644 --- a/src/index.ts +++ b/src/index.ts @@ -73,11 +73,11 @@ export function read (input: ArrayBuffer|Buffer, options?: ReadOptions): Promise return Promise.reject(new Error(invalidInputMessage)) as any; } - return parser.read(data, Object.assign({}, options, { + return parser.read(data, Object.assign({ getTransactionId (transaction: Transaction) { return md5(JSON.stringify(transaction)); } - })).catch(() => { + }, options)).catch(() => { return Promise.reject(new Error(invalidInputMessage)); }); } \ No newline at end of file