From 50b535ff6ae5c0d16e0df5863c5dfff943c1e71e Mon Sep 17 00:00:00 2001 From: Pavel Vasek Date: Wed, 26 Apr 2017 22:59:10 +0200 Subject: [PATCH 1/4] Big refactoring with following goals - splitting AST transformation / deciding which parts are react components - easier to maintain - support for high order components --- .../components/HocComponent.tsx | 35 + package.json | 7 +- src/__tests__/__sourceMapInit.ts | 2 + .../data/ColumnHigherOrderComponent.tsx | 74 +++ src/__tests__/data/transformAST.tsx | 55 ++ src/__tests__/docgenConverter.spec.ts | 75 +-- ...r.spec.ts => getFileDocumentation.spec.ts} | 128 ++-- src/__tests__/transformAST.spec.ts | 111 ++++ src/docgenConverter.ts | 96 +-- src/getFileDocumentation.ts | 153 +++++ src/index.ts | 11 +- src/model.ts | 77 +++ src/nodeUtils.ts | 615 ------------------ src/parser.ts | 183 ------ src/print.ts | 16 + src/printUtils.ts | 149 +++++ src/propTypesParser.ts | 28 +- src/transformAST.ts | 181 ++++++ 18 files changed, 1022 insertions(+), 974 deletions(-) create mode 100644 examples/react-styleguidist-example/components/HocComponent.tsx create mode 100644 src/__tests__/__sourceMapInit.ts create mode 100644 src/__tests__/data/ColumnHigherOrderComponent.tsx create mode 100644 src/__tests__/data/transformAST.tsx rename src/__tests__/{parser.spec.ts => getFileDocumentation.spec.ts} (55%) create mode 100644 src/__tests__/transformAST.spec.ts create mode 100644 src/getFileDocumentation.ts create mode 100644 src/model.ts delete mode 100644 src/parser.ts create mode 100644 src/print.ts create mode 100644 src/printUtils.ts create mode 100644 src/transformAST.ts diff --git a/examples/react-styleguidist-example/components/HocComponent.tsx b/examples/react-styleguidist-example/components/HocComponent.tsx new file mode 100644 index 00000000..858721d0 --- /dev/null +++ b/examples/react-styleguidist-example/components/HocComponent.tsx @@ -0,0 +1,35 @@ +import * as React from 'react'; + +/** + * Row properties. + */ +export interface IRowProps { + /** prop1 description */ + prop1?: string; + /** prop2 description */ + prop2: number; + /** + * prop3 description + */ + prop3: () => void; + /** prop4 description */ + prop4: 'option1' | 'option2' | "option3"; +} + +/** + * Form row. + */ +class Component extends React.Component { + + render() { + return
Test
; + } +}; + +export function hoc(Component: T): T { + // do whatever you need but return the same type T + return Component as T; +} + +/** This example shows HocComponent */ +export const HocComponent = hoc(Component); \ No newline at end of file diff --git a/package.json b/package.json index 796f70fe..3fce95a1 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,16 @@ { "name": "react-docgen-typescript", - "version": "0.0.8", + "version": "0.0.9", "description": "", "main": "lib/index.js", "scripts": { + "tsc": "tsc", "prepublish": "tsc -d", "test": "tsc && mocha ./lib/**/__tests__/**.js", "test:debug": "tsc && mocha --debug ./lib/**/__tests__/**.js", - "example": "tsc && node ./node_modules/react-styleguidist/bin/styleguidist server --config ./examples/react-styleguidist-example/styleguide.config.js" + "example": "tsc && node ./node_modules/react-styleguidist/bin/styleguidist server --config ./examples/react-styleguidist-example/styleguide.config.js", + "print": "npm run tsc && node ./lib/print.js", + "print:sample1": "npm run tsc && node ./lib/print.js ./src/__tests__/data/ColumnHigherOrderComponent.tsx simple" }, "author": "pvasek", "license": "MIT", diff --git a/src/__tests__/__sourceMapInit.ts b/src/__tests__/__sourceMapInit.ts new file mode 100644 index 00000000..786e316d --- /dev/null +++ b/src/__tests__/__sourceMapInit.ts @@ -0,0 +1,2 @@ +import * as sourceMapSupport from "source-map-support"; +sourceMapSupport.install(); \ No newline at end of file diff --git a/src/__tests__/data/ColumnHigherOrderComponent.tsx b/src/__tests__/data/ColumnHigherOrderComponent.tsx new file mode 100644 index 00000000..84c9de7a --- /dev/null +++ b/src/__tests__/data/ColumnHigherOrderComponent.tsx @@ -0,0 +1,74 @@ +import * as React from 'react'; +/** + * Column properties. + */ +export interface IColumnProps extends React.HTMLAttributes { + /** prop1 description */ + prop1?: string; + /** prop2 description */ + prop2: number; + /** + * prop3 description + */ + prop3: () => void; + /** prop4 description */ + prop4: 'option1' | 'option2' | "option3"; +} + +/** + * Form column. + */ +class Column extends React.Component { + public static defaultProps: Partial = { + prop1: 'prop1' + }; + + render() { + const {prop1} = this.props; + return
{prop1}
; + } +} + +/** + * Row properties. + */ +export interface IRowProps { + /** prop1 description */ + prop1?: string; + /** prop2 description */ + prop2: number; + /** + * prop3 description + */ + prop3: () => void; + /** prop4 description */ + prop4: 'option1' | 'option2' | "option3"; +} + +/** + * Form row. + */ +const Row = (props: IRowProps) => { + const innerFunc = (props: IRowProps) => { + return Inner Func + }; + const innerNonExportedFunc = (props: IRowProps) => { + return Inner Func + }; + return
Test
; +}; + +function hoc(C: T): T { + return ((props) =>
{C}
) as any as T; +} + +/** ColumnHighOrderComponent1 specific comment */ +export const ColumnHighOrderComponent1 = hoc(Column); + +export const ColumnHighOrderComponent2 = hoc(Column); + +/** RowHighOrderComponent1 specific comment */ +export const RowHighOrderComponent1 = hoc(Row); + +export const RowHighOrderComponent2 = hoc(Row); + diff --git a/src/__tests__/data/transformAST.tsx b/src/__tests__/data/transformAST.tsx new file mode 100644 index 00000000..1a0cf4d1 --- /dev/null +++ b/src/__tests__/data/transformAST.tsx @@ -0,0 +1,55 @@ +const unexportedVar = 10; +export const exportedVar = 10; + +/** unexportedVarFunction comment */ +const unexportedVarFunction = (param1: string): number => 0 +; +/** exportedVarFunction comment */ +export const exportedVarFunction = (param1: number, param2: string): string => ""; + +function unexportedFunction(param1: number): string { + return ""; +} + +function exportedFunction(param1: string, param2: number): number { + return 0; +} + +interface UnexportedInterface { + /** prop1 comment */ + prop1: string; +} + +export interface ExportedInterface { + /** prop1 comment */ + prop1: string; + /** prop2 comment */ + prop2: string; +} + +export class OurBaseClass { +} + +/** UnexportedClass comment */ +class UnexportedClass extends OurBaseClass { + method1(): string { + return ""; + } +} + +/** ExportedClass comment */ +export class ExportedClass { + method1(): string { + return ""; + } + method2(): number { + return 0; + } +} + +export function hoc(component: T): T { + return component; +} + +/** exportedHoc comment */ +export const exportedHoc = hoc(ExportedClass); \ No newline at end of file diff --git a/src/__tests__/docgenConverter.spec.ts b/src/__tests__/docgenConverter.spec.ts index 2622ec8a..b5d3e7d1 100644 --- a/src/__tests__/docgenConverter.spec.ts +++ b/src/__tests__/docgenConverter.spec.ts @@ -1,34 +1,27 @@ import { assert } from 'chai'; import * as path from 'path'; -import { getDocumentation } from '../parser'; -import { convertToDocgen, StyleguidistComponent } from "../docgenConverter"; +import { getFileDocumentation } from '../getFileDocumentation'; +import { convertToDocgen } from '../docgenConverter'; +import { StyleguidistComponent } from '../propTypesParser'; describe('docgenConverter', () => { it('Should work with class Component', () => { const result = convertToDocgen({ - classes: [ + components: [ { name: 'name1', comment: 'comment1', extends: 'Component', - propInterface: 'PropsInterface', - } - ], - interfaces: [ - { - name: 'PropsInterface', - comment: 'props comment', - members: [ - { - name: 'prop1', - comment: 'prop1 comment', - isRequired: true, - text: 'prop1 text', - type: 'prop1 type' - } - ] - } - ] + propInterface: { + name: 'PropsInterface', + comment: 'props comment', + members: [{ + name: 'prop1', + comment: 'prop1 comment', + isRequired: true, + type: 'prop1 type' + }]}, + }] }); assert.equal('name1', result.displayName); @@ -41,29 +34,21 @@ describe('docgenConverter', () => { it('Should work with functional StatelessComponent', () => { const result = convertToDocgen({ - classes: [ + components: [ { name: 'name1', comment: 'comment1', extends: 'StatelessComponent', - propInterface: 'PropsInterface', - } - ], - interfaces: [ - { - name: 'PropsInterface', - comment: 'props comment', - members: [ - { - name: 'prop1', - comment: 'prop1 comment', - isRequired: true, - text: 'prop1 text', - type: 'prop1 type' - } - ] - } - ] + propInterface: { + name: 'PropsInterface', + comment: 'props comment', + members: [{ + name: 'prop1', + comment: 'prop1 comment', + isRequired: true, + type: 'prop1 type' + }]} + }] }); assert.equal('name1', result.displayName); @@ -81,15 +66,14 @@ describe('docgenConverter', () => { console.warn = () => warnCallCount++; try { result = convertToDocgen({ - classes: [ + components: [ { name: 'name1', comment: 'comment1', extends: 'Component', propInterface: null, } - ], - interfaces: [] + ] }); } finally { console.warn = originalWarn; @@ -107,15 +91,14 @@ describe('docgenConverter', () => { console.warn = () => warnCallCount++; try { result = convertToDocgen({ - classes: [ + components: [ { name: 'name1', comment: 'comment1', extends: 'PureComponent', propInterface: null, } - ], - interfaces: [] + ] }); } finally { console.warn = originalWarn; diff --git a/src/__tests__/parser.spec.ts b/src/__tests__/getFileDocumentation.spec.ts similarity index 55% rename from src/__tests__/parser.spec.ts rename to src/__tests__/getFileDocumentation.spec.ts index e038a197..6afbd13f 100644 --- a/src/__tests__/parser.spec.ts +++ b/src/__tests__/getFileDocumentation.spec.ts @@ -1,22 +1,21 @@ import { assert } from 'chai'; import * as path from 'path'; -import { getDocumentation } from '../parser'; +import { getFileDocumentation } from '../getFileDocumentation'; -describe('parser', () => { +describe('getFileDocumentation', () => { it('Should parse class-based components', () => { const fileName = path.join(__dirname, '../../src/__tests__/data/Column.tsx'); // it's running in ./temp - const result = getDocumentation(fileName); - assert.ok(result.classes); - assert.ok(result.interfaces); - assert.equal(1, result.classes.length); - assert.equal(1, result.interfaces.length); + const result = getFileDocumentation(fileName); + assert.ok(result.components); + assert.equal(1, result.components.length); - const c = result.classes[0]; + const c = result.components[0]; assert.equal('Column', c.name); assert.equal('Form column.', c.comment); assert.equal('Component', c.extends); + assert.isNotNull(c.propInterface); - const i = result.interfaces[0]; + const i = c.propInterface; assert.equal('IColumnProps', i.name); assert.equal('Column properties.', i.comment); assert.equal(4, i.members.length); @@ -39,32 +38,50 @@ describe('parser', () => { it('Should parse class-based components with unexported props interface', () => { const fileName = path.join(__dirname, '../../src/__tests__/data/ColumnWithoutExportedProps.tsx'); // it's running in ./temp - const result = getDocumentation(fileName); - assert.ok(result.classes); - assert.ok(result.interfaces); - assert.equal(1, result.classes.length); - assert.equal(0, result.interfaces.length); + const result = getFileDocumentation(fileName); + assert.ok(result.components); + assert.equal(1, result.components.length); - const c = result.classes[0]; + const c = result.components[0]; assert.equal('Column', c.name); assert.equal('Form column.', c.comment); assert.equal('Component', c.extends); + assert.isNotNull(c.propInterface); + + const i = c.propInterface; + assert.equal('IColumnProps', i.name); + assert.equal('Column properties.', i.comment); + assert.equal(4, i.members.length); + assert.equal('prop1', i.members[0].name); + assert.equal('prop1 description', i.members[0].comment); + assert.equal(false, i.members[0].isRequired); + + assert.equal('prop2', i.members[1].name); + assert.equal('prop2 description', i.members[1].comment); + assert.equal(true, i.members[1].isRequired); + + assert.equal('prop3', i.members[2].name); + assert.equal('prop3 description', i.members[2].comment); + assert.equal(true, i.members[2].isRequired); + + assert.equal('prop4', i.members[3].name); + assert.equal('prop4 description', i.members[3].comment); + assert.equal(true, i.members[3].isRequired); }); it('Should parse functional components', () => { const fileName = path.join(__dirname, '../../src/__tests__/data/Row.tsx'); // it's running in ./temp - const result = getDocumentation(fileName); - assert.ok(result.classes); - assert.ok(result.interfaces); - assert.equal(1, result.classes.length); - assert.equal(1, result.interfaces.length); + const result = getFileDocumentation(fileName); + assert.ok(result.components); + assert.equal(1, result.components.length); - const c = result.classes[0]; + const c = result.components[0]; assert.equal('Row', c.name); assert.equal('Form row.', c.comment); assert.equal('StatelessComponent', c.extends); + assert.isNotNull(c.propInterface) - const i = result.interfaces[0]; + const i = c.propInterface; assert.equal('IRowProps', i.name); assert.equal('Row properties.', i.comment); assert.equal(4, i.members.length); @@ -87,19 +104,18 @@ describe('parser', () => { it('Should parse class-based pure components', () => { const fileName = path.join(__dirname, '../../src/__tests__/data/PureRow.tsx'); // it's running in ./temp - const result = getDocumentation(fileName); + const result = getFileDocumentation(fileName); - assert.ok(result.classes); - assert.ok(result.interfaces); - assert.equal(1, result.classes.length); - assert.equal(1, result.interfaces.length); + assert.ok(result.components); + assert.equal(1, result.components.length); - const c = result.classes[0]; + const c = result.components[0]; assert.equal('Row', c.name); assert.equal('Form row.', c.comment); assert.equal('PureComponent', c.extends); + assert.isNotNull(c.propInterface); - const i = result.interfaces[0]; + const i = c.propInterface assert.equal('IRowProps', i.name); assert.equal('Row properties.', i.comment); assert.equal(4, i.members.length); @@ -122,18 +138,17 @@ describe('parser', () => { it('Should avoid parsing exported objects as components', () => { const fileName = path.join(__dirname, '../../src/__tests__/data/ConstExport.tsx'); // it's running in ./temp - const result = getDocumentation(fileName); - assert.ok(result.classes); - assert.ok(result.interfaces); - assert.equal(1, result.classes.length); - assert.equal(1, result.interfaces.length); + const result = getFileDocumentation(fileName); + assert.ok(result.components); + assert.equal(1, result.components.length); - const c = result.classes[0]; + const c = result.components[0]; assert.equal('Row', c.name); assert.equal('Form row.', c.comment); assert.equal('StatelessComponent', c.extends); + assert.isNotNull(c); - const i = result.interfaces[0]; + const i = c.propInterface; assert.equal('IRowProps', i.name); assert.equal('Row properties.', i.comment); assert.equal(4, i.members.length); @@ -154,4 +169,43 @@ describe('parser', () => { assert.equal(true, i.members[3].isRequired); }); -}); + it('Should parse higher order components', () => { + const fileName = path.join(__dirname, '../../src/__tests__/data/ColumnHigherOrderComponent.tsx'); // it's running in ./temp + const result = getFileDocumentation(fileName); + assert.ok(result.components); + assert.equal(4, result.components.length); + + const r1 = result.components[0]; + assert.equal('ColumnHighOrderComponent1', r1.name); + assert.equal('ColumnHighOrderComponent1 specific comment', r1.comment); + assert.equal('Column', r1.extends); + assert.isNotNull(r1.propInterface); + + const i = r1.propInterface; + assert.equal('IColumnProps', i.name); + assert.equal('Column properties.', i.comment); + assert.equal(4, i.members.length); + assert.equal('prop1', i.members[0].name); + assert.equal('prop1 description', i.members[0].comment); + assert.equal(false, i.members[0].isRequired); + + assert.equal('prop2', i.members[1].name); + assert.equal('prop2 description', i.members[1].comment); + assert.equal(true, i.members[1].isRequired); + + assert.equal('prop3', i.members[2].name); + assert.equal('prop3 description', i.members[2].comment); + assert.equal(true, i.members[2].isRequired); + + assert.equal('prop4', i.members[3].name); + assert.equal('prop4 description', i.members[3].comment); + assert.equal(true, i.members[3].isRequired); + + const r2 = result.components[1]; + assert.equal('ColumnHighOrderComponent2', r2.name); + assert.equal('Form column.', r2.comment); + assert.equal('Column', r2.extends); + assert.isNotNull(r2.propInterface); + + }); +}); \ No newline at end of file diff --git a/src/__tests__/transformAST.spec.ts b/src/__tests__/transformAST.spec.ts new file mode 100644 index 00000000..d5f5f260 --- /dev/null +++ b/src/__tests__/transformAST.spec.ts @@ -0,0 +1,111 @@ +import { assert } from 'chai'; +import * as path from 'path'; +import * as ts from 'typescript'; +import { simplePrint } from '../printUtils'; +import { transformAST } from '../transformAST'; + +const defaultOptions: ts.CompilerOptions = { + target: ts.ScriptTarget.Latest, + module: ts.ModuleKind.CommonJS +}; + +describe('transformAST', () => { + const fileName = path.join(__dirname, '../../src/__tests__/data/transformAST.tsx'); // it's running in ./temp + const program = ts.createProgram([fileName], defaultOptions); + const checker = program.getTypeChecker(); + const sourceFile = program.getSourceFile(fileName); + const target = transformAST(sourceFile, checker); + + it('should provide data about variables', () => { + const result = target.variables; + assert.equal(result.length, 5); + + const r1 = result[0]; + assert.equal(r1.name, 'unexportedVar'); + assert.equal(r1.exported, false); + assert.equal(r1.kind, 'literal'); + assert.equal(r1.initializerFlags, ts.TypeFlags.NumberLiteral); + + const r2 = result[1]; + assert.equal(r2.name, 'exportedVar'); + assert.equal(r2.exported, true); + assert.equal(r2.kind, 'literal'); + assert.equal(r2.initializerFlags, ts.TypeFlags.NumberLiteral); + + const r3 = result[2]; + assert.equal(r3.name, 'unexportedVarFunction'); + assert.equal(r3.exported, false); + assert.equal(r3.kind, 'arrowFunction'); + assert.equal(r3.comment, 'unexportedVarFunction comment'); + assert.equal(r3.arrowFunctionType, 'number'); + assert.deepEqual(r3.arrowFunctionParams, ['string']); + + const r4 = result[3]; + assert.equal(r4.name, 'exportedVarFunction'); + assert.equal(r4.exported, true); + assert.equal(r4.kind, 'arrowFunction'); + assert.equal(r4.comment, 'exportedVarFunction comment'); + assert.equal(r4.arrowFunctionType, 'string'); + assert.deepEqual(r4.arrowFunctionParams, ['number', 'string']); + + // hoc + const r5 = result[4]; + assert.equal(r5.name, 'exportedHoc'); + assert.equal(r5.exported, true); + assert.equal(r5.type, 'ExportedClass'); + assert.equal(r5.kind, 'callExpression'); + assert.equal(r5.comment, 'exportedHoc comment'); + assert.deepEqual(r5.callExpressionArguments, ['ExportedClass']); + }); + + it('should provide data about interfaces', () => { + const result = target.interfaces; + assert.equal(result.length, 2); + const r1 = result[0]; + assert.equal(r1.name, 'UnexportedInterface'); + assert.equal(r1.exported, false); + assert.deepEqual(r1.properties, [{ + 'name': 'prop1', + 'text': 'prop1: string;', + 'type': 'string', + 'isRequired': true, + 'comment': 'prop1 comment', + 'values': [], + }]); + + const r2 = result[1]; + assert.equal(r2.name, 'ExportedInterface'); + assert.equal(r2.exported, true); + assert.deepEqual(r2.properties, [{ + 'name': 'prop1', + 'text': 'prop1: string;', + 'type': 'string', + 'isRequired': true, + 'comment': 'prop1 comment', + 'values': [], + }, { + 'name': 'prop2', + 'text': 'prop2: string;', + 'type': 'string', + 'isRequired': true, + 'comment': 'prop2 comment', + 'values': [], + }]); + }); + + it('should provide data about classes', () => { + const result = target.classes; + assert.equal(result.length, 3); + const r1 = result[1]; + assert.equal(r1.name, 'UnexportedClass'); + assert.equal(r1.exported, false); + assert.equal(r1.comment, 'UnexportedClass comment'); + assert.deepEqual(r1.methods, [{name: 'method1'}]); + + const r2 = result[2]; + assert.equal(r2.name, 'ExportedClass'); + assert.equal(r2.exported, true); + assert.equal(r2.comment, 'ExportedClass comment'); + assert.deepEqual(r2.methods, [{name: 'method1'}, {name: 'method2'}]); + }); +}); \ No newline at end of file diff --git a/src/docgenConverter.ts b/src/docgenConverter.ts index 7c026a97..afcaf291 100644 --- a/src/docgenConverter.ts +++ b/src/docgenConverter.ts @@ -1,58 +1,26 @@ -import { FileDoc, InterfaceDoc, MemberDoc } from './parser'; - -export interface StyleguidistProps { - [key: string]: PropItem; -} - -export interface StyleguidistComponent { - displayName: string; - description: string; - props: StyleguidistProps; -} +import { FileDoc, InterfaceDoc, MemberDoc } from './model'; +import { StyleguidistComponent, StyleguidistProps, PropItem } from './propTypesParser'; export function convertToDocgen(doc: FileDoc): StyleguidistComponent { - const reactClasses = doc.classes.filter(i => i.extends === 'Component' || i.extends === 'StatelessComponent' || i.extends === 'PureComponent'); + const components = doc.components; - if (reactClasses.length === 0) { + if (components.length === 0) { return null; } - const comp = reactClasses[0]; - const reactInterfaces = doc.interfaces.filter(i => i.name === comp.propInterface); + const comp = components[0]; - let props: any = {}; - if (reactInterfaces.length !== 0) { - props = getProps(reactInterfaces[0]); - } else { + if (!comp.propInterface) { console.warn('REACT-DOCGEN-TYPESCRIPT It seems that your props type is not exported. Add \'export\' keyword to your props definition.'); } return { displayName: comp.name, description: comp.comment, - props: props - } -} - -export interface PropItemType { - name: string; - value?: any; -} - -export interface PropItem { - required: boolean; - type: PropItemType; - description: string; - defaultValue: any; + props: comp.propInterface ? getProps(comp.propInterface) : {} + }; } -export interface PropsObject { - [key: string]: PropItem; -} -export interface Docgen { - description: string; - props: PropsObject; -} function getProps(props: InterfaceDoc): StyleguidistProps { return props.members.reduce((acc, i) => { @@ -62,55 +30,11 @@ function getProps(props: InterfaceDoc): StyleguidistProps { defaultValue: null, required: i.isRequired }; - if (i.values) { + if (i.values && i.values.length > 0) { item.description = item.description + ' (one of the following:' + i.values.join(',') + ')'; } acc[i.name] = item; return acc; }, {}); -} -/* - { - "props": { - "foo": { - "type": { - "name": "number" - }, - "required": false, - "description": "Description of prop \"foo\".", - "defaultValue": { - "value": "42", - "computed": false - } - }, - "bar": { - "type": { - "name": "custom" - }, - "required": false, - "description": "Description of prop \"bar\" (a custom validation function).", - "defaultValue": { - "value": "21", - "computed": false - } - }, - "baz": { - "type": { - "name": "union", - "value": [ - { - "name": "number" - }, - { - "name": "string" - } - ] - }, - "required": false, - "description": "" - } - }, - "description": "General component description." - } - */ \ No newline at end of file +} \ No newline at end of file diff --git a/src/getFileDocumentation.ts b/src/getFileDocumentation.ts new file mode 100644 index 00000000..963c16ab --- /dev/null +++ b/src/getFileDocumentation.ts @@ -0,0 +1,153 @@ +import * as ts from 'typescript'; +import { navigate, getFlatChildren } from './nodeUtils'; +import { transformAST } from './transformAST'; +import { + ClassEntry, + InterfaceEntry, + VariableEntry, + InterfaceDoc, + ComponentDoc, + FileDoc +} from './model'; + + +const defaultOptions: ts.CompilerOptions = { + target: ts.ScriptTarget.Latest, + module: ts.ModuleKind.CommonJS +}; + +function isClassComponent(entry: ClassEntry, exportedOnly = true): boolean { + return (exportedOnly === false || entry.exported) + && entry.baseType + && entry.baseType.name.indexOf('Component') > -1 + && entry.methods.some(j => j.name === 'render'); +} + +function isVarComponent( + entry: VariableEntry, + interfaces: InterfaceEntry[], + exportedOnly = true): boolean { + + return (exportedOnly === false || entry.exported) + && entry.kind === 'arrowFunction' + && entry.arrowFunctionParams.length === 1 + && interfaces.some(i => i.name === entry.arrowFunctionParams[0]); +} + +function isHocClassComponent(entry: VariableEntry, classes: ClassEntry[]): boolean { + return entry.exported + && entry.kind === 'callExpression' + && entry.type !== null + && classes + .filter(i => isClassComponent(i, false)) + .some(i => i.name === entry.type); +} + +function isVarClassComponent( + entry: VariableEntry, + variables: VariableEntry[], + interfaces: InterfaceEntry[]): boolean { + + return entry.exported + && entry.kind === 'callExpression' + && entry.type === '__function' + && entry.callExpressionArguments.length === 1 + && variables + .filter(i => isVarComponent(i, interfaces, false)) + .some(i => i.name === entry.callExpressionArguments[0]); +} + +function getInterfaceDoc(entry: InterfaceEntry): InterfaceDoc { + return { + name: entry.name, + comment: entry.comment, + members: entry.properties + } +} + +function getClassPropInterface(interfaces: InterfaceEntry[], classEntry: ClassEntry): InterfaceDoc { + if (classEntry.baseType.typeArguments.length === 0) { + return null; + } + + const propInterfaceName = classEntry.baseType.typeArguments[0]; + return getPropInterface(interfaces, propInterfaceName); +} + +function getVarPropInterface(interfaces: InterfaceEntry[], varEntry: VariableEntry): InterfaceDoc { + const propInterfaceName = varEntry.arrowFunctionParams[0]; + return getPropInterface(interfaces, varEntry.arrowFunctionParams[0]); +} + +function getPropInterface(interfaces: InterfaceEntry[], propInterfaceName: string): InterfaceDoc { + const matchedInterfaces = interfaces.filter(j => j.name === propInterfaceName); + if (matchedInterfaces.length === 0) { + console.warn(`Property interface ${propInterfaceName} cannot be found`) + return null; + } + + return getInterfaceDoc(matchedInterfaces[0]); +} +/** Generate documention for all classes in a set of .ts files */ +export function getFileDocumentation(fileName: string, options: ts.CompilerOptions = defaultOptions): FileDoc { + const components: ComponentDoc[] = []; + let program = ts.createProgram([fileName], options); + let checker = program.getTypeChecker(); + const model = transformAST(program.getSourceFile(fileName), checker); + + const { interfaces, classes, variables } = model; + + const classComponents: ComponentDoc[] = classes + .filter(i => isClassComponent(i)) + .map(i => ({ + name: i.name, + extends: i.baseType.name, + comment: i.comment, + propInterface: getClassPropInterface(interfaces, i), + })); + + const varComponents = variables + .filter(i => isVarComponent(i, interfaces)) + .map(i => ({ + name: i.name, + extends: 'StatelessComponent', + comment: i.comment, + propInterface: getVarPropInterface(interfaces, i), + })); + + const hocClassComponents = variables + .filter(i => isHocClassComponent(i, classes)) + .map(i => ({ + variable: i, + origin: classes.filter(c => c.name === i.type)[0] + })) + .map(i => ({ + name: i.variable.name, + extends: i.variable.type, + comment: i.variable.comment || i.origin.comment, + propInterface: getClassPropInterface(interfaces, i.origin), + })); + + const hocVarComponents = variables + .filter(i => isVarClassComponent(i, variables, interfaces)) + .map(i => ({ + variable: i, + origin: variables.filter(c => c.name === i.callExpressionArguments[0])[0] + })) + .map(i => ({ + name: i.variable.name, + extends: i.variable.type, + comment: i.variable.comment || i.origin.comment, + propInterface: getVarPropInterface(interfaces, i.origin), + })); + + return { + components: [ + ...classComponents, + ...varComponents, + ...hocClassComponents, + ...hocVarComponents, + ] + }; +} + \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 5a916887..6039f85b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,8 +1,15 @@ -import { parse } from './propTypesParser'; -import { StyleguidistComponent, StyleguidistProps } from './docgenConverter'; +import { + parse, + StyleguidistComponent, + StyleguidistProps, + PropItem, + PropItemType, +} from './propTypesParser'; export { parse, StyleguidistComponent, StyleguidistProps, + PropItem, + PropItemType, } \ No newline at end of file diff --git a/src/model.ts b/src/model.ts new file mode 100644 index 00000000..cd91393f --- /dev/null +++ b/src/model.ts @@ -0,0 +1,77 @@ +import * as ts from 'typescript'; + +export interface MemberType { + type: string; + values?: string[]; +} + +export interface InterfaceEntry { + name: string; + properties: PropertyEntry[]; + exported: boolean; + comment: string; +} + +export type VeriableKind = 'arrowFunction' | 'literal' | 'callExpression' | 'unknown'; + +export interface VariableEntry { + name: string; + exported: boolean; + kind: VeriableKind; + type: string; + comment: string; + initializerFlags: ts.TypeFlags; + arrowFunctionType: string; + arrowFunctionParams: string[]; + callExpressionArguments: string[]; +} + +export interface PropertyEntry { + name: string; + type: string; + values: string[]; + isRequired: boolean; + comment: string; +} + +export interface MethodEntry { + name: string; +} + +export interface BaseClassEntry { + name: string; + typeArguments: string[]; +} + +export interface ClassEntry { + name: string; + exported: boolean; + comment: string; + baseType: BaseClassEntry; + methods: MethodEntry[]; +} + +export interface ComponentDoc { + name: string; + extends: string; + propInterface: InterfaceDoc; + comment: string; +} + +export interface InterfaceDoc { + name: string; + members: MemberDoc[]; + comment: string; +} + +export interface MemberDoc { + name: string; + type: string; + values?: string[]; + isRequired: boolean; + comment: string; +} + +export interface FileDoc { + components: ComponentDoc[]; +} \ No newline at end of file diff --git a/src/nodeUtils.ts b/src/nodeUtils.ts index 0dcdd28c..e0a853f1 100644 --- a/src/nodeUtils.ts +++ b/src/nodeUtils.ts @@ -28,619 +28,4 @@ export function getFlatChildren(node: ts.Node): ts.Node[] { f(node); return result; -} - -export function dumpNode(node: ts.Node, prefix = '') { - const a = node as any; - - const info = (a.name ? a.name.text : '') - || (a.text ? a.text : ''); - - console.log(prefix, kindToString(node.kind), ' ' + info); - - ts.forEachChild(node, i => dumpNode(i, prefix + ' ')); -} - - -function kindToString(kind: ts.SyntaxKind) { - switch (kind) { - case ts.SyntaxKind.EndOfFileToken: - return 'EndOfFileToken'; - case ts.SyntaxKind.SingleLineCommentTrivia: - return 'SingleLineCommentTrivia'; - case ts.SyntaxKind.MultiLineCommentTrivia: - return 'MultiLineCommentTrivia'; - case ts.SyntaxKind.NewLineTrivia: - return 'NewLineTrivia'; - case ts.SyntaxKind.WhitespaceTrivia: - return 'WhitespaceTrivia'; - case ts.SyntaxKind.ShebangTrivia: - return 'ShebangTrivia'; - case ts.SyntaxKind.ConflictMarkerTrivia: - return 'ConflictMarkerTrivia'; - case ts.SyntaxKind.NumericLiteral: - return 'NumericLiteral'; - case ts.SyntaxKind.StringLiteral: - return 'StringLiteral'; - case ts.SyntaxKind.RegularExpressionLiteral: - return 'RegularExpressionLiteral'; - case ts.SyntaxKind.NoSubstitutionTemplateLiteral: - return 'NoSubstitutionTemplateLiteral'; - case ts.SyntaxKind.TemplateHead: - return 'TemplateHead'; - case ts.SyntaxKind.TemplateMiddle: - return 'TemplateMiddle'; - case ts.SyntaxKind.TemplateTail: - return 'TemplateTail'; - case ts.SyntaxKind.OpenBraceToken: - return 'OpenBraceToken'; - case ts.SyntaxKind.CloseBraceToken: - return 'CloseBraceToken'; - case ts.SyntaxKind.OpenParenToken: - return 'OpenParenToken'; - case ts.SyntaxKind.CloseParenToken: - return 'CloseParenToken'; - case ts.SyntaxKind.OpenBracketToken: - return 'OpenBracketToken'; - case ts.SyntaxKind.CloseBracketToken: - return 'CloseBracketToken'; - case ts.SyntaxKind.DotToken: - return 'DotToken'; - case ts.SyntaxKind.DotDotDotToken: - return 'DotDotDotToken'; - case ts.SyntaxKind.SemicolonToken: - return 'SemicolonToken'; - case ts.SyntaxKind.CommaToken: - return 'CommaToken'; - case ts.SyntaxKind.LessThanToken: - return 'LessThanToken'; - case ts.SyntaxKind.LessThanSlashToken: - return 'LessThanSlashToken'; - case ts.SyntaxKind.GreaterThanToken: - return 'GreaterThanToken'; - case ts.SyntaxKind.LessThanEqualsToken: - return 'LessThanEqualsToken'; - case ts.SyntaxKind.GreaterThanEqualsToken: - return 'GreaterThanEqualsToken'; - case ts.SyntaxKind.EqualsEqualsToken: - return 'EqualsEqualsToken'; - case ts.SyntaxKind.ExclamationEqualsToken: - return 'ExclamationEqualsToken'; - case ts.SyntaxKind.EqualsEqualsEqualsToken: - return 'EqualsEqualsEqualsToken'; - case ts.SyntaxKind.ExclamationEqualsEqualsToken: - return 'ExclamationEqualsEqualsToken'; - case ts.SyntaxKind.EqualsGreaterThanToken: - return 'EqualsGreaterThanToken'; - case ts.SyntaxKind.PlusToken: - return 'PlusToken'; - case ts.SyntaxKind.MinusToken: - return 'MinusToken'; - case ts.SyntaxKind.AsteriskToken: - return 'AsteriskToken'; - case ts.SyntaxKind.AsteriskAsteriskToken: - return 'AsteriskAsteriskToken'; - case ts.SyntaxKind.SlashToken: - return 'SlashToken'; - case ts.SyntaxKind.PercentToken: - return 'PercentToken'; - case ts.SyntaxKind.PlusPlusToken: - return 'PlusPlusToken'; - case ts.SyntaxKind.MinusMinusToken: - return 'MinusMinusToken'; - case ts.SyntaxKind.LessThanLessThanToken: - return 'LessThanLessThanToken'; - case ts.SyntaxKind.GreaterThanGreaterThanToken: - return 'GreaterThanGreaterThanToken'; - case ts.SyntaxKind.GreaterThanGreaterThanGreaterThanToken: - return 'GreaterThanGreaterThanGreaterThanToken'; - case ts.SyntaxKind.AmpersandToken: - return 'AmpersandToken'; - case ts.SyntaxKind.BarToken: - return 'BarToken'; - case ts.SyntaxKind.CaretToken: - return 'CaretToken'; - case ts.SyntaxKind.ExclamationToken: - return 'ExclamationToken'; - case ts.SyntaxKind.TildeToken: - return 'TildeToken'; - case ts.SyntaxKind.AmpersandAmpersandToken: - return 'AmpersandAmpersandToken'; - case ts.SyntaxKind.BarBarToken: - return 'BarBarToken'; - case ts.SyntaxKind.QuestionToken: - return 'QuestionToken'; - case ts.SyntaxKind.ColonToken: - return 'ColonToken'; - case ts.SyntaxKind.AtToken: - return 'AtToken'; - case ts.SyntaxKind.EqualsToken: - return 'EqualsToken'; - case ts.SyntaxKind.PlusEqualsToken: - return 'PlusEqualsToken'; - case ts.SyntaxKind.MinusEqualsToken: - return 'MinusEqualsToken'; - case ts.SyntaxKind.AsteriskEqualsToken: - return 'AsteriskEqualsToken'; - case ts.SyntaxKind.AsteriskAsteriskEqualsToken: - return 'AsteriskAsteriskEqualsToken'; - case ts.SyntaxKind.SlashEqualsToken: - return 'SlashEqualsToken'; - case ts.SyntaxKind.PercentEqualsToken: - return 'PercentEqualsToken'; - case ts.SyntaxKind.LessThanLessThanEqualsToken: - return 'LessThanLessThanEqualsToken'; - case ts.SyntaxKind.GreaterThanGreaterThanEqualsToken: - return 'GreaterThanGreaterThanEqualsToken'; - case ts.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken: - return 'GreaterThanGreaterThanGreaterThanEqualsToken'; - case ts.SyntaxKind.AmpersandEqualsToken: - return 'AmpersandEqualsToken'; - case ts.SyntaxKind.BarEqualsToken: - return 'BarEqualsToken'; - case ts.SyntaxKind.CaretEqualsToken: - return 'CaretEqualsToken'; - case ts.SyntaxKind.Identifier: - return 'Identifier'; - case ts.SyntaxKind.BreakKeyword: - return 'BreakKeyword'; - case ts.SyntaxKind.CaseKeyword: - return 'CaseKeyword'; - case ts.SyntaxKind.CatchKeyword: - return 'CatchKeyword'; - case ts.SyntaxKind.ClassKeyword: - return 'ClassKeyword'; - case ts.SyntaxKind.ConstKeyword: - return 'ConstKeyword'; - case ts.SyntaxKind.ContinueKeyword: - return 'ContinueKeyword'; - case ts.SyntaxKind.DebuggerKeyword: - return 'DebuggerKeyword'; - case ts.SyntaxKind.DefaultKeyword: - return 'DefaultKeyword'; - case ts.SyntaxKind.DeleteKeyword: - return 'DeleteKeyword'; - case ts.SyntaxKind.DoKeyword: - return 'DoKeyword'; - case ts.SyntaxKind.ElseKeyword: - return 'ElseKeyword'; - case ts.SyntaxKind.EnumKeyword: - return 'EnumKeyword'; - case ts.SyntaxKind.ExportKeyword: - return 'ExportKeyword'; - case ts.SyntaxKind.ExtendsKeyword: - return 'ExtendsKeyword'; - case ts.SyntaxKind.FalseKeyword: - return 'FalseKeyword'; - case ts.SyntaxKind.FinallyKeyword: - return 'FinallyKeyword'; - case ts.SyntaxKind.ForKeyword: - return 'ForKeyword'; - case ts.SyntaxKind.FunctionKeyword: - return 'FunctionKeyword'; - case ts.SyntaxKind.IfKeyword: - return 'IfKeyword'; - case ts.SyntaxKind.ImportKeyword: - return 'ImportKeyword'; - case ts.SyntaxKind.InKeyword: - return 'InKeyword'; - case ts.SyntaxKind.InstanceOfKeyword: - return 'InstanceOfKeyword'; - case ts.SyntaxKind.NewKeyword: - return 'NewKeyword'; - case ts.SyntaxKind.NullKeyword: - return 'NullKeyword'; - case ts.SyntaxKind.ReturnKeyword: - return 'ReturnKeyword'; - case ts.SyntaxKind.SuperKeyword: - return 'SuperKeyword'; - case ts.SyntaxKind.SwitchKeyword: - return 'SwitchKeyword'; - case ts.SyntaxKind.ThisKeyword: - return 'ThisKeyword'; - case ts.SyntaxKind.ThrowKeyword: - return 'ThrowKeyword'; - case ts.SyntaxKind.TrueKeyword: - return 'TrueKeyword'; - case ts.SyntaxKind.TryKeyword: - return 'TryKeyword'; - case ts.SyntaxKind.TypeOfKeyword: - return 'TypeOfKeyword'; - case ts.SyntaxKind.VarKeyword: - return 'VarKeyword'; - case ts.SyntaxKind.VoidKeyword: - return 'VoidKeyword'; - case ts.SyntaxKind.WhileKeyword: - return 'WhileKeyword'; - case ts.SyntaxKind.WithKeyword: - return 'WithKeyword'; - case ts.SyntaxKind.ImplementsKeyword: - return 'ImplementsKeyword'; - case ts.SyntaxKind.InterfaceKeyword: - return 'InterfaceKeyword'; - case ts.SyntaxKind.LetKeyword: - return 'LetKeyword'; - case ts.SyntaxKind.PackageKeyword: - return 'PackageKeyword'; - case ts.SyntaxKind.PrivateKeyword: - return 'PrivateKeyword'; - case ts.SyntaxKind.ProtectedKeyword: - return 'ProtectedKeyword'; - case ts.SyntaxKind.PublicKeyword: - return 'PublicKeyword'; - case ts.SyntaxKind.StaticKeyword: - return 'StaticKeyword'; - case ts.SyntaxKind.YieldKeyword: - return 'YieldKeyword'; - case ts.SyntaxKind.AbstractKeyword: - return 'AbstractKeyword'; - case ts.SyntaxKind.AsKeyword: - return 'AsKeyword'; - case ts.SyntaxKind.AnyKeyword: - return 'AnyKeyword'; - case ts.SyntaxKind.AsyncKeyword: - return 'AsyncKeyword'; - case ts.SyntaxKind.AwaitKeyword: - return 'AwaitKeyword'; - case ts.SyntaxKind.BooleanKeyword: - return 'BooleanKeyword'; - case ts.SyntaxKind.ConstructorKeyword: - return 'ConstructorKeyword'; - case ts.SyntaxKind.DeclareKeyword: - return 'DeclareKeyword'; - case ts.SyntaxKind.GetKeyword: - return 'GetKeyword'; - case ts.SyntaxKind.IsKeyword: - return 'IsKeyword'; - case ts.SyntaxKind.ModuleKeyword: - return 'ModuleKeyword'; - case ts.SyntaxKind.NamespaceKeyword: - return 'NamespaceKeyword'; - case ts.SyntaxKind.RequireKeyword: - return 'RequireKeyword'; - case ts.SyntaxKind.NumberKeyword: - return 'NumberKeyword'; - case ts.SyntaxKind.SetKeyword: - return 'SetKeyword'; - case ts.SyntaxKind.StringKeyword: - return 'StringKeyword'; - case ts.SyntaxKind.SymbolKeyword: - return 'SymbolKeyword'; - case ts.SyntaxKind.TypeKeyword: - return 'TypeKeyword'; - case ts.SyntaxKind.FromKeyword: - return 'FromKeyword'; - case ts.SyntaxKind.GlobalKeyword: - return 'GlobalKeyword'; - case ts.SyntaxKind.OfKeyword: - return 'OfKeyword'; - case ts.SyntaxKind.QualifiedName: - return 'QualifiedName'; - case ts.SyntaxKind.ComputedPropertyName: - return 'ComputedPropertyName'; - case ts.SyntaxKind.TypeParameter: - return 'TypeParameter'; - case ts.SyntaxKind.Parameter: - return 'Parameter'; - case ts.SyntaxKind.Decorator: - return 'Decorator'; - case ts.SyntaxKind.PropertySignature: - return 'PropertySignature'; - case ts.SyntaxKind.PropertyDeclaration: - return 'PropertyDeclaration'; - case ts.SyntaxKind.MethodSignature: - return 'MethodSignature'; - case ts.SyntaxKind.MethodDeclaration: - return 'MethodDeclaration'; - case ts.SyntaxKind.Constructor: - return 'Constructor'; - case ts.SyntaxKind.GetAccessor: - return 'GetAccessor'; - case ts.SyntaxKind.SetAccessor: - return 'SetAccessor'; - case ts.SyntaxKind.CallSignature: - return 'CallSignature'; - case ts.SyntaxKind.ConstructSignature: - return 'ConstructSignature'; - case ts.SyntaxKind.IndexSignature: - return 'IndexSignature'; - case ts.SyntaxKind.TypePredicate: - return 'TypePredicate'; - case ts.SyntaxKind.TypeReference: - return 'TypeReference'; - case ts.SyntaxKind.FunctionType: - return 'FunctionType'; - case ts.SyntaxKind.ConstructorType: - return 'ConstructorType'; - case ts.SyntaxKind.TypeQuery: - return 'TypeQuery'; - case ts.SyntaxKind.TypeLiteral: - return 'TypeLiteral'; - case ts.SyntaxKind.ArrayType: - return 'ArrayType'; - case ts.SyntaxKind.TupleType: - return 'TupleType'; - case ts.SyntaxKind.UnionType: - return 'UnionType'; - case ts.SyntaxKind.IntersectionType: - return 'IntersectionType'; - case ts.SyntaxKind.ParenthesizedType: - return 'ParenthesizedType'; - case ts.SyntaxKind.ThisType: - return 'ThisType'; - case ts.SyntaxKind.StringLiteral: - return 'StringLiteral'; - case ts.SyntaxKind.ObjectBindingPattern: - return 'ObjectBindingPattern'; - case ts.SyntaxKind.ArrayBindingPattern: - return 'ArrayBindingPattern'; - case ts.SyntaxKind.BindingElement: - return 'BindingElement'; - case ts.SyntaxKind.ArrayLiteralExpression: - return 'ArrayLiteralExpression'; - case ts.SyntaxKind.ObjectLiteralExpression: - return 'ObjectLiteralExpression'; - case ts.SyntaxKind.PropertyAccessExpression: - return 'PropertyAccessExpression'; - case ts.SyntaxKind.ElementAccessExpression: - return 'ElementAccessExpression'; - case ts.SyntaxKind.CallExpression: - return 'CallExpression'; - case ts.SyntaxKind.NewExpression: - return 'NewExpression'; - case ts.SyntaxKind.TaggedTemplateExpression: - return 'TaggedTemplateExpression'; - case ts.SyntaxKind.TypeAssertionExpression: - return 'TypeAssertionExpression'; - case ts.SyntaxKind.ParenthesizedExpression: - return 'ParenthesizedExpression'; - case ts.SyntaxKind.FunctionExpression: - return 'FunctionExpression'; - case ts.SyntaxKind.ArrowFunction: - return 'ArrowFunction'; - case ts.SyntaxKind.DeleteExpression: - return 'DeleteExpression'; - case ts.SyntaxKind.TypeOfExpression: - return 'TypeOfExpression'; - case ts.SyntaxKind.VoidExpression: - return 'VoidExpression'; - case ts.SyntaxKind.AwaitExpression: - return 'AwaitExpression'; - case ts.SyntaxKind.PrefixUnaryExpression: - return 'PrefixUnaryExpression'; - case ts.SyntaxKind.PostfixUnaryExpression: - return 'PostfixUnaryExpression'; - case ts.SyntaxKind.BinaryExpression: - return 'BinaryExpression'; - case ts.SyntaxKind.ConditionalExpression: - return 'ConditionalExpression'; - case ts.SyntaxKind.TemplateExpression: - return 'TemplateExpression'; - case ts.SyntaxKind.YieldExpression: - return 'YieldExpression'; - case ts.SyntaxKind.SpreadElement: - return 'SpreadElement'; - case ts.SyntaxKind.ClassExpression: - return 'ClassExpression'; - case ts.SyntaxKind.OmittedExpression: - return 'OmittedExpression'; - case ts.SyntaxKind.ExpressionWithTypeArguments: - return 'ExpressionWithTypeArguments'; - case ts.SyntaxKind.AsExpression: - return 'AsExpression'; - case ts.SyntaxKind.TemplateSpan: - return 'TemplateSpan'; - case ts.SyntaxKind.SemicolonClassElement: - return 'SemicolonClassElement'; - case ts.SyntaxKind.Block: - return 'Block'; - case ts.SyntaxKind.VariableStatement: - return 'VariableStatement'; - case ts.SyntaxKind.EmptyStatement: - return 'EmptyStatement'; - case ts.SyntaxKind.ExpressionStatement: - return 'ExpressionStatement'; - case ts.SyntaxKind.IfStatement: - return 'IfStatement'; - case ts.SyntaxKind.DoStatement: - return 'DoStatement'; - case ts.SyntaxKind.WhileStatement: - return 'WhileStatement'; - case ts.SyntaxKind.ForStatement: - return 'ForStatement'; - case ts.SyntaxKind.ForInStatement: - return 'ForInStatement'; - case ts.SyntaxKind.ForOfStatement: - return 'ForOfStatement'; - case ts.SyntaxKind.ContinueStatement: - return 'ContinueStatement'; - case ts.SyntaxKind.BreakStatement: - return 'BreakStatement'; - case ts.SyntaxKind.ReturnStatement: - return 'ReturnStatement'; - case ts.SyntaxKind.WithStatement: - return 'WithStatement'; - case ts.SyntaxKind.SwitchStatement: - return 'SwitchStatement'; - case ts.SyntaxKind.LabeledStatement: - return 'LabeledStatement'; - case ts.SyntaxKind.ThrowStatement: - return 'ThrowStatement'; - case ts.SyntaxKind.TryStatement: - return 'TryStatement'; - case ts.SyntaxKind.DebuggerStatement: - return 'DebuggerStatement'; - case ts.SyntaxKind.VariableDeclaration: - return 'VariableDeclaration'; - case ts.SyntaxKind.VariableDeclarationList: - return 'VariableDeclarationList'; - case ts.SyntaxKind.FunctionDeclaration: - return 'FunctionDeclaration'; - case ts.SyntaxKind.ClassDeclaration: - return 'ClassDeclaration'; - case ts.SyntaxKind.InterfaceDeclaration: - return 'InterfaceDeclaration'; - case ts.SyntaxKind.TypeAliasDeclaration: - return 'TypeAliasDeclaration'; - case ts.SyntaxKind.EnumDeclaration: - return 'EnumDeclaration'; - case ts.SyntaxKind.ModuleDeclaration: - return 'ModuleDeclaration'; - case ts.SyntaxKind.ModuleBlock: - return 'ModuleBlock'; - case ts.SyntaxKind.CaseBlock: - return 'CaseBlock'; - case ts.SyntaxKind.ImportEqualsDeclaration: - return 'ImportEqualsDeclaration'; - case ts.SyntaxKind.ImportDeclaration: - return 'ImportDeclaration'; - case ts.SyntaxKind.ImportClause: - return 'ImportClause'; - case ts.SyntaxKind.NamespaceImport: - return 'NamespaceImport'; - case ts.SyntaxKind.NamedImports: - return 'NamedImports'; - case ts.SyntaxKind.ImportSpecifier: - return 'ImportSpecifier'; - case ts.SyntaxKind.ExportAssignment: - return 'ExportAssignment'; - case ts.SyntaxKind.ExportDeclaration: - return 'ExportDeclaration'; - case ts.SyntaxKind.NamedExports: - return 'NamedExports'; - case ts.SyntaxKind.ExportSpecifier: - return 'ExportSpecifier'; - case ts.SyntaxKind.MissingDeclaration: - return 'MissingDeclaration'; - case ts.SyntaxKind.ExternalModuleReference: - return 'ExternalModuleReference'; - case ts.SyntaxKind.JsxElement: - return 'JsxElement'; - case ts.SyntaxKind.JsxSelfClosingElement: - return 'JsxSelfClosingElement'; - case ts.SyntaxKind.JsxOpeningElement: - return 'JsxOpeningElement'; - case ts.SyntaxKind.JsxText: - return 'JsxText'; - case ts.SyntaxKind.JsxClosingElement: - return 'JsxClosingElement'; - case ts.SyntaxKind.JsxAttribute: - return 'JsxAttribute'; - case ts.SyntaxKind.JsxSpreadAttribute: - return 'JsxSpreadAttribute'; - case ts.SyntaxKind.JsxExpression: - return 'JsxExpression'; - case ts.SyntaxKind.CaseClause: - return 'CaseClause'; - case ts.SyntaxKind.DefaultClause: - return 'DefaultClause'; - case ts.SyntaxKind.HeritageClause: - return 'HeritageClause'; - case ts.SyntaxKind.CatchClause: - return 'CatchClause'; - case ts.SyntaxKind.PropertyAssignment: - return 'PropertyAssignment'; - case ts.SyntaxKind.ShorthandPropertyAssignment: - return 'ShorthandPropertyAssignment'; - case ts.SyntaxKind.EnumMember: - return 'EnumMember'; - case ts.SyntaxKind.SourceFile: - return 'SourceFile'; - case ts.SyntaxKind.JSDocTypeExpression: - return 'JSDocTypeExpression'; - case ts.SyntaxKind.JSDocAllType: - return 'JSDocAllType'; - case ts.SyntaxKind.JSDocUnknownType: - return 'JSDocUnknownType'; - case ts.SyntaxKind.JSDocArrayType: - return 'JSDocArrayType'; - case ts.SyntaxKind.JSDocUnionType: - return 'JSDocUnionType'; - case ts.SyntaxKind.JSDocTupleType: - return 'JSDocTupleType'; - case ts.SyntaxKind.JSDocNullableType: - return 'JSDocNullableType'; - case ts.SyntaxKind.JSDocNonNullableType: - return 'JSDocNonNullableType'; - case ts.SyntaxKind.JSDocRecordType: - return 'JSDocRecordType'; - case ts.SyntaxKind.JSDocRecordMember: - return 'JSDocRecordMember'; - case ts.SyntaxKind.JSDocTypeReference: - return 'JSDocTypeReference'; - case ts.SyntaxKind.JSDocOptionalType: - return 'JSDocOptionalType'; - case ts.SyntaxKind.JSDocFunctionType: - return 'JSDocFunctionType'; - case ts.SyntaxKind.JSDocVariadicType: - return 'JSDocVariadicType'; - case ts.SyntaxKind.JSDocConstructorType: - return 'JSDocConstructorType'; - case ts.SyntaxKind.JSDocThisType: - return 'JSDocThisType'; - case ts.SyntaxKind.JSDocComment: - return 'JSDocComment'; - case ts.SyntaxKind.JSDocTag: - return 'JSDocTag'; - case ts.SyntaxKind.JSDocParameterTag: - return 'JSDocParameterTag'; - case ts.SyntaxKind.JSDocReturnTag: - return 'JSDocReturnTag'; - case ts.SyntaxKind.JSDocTypeTag: - return 'JSDocTypeTag'; - case ts.SyntaxKind.JSDocTemplateTag: - return 'JSDocTemplateTag'; - case ts.SyntaxKind.SyntaxList: - return 'SyntaxList'; - case ts.SyntaxKind.Count: - return 'Count'; - case ts.SyntaxKind.FirstAssignment: - return 'FirstAssignment'; - case ts.SyntaxKind.LastAssignment: - return 'LastAssignment'; - case ts.SyntaxKind.FirstReservedWord: - return 'FirstReservedWord'; - case ts.SyntaxKind.LastReservedWord: - return 'LastReservedWord'; - case ts.SyntaxKind.FirstKeyword: - return 'FirstKeyword'; - case ts.SyntaxKind.LastKeyword: - return 'LastKeyword'; - case ts.SyntaxKind.FirstFutureReservedWord: - return 'FirstFutureReservedWord'; - case ts.SyntaxKind.LastFutureReservedWord: - return 'LastFutureReservedWord'; - case ts.SyntaxKind.FirstTypeNode: - return 'FirstTypeNode'; - case ts.SyntaxKind.LastTypeNode: - return 'LastTypeNode'; - case ts.SyntaxKind.FirstPunctuation: - return 'FirstPunctuation'; - case ts.SyntaxKind.LastPunctuation: - return 'LastPunctuation'; - case ts.SyntaxKind.FirstToken: - return 'FirstToken'; - case ts.SyntaxKind.LastToken: - return 'LastToken'; - case ts.SyntaxKind.FirstTriviaToken: - return 'FirstTriviaToken'; - case ts.SyntaxKind.LastTriviaToken: - return 'LastTriviaToken'; - case ts.SyntaxKind.FirstLiteralToken: - return 'FirstLiteralToken'; - case ts.SyntaxKind.LastLiteralToken: - return 'LastLiteralToken'; - case ts.SyntaxKind.FirstTemplateToken: - return 'FirstTemplateToken'; - case ts.SyntaxKind.LastTemplateToken: - return 'LastTemplateToken'; - case ts.SyntaxKind.FirstBinaryOperator: - return 'FirstBinaryOperator'; - case ts.SyntaxKind.LastBinaryOperator: - return 'LastBinaryOperator'; - case ts.SyntaxKind.FirstNode: - return 'FirstNode'; - default: - return 'Unknown'; - } } \ No newline at end of file diff --git a/src/parser.ts b/src/parser.ts deleted file mode 100644 index 0cbfbfd1..00000000 --- a/src/parser.ts +++ /dev/null @@ -1,183 +0,0 @@ -import * as ts from 'typescript'; -import { navigate, getFlatChildren } from './nodeUtils'; - - -const defaultOptions: ts.CompilerOptions = { - target: ts.ScriptTarget.Latest, - module: ts.ModuleKind.CommonJS -}; - -export interface ClassDoc { - name: string; - extends: string; - propInterface: string; - comment: string; -} - -export interface InterfaceDoc { - name: string; - members: MemberDoc[]; - comment: string; -} - -export interface MemberDoc { - name: string; - text: string; - type: string; - values?: string[]; - isRequired: boolean; - comment: string; -} - -export interface FileDoc { - classes: ClassDoc[]; - interfaces: InterfaceDoc[]; -} -/** Generate documention for all classes in a set of .ts files */ -export function getDocumentation(fileName: string, options: ts.CompilerOptions = defaultOptions): FileDoc { - - let program = ts.createProgram([fileName], options); - //noinspection TypeScriptUnresolvedFunction - let checker = program.getTypeChecker(); - - const classes: ClassDoc[] = []; - const interfaces: InterfaceDoc[] = []; - - //noinspection TypeScriptUnresolvedFunction - const sourceFile = program.getSourceFile(fileName); - ts.forEachChild(sourceFile, visit); - - /** visit nodes finding exported classes */ - function visit(node: ts.Node) { - // Only consider exported nodes - if (!isNodeExported(node)) { - return; - } - - if (node.kind === ts.SyntaxKind.VariableStatement) { - const classNode: any = (node as ts.VariableStatement).declarationList.declarations[0]; - - if (!classNode.initializer.parameters || !classNode.initializer.parameters[0].type.typeName) { - return; - } - - const symbol = classNode.symbol; - const intf = classNode.initializer.parameters[0].type.typeName.getText(); - const classObj = { - name: symbol.name, - comment: ts.displayPartsToString(symbol.getDocumentationComment()), - extends: 'StatelessComponent', - propInterface: intf, - }; - classes.push(classObj); - } - if (node.kind === ts.SyntaxKind.ClassDeclaration) { - const classNode = node as ts.ClassDeclaration; - const symbol = checker.getSymbolAtLocation(classNode.name); - - const typeArguments = navigate(classNode, - ts.SyntaxKind.HeritageClause, - ts.SyntaxKind.ExpressionWithTypeArguments); - - const list = getFlatChildren(typeArguments) - .filter(i => i.kind === ts.SyntaxKind.Identifier) - .map((i: ts.Identifier) => i.text); - - const componentIndex = list.indexOf('Component'); - let propsIndex = -1; - let extendsClass; - - if (componentIndex > -1) { - propsIndex = componentIndex + 1; - extendsClass = 'Component'; - } else { - const pureIndex = list.indexOf('PureComponent'); - - propsIndex = pureIndex === -1 ? -1 : (pureIndex + 1); - extendsClass = pureIndex === -1 ? null : 'PureComponent'; - } - - classes.push({ - name: symbol.name, - comment: ts.displayPartsToString(symbol.getDocumentationComment()), - extends: list.length > 0 ? extendsClass : null, - propInterface: list.length > propsIndex ? list[propsIndex] : null, - }); - } - - if (node.kind === ts.SyntaxKind.InterfaceDeclaration) { - const interfaceDeclaration = node as ts.InterfaceDeclaration; - if (interfaceDeclaration.parent === sourceFile) { - - const symbol = checker.getSymbolAtLocation(interfaceDeclaration.name); - const type = checker.getTypeAtLocation(interfaceDeclaration.name); - - const members = type.getProperties() - .filter(i => { - const s = i as any; - return s.parent && s.parent.name && symbol.name === s.parent.name; - }) - .map(i => { - const symbol = checker.getSymbolAtLocation(i.valueDeclaration.name); - const prop = i.valueDeclaration as ts.PropertySignature; - const typeInfo = getType(prop); - return { - name: i.getName(), - text: i.valueDeclaration.getText(), - type: typeInfo.type, - values: typeInfo.values, - isRequired: !prop.questionToken, - comment: ts.displayPartsToString(symbol.getDocumentationComment()).trim(), - }; - }); - - const interfaceDoc: InterfaceDoc = { - name: symbol.getName(), - comment: ts.displayPartsToString(symbol.getDocumentationComment()).trim(), - members: members, - }; - interfaces.push(interfaceDoc); - } - } - else if (node.kind === ts.SyntaxKind.ModuleDeclaration) { - // This is a namespace, visit its children - ts.forEachChild(node, visit); - } - } - - /** True if this is visible outside this file, false otherwise */ - function isNodeExported(node: ts.Node): boolean { - // Parse the modifier array for the export keyword. If it is found - // and the node.parent is a sourcefile, return true - // This only returns top level exports - const {modifiers} = node; - if (modifiers) { - for (let i = 0; i < (modifiers as Array).length; i++) { - if (modifiers[i].kind === ts.SyntaxKind.ExportKeyword) { - return node.parent.kind === ts.SyntaxKind.SourceFile - } - } - } - return false; - } - - return { - classes, - interfaces, - } -} - -function getType(prop: ts.PropertySignature): {type: string, values?: string[]} { - const unionType = prop.type as ts.UnionTypeNode; - if (unionType && unionType.types) { - return { - type: 'string', - values: (unionType.types as Array).map(i => i.getText()), - } - } - //noinspection TypeScriptUnresolvedFunction - return { - type: prop.type.getText(), - } -} - \ No newline at end of file diff --git a/src/print.ts b/src/print.ts new file mode 100644 index 00000000..932ae231 --- /dev/null +++ b/src/print.ts @@ -0,0 +1,16 @@ +import * as ts from 'typescript'; +import { simplePrint } from './printUtils'; +const args = process.argv.splice(2); +const fileName = args[0]; +console.log('Priting file: ', fileName, ' args: ', args); + +const defaultOptions: ts.CompilerOptions = { + target: ts.ScriptTarget.Latest, + module: ts.ModuleKind.CommonJS +}; + +const program = ts.createProgram([fileName], defaultOptions); +const sourceFile = program.getSourceFile(fileName); +const checker = program.getTypeChecker(); + +simplePrint(checker, sourceFile); diff --git a/src/printUtils.ts b/src/printUtils.ts new file mode 100644 index 00000000..0d604faf --- /dev/null +++ b/src/printUtils.ts @@ -0,0 +1,149 @@ +import * as ts from 'typescript'; + +const removeList = [ + 'parent', + '_children', + 'statements', + 'pos', + 'end', + 'modifierFlagsCache', + 'transformFlags', + 'flowNode', + 'parent', +]; + +export function syntaxKindToName(kind: ts.SyntaxKind) { + return (ts).SyntaxKind[kind]; +} + +export function flagsToText(kind: ts.TypeFlags) { + return (ts).TypeFlags[kind]; +} + +/** True if this is visible outside this file, false otherwise */ +function isNodeExported(node: ts.Node): boolean { + // Parse the modifier array for the export keyword. If it is found + // and the node.parent is a sourcefile, return true + // This only returns top level exports + const { modifiers } = node; + if (modifiers) { + for (let i = 0; i < (modifiers as Array).length; i++) { + if (modifiers[i].kind === ts.SyntaxKind.ExportKeyword) { + return node.parent.kind === ts.SyntaxKind.SourceFile + } + } + } + return false; +} + +function symbolMapToString(map: ts.Map): string { + const values = []; + map.forEach((value, key) => { + values.push(value.name); + }); + return values.join('; '); +} + +export function simplePrint(checker: ts.TypeChecker, node: ts.Node, indent = 0) { + const indentText = Array(indent * 4).join(' '); + const info: string[] = []; + + function addSymbol(info: string[], node: ts.Node, prefix: string = '') { + const s = checker.getSymbolAtLocation(node); + if (!s) { + return; + } + + if (s.exports && s.exports.size > 0) { + info.push(prefix + 'exports: ' + symbolMapToString(s.exports)); + } + + if (s.globalExports && s.globalExports.size > 0) { + info.push(prefix + 'globalExports: ' + symbolMapToString(s.exports)); + } + + info.push(prefix + 'name: ' + s.name); + const type = checker.getTypeOfSymbolAtLocation(s, node); + if (type && type.symbol) { + info.push(prefix + 'type: ' + type.symbol.name); + } + const comments = s.getDocumentationComment(); + if (comments.length > 0) { + info.push(prefix + 'comment: \'' + comments.map(i => i.text).join('; ') + '\''); + } + } + + if (node.kind === ts.SyntaxKind.FunctionDeclaration) { + const d = node as ts.FunctionDeclaration; + info.push('name: ' + d.name.text); + info.push('type: ' + d.type.getText()); + } + + if (node.kind === ts.SyntaxKind.ClassDeclaration) { + const d = node as ts.ClassDeclaration; + info.push('name: ' + d.name.text); + info.push('members: [' + d.members.map(i => i.name.getText()).join(', ') + ']'); + } + + if (node.kind === ts.SyntaxKind.Identifier) { + const d = node as ts.Identifier; + addSymbol(info, node); + } + + if (node.kind === ts.SyntaxKind.InterfaceDeclaration) { + const d = node as ts.InterfaceDeclaration; + addSymbol(info, node); + addSymbol(info, d.name, 'name-'); + } + + if (node.kind === ts.SyntaxKind.ExportDeclaration) { + const d = node as ts.ExportDeclaration; + info.push('name: ' + d.name); + addSymbol(info, node); + } + + if (node.kind === ts.SyntaxKind.ExportAssignment) { + const d = node as ts.ExportAssignment; + info.push('name: ' + d.name); + addSymbol(info, node); + } + + if (node.kind === ts.SyntaxKind.VariableDeclaration) { + const d = node as ts.VariableDeclaration; + addSymbol(info, d.name, 'name-'); + addSymbol(info, node); + } + + if (node.kind === ts.SyntaxKind.VariableStatement) { + const d = node as ts.VariableStatement; + if (d.declarationList && d.declarationList.declarations.length === 1) { + const dec = d.declarationList.declarations[0]; + info.push('declarations: ' + `(kind: ${syntaxKindToName(dec.kind)}, name: ${dec.name.getText()}, name.kind: ${syntaxKindToName(dec.name.kind)})`); + if (dec.type) { + info.push('declaration.type: ' + syntaxKindToName(dec.type.kind)); + } + if (dec.initializer) { + info.push('declaration.initializer: ' + syntaxKindToName(dec.initializer.kind)); + } + } + addSymbol(info, node); + } + + if (node.kind === ts.SyntaxKind.CallExpression) { + const d = node as ts.CallExpression; + info.push('arguments: ' + d.arguments.map(i => i.getText()).join(';')); + if (d.contextualType) { + info.push('contextualType: ' + d.contextualType.symbol.name); + } + } + + if (isNodeExported(node)) { + info.push('exported: true'); + } + + const infoText = info.length === 0 ? '' : `(${info.join(', ')})` + console.log(`${indentText}${syntaxKindToName(node.kind)} ${infoText}`); + ts.forEachChild(node, child => { + simplePrint(checker, child, indent + 1); + }); +} \ No newline at end of file diff --git a/src/propTypesParser.ts b/src/propTypesParser.ts index 59b9dda0..df0d9a42 100644 --- a/src/propTypesParser.ts +++ b/src/propTypesParser.ts @@ -1,10 +1,32 @@ -import { getDocumentation } from './parser'; -import { convertToDocgen, StyleguidistComponent } from './docgenConverter'; +import { convertToDocgen } from './docgenConverter'; +import { getFileDocumentation } from './getFileDocumentation'; + +export interface StyleguidistComponent { + displayName: string; + description: string; + props: StyleguidistProps; +} + +export interface StyleguidistProps { + [key: string]: PropItem; +} + +export interface PropItem { + required: boolean; + type: PropItemType; + description: string; + defaultValue: any; +} + +export interface PropItemType { + name: string; + value?: any; +} /** * Parser given file and return documentation in format compatibe with react-docgen. */ export function parse(filePath: string): StyleguidistComponent { - const doc = getDocumentation(filePath); + const doc = getFileDocumentation(filePath); return convertToDocgen(doc); } \ No newline at end of file diff --git a/src/transformAST.ts b/src/transformAST.ts new file mode 100644 index 00000000..f77af1bf --- /dev/null +++ b/src/transformAST.ts @@ -0,0 +1,181 @@ +import * as ts from 'typescript'; +import { navigate } from './nodeUtils'; +import { + MemberType, + VariableEntry, + VeriableKind, + InterfaceEntry, + ClassEntry, + PropertyEntry +} from './model'; + +/** + * Checks if the node is exported. + */ +function isNodeExported(node: ts.Node): boolean { + // Parse the modifier array for the export keyword. If it is found + // and the node.parent is a sourcefile, return true + // This only returns top level exports + const { modifiers } = node; + if (modifiers) { + for (let i = 0; i < (modifiers as Array).length; i++) { + if (modifiers[i].kind === ts.SyntaxKind.ExportKeyword) { + return node.parent.kind === ts.SyntaxKind.SourceFile + } + } + } + return false; +} + +function getType(prop: ts.PropertySignature): MemberType { + const unionType = prop.type as ts.UnionTypeNode; + if (unionType && unionType.types) { + return { + type: 'string', + values: (unionType.types as Array).map(i => i.getText()), + } + } + //noinspection TypeScriptUnresolvedFunction + return { + type: prop.type.getText(), + } +} + +function getMethods(checker: ts.TypeChecker, type: ts.Type, classDeclaratinNode: ts.ClassDeclaration) { + return classDeclaratinNode.members + .map(i => ({ name: i.name.getText() })); +} + +function getProperties(checker: ts.TypeChecker, type: ts.Type, interfaceDeclaratinNode: ts.InterfaceDeclaration): PropertyEntry[] { + + return type.getProperties() + .filter(i => i.valueDeclaration.parent === interfaceDeclaratinNode) + .map(i => { + const symbol = checker.getSymbolAtLocation(i.valueDeclaration.name); + const prop = i.valueDeclaration as ts.PropertySignature; + const typeInfo = getType(prop); + return { + name: i.getName(), + text: i.valueDeclaration.getText(), + type: typeInfo.type, + values: typeInfo.values || [], + isRequired: !prop.questionToken, + comment: ts.displayPartsToString(symbol.getDocumentationComment()).trim(), + }; + }); +} + +function findAllNodes(rootNode: ts.Node, result: ts.Node[]) { + result.push(rootNode); + ts.forEachChild(rootNode, (node) => { + findAllNodes(node, result); + }); +} + +/** + * Transform source file AST (abstract syntax tree) to our + * model (classes, interfaces, variables, methods). + */ +export function transformAST(sourceFile: ts.SourceFile, checker: ts.TypeChecker) { + const nodes = []; + findAllNodes(sourceFile, nodes); + + const variables: VariableEntry[] = nodes + .filter(i => i.kind === ts.SyntaxKind.VariableStatement) + .map(i => i as ts.VariableStatement) + .filter(i => i.declarationList.declarations + && i.declarationList.declarations.length === 1 + && i.declarationList.declarations[0].name.kind === ts.SyntaxKind.Identifier) + .map(i => { + const d = i.declarationList.declarations[0] as ts.VariableDeclaration; + const identifier = d.name as ts.Identifier; + const symbol = checker.getSymbolAtLocation(identifier); + let arrowFunctionType: string = null; + let literalFlags: ts.TypeFlags = null; + let kind: VeriableKind = 'unknown'; + const varType = checker.getTypeAtLocation(d); + + const initializerType = checker.getTypeAtLocation(d.initializer); + const initializerFlags = initializerType.flags; + let arrowFunctionParams = []; + let callExpressionArguments = []; + if (d.initializer.kind === ts.SyntaxKind.ArrowFunction) { + const arrowFunc = d.initializer as ts.ArrowFunction; + if (arrowFunc.parameters) { + arrowFunctionParams = arrowFunc.parameters.map(i => i.type.getText()) + } + arrowFunctionType = arrowFunc.type ? arrowFunc.type.getText() : 'undefined'; + kind = 'arrowFunction' + } else if (d.initializer.kind === ts.SyntaxKind.FirstLiteralToken) { + const literal = d.initializer as ts.LiteralExpression; + kind = 'literal'; + } else if (d.initializer.kind === ts.SyntaxKind.CallExpression) { + kind = 'callExpression'; + const callExpresson = d.initializer as ts.CallExpression; + if (callExpresson.arguments) { + callExpressionArguments = callExpresson.arguments.map(i => i.getText()); + } + } + + return { + name: identifier.text, + exported: isNodeExported(i), + comment: symbol ? ts.displayPartsToString(symbol.getDocumentationComment()).trim() : '', + kind, + type: varType.symbol ? varType.symbol.getName() : null, + arrowFunctionType, + arrowFunctionParams, + callExpressionArguments, + literalFlags, + initializerFlags, + }; + }); + + const interfaces: InterfaceEntry[] = nodes + .filter(i => i.kind === ts.SyntaxKind.InterfaceDeclaration) + .map(i => i as ts.InterfaceDeclaration) + .map(i => { + const symbol = checker.getSymbolAtLocation(i.name); + const type = checker.getTypeAtLocation(i.name); + return { + name: symbol.name, + comment: ts.displayPartsToString(symbol.getDocumentationComment()).trim(), + exported: isNodeExported(i), + properties: getProperties(checker, type, i), + }; + }); + + const classes: ClassEntry[] = nodes + .filter(i => i.kind === ts.SyntaxKind.ClassDeclaration) + .map(i => i as ts.ClassDeclaration) + .map(i => { + const symbol = checker.getSymbolAtLocation(i.name); + const type = checker.getTypeAtLocation(i.name); + const baseTypes = type.getBaseTypes(); + let baseType = null; + if (baseTypes.length) { + const t = baseTypes[0]; + const typeArguments = navigate(i, + ts.SyntaxKind.HeritageClause, + ts.SyntaxKind.ExpressionWithTypeArguments) as ts.ExpressionWithTypeArguments; + baseType = { + name: t.symbol.getName(), + typeArguments: typeArguments ? typeArguments.typeArguments.map(t => t.getText()) : [] + }; + } + + return { + name: symbol.name, + exported: isNodeExported(i), + baseType: baseType, + comment: ts.displayPartsToString(symbol.getDocumentationComment()).trim(), + methods: getMethods(checker, type, i), + }; + }); + + return { + classes, + interfaces, + variables, + } +} From dc949c187fe0cf6ae2ce8e15c201be98feedb30b Mon Sep 17 00:00:00 2001 From: Pavel Vasek Date: Wed, 3 May 2017 23:05:13 +0200 Subject: [PATCH 2/4] fixing issues after dependencies got updated --- package.json | 5 +- src/__tests__/transformAST.spec.ts | 3 - src/printUtils.ts | 3 - yarn.lock | 2400 +++++----------------------- 4 files changed, 423 insertions(+), 1988 deletions(-) diff --git a/package.json b/package.json index 3fce95a1..a1811cdd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-docgen-typescript", - "version": "0.0.9", + "version": "0.1.9", "description": "", "main": "lib/index.js", "scripts": { @@ -24,17 +24,14 @@ "@types/node": "^7.0.5", "@types/react": "^15.0.14", "@types/react-dom": "^0.14.23", - "@types/react-redux": "^4.4.36", "babel-core": "^6.8.0", "babel-loader": "^6.2.4", "chai": "^3.5.0", "file-loader": "^0.8.5", "mocha": "^2.5.3", "react": "^15.4.2", - "react-bluekit": "^0.4.1", "react-dom": "^15.4.2", "react-styleguidist": "^2.2.1", - "ts-node": "^2.1.0", "typescript": "^2.2.1" }, "files": [ diff --git a/src/__tests__/transformAST.spec.ts b/src/__tests__/transformAST.spec.ts index d5f5f260..a2591e05 100644 --- a/src/__tests__/transformAST.spec.ts +++ b/src/__tests__/transformAST.spec.ts @@ -66,7 +66,6 @@ describe('transformAST', () => { assert.equal(r1.exported, false); assert.deepEqual(r1.properties, [{ 'name': 'prop1', - 'text': 'prop1: string;', 'type': 'string', 'isRequired': true, 'comment': 'prop1 comment', @@ -78,14 +77,12 @@ describe('transformAST', () => { assert.equal(r2.exported, true); assert.deepEqual(r2.properties, [{ 'name': 'prop1', - 'text': 'prop1: string;', 'type': 'string', 'isRequired': true, 'comment': 'prop1 comment', 'values': [], }, { 'name': 'prop2', - 'text': 'prop2: string;', 'type': 'string', 'isRequired': true, 'comment': 'prop2 comment', diff --git a/src/printUtils.ts b/src/printUtils.ts index 0d604faf..8069d863 100644 --- a/src/printUtils.ts +++ b/src/printUtils.ts @@ -132,9 +132,6 @@ export function simplePrint(checker: ts.TypeChecker, node: ts.Node, indent = 0) if (node.kind === ts.SyntaxKind.CallExpression) { const d = node as ts.CallExpression; info.push('arguments: ' + d.arguments.map(i => i.getText()).join(';')); - if (d.contextualType) { - info.push('contextualType: ' + d.contextualType.symbol.name); - } } if (isNodeExported(node)) { diff --git a/yarn.lock b/yarn.lock index b645b859..1507b33b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,16 +3,16 @@ "@types/chai@^3.4.35": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.4.35.tgz#e8d65f83492d2944f816fc620741821c28a8c900" + version "3.5.2" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.5.2.tgz#c11cd2817d3a401b7ba0f5a420f35c56139b1c1e" "@types/mocha@^2.2.39": - version "2.2.40" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.40.tgz#9811dd800ece544cd84b5b859917bf584a150c4c" + version "2.2.41" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.41.tgz#e27cf0817153eb9f2713b2d3f6c68f1e1c3ca608" "@types/node@^7.0.5": - version "7.0.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.8.tgz#25e4dd804b630c916ae671233e6d71f6ce18124a" + version "7.0.16" + resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.16.tgz#e3440e3ce4d4931616ac418cc4dc16cd94b80092" "@types/react-dom@^0.14.23": version "0.14.23" @@ -20,25 +20,14 @@ dependencies: "@types/react" "*" -"@types/react-redux@^4.4.36": - version "4.4.37" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-4.4.37.tgz#14489a999cdfb0a05fb5c2335fa6c3c3e7c89ed5" - dependencies: - "@types/react" "*" - redux "^3.6.0" - "@types/react@*", "@types/react@^15.0.14": - version "15.0.17" - resolved "https://registry.yarnpkg.com/@types/react/-/react-15.0.17.tgz#e0d451e353155997be9b54620ba1ca3a8c33f480" + version "15.0.23" + resolved "https://registry.yarnpkg.com/@types/react/-/react-15.0.23.tgz#f3facbef5290610f54242f00308759d3a3c27346" Base64@~0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028" -a-sync-waterfall@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.0.tgz#38e8319d79379e24628845b53b96722b29e0e47c" - abbrev@1: version "1.1.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" @@ -50,27 +39,13 @@ accepts@~1.2.12: mime-types "~2.1.6" negotiator "0.5.3" -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" - -acorn@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" - -acorn@^3.0.0, acorn@^3.0.4: +acorn@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -ajv-keywords@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" - -ajv@^4.7.0, ajv@^4.9.1: - version "4.11.5" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.5.tgz#b6ee74657b993a01dce44b7944d56f485828d5bd" +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" @@ -91,10 +66,6 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - ansi-html@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.5.tgz#0dcaa5a081206866bc240a3b773a184ea3b88b64" @@ -122,16 +93,12 @@ aproba@^1.0.3: version "1.1.1" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - are-we-there-yet@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" dependencies: delegates "^1.0.0" - readable-stream "^2.0.0 || ^1.1.13" + readable-stream "^2.0.6" argparse@^1.0.7, argparse@~1.0.2: version "1.0.9" @@ -146,31 +113,13 @@ arr-diff@^2.0.0: arr-flatten "^1.0.1" arr-flatten@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - -array-find@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" + version "1.0.3" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1, array-uniq@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" @@ -179,7 +128,7 @@ arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" -asap@^2.0.3, asap@~2.0.3: +asap@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" @@ -213,10 +162,6 @@ ast-types@0.8.15: version "0.8.15" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.15.tgz#8eef0827f04dff0ec8857ba925abe3fea6194e52" -ast-types@0.9.6: - version "0.9.6" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" - async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -249,16 +194,16 @@ autoprefixer@^6.3.1: postcss-value-parser "^3.2.3" awesome-typescript-loader@^3.0.8: - version "3.1.2" - resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-3.1.2.tgz#3df192b91a6285f795ca65e63aad114fbb44f710" + version "3.1.3" + resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-3.1.3.tgz#7eb41dfb136c2ea0e099bef038dc70c45f810223" dependencies: colors "^1.1.2" enhanced-resolve "^3.1.0" - loader-utils "^1.0.2" + loader-utils "^1.1.0" lodash "^4.17.4" mkdirp "^0.5.1" object-assign "^4.1.1" - source-map-support "^0.4.11" + source-map-support "^0.4.15" aws-sign2@~0.6.0: version "0.6.0" @@ -268,28 +213,7 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-cli@^6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.0.tgz#a05ffd210dca0c288a26d5319c5ac8669a265ad0" - dependencies: - babel-core "^6.24.0" - babel-polyfill "^6.23.0" - babel-register "^6.24.0" - babel-runtime "^6.22.0" - commander "^2.8.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.0.0" - glob "^7.0.0" - lodash "^4.2.0" - output-file-sync "^1.1.0" - path-is-absolute "^1.0.0" - slash "^1.0.0" - source-map "^0.5.0" - v8flags "^2.0.10" - optionalDependencies: - chokidar "^1.6.1" - -babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.7.5: +babel-code-frame@^6.22.0, babel-code-frame@^6.7.5: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: @@ -323,19 +247,19 @@ babel-core@6.7.6: slash "^1.0.0" source-map "^0.5.0" -babel-core@^6.24.0, babel-core@^6.8.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.0.tgz#8f36a0a77f5c155aed6f920b844d23ba56742a02" +babel-core@^6.24.1, babel-core@^6.8.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" dependencies: babel-code-frame "^6.22.0" - babel-generator "^6.24.0" - babel-helpers "^6.23.0" + babel-generator "^6.24.1" + babel-helpers "^6.24.1" babel-messages "^6.23.0" - babel-register "^6.24.0" + babel-register "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-traverse "^6.23.1" - babel-types "^6.23.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" babylon "^6.11.0" convert-source-map "^1.1.0" debug "^2.1.1" @@ -347,145 +271,144 @@ babel-core@^6.24.0, babel-core@^6.8.0: slash "^1.0.0" source-map "^0.5.0" -babel-generator@^6.24.0, babel-generator@^6.7.5: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.0.tgz#eba270a8cc4ce6e09a61be43465d7c62c1f87c56" +babel-generator@^6.24.1, babel-generator@^6.7.5: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" dependencies: babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-types "^6.23.0" + babel-types "^6.24.1" detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.2.0" source-map "^0.5.0" trim-right "^1.0.1" -babel-helper-bindify-decorators@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz#d7f5bc261275941ac62acfc4e20dacfb8a3fe952" +babel-helper-bindify-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" dependencies: babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-builder-binary-assignment-operator-visitor@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd" +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" dependencies: - babel-helper-explode-assignable-expression "^6.22.0" + babel-helper-explode-assignable-expression "^6.24.1" babel-runtime "^6.22.0" - babel-types "^6.22.0" + babel-types "^6.24.1" -babel-helper-builder-react-jsx@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.23.0.tgz#d53fc8c996e0bc56d0de0fc4cc55a7138395ea4b" +babel-helper-builder-react-jsx@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz#0ad7917e33c8d751e646daca4e77cc19377d2cbc" dependencies: babel-runtime "^6.22.0" - babel-types "^6.23.0" + babel-types "^6.24.1" esutils "^2.0.0" - lodash "^4.2.0" -babel-helper-call-delegate@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" dependencies: - babel-helper-hoist-variables "^6.22.0" + babel-helper-hoist-variables "^6.24.1" babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-define-map@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz#1444f960c9691d69a2ced6a205315f8fd00804e7" +babel-helper-define-map@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" dependencies: - babel-helper-function-name "^6.23.0" + babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" - babel-types "^6.23.0" + babel-types "^6.24.1" lodash "^4.2.0" -babel-helper-explode-assignable-expression@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478" +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" dependencies: babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-explode-class@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz#646304924aa6388a516843ba7f1855ef8dfeb69b" +babel-helper-explode-class@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" dependencies: - babel-helper-bindify-decorators "^6.22.0" + babel-helper-bindify-decorators "^6.24.1" babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz#25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6" +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" dependencies: - babel-helper-get-function-arity "^6.22.0" + babel-helper-get-function-arity "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-traverse "^6.23.0" - babel-types "^6.23.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-get-function-arity@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" dependencies: babel-runtime "^6.22.0" - babel-types "^6.22.0" + babel-types "^6.24.1" -babel-helper-hoist-variables@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" dependencies: babel-runtime "^6.22.0" - babel-types "^6.22.0" + babel-types "^6.24.1" -babel-helper-optimise-call-expression@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz#f3ee7eed355b4282138b33d02b78369e470622f5" +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" dependencies: babel-runtime "^6.22.0" - babel-types "^6.23.0" + babel-types "^6.24.1" -babel-helper-regex@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" +babel-helper-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" dependencies: babel-runtime "^6.22.0" - babel-types "^6.22.0" + babel-types "^6.24.1" lodash "^4.2.0" -babel-helper-remap-async-to-generator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383" +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" dependencies: - babel-helper-function-name "^6.22.0" + babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-replace-supers@^6.22.0, babel-helper-replace-supers@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz#eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd" +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" dependencies: - babel-helper-optimise-call-expression "^6.23.0" + babel-helper-optimise-call-expression "^6.24.1" babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-traverse "^6.23.0" - babel-types "^6.23.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helpers@^6.23.0, babel-helpers@^6.6.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992" +babel-helpers@^6.24.1, babel-helpers@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" dependencies: babel-runtime "^6.22.0" - babel-template "^6.23.0" + babel-template "^6.24.1" babel-loader@6.2.4: version "6.2.4" @@ -510,11 +433,7 @@ babel-messages@^6.23.0, babel-messages@^6.7.2: dependencies: babel-runtime "^6.22.0" -babel-plugin-add-module-exports@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz#9ae9a1f4a8dc67f0cdec4f4aeda1e43a5ff65e25" - -babel-plugin-check-es2015-constants@^6.22.0, babel-plugin-check-es2015-constants@^6.3.13: +babel-plugin-check-es2015-constants@^6.3.13: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" dependencies: @@ -542,7 +461,7 @@ babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" -babel-plugin-syntax-decorators@^6.1.18, babel-plugin-syntax-decorators@^6.13.0: +babel-plugin-syntax-decorators@^6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" @@ -582,56 +501,48 @@ babel-plugin-syntax-trailing-function-commas@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" -babel-plugin-transform-async-generator-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz#a720a98153a7596f204099cd5409f4b3c05bab46" +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" dependencies: - babel-helper-remap-async-to-generator "^6.22.0" + babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-generators "^6.5.0" babel-runtime "^6.22.0" -babel-plugin-transform-async-to-generator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e" +babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" dependencies: - babel-helper-remap-async-to-generator "^6.22.0" + babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-functions "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-class-constructor-call@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.22.0.tgz#11a4d2216abb5b0eef298b493748f4f2f4869120" +babel-plugin-transform-class-constructor-call@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" dependencies: babel-plugin-syntax-class-constructor-call "^6.18.0" babel-runtime "^6.22.0" - babel-template "^6.22.0" + babel-template "^6.24.1" -babel-plugin-transform-class-properties@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.23.0.tgz#187b747ee404399013563c993db038f34754ac3b" +babel-plugin-transform-class-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" dependencies: - babel-helper-function-name "^6.23.0" + babel-helper-function-name "^6.24.1" babel-plugin-syntax-class-properties "^6.8.0" babel-runtime "^6.22.0" - babel-template "^6.23.0" - -babel-plugin-transform-decorators-legacy@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz#741b58f6c5bce9e6027e0882d9c994f04f366925" - dependencies: - babel-plugin-syntax-decorators "^6.1.18" - babel-runtime "^6.2.0" - babel-template "^6.3.0" + babel-template "^6.24.1" -babel-plugin-transform-decorators@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz#c03635b27a23b23b7224f49232c237a73988d27c" +babel-plugin-transform-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" dependencies: - babel-helper-explode-class "^6.22.0" + babel-helper-explode-class "^6.24.1" babel-plugin-syntax-decorators "^6.13.0" babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-types "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" babel-plugin-transform-do-expressions@^6.3.13: version "6.22.0" @@ -640,179 +551,155 @@ babel-plugin-transform-do-expressions@^6.3.13: babel-plugin-syntax-do-expressions "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-arrow-functions@^6.22.0, babel-plugin-transform-es2015-arrow-functions@^6.3.13: +babel-plugin-transform-es2015-arrow-functions@^6.3.13: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0, babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: +babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.22.0, babel-plugin-transform-es2015-block-scoping@^6.6.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz#e48895cf0b375be148cd7c8879b422707a053b51" +babel-plugin-transform-es2015-block-scoping@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" dependencies: babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-traverse "^6.23.0" - babel-types "^6.23.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" lodash "^4.2.0" -babel-plugin-transform-es2015-classes@^6.22.0, babel-plugin-transform-es2015-classes@^6.6.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz#49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1" +babel-plugin-transform-es2015-classes@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: - babel-helper-define-map "^6.23.0" - babel-helper-function-name "^6.23.0" - babel-helper-optimise-call-expression "^6.23.0" - babel-helper-replace-supers "^6.23.0" + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-traverse "^6.23.0" - babel-types "^6.23.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" +babel-plugin-transform-es2015-computed-properties@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" - babel-template "^6.22.0" + babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.6.0: +babel-plugin-transform-es2015-destructuring@^6.6.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.6.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" +babel-plugin-transform-es2015-duplicate-keys@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" - babel-types "^6.22.0" + babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.6.0: +babel-plugin-transform-es2015-for-of@^6.6.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" +babel-plugin-transform-es2015-function-name@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: - babel-helper-function-name "^6.22.0" + babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" - babel-types "^6.22.0" + babel-types "^6.24.1" -babel-plugin-transform-es2015-literals@^6.22.0, babel-plugin-transform-es2015-literals@^6.3.13: +babel-plugin-transform-es2015-literals@^6.3.13: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-modules-amd@^6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz#a1911fb9b7ec7e05a43a63c5995007557bcf6a2e" +babel-plugin-transform-es2015-modules-commonjs@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.0" + babel-plugin-transform-strict-mode "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" -babel-plugin-transform-es2015-modules-commonjs@^6.24.0, babel-plugin-transform-es2015-modules-commonjs@^6.6.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz#e921aefb72c2cc26cb03d107626156413222134f" +babel-plugin-transform-es2015-object-super@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: - babel-plugin-transform-strict-mode "^6.22.0" + babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-types "^6.23.0" -babel-plugin-transform-es2015-modules-systemjs@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz#ae3469227ffac39b0310d90fec73bfdc4f6317b0" +babel-plugin-transform-es2015-parameters@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: - babel-helper-hoist-variables "^6.22.0" + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.23.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz#fd5fa63521cae8d273927c3958afd7c067733450" +babel-plugin-transform-es2015-shorthand-properties@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.0" babel-runtime "^6.22.0" - babel-template "^6.23.0" + babel-types "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" - dependencies: - babel-helper-replace-supers "^6.22.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.22.0, babel-plugin-transform-es2015-parameters@^6.6.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz#3a2aabb70c8af945d5ce386f1a4250625a83ae3b" - dependencies: - babel-helper-call-delegate "^6.22.0" - babel-helper-get-function-arity "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.23.0" - babel-traverse "^6.23.0" - babel-types "^6.23.0" - -babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-spread@^6.22.0, babel-plugin-transform-es2015-spread@^6.3.13: +babel-plugin-transform-es2015-spread@^6.3.13: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" +babel-plugin-transform-es2015-sticky-regex@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: - babel-helper-regex "^6.22.0" + babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" - babel-types "^6.22.0" + babel-types "^6.24.1" -babel-plugin-transform-es2015-template-literals@^6.22.0, babel-plugin-transform-es2015-template-literals@^6.6.0: +babel-plugin-transform-es2015-template-literals@^6.6.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.6.0: +babel-plugin-transform-es2015-typeof-symbol@^6.6.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" +babel-plugin-transform-es2015-unicode-regex@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: - babel-helper-regex "^6.22.0" + babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-exponentiation-operator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d" +babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.22.0" + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" babel-plugin-syntax-exponentiation-operator "^6.8.0" babel-runtime "^6.22.0" @@ -823,7 +710,7 @@ babel-plugin-transform-export-extensions@^6.22.0: babel-plugin-syntax-export-extensions "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-flow-strip-types@^6.22.0, babel-plugin-transform-flow-strip-types@^6.3.13: +babel-plugin-transform-flow-strip-types@^6.3.13: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" dependencies: @@ -844,54 +731,39 @@ babel-plugin-transform-object-rest-spread@^6.22.0: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-display-name@^6.23.0, babel-plugin-transform-react-display-name@^6.3.13: +babel-plugin-transform-react-display-name@^6.3.13: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.23.0.tgz#4398910c358441dc4cef18787264d0412ed36b37" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx-self@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" - dependencies: - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-source@^6.22.0, babel-plugin-transform-react-jsx-source@^6.3.13: +babel-plugin-transform-react-jsx-source@^6.3.13: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" dependencies: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx@^6.23.0, babel-plugin-transform-react-jsx@^6.3.13: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.23.0.tgz#23e892f7f2e759678eb5e4446a8f8e94e81b3470" +babel-plugin-transform-react-jsx@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" dependencies: - babel-helper-builder-react-jsx "^6.23.0" + babel-helper-builder-react-jsx "^6.24.1" babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.6.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" +babel-plugin-transform-regenerator@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" dependencies: - regenerator-transform "0.9.8" + regenerator-transform "0.9.11" -babel-plugin-transform-strict-mode@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" dependencies: babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-polyfill@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" - dependencies: - babel-runtime "^6.22.0" - core-js "^2.4.0" - regenerator-runtime "^0.10.0" + babel-types "^6.24.1" babel-preset-es2015@6.6.0: version "6.6.0" @@ -919,41 +791,6 @@ babel-preset-es2015@6.6.0: babel-plugin-transform-es2015-unicode-regex "^6.3.13" babel-plugin-transform-regenerator "^6.6.0" -babel-preset-es2015@^6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.0.tgz#c162d68b1932696e036cd3110dc1ccd303d2673a" - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.22.0" - babel-plugin-transform-es2015-classes "^6.22.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.22.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.22.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.24.0" - babel-plugin-transform-es2015-modules-commonjs "^6.24.0" - babel-plugin-transform-es2015-modules-systemjs "^6.22.0" - babel-plugin-transform-es2015-modules-umd "^6.24.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.22.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.22.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - -babel-preset-flow@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" - dependencies: - babel-plugin-transform-flow-strip-types "^6.22.0" - babel-preset-react-hmre@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/babel-preset-react-hmre/-/babel-preset-react-hmre-1.1.1.tgz#d216e60cb5b8d4c873e19ed0f54eaff1437bc492" @@ -974,17 +811,6 @@ babel-preset-react@6.5.0: babel-plugin-transform-react-jsx "^6.3.13" babel-plugin-transform-react-jsx-source "^6.3.13" -babel-preset-react@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.23.0.tgz#eb7cee4de98a3f94502c28565332da9819455195" - dependencies: - babel-plugin-syntax-jsx "^6.3.13" - babel-plugin-transform-react-display-name "^6.23.0" - babel-plugin-transform-react-jsx "^6.23.0" - babel-plugin-transform-react-jsx-self "^6.22.0" - babel-plugin-transform-react-jsx-source "^6.22.0" - babel-preset-flow "^6.23.0" - babel-preset-stage-0@6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.5.0.tgz#8b8479b2077482b8f3dc8f8f5f0c9c79788cde22" @@ -993,38 +819,38 @@ babel-preset-stage-0@6.5.0: babel-plugin-transform-function-bind "^6.3.13" babel-preset-stage-1 "^6.3.13" -babel-preset-stage-1@^6.22.0, babel-preset-stage-1@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.22.0.tgz#7da05bffea6ad5a10aef93e320cfc6dd465dbc1a" +babel-preset-stage-1@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" dependencies: - babel-plugin-transform-class-constructor-call "^6.22.0" + babel-plugin-transform-class-constructor-call "^6.24.1" babel-plugin-transform-export-extensions "^6.22.0" - babel-preset-stage-2 "^6.22.0" + babel-preset-stage-2 "^6.24.1" -babel-preset-stage-2@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz#ccd565f19c245cade394b21216df704a73b27c07" +babel-preset-stage-2@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" - babel-plugin-transform-class-properties "^6.22.0" - babel-plugin-transform-decorators "^6.22.0" - babel-preset-stage-3 "^6.22.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-decorators "^6.24.1" + babel-preset-stage-3 "^6.24.1" -babel-preset-stage-3@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz#a4e92bbace7456fafdf651d7a7657ee0bbca9c2e" +babel-preset-stage-3@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" dependencies: babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-generator-functions "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" babel-plugin-transform-object-rest-spread "^6.22.0" -babel-register@^6.24.0, babel-register@^6.7.2: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.0.tgz#5e89f8463ba9970356d02eb07dabe3308b080cfd" +babel-register@^6.24.1, babel-register@^6.7.2: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" dependencies: - babel-core "^6.24.0" + babel-core "^6.24.1" babel-runtime "^6.22.0" core-js "^2.4.0" home-or-tmp "^2.0.0" @@ -1044,7 +870,7 @@ babel-runtime@^5.0.0, babel-runtime@~5.8.25: dependencies: core-js "^1.0.0" -babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.9.2: +babel-runtime@^6.18.0, babel-runtime@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" dependencies: @@ -1055,33 +881,33 @@ babel-standalone@6.7.4: version "6.7.4" resolved "https://registry.yarnpkg.com/babel-standalone/-/babel-standalone-6.7.4.tgz#788664a6ec63b618ec5dfd7f24ef83c8e9536e10" -babel-template@^6.22.0, babel-template@^6.23.0, babel-template@^6.3.0, babel-template@^6.7.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638" +babel-template@^6.24.1, babel-template@^6.7.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" dependencies: babel-runtime "^6.22.0" - babel-traverse "^6.23.0" - babel-types "^6.23.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" babylon "^6.11.0" lodash "^4.2.0" -babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.23.1, babel-traverse@^6.7.6: - version "6.23.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48" +babel-traverse@^6.24.1, babel-traverse@^6.7.6: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" dependencies: babel-code-frame "^6.22.0" babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-types "^6.23.0" + babel-types "^6.24.1" babylon "^6.15.0" debug "^2.2.0" globals "^9.0.0" invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0, babel-types@^6.7.2: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf" +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.7.2: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" dependencies: babel-runtime "^6.22.0" esutils "^2.0.2" @@ -1089,8 +915,8 @@ babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0, babel-types@^6.7. to-fast-properties "^1.0.1" babylon@^6.11.0, babylon@^6.15.0, babylon@^6.7.0: - version "6.16.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" + version "6.17.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932" babylon@~5.8.3: version "5.8.38" @@ -1110,10 +936,6 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -beeper@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" - big.js@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" @@ -1142,23 +964,13 @@ boom@2.x.x: dependencies: hoek "2.x.x" -bowser@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.0.tgz#37fc387b616cb6aef370dab4d6bd402b74c5c54d" - brace-expansion@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + version "1.1.7" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" dependencies: balanced-match "^0.4.1" concat-map "0.0.1" -brace@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/brace/-/brace-0.9.1.tgz#19dcbae2faec9a9920a0452ec64d8d84df45e7b6" - dependencies: - w3c-blob "0.0.1" - braces@^1.8.2: version "1.8.5" resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" @@ -1173,14 +985,14 @@ browserify-zlib@~0.1.4: dependencies: pako "~0.2.0" -browserslist@^1.0.1, browserslist@^1.5.2, browserslist@^1.7.6: +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: version "1.7.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" dependencies: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" -buffer-shims@^1.0.0: +buffer-shims@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" @@ -1192,22 +1004,6 @@ buffer@^4.9.0: ieee754 "^1.1.4" isarray "^1.0.0" -bufferstreams@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/bufferstreams/-/bufferstreams-1.1.1.tgz#0161373060ac5988eff99058731114f6e195d51e" - dependencies: - readable-stream "^2.0.2" - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - camel-case@^1.1.1: version "1.2.2" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-1.2.2.tgz#1aca7c4d195359a2ce9955793433c6e5542511f2" @@ -1219,22 +1015,18 @@ camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" -camelcase@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - caniuse-api@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.5.3.tgz#5018e674b51c393e4d50614275dc017e27c4a2a2" + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" dependencies: - browserslist "^1.0.1" - caniuse-db "^1.0.30000346" - lodash.memoize "^4.1.0" - lodash.uniq "^4.3.0" + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" -caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000639" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000639.tgz#5982f70a54352adaf8901a772d2c68ca24f501aa" +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000665" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000665.tgz#e84f4277935f295f546f8533cb0b410a8415b972" caseless@~0.12.0: version "0.12.0" @@ -1262,7 +1054,7 @@ chai@^3.5.0: deep-eql "^0.1.3" type-detect "^1.0.0" -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@1.1.3, chalk@^1.1.0, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1301,7 +1093,7 @@ change-case@2.3.x: upper-case "^1.1.1" upper-case-first "^1.1.0" -chokidar@^1.0.0, chokidar@^1.6.0, chokidar@^1.6.1: +chokidar@^1.0.0: version "1.6.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" dependencies: @@ -1316,10 +1108,6 @@ chokidar@^1.0.0, chokidar@^1.6.0, chokidar@^1.6.1: optionalDependencies: fsevents "^1.0.0" -circular-json@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" - clap@^1.0.9: version "1.1.3" resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b" @@ -1337,16 +1125,6 @@ clean-css@3.4.x: commander "2.8.x" source-map "0.4.x" -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-width@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" - cliui@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" @@ -1355,23 +1133,7 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" -cliui@^3.0.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -clone-stats@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - -clone@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" - -clone@^1.0.0, clone@^1.0.2: +clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" @@ -1393,7 +1155,7 @@ codemirror@5.13.4, codemirror@^5.13.4: version "5.13.4" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.13.4.tgz#e1c01f7ca34a1551f5911d3ec35ce9a51cf787e0" -color-convert@^1.3.0, color-convert@^1.8.2: +color-convert@^1.3.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: @@ -1409,20 +1171,6 @@ color-string@^0.3.0: dependencies: color-name "^1.0.0" -color-string@^1.4.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.2.tgz#26e45814bc3c9a7cbd6751648a41434514a773a9" - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@>=0.10: - version "1.0.3" - resolved "https://registry.yarnpkg.com/color/-/color-1.0.3.tgz#e48e832d85f14ef694fb468811c2d5cfe729b55d" - dependencies: - color-convert "^1.8.2" - color-string "^1.4.0" - color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" @@ -1467,7 +1215,7 @@ commander@2.8.x: dependencies: graceful-readlink ">= 1.0.0" -commander@2.9.x, commander@^2.8.1, commander@^2.9.0: +commander@2.9.x: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1493,14 +1241,6 @@ concat-stream@1.5.x: readable-stream "~2.0.0" typedarray "~0.0.5" -concat-stream@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - console-browserify@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" @@ -1531,8 +1271,8 @@ content-type@~1.0.1: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" convert-source-map@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3" + version "1.5.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" cookie-signature@1.0.6: version "1.0.6" @@ -1542,12 +1282,6 @@ cookie@0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.5.tgz#6ab9948a4b1ae21952cd2588530a4722d4044d7c" -copy-to-clipboard@^3: - version "3.0.5" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.0.5.tgz#4cd40e7c2ee159bc72d4f06b5bec8f9e0a1a3442" - dependencies: - toggle-selection "^1.0.3" - core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -1594,10 +1328,6 @@ css-loader@0.23.1: postcss-modules-values "^1.1.0" source-list-map "^0.1.4" -css-mediaquery@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/css-mediaquery/-/css-mediaquery-0.1.2.tgz#6a2c37344928618631c54bd33cedd301da18bea0" - css-select@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -1674,12 +1404,6 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -1690,10 +1414,6 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -dateformat@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" - debug@2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" @@ -1701,12 +1421,12 @@ debug@2.2.0, debug@~2.2.0: ms "0.7.1" debug@^2.1.1, debug@^2.2.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d" + version "2.6.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a" dependencies: - ms "0.7.2" + ms "0.7.3" -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.0.0, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1720,32 +1440,10 @@ deep-extend@~0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -defaults@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - dependencies: - clone "^1.0.2" - defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1758,20 +1456,10 @@ depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" -deprecated@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" - destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" -detect-file@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" - dependencies: - fs-exists-sync "^0.1.0" - detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -1782,10 +1470,6 @@ diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" -diff@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" - doctrine@^1.2.0: version "1.5.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" @@ -1793,13 +1477,6 @@ doctrine@^1.2.0: esutils "^2.0.2" isarray "^1.0.0" -doctrine@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - dom-converter@~0.1: version "0.1.4" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" @@ -1854,12 +1531,6 @@ dot-case@^1.1.0: dependencies: sentence-case "^1.1.2" -duplexer2@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" - dependencies: - readable-stream "~1.1.9" - ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -1871,8 +1542,8 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" electron-to-chromium@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.7.tgz#4f748061407e478c76256d04496972b71f647407" + version "1.3.9" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.9.tgz#db1cba2a26aebcca2f7f5b8b034554468609157d" emojis-list@^2.0.0: version "2.1.0" @@ -1884,12 +1555,6 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -end-of-stream@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" - dependencies: - once "~1.3.0" - enhanced-resolve@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" @@ -1923,126 +1588,18 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" -es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.15" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-symbol "^3.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: +escape-string-regexp@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" -escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint@^3.0.0: - version "3.18.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.18.0.tgz#647e985c4ae71502d20ac62c109f66d5104c8a4b" - dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" - doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" - esquery "^1.0.0" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" - strip-json-comments "~2.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -espree@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" - dependencies: - acorn "4.0.4" - acorn-jsx "^3.0.0" - esprima-fb@~15001.1001.0-dev-harmony-fb: version "15001.1001.0-dev-harmony-fb" resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz#43beb57ec26e8cf237d3dd8b33e42533577f2659" @@ -2051,31 +1608,6 @@ esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -esprima@^3.1.1, esprima@~3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - -esquery@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" - dependencies: - estraverse "^4.0.0" - -esrecurse@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" - dependencies: - estraverse "~4.1.0" - object-assign "^4.0.1" - -estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -estraverse@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" - esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -2084,25 +1616,10 @@ etag@~1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - events@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" -exenv@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.1.tgz#75de1c8dee02e952b102aa17f8875973e0df14f9" - -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -2115,12 +1632,6 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expand-tilde@^1.2.1, expand-tilde@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" - dependencies: - os-homedir "^1.0.1" - express@4.13.4: version "4.13.4" resolved "https://registry.yarnpkg.com/express/-/express-4.13.4.tgz#3c0b76f3c77590c8345739061ec0bd3ba067ec24" @@ -2151,9 +1662,9 @@ express@4.13.4: utils-merge "1.0.0" vary "~1.0.1" -extend@^3.0.0, extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" +extend@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" extglob@^0.3.1: version "0.3.2" @@ -2165,24 +1676,13 @@ extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" -fancy-log@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" - dependencies: - chalk "^1.1.1" - time-stamp "^1.0.0" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" -fbjs@^0.8.1, fbjs@^0.8.4: - version "0.8.11" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.11.tgz#340b590b8a2278a01ef7467c07a16da9b753db24" +fbjs@^0.8.9: + version "0.8.12" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: core-js "^1.0.0" isomorphic-fetch "^2.1.1" @@ -2192,20 +1692,6 @@ fbjs@^0.8.1, fbjs@^0.8.4: setimmediate "^1.0.5" ua-parser-js "^0.7.9" -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - file-loader@^0.8.5: version "0.8.5" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.8.5.tgz#9275d031fe780f27d47f5f4af02bd43713cc151b" @@ -2213,8 +1699,8 @@ file-loader@^0.8.5: loader-utils "~0.2.5" filename-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" fill-range@^2.1.0: version "2.2.3" @@ -2243,10 +1729,6 @@ find-cache-dir@^0.1.1: mkdirp "^0.5.1" pkg-dir "^1.0.0" -find-index@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" - find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -2254,15 +1736,6 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -findup-sync@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" - dependencies: - detect-file "^0.1.0" - is-glob "^2.0.1" - micromatch "^2.3.7" - resolve-dir "^0.1.0" - findup@0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/findup/-/findup-0.1.5.tgz#8ad929a3393bac627957a7e5de4623b06b0e2ceb" @@ -2270,35 +1743,6 @@ findup@0.1.5: colors "~0.6.0-1" commander "~2.1.0" -fined@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fined/-/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97" - dependencies: - expand-tilde "^1.2.1" - lodash.assignwith "^4.0.7" - lodash.isempty "^4.2.1" - lodash.isplainobject "^4.0.4" - lodash.isstring "^4.0.1" - lodash.pick "^4.2.1" - parse-filepath "^1.0.1" - -first-chunk-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" - -flagged-respawn@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" - -flat-cache@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" - dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" - flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" @@ -2318,8 +1762,8 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" form-data@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" @@ -2333,14 +1777,6 @@ fresh@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - -fs-readdir-recursive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2373,13 +1809,9 @@ function-bind@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" -fuzzy@>=0.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz#4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8" - gauge@~2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -2390,25 +1822,9 @@ gauge@~2.7.1: strip-ansi "^3.0.1" wide-align "^1.1.0" -gaze@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" - dependencies: - globule "~0.1.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - getpass@^0.1.1: - version "0.1.6" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" dependencies: assert-plus "^1.0.0" @@ -2425,29 +1841,6 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-stream@^3.1.5: - version "3.1.18" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" - dependencies: - glob "^4.3.1" - glob2base "^0.0.12" - minimatch "^2.0.1" - ordered-read-streams "^0.1.0" - through2 "^0.6.1" - unique-stream "^1.0.0" - -glob-watcher@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" - dependencies: - gaze "^0.5.1" - -glob2base@^0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" - dependencies: - find-index "^0.1.1" - glob@3.2.11: version "3.2.11" resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" @@ -2455,7 +1848,7 @@ glob@3.2.11: inherits "2" minimatch "0.3" -glob@7.0.3, glob@^7.0.0, glob@^7.0.3: +glob@7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.3.tgz#0aa235931a4a96ac13d60ffac2fb877bd6ed4f58" dependencies: @@ -2465,15 +1858,6 @@ glob@7.0.3, glob@^7.0.0, glob@^7.0.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^4.3.1: - version "4.5.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "^2.0.1" - once "^1.3.0" - glob@^7.0.5: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" @@ -2485,80 +1869,21 @@ glob@^7.0.5: once "^1.3.0" path-is-absolute "^1.0.0" -glob@~3.1.21: - version "3.1.21" - resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" - dependencies: - graceful-fs "~1.2.0" - inherits "1" - minimatch "~0.2.11" - -global-modules@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" - -global-prefix@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" - dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - global@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df" + version "4.3.2" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" dependencies: min-document "^2.19.0" process "~0.5.1" -globals@^9.0.0, globals@^9.14.0: - version "9.16.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globule@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" - dependencies: - glob "~3.1.21" - lodash "~1.0.1" - minimatch "~0.2.11" - -glogg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" - dependencies: - sparkles "^1.0.0" - -graceful-fs@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" - dependencies: - natives "^1.1.0" +globals@^9.0.0: + version "9.17.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" -graceful-fs@^4.1.2, graceful-fs@^4.1.4: +graceful-fs@^4.1.2: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -graceful-fs@~1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" - "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -2567,61 +1892,6 @@ growl@1.9.2: version "1.9.2" resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" -gulp-eslint@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/gulp-eslint/-/gulp-eslint-3.0.1.tgz#04e57e3e18c6974267c12cf6855dc717d4a313bd" - dependencies: - bufferstreams "^1.1.1" - eslint "^3.0.0" - gulp-util "^3.0.6" - -gulp-util@^3.0.0, gulp-util@^3.0.6: - version "3.0.8" - resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" - dependencies: - array-differ "^1.0.0" - array-uniq "^1.0.2" - beeper "^1.0.0" - chalk "^1.0.0" - dateformat "^2.0.0" - fancy-log "^1.1.0" - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash._reescape "^3.0.0" - lodash._reevaluate "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.template "^3.0.0" - minimist "^1.1.0" - multipipe "^0.1.2" - object-assign "^3.0.0" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl "^0.5.0" - -gulp@>=3: - version "3.9.1" - resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" - dependencies: - archy "^1.0.0" - chalk "^1.0.0" - deprecated "^0.0.1" - gulp-util "^3.0.0" - interpret "^1.0.0" - liftoff "^2.1.0" - minimist "^1.1.0" - orchestrator "^0.3.0" - pretty-hrtime "^1.0.0" - semver "^4.1.0" - tildify "^1.0.0" - v8flags "^2.0.2" - vinyl-fs "^0.3.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - dependencies: - glogg "^1.0.0" - har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" @@ -2647,12 +1917,6 @@ has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" -has-gulplog@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" - dependencies: - sparkles "^1.0.0" - has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -2680,10 +1944,6 @@ highlight.js@9.3.0: version "9.3.0" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.3.0.tgz#b127d5d38c17cc6ee2a6333b6756683261ac615c" -highlight.js@^9.6.0: - version "9.10.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.10.0.tgz#f9f0b14c0be00f0e4fb1e577b749fed9e6f52f55" - hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" @@ -2695,19 +1955,13 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -homedir-polyfill@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - html-comment-regex@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" html-entities@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2" + version "1.2.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" html-minifier@^1.3.1: version "1.5.0" @@ -2768,13 +2022,9 @@ https-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.0.tgz#b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd" -hyphenate-style-name@^1.0.0, hyphenate-style-name@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" - iconv-lite@~0.4.13: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" + version "0.4.17" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" icss-replace-symbols@^1.0.2: version "1.0.2" @@ -2784,18 +2034,6 @@ ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" -ignore@^3.2.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.6.tgz#26e8da0644be0bb4cb39516f6c79f0e0f4ffe48c" - -immutable@3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -2811,11 +2049,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: +inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2823,53 +2057,20 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@^1.3.4, ini@~1.3.0: +ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -inline-style-prefixer@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7" - dependencies: - bowser "^1.0.0" - hyphenate-style-name "^1.0.1" - -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - interpret@^0.6.4: version "0.6.6" resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" -interpret@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" - invariant@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: loose-envify "^1.0.0" -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - ipaddr.js@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.0.5.tgz#5fa78cf301b825c78abc3042d812723049ea23c7" @@ -2878,24 +2079,13 @@ is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" -is-absolute@^0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" - dependencies: - is-relative "^0.2.1" - is-windows "^0.2.0" - -is-arrayish@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.1.tgz#c2dfc386abaa0c3e33c48db3fe87059e69065efd" - is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" dependencies: binary-extensions "^1.0.0" -is-buffer@^1.0.2: +is-buffer@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" @@ -2929,10 +2119,6 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -2945,37 +2131,12 @@ is-lower-case@^1.1.0: dependencies: lower-case "^1.1.0" -is-my-json-valid@^2.10.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - is-number@^2.0.2, is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" dependencies: kind-of "^3.0.2" -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -2988,22 +2149,6 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-relative@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" - dependencies: - is-unc-path "^0.1.1" - -is-resolvable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" - dependencies: - tryit "^1.0.1" - is-stream@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3018,26 +2163,12 @@ is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" -is-unc-path@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" - dependencies: - unc-path-regex "^0.1.0" - is-upper-case@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" dependencies: upper-case "^1.1.0" -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-windows@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -3046,10 +2177,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" -isexe@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" - isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -3088,13 +2215,6 @@ js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -js-yaml@^3.5.1: - version "3.8.2" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721" - dependencies: - argparse "^1.0.7" - esprima "^3.1.1" - js-yaml@~3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" @@ -3122,7 +2242,7 @@ json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: @@ -3144,10 +2264,6 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -3158,42 +2274,15 @@ jsprim@^1.2.2: verror "1.3.6" kind-of@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + version "3.2.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.0.tgz#b58abe4d5c044ad33726a8c1525b48cf891bff07" dependencies: - is-buffer "^1.0.2" + is-buffer "^1.1.5" lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -liftoff@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" - dependencies: - extend "^3.0.0" - findup-sync "^0.4.2" - fined "^1.0.1" - flagged-respawn "^0.3.2" - lodash.isplainobject "^4.0.4" - lodash.isstring "^4.0.1" - lodash.mapvalues "^4.4.0" - rechoir "^0.6.2" - resolve "^1.1.7" - linkify-it@~1.2.0: version "1.2.4" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-1.2.4.tgz#0773526c317c8fd13bd534ee1d180ff88abf881a" @@ -3209,7 +2298,7 @@ loader-utils@^0.2.11, loader-utils@^0.2.13, loader-utils@^0.2.15, loader-utils@^ json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.0.2: +loader-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: @@ -3217,10 +2306,6 @@ loader-utils@^1.0.2: emojis-list "^2.0.0" json5 "^0.5.0" -lodash-es@^4.2.1: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" - lodash._arraycopy@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" @@ -3268,14 +2353,6 @@ lodash._baseisequal@^3.0.0: lodash.istypedarray "^3.0.0" lodash.keys "^3.0.0" -lodash._basetostring@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" - -lodash._basevalues@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" - lodash._bindcallback@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" @@ -3303,26 +2380,10 @@ lodash._isiterateecall@^3.0.0: version "3.0.9" resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" -lodash._reescape@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" - -lodash._reevaluate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - lodash._root@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" -lodash.assignwith@^4.0.7: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" - lodash.camelcase@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz#932c8b87f8a4377897c67197533282f97aeac298" @@ -3339,12 +2400,6 @@ lodash.deburr@^3.0.0: dependencies: lodash._root "^3.0.0" -lodash.escape@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" - dependencies: - lodash._root "^3.0.0" - lodash.find@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-3.2.1.tgz#046e319f3ace912ac6c9246c7f683c5ec07b36ad" @@ -3364,14 +2419,6 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" -lodash.isempty@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" - -lodash.isequal@^4.1.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - lodash.isplainobject@^3.0.0, lodash.isplainobject@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz#9a8238ae16b200432960cd7346512d0123fbf4c5" @@ -3380,14 +2427,6 @@ lodash.isplainobject@^3.0.0, lodash.isplainobject@^3.2.0: lodash.isarguments "^3.0.0" lodash.keysin "^3.0.0" -lodash.isplainobject@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - lodash.istypedarray@^3.0.0: version "3.0.6" resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62" @@ -3407,11 +2446,7 @@ lodash.keysin@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" -lodash.mapvalues@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" - -lodash.memoize@^4.1.0: +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -3437,35 +2472,10 @@ lodash.pairs@^3.0.0: dependencies: lodash.keys "^3.0.0" -lodash.pick@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" -lodash.template@^3.0.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" - dependencies: - lodash._basecopy "^3.0.0" - lodash._basetostring "^3.0.0" - lodash._basevalues "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - lodash.keys "^3.0.0" - lodash.restparam "^3.0.0" - lodash.templatesettings "^3.0.0" - -lodash.templatesettings@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - lodash.toplainobject@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz#28790ad942d293d78aa663a07ecf7f52ca04198d" @@ -3473,7 +2483,7 @@ lodash.toplainobject@^3.0.0: lodash._basecopy "^3.0.0" lodash.keysin "^3.0.0" -lodash.uniq@^4.3.0: +lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -3491,14 +2501,10 @@ lodash@^3.10.0, lodash@^3.8.0: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@^4.0.0, lodash@^4.0.1, lodash@^4.16.6, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1: +lodash@^4.17.4, lodash@^4.2.0, lodash@^4.6.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -lodash@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" - longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -3527,14 +2533,6 @@ macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" -make-error@^1.1.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.2.3.tgz#6c4402df732e0977ac6faf754a5074b3d2b1d19d" - -map-cache@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - markdown-it@6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-6.0.1.tgz#94a6b254cf4e620bad2b226274bfeed95af1c7c5" @@ -3563,19 +2561,9 @@ markdown-react-js@0.3.0: lodash "^3.8.0" markdown-it "^4.2.1" -matchmedia@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/matchmedia/-/matchmedia-0.1.2.tgz#cfd47f2bf68fbc7f5ea1bd3a3cf1715ecba3c1bd" - dependencies: - css-mediaquery "^0.1.2" - -material-colors@^1.2.1: - version "1.2.5" - resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.5.tgz#5292593e6754cb1bcc2b98030e4e0d6a3afc9ea1" - math-expression-evaluator@^1.2.14: - version "1.2.16" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz#b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9" + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" mdurl@~1.0.0, mdurl@~1.0.1: version "1.0.1" @@ -3611,7 +2599,7 @@ methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -micromatch@^2.1.5, micromatch@^2.3.7: +micromatch@^2.1.5: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -3629,15 +2617,15 @@ micromatch@^2.1.5, micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" -mime-db@~1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" +mime-db@~1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" -mime-types@^2.1.12, mime-types@~2.1.13, mime-types@~2.1.6, mime-types@~2.1.7: - version "2.1.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" +mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.6, mime-types@~2.1.7: + version "2.1.15" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: - mime-db "~1.26.0" + mime-db "~1.27.0" mime@1.3.4, mime@^1.3.4: version "1.3.4" @@ -3662,24 +2650,17 @@ minimatch@0.3: dependencies: brace-expansion "^1.0.0" -minimatch@^2.0.1, minimatch@^2.0.3: +minimatch@^2.0.3: version "2.0.10" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" dependencies: brace-expansion "^1.0.0" -minimatch@~0.2.11: - version "0.2.14" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -3687,7 +2668,7 @@ mkdirp@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -3706,37 +2687,19 @@ mocha@^2.5.3: jade "0.26.3" mkdirp "0.5.1" supports-color "1.2.0" - to-iso-string "0.0.2" - -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - -multipipe@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" - dependencies: - duplexer2 "0.0.2" - -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + to-iso-string "0.0.2" -nan@^2.3.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" -natives@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" +ms@0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" +nan@^2.3.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" ncname@1.0.x: version "1.0.0" @@ -3818,8 +2781,10 @@ nopt@^4.0.1: osenv "^0.1.4" normalize-path@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" normalize-range@^0.1.2: version "0.1.2" @@ -3857,24 +2822,10 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -nunjucks@>=2: - version "3.0.0" - resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.0.0.tgz#0a2a8fd2942a3ba04f5ba6684e4f7f7ceaca8305" - dependencies: - a-sync-waterfall "^1.0.0" - asap "^2.0.3" - yargs "^3.32.0" - optionalDependencies: - chokidar "^1.6.0" - oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" - object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -3898,16 +2849,6 @@ once@^1.3.0, once@^1.3.3: dependencies: wrappy "1" -once@~1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - optimist@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -3915,43 +2856,14 @@ optimist@~0.6.0: minimist "~0.0.1" wordwrap "~0.0.2" -optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -orchestrator@^0.3.0: - version "0.3.8" - resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" - dependencies: - end-of-stream "~0.1.5" - sequencify "~0.0.7" - stream-consume "~0.1.0" - -ordered-read-streams@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" - os-browserify@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" -os-homedir@^1.0.0, os-homedir@^1.0.1: +os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" - os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -3963,14 +2875,6 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -output-file-sync@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" - dependencies: - graceful-fs "^4.1.4" - mkdirp "^0.5.1" - object-assign "^4.1.0" - pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -3981,14 +2885,6 @@ param-case@^1.1.0: dependencies: sentence-case "^1.1.2" -parse-filepath@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" - dependencies: - is-absolute "^0.2.3" - map-cache "^0.2.0" - path-root "^0.1.1" - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -3998,10 +2894,6 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" @@ -4037,24 +2929,6 @@ path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - dependencies: - path-root-regex "^0.1.0" - path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -4067,17 +2941,13 @@ performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" dependencies: pinkie "^2.0.0" -pinkie@^2.0.0, pinkie@^2.0.4: +pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" @@ -4087,10 +2957,6 @@ pkg-dir@^1.0.0: dependencies: find-up "^1.0.0" -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" - postcss-calc@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" @@ -4321,18 +3187,14 @@ postcss-zindex@^2.0.1: uniqs "^2.0.0" postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: - version "5.2.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.16.tgz#732b3100000f9ff8379a48a53839ed097376ad57" + version "5.2.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" dependencies: chalk "^1.1.3" js-base64 "^2.1.9" source-map "^0.5.6" supports-color "^3.2.3" -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -4342,16 +3204,12 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" pretty-error@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.0.3.tgz#bed3d816a008e76da617cde8216f4b778849b5d9" + version "2.1.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8" dependencies: renderkid "^2.0.1" utila "~0.4" -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - prettyjson@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.1.3.tgz#d0787f732c9c3a566f4165fa4f1176fd67e6b263" @@ -4368,23 +3226,25 @@ process-nextick-args@~1.0.6: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" process@^0.11.0, process@~0.11.0: - version "0.11.9" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - promise@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" dependencies: asap "~2.0.3" +prop-types@^15.5.4, prop-types@^15.5.7, prop-types@~15.5.7: + version "15.5.8" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394" + dependencies: + fbjs "^0.8.9" + proxy-addr@~1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.0.10.tgz#0d40a82f801fc355567d2ecb65efe3f077f121c5" @@ -4405,8 +3265,8 @@ punycode@^1.2.4, punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" q@^1.1.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + version "1.5.0" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" qs@4.0.0: version "4.0.0" @@ -4417,8 +3277,8 @@ qs@~6.4.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" query-string@^4.1.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.2.tgz#ec0fd765f58a50031a3968c2431386f8947a5cdd" + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" @@ -4431,15 +3291,6 @@ querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" -radium@>=0.15: - version "0.18.2" - resolved "https://registry.yarnpkg.com/radium/-/radium-0.18.2.tgz#1e296966d0bcac6652085cbe84c7b8ed0196d7c1" - dependencies: - array-find "^1.0.0" - exenv "^1.2.1" - inline-style-prefixer "^2.0.5" - rimraf "^2.6.1" - randomatic@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" @@ -4456,43 +3307,14 @@ range-parser@~1.0.3: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz#6872823535c692e2c2a0103826afd82c2e0ff175" rc@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.7.tgz#c5ea564bb07aff9fd3a5b32e906c1d3a65940fea" + version "1.2.1" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" dependencies: deep-extend "~0.4.0" ini "~1.3.0" minimist "^1.2.0" strip-json-comments "~2.0.1" -react-ace@>=3: - version "4.1.6" - resolved "https://registry.yarnpkg.com/react-ace/-/react-ace-4.1.6.tgz#404e1439f45660b8797778ac77c6e26b060a9b79" - dependencies: - brace "^0.9.1" - lodash.isequal "^4.1.1" - -react-bluekit@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/react-bluekit/-/react-bluekit-0.4.2.tgz#1f63ba613edd9f1383250c24d33c9624ec1d8a6a" - dependencies: - color ">=0.10" - fuzzy ">=0.1" - gulp ">=3" - gulp-eslint "^3.0.1" - immutable "3.8.1" - lodash "^4.16.6" - nunjucks ">=2" - radium ">=0.15" - react-ace ">=3" - react-color ">=2" - react-copy-to-clipboard ">=4" - react-docgen ">=2.4" - react-docgen-typescript "https://github.com/imtoo/react-docgen-typescript.git" - react-highlight ">=0.5" - react-pure-render ">=1" - react-responsive "^1.1.3" - tosource ">=1" - react-codemirror@0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/react-codemirror/-/react-codemirror-0.2.6.tgz#e71e35717ce6effae68df1dbf2b5a75b84a44f84" @@ -4501,31 +3323,10 @@ react-codemirror@0.2.6: codemirror "^5.13.4" lodash.debounce "^4.0.4" -react-color@>=2: - version "2.11.4" - resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.11.4.tgz#43f64630e5d47a243f6bd35300224c9c69c73921" - dependencies: - lodash "^4.0.1" - material-colors "^1.2.1" - reactcss "^1.2.0" - tinycolor2 "^1.1.2" - -react-copy-to-clipboard@>=4: - version "4.2.3" - resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-4.2.3.tgz#268c5a0fbde9a95d96145014e7f85110b0e7fb8e" - dependencies: - copy-to-clipboard "^3" - react-deep-force-update@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.0.1.tgz#f911b5be1d2a6fe387507dd6e9a767aa2924b4c7" -"react-docgen-typescript@git+https://github.com/imtoo/react-docgen-typescript.git": - version "0.0.1-m01" - resolved "git+https://github.com/imtoo/react-docgen-typescript.git#5dad6a6cd683ec77e24b41041e2ee64856352ba4" - dependencies: - typescript "^1.8.10" - react-docgen@2.8.2: version "2.8.2" resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-2.8.2.tgz#681e4ab86b6deca2c1d65cae9351bc32378b0f6e" @@ -4538,33 +3339,14 @@ react-docgen@2.8.2: nomnom "^1.8.1" recast "^0.10.41" -react-docgen@>=2.4: - version "2.13.0" - resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-2.13.0.tgz#7fcc4a3104ea8d4fd428383ba38df11166837be9" - dependencies: - async "^1.4.2" - babel-runtime "^6.9.2" - babylon "~5.8.3" - commander "^2.9.0" - doctrine "^2.0.0" - node-dir "^0.1.10" - recast "^0.11.5" - -"react-dom@^0.14.0 || ^15.0.0", react-dom@^15.4.2: - version "15.4.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz#015363f05b0a1fd52ae9efdd3a0060d90695208f" +react-dom@^15.4.2: + version "15.5.4" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.4.tgz#ba0c28786fd52ed7e4f2135fe0288d462aef93da" dependencies: - fbjs "^0.8.1" + fbjs "^0.8.9" loose-envify "^1.1.0" object-assign "^4.1.0" - -react-highlight@>=0.5: - version "0.9.0" - resolved "https://registry.yarnpkg.com/react-highlight/-/react-highlight-0.9.0.tgz#d5edee744ccb8689f7938794b6a1b554bb150eb7" - dependencies: - highlight.js "^9.6.0" - react "^0.14.0 || ^15.0.0" - react-dom "^0.14.0 || ^15.0.0" + prop-types "~15.5.7" react-proxy@^1.1.7: version "1.1.8" @@ -4573,17 +3355,6 @@ react-proxy@^1.1.7: lodash "^4.6.1" react-deep-force-update "^1.0.0" -react-pure-render@>=1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/react-pure-render/-/react-pure-render-1.0.2.tgz#9d8a928c7f2c37513c2d064e57b3e3c356e9fabb" - -react-responsive@^1.1.3: - version "1.2.7" - resolved "https://registry.yarnpkg.com/react-responsive/-/react-responsive-1.2.7.tgz#c6fa23f7a28652d04dbf4d10e60ddbd46fc191a5" - dependencies: - hyphenate-style-name "^1.0.0" - matchmedia "^0.1.2" - react-styleguidist@^2.2.1: version "2.3.1" resolved "https://registry.yarnpkg.com/react-styleguidist/-/react-styleguidist-2.3.1.tgz#0c66af9e85811bd1662743f990d4def767eced32" @@ -4633,21 +3404,16 @@ react-transform-hmr@^1.0.3: global "^4.3.0" react-proxy "^1.1.7" -"react@^0.14.0 || ^15.0.0", react@^15.4.2: - version "15.4.2" - resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef" +react@^15.4.2: + version "15.5.4" + resolved "https://registry.yarnpkg.com/react/-/react-15.5.4.tgz#fa83eb01506ab237cdc1c8c3b1cea8de012bf047" dependencies: - fbjs "^0.8.4" + fbjs "^0.8.9" loose-envify "^1.1.0" object-assign "^4.1.0" + prop-types "^15.5.7" -reactcss@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.2.tgz#41b0ef43e01d54880357c34b11ac1531209350ef" - dependencies: - lodash "^4.0.1" - -readable-stream@1.0, "readable-stream@>=1.0.33-1 <1.1.0-0": +readable-stream@1.0: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -4656,7 +3422,7 @@ readable-stream@1.0, "readable-stream@>=1.0.33-1 <1.1.0-0": isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^1.0.27-1, readable-stream@^1.1.13, readable-stream@~1.1.9: +readable-stream@^1.0.27-1, readable-stream@^1.1.13: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" dependencies: @@ -4665,16 +3431,16 @@ readable-stream@^1.0.27-1, readable-stream@^1.1.13, readable-stream@~1.1.9: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2: - version "2.2.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.6.tgz#8b43aed76e71483938d12a8d46c6cf1a00b1f816" +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: + version "2.2.9" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" dependencies: - buffer-shims "^1.0.0" + buffer-shims "~1.0.0" core-util-is "~1.0.0" inherits "~2.0.1" isarray "~1.0.0" process-nextick-args "~1.0.6" - string_decoder "~0.10.x" + string_decoder "~1.0.0" util-deprecate "~1.0.1" readable-stream@~2.0.0: @@ -4697,14 +3463,6 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - recast@^0.10.41: version "0.10.43" resolved "https://registry.yarnpkg.com/recast/-/recast-0.10.43.tgz#b95d50f6d60761a5f6252e15d80678168491ce7f" @@ -4714,27 +3472,13 @@ recast@^0.10.41: private "~0.1.5" source-map "~0.5.0" -recast@^0.11.5: - version "0.11.23" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" - dependencies: - ast-types "0.9.6" - esprima "~3.1.0" - private "~0.1.5" - source-map "~0.5.0" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - redbox-react@^1.2.2: - version "1.3.4" - resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.3.4.tgz#3d882bb62cc7c8f6256279d12f05c6a5a96d24c6" + version "1.3.6" + resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.3.6.tgz#70314c57c066257eb70b0a24dc794b5cef4f1c4e" dependencies: error-stack-parser "^1.3.6" object-assign "^4.0.1" + prop-types "^15.5.4" reduce-css-calc@^1.2.6: version "1.3.0" @@ -4750,26 +3494,17 @@ reduce-function-call@^1.0.1: dependencies: balanced-match "^0.4.2" -redux@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/redux/-/redux-3.6.0.tgz#887c2b3d0b9bd86eca2be70571c27654c19e188d" - dependencies: - lodash "^4.2.1" - lodash-es "^4.2.1" - loose-envify "^1.1.0" - symbol-observable "^1.0.2" - regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" regenerator-runtime@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" -regenerator-transform@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" +regenerator-transform@0.9.11: + version "0.9.11" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" dependencies: babel-runtime "^6.18.0" babel-types "^6.19.0" @@ -4812,6 +3547,10 @@ relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" +remove-trailing-separator@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" + renderkid@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" @@ -4836,10 +3575,6 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -4867,44 +3602,13 @@ request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -require-uncached@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - -resolve-dir@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" - -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - -resolve@^1.1.6, resolve@^1.1.7: - version "1.3.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235" - dependencies: - path-parse "^1.0.5" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: +rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: @@ -4914,16 +3618,6 @@ ripemd160@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" @@ -4936,10 +3630,6 @@ semver-utils@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/semver-utils/-/semver-utils-1.1.1.tgz#27d92fec34d27cfa42707d3b40d025ae9855f2df" -semver@^4.1.0: - version "4.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" - semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -4984,10 +3674,6 @@ sentence-case@^1.1.1, sentence-case@^1.1.2: dependencies: lower-case "^1.1.1" -sequencify@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" - serve-static@~1.10.2: version "1.10.3" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535" @@ -5016,14 +3702,6 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@^0.7.5: - version "0.7.7" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" @@ -5032,20 +3710,10 @@ signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - dependencies: - is-arrayish "^0.3.1" - slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - snake-case@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-1.1.2.tgz#0c2f25e305158d9a18d3d977066187fef8a5a66a" @@ -5068,9 +3736,9 @@ source-list-map@^0.1.4, source-list-map@~0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" -source-map-support@^0.4.0, source-map-support@^0.4.11, source-map-support@^0.4.2: - version "0.4.14" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef" +source-map-support@^0.4.15, source-map-support@^0.4.2: + version "0.4.15" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: source-map "^0.5.6" @@ -5084,17 +3752,13 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, sour version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" -sparkles@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.11.0.tgz#2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77" + version "1.13.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5122,10 +3786,6 @@ stream-browserify@^1.0.0: inherits "~2.0.1" readable-stream "^1.0.27-1" -stream-consume@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -5138,17 +3798,16 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^3.0.0" - string_decoder@~0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" +string_decoder@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" + dependencies: + buffer-shims "~1.0.0" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -5163,18 +3822,7 @@ strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" -strip-bom@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" - dependencies: - first-chunk-stream "^1.0.0" - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: +strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -5217,21 +3865,6 @@ swap-case@^1.1.0: lower-case "^1.1.1" upper-case "^1.1.1" -symbol-observable@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" - -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" - dependencies: - ajv "^4.7.0" - ajv-keywords "^1.0.0" - chalk "^1.1.1" - lodash "^4.0.0" - slice-ansi "0.0.4" - string-width "^2.0.0" - tapable@^0.1.8, tapable@~0.1.8: version "0.1.10" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" @@ -5261,48 +3894,12 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" -text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -through2@^0.6.1: - version "0.6.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" - dependencies: - readable-stream ">=1.0.33-1 <1.1.0-0" - xtend ">=4.0.0 <4.1.0-0" - -through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -tildify@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" - dependencies: - os-homedir "^1.0.0" - -time-stamp@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" - timers-browserify@^1.0.1: version "1.4.2" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" dependencies: process "~0.11.0" -tinycolor2@^1.1.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" - title-case@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/title-case/-/title-case-1.1.2.tgz#fae4a6ae546bfa22d083a0eea910a40d12ed4f5a" @@ -5311,25 +3908,17 @@ title-case@^1.1.0: upper-case "^1.0.3" to-fast-properties@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" to-iso-string@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" -toggle-selection@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.5.tgz#726c703de607193a73c32c7df49cd24950fc574f" - toposort@^0.2.12: version "0.2.12" resolved "https://registry.yarnpkg.com/toposort/-/toposort-0.2.12.tgz#c7d2984f3d48c217315cc32d770888b779491e81" -tosource@>=1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tosource/-/tosource-1.0.0.tgz#42d88dd116618bcf00d6106dd5446f3427902ff1" - tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" @@ -5340,34 +3929,6 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" -tryit@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" - -ts-node@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-2.1.2.tgz#45087b45e7b371b3daf04ecc470ec29a836655ea" - dependencies: - arrify "^1.0.0" - chalk "^1.1.1" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - pinkie "^2.0.4" - source-map-support "^0.4.0" - tsconfig "^6.0.0" - v8flags "^2.0.11" - xtend "^4.0.0" - yn "^1.2.0" - -tsconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032" - dependencies: - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -5382,12 +3943,6 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - type-detect@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" @@ -5397,23 +3952,19 @@ type-detect@^1.0.0: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" type-is@~1.6.6: - version "1.6.14" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" + version "1.6.15" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" dependencies: media-typer "0.3.0" - mime-types "~2.1.13" + mime-types "~2.1.15" -typedarray@^0.0.6, typedarray@~0.0.5: +typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript@^1.8.10: - version "1.8.10" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-1.8.10.tgz#b475d6e0dff0bf50f296e5ca6ef9fbb5c7320f1e" - typescript@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.1.tgz#4862b662b988a4c8ff691cc7969622d24db76ae9" + version "2.3.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.2.tgz#f0f045e196f69a72f06b25fd3bd39d01c3ce9984" ua-parser-js@^0.7.9: version "0.7.12" @@ -5440,10 +3991,6 @@ uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" -unc-path-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" @@ -5462,10 +4009,6 @@ uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" -unique-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" - unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -5487,16 +4030,6 @@ url@~0.10.1: punycode "1.3.2" querystring "0.2.0" -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -5523,12 +4056,6 @@ uuid@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" -v8flags@^2.0.10, v8flags@^2.0.11, v8flags@^2.0.2: - version "2.0.11" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" - dependencies: - user-home "^1.1.1" - vary@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10" @@ -5543,44 +4070,12 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" -vinyl-fs@^0.3.0: - version "0.3.14" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" - dependencies: - defaults "^1.0.0" - glob-stream "^3.1.5" - glob-watcher "^0.0.6" - graceful-fs "^3.0.0" - mkdirp "^0.5.0" - strip-bom "^1.0.0" - through2 "^0.6.1" - vinyl "^0.4.0" - -vinyl@^0.4.0: - version "0.4.6" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" - dependencies: - clone "^0.2.0" - clone-stats "^0.0.1" - -vinyl@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" dependencies: indexof "0.0.1" -w3c-blob@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/w3c-blob/-/w3c-blob-0.0.1.tgz#b0cd352a1a50f515563420ffd5861f950f1d85b8" - watchpack@^0.2.1: version "0.2.9" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b" @@ -5649,12 +4144,6 @@ whet.extend@~0.9.9: version "0.9.9" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" -which@^1.2.12: - version "1.2.12" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" - dependencies: - isexe "^1.1.1" - wide-align@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" @@ -5665,10 +4154,6 @@ window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" -window-size@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -5677,51 +4162,14 @@ wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - dependencies: - mkdirp "^0.5.1" - xml-char-classes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -y18n@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yargs@^3.32.0: - version "3.32.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" - dependencies: - camelcase "^2.0.1" - cliui "^3.0.3" - decamelize "^1.1.1" - os-locale "^1.4.0" - string-width "^1.0.1" - window-size "^0.1.4" - y18n "^3.2.0" - yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" @@ -5730,7 +4178,3 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" - -yn@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-1.2.0.tgz#d237a4c533f279b2b89d3acac2db4b8c795e4a63" From a8cbf01ff33778ddcbeff2f58ae6963e9901ecac Mon Sep 17 00:00:00 2001 From: Pavel Vasek Date: Wed, 3 May 2017 23:18:51 +0200 Subject: [PATCH 3/4] fixing test --- src/transformAST.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/transformAST.ts b/src/transformAST.ts index f77af1bf..a8137bab 100644 --- a/src/transformAST.ts +++ b/src/transformAST.ts @@ -56,7 +56,7 @@ function getProperties(checker: ts.TypeChecker, type: ts.Type, interfaceDeclarat const typeInfo = getType(prop); return { name: i.getName(), - text: i.valueDeclaration.getText(), + // text: i.valueDeclaration.getText(), type: typeInfo.type, values: typeInfo.values || [], isRequired: !prop.questionToken, From 522af6df263dcbc36a06688e1fe498a02e76af58 Mon Sep 17 00:00:00 2001 From: Pavel Vasek Date: Wed, 3 May 2017 23:32:51 +0200 Subject: [PATCH 4/4] version updated --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a1811cdd..c27b1c65 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-docgen-typescript", - "version": "0.1.9", + "version": "0.0.9", "description": "", "main": "lib/index.js", "scripts": {