From 70794c507f0d5309acf043fb6b25d1739b8fdcf0 Mon Sep 17 00:00:00 2001 From: Brian Hough Date: Sat, 26 Aug 2017 10:43:59 -0700 Subject: [PATCH] feat(Typescript): Typescript Defs and Flow Improvements (#236) * feat(Typescript): Typescript Defs and Flow Improvements * feat(Typescript): Add readableColor to Typescript tests * fix(Docs): Rebuild docs --- .travis.yml | 3 + docs/assets/polished.js | 47 ++- docs/docs/index.html | 164 ++++++----- package.json | 11 +- src/color/readableColor.js | 1 - src/helpers/em.js | 5 +- src/helpers/rem.js | 5 +- src/mixins/radialGradient.js | 2 +- src/mixins/triangle.js | 2 +- typescript-test.ts | 150 ++++++++++ yarn.lock | 540 ++++++++++++++++++++++++++++++++++- 11 files changed, 840 insertions(+), 90 deletions(-) create mode 100644 typescript-test.ts diff --git a/.travis.yml b/.travis.yml index 8c6a1f7e..190729d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,9 @@ script: - npm test - npm run lint - npm run flow + - npm run build:flow + - npm run build:typescript + - npm run typescript after_success: - codecov - 'curl -Lo travis_after_all.py https://git.io/travis_after_all' diff --git a/docs/assets/polished.js b/docs/assets/polished.js index c98ef6fa..5ea4c757 100644 --- a/docs/assets/polished.js +++ b/docs/assets/polished.js @@ -96,12 +96,12 @@ var endsWith = function (string, suffix) { * @example * // Styles as object usage * const styles = { - * '--dimension': stripUnit(100px) + * '--dimension': stripUnit('100px') * } * * // styled-components usage * const div = styled.div` - * --dimension: ${stripUnit(100px)} + * --dimension: ${stripUnit('100px')} * ` * * // CSS in JS Output @@ -2201,6 +2201,48 @@ var curriedOpacify = /*#__PURE__*/curry(opacify); // eslint-disable-line spaced- // +var h = function h(c) { + return c / 255 <= 0.03928 ? c / 255 / 12.92 : Math.pow((c / 255 + 0.055) / 1.055, 2.4); +}; + +/** + * Selects black or white for best contrast depending on the luminosity of the given color. + * Follows W3C specs for readability at https://www.w3.org/TR/WCAG20-TECHS/G18.html + * + * @example + * // Styles as object usage + * const styles = { + * color: readableColor('#000'), + * color: readableColor('papayawhip'), + * color: readableColor('rgb(255,0,0)'), + * } + * + * // styled-components usage + * const div = styled.div` + * color: ${readableColor('#000')}; + * color: ${readableColor('papayawhip')}; + * color: ${readableColor('rgb(255,0,0)')}; + * ` + * + * // CSS in JS Output + * + * element { + * color: "#fff"; + * color: "#fff"; + * color: "#000"; + * } + */ + +function readableColor(color) { + var c = parseToRgb(color); + return h(c.red) * 0.2126 + h(c.green) * 0.7152 + h(c.blue) * 0.0722 > 0.179 ? '#000' : '#fff'; +} + +// Don’t inline this variable into export because Rollup will remove the /*#__PURE__*/ comment +var curriedReadableColor = /*#__PURE__*/curry(readableColor); // eslint-disable-line spaced-comment + +// + /** * Increases the intensity of a color. Its range is between 0 to 1. The first * argument of the saturate function is the amount by how much the color @@ -3072,6 +3114,7 @@ exports.parseToRgb = parseToRgb; exports.placeholder = placeholder; exports.position = position; exports.radialGradient = radialGradient; +exports.readableColor = curriedReadableColor; exports.rem = rem; exports.retinaImage = retinaImage; exports.rgb = rgb; diff --git a/docs/docs/index.html b/docs/docs/index.html index f0068b91..21fd4fe0 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -855,7 +855,7 @@

- + src/mixins/clearFix.js @@ -946,7 +946,7 @@

- + src/mixins/ellipsis.js @@ -1040,7 +1040,7 @@

- + src/mixins/fontFace.js @@ -1207,7 +1207,7 @@

- + src/mixins/hiDPI.js @@ -1304,7 +1304,7 @@

- + src/mixins/hideText.js @@ -1384,7 +1384,7 @@

- + src/mixins/normalize.js @@ -1472,7 +1472,7 @@

- + src/mixins/placeholder.js @@ -1580,7 +1580,7 @@

- + src/mixins/radialGradient.js @@ -1590,7 +1590,7 @@

CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.

-
radialGradient($0: Object)
+
radialGradient($0: Object): Object
@@ -1664,6 +1664,11 @@

+ +
Returns
+ Object + + @@ -1720,7 +1725,7 @@

- + src/mixins/retinaImage.js @@ -1850,7 +1855,7 @@

- + src/mixins/selection.js @@ -1954,7 +1959,7 @@

- + src/mixins/timingFunctions.js @@ -2042,7 +2047,7 @@

- + src/mixins/triangle.js @@ -2052,7 +2057,7 @@

CSS to represent triangle with any pointing direction with an optional background color. Accepts number or px values for height and width.

-
triangle($0: Object)
+
triangle($0: Object): Object
@@ -2128,6 +2133,11 @@

+ +
Returns
+ Object + + @@ -2180,7 +2190,7 @@

- + src/mixins/wordWrap.js @@ -2283,7 +2293,7 @@

- + src/color/adjustHue.js @@ -2383,7 +2393,7 @@

- + src/color/complement.js @@ -2473,7 +2483,7 @@

- + src/color/darken.js @@ -2572,7 +2582,7 @@

- + src/color/desaturate.js @@ -2672,7 +2682,7 @@

- + src/color/grayscale.js @@ -2762,7 +2772,7 @@

- + src/color/hsl.js @@ -2869,7 +2879,7 @@

- + src/color/hsla.js @@ -2987,7 +2997,7 @@

- + src/color/invert.js @@ -3078,7 +3088,7 @@

- + src/color/lighten.js @@ -3177,7 +3187,7 @@

- + src/color/mix.js @@ -3292,7 +3302,7 @@

- + src/color/opacify.js @@ -3394,7 +3404,7 @@

- + src/color/parseToHsl.js @@ -3473,7 +3483,7 @@

- + src/color/parseToRgb.js @@ -3552,7 +3562,7 @@

- + src/color/readableColor.js @@ -3647,7 +3657,7 @@

- + src/color/rgb.js @@ -3754,7 +3764,7 @@

- + src/color/rgba.js @@ -3879,7 +3889,7 @@

- + src/color/saturate.js @@ -3980,7 +3990,7 @@

- + src/color/setHue.js @@ -4079,7 +4089,7 @@

- + src/color/setLightness.js @@ -4178,7 +4188,7 @@

- + src/color/setSaturation.js @@ -4277,7 +4287,7 @@

- + src/color/shade.js @@ -4375,7 +4385,7 @@

- + src/color/tint.js @@ -4473,7 +4483,7 @@

- + src/color/transparentize.js @@ -4587,7 +4597,7 @@

- + src/shorthands/animation.js @@ -4693,7 +4703,7 @@

- + src/shorthands/backgroundImages.js @@ -4781,7 +4791,7 @@

- + src/shorthands/backgrounds.js @@ -4869,7 +4879,7 @@

- + src/shorthands/borderColor.js @@ -4960,7 +4970,7 @@

- + src/shorthands/borderRadius.js @@ -5057,7 +5067,7 @@

- + src/shorthands/borderStyle.js @@ -5148,7 +5158,7 @@

- + src/shorthands/borderWidth.js @@ -5239,7 +5249,7 @@

- + src/shorthands/buttons.js @@ -5334,7 +5344,7 @@

- + src/shorthands/margin.js @@ -5425,7 +5435,7 @@

- + src/shorthands/padding.js @@ -5516,7 +5526,7 @@

- + src/shorthands/position.js @@ -5635,7 +5645,7 @@

- + src/shorthands/size.js @@ -5733,7 +5743,7 @@

- + src/shorthands/textInputs.js @@ -5840,7 +5850,7 @@

- + src/shorthands/transitions.js @@ -5940,7 +5950,7 @@

- + src/helpers/directionalProperty.js @@ -6039,7 +6049,7 @@

- + src/helpers/em.js @@ -6052,6 +6062,11 @@

em(pxval: (string | number), base: (string | number)?)
+

+ Type: + function (value: (string | number), base: (string | number)): string +

+ @@ -6132,7 +6147,7 @@

- + src/helpers/modularScale.js @@ -6240,7 +6255,7 @@

- + src/helpers/rem.js @@ -6253,6 +6268,11 @@

rem(pxval: (string | number), base: (string | number)?)
+

+ Type: + function (value: (string | number), base: (string | number)): string +

+ @@ -6333,7 +6353,7 @@

- + src/helpers/stripUnit.js @@ -6385,12 +6405,12 @@

// Styles as object usage
 const styles = {
-  '--dimension': stripUnit(100px)
+  '--dimension': stripUnit('100px')
 }
 
 // styled-components usage
 const div = styled.div`
-  --dimension: ${stripUnit(100px)}
+  --dimension: ${stripUnit('100px')}
 `
 
 // CSS in JS Output
@@ -6433,7 +6453,7 @@ 

- + src/shorthands/animation.js @@ -6487,7 +6507,7 @@

- + src/mixins/fontFace.js @@ -6600,7 +6620,7 @@

- + src/types/color.js @@ -6677,7 +6697,7 @@

- + src/types/color.js @@ -6760,7 +6780,7 @@

- + src/types/interactionState.js @@ -6814,7 +6834,7 @@

- + src/mixins/triangle.js @@ -6868,7 +6888,7 @@

- + src/mixins/radialGradient.js @@ -6957,7 +6977,7 @@

- + src/helpers/modularScale.js @@ -7011,7 +7031,7 @@

- + src/types/color.js @@ -7094,7 +7114,7 @@

- + src/types/color.js @@ -7171,7 +7191,7 @@

- + src/mixins/timingFunctions.js @@ -7225,7 +7245,7 @@

- + src/color/toColorString.js @@ -7323,7 +7343,7 @@

- + src/types/modularScaleRatio.js diff --git a/package.json b/package.json index 87d70ec6..1cd567d1 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,9 @@ "main": "lib/index.js", "jsnext:main": "dist/polished.es.js", "module": "dist/polished.es.js", + "types": "lib/index.d.ts", "scripts": { - "build": "npm run build:lib && npm run build:dist && npm run build:flow && npm run build:docs", + "build": "npm run build:lib && npm run build:dist && npm run build:flow && npm run build:docs && npm run build:typescript", "prebuild:lib": "shx rm -rf lib/*", "build:lib": "babel --out-dir lib src --ignore test.js", "prebuild:umd": "shx rm -rf dist/*", @@ -18,13 +19,15 @@ "postbuild:docs:site": "shx cp CNAME docs/CNAME && shx cp dist/polished.js docs/assets/", "build:watch": "npm-watch", "build:flow": "flow-copy-source -v -i '{**/test/*.js,**/*.test.js}' src lib", + "build:typescript": "tsgen \"lib/**/*.js.flow\" --ignore \"lib/**/_*.js.flow\"", "test": "jest src", + "typescript": "tsc ./typescript-test.ts --noEmit --target es6 --module es2015 --moduleResolution node", "precommit": "lint-staged --verbose", "postcommit": "validate-commit-msg", "lint": "eslint src", "flow": "flow check && flow-coverage-report -i 'src/**/!(*.test).js'", "docs": "pushstate-server docs", - "prepublish": "npm run build" + "prepublish": "npm run build && npm run typescript" }, "lint-staged": { "src/**/!(*.test).js": [ @@ -113,5 +116,9 @@ "jest": { "coverageDirectory": "./coverage/", "collectCoverage": true + }, + "dependencies": { + "tsgen": "^1.0.0", + "typescript": "^2.4.2" } } diff --git a/src/color/readableColor.js b/src/color/readableColor.js index ca7e0592..aa555171 100644 --- a/src/color/readableColor.js +++ b/src/color/readableColor.js @@ -1,5 +1,4 @@ // @flow - import parseToRgb from './parseToRgb' import curry from '../internalHelpers/_curry' diff --git a/src/helpers/em.js b/src/helpers/em.js index 2f89abbf..35e54157 100644 --- a/src/helpers/em.js +++ b/src/helpers/em.js @@ -26,5 +26,8 @@ import pixelsto from '../internalHelpers/_pxto' */ // Don’t inline this variable into export because Rollup will remove the /*#__PURE__*/ comment -const em = /*#__PURE__*/ pixelsto('em') // eslint-disable-line spaced-comment +const em: ( + value: string | number, + base?: string | number, +) => string = /* #__PURE__*/ pixelsto('em') // eslint-disable-line spaced-comment export default em diff --git a/src/helpers/rem.js b/src/helpers/rem.js index 75bd0ced..1f4c7931 100644 --- a/src/helpers/rem.js +++ b/src/helpers/rem.js @@ -27,5 +27,8 @@ import pixelsto from '../internalHelpers/_pxto' */ // Don’t inline this variable into export because Rollup will remove the /*#__PURE__*/ comment -const rem = /*#__PURE__*/ pixelsto('rem') // eslint-disable-line spaced-comment +const rem: ( + value: string | number, + base?: string | number, +) => string = /*#__PURE__*/ pixelsto('rem') // eslint-disable-line spaced-comment export default rem diff --git a/src/mixins/radialGradient.js b/src/mixins/radialGradient.js index eaae8384..7615d34c 100644 --- a/src/mixins/radialGradient.js +++ b/src/mixins/radialGradient.js @@ -81,7 +81,7 @@ function radialGradient({ fallback, position, shape, -}: RadialGradientConfiguration) { +}: RadialGradientConfiguration): Object { if (!colorStops || colorStops.length < 2) { throw new Error( 'radialGradient requries at least 2 color-stops to properly render.', diff --git a/src/mixins/triangle.js b/src/mixins/triangle.js index e109e08d..e0fce634 100644 --- a/src/mixins/triangle.js +++ b/src/mixins/triangle.js @@ -75,7 +75,7 @@ function triangle({ width, foregroundColor, backgroundColor = 'transparent', -}: TriangleArgs) { +}: TriangleArgs): Object { const unitlessHeight = parseFloat(height) const unitlessWidth = parseFloat(width) if (isNaN(unitlessHeight) || isNaN(unitlessWidth)) { diff --git a/typescript-test.ts b/typescript-test.ts new file mode 100644 index 00000000..37402647 --- /dev/null +++ b/typescript-test.ts @@ -0,0 +1,150 @@ +import * as polished from "./lib/index"; + +/* + * Mixins + */ +let clearFix: object = polished.clearFix(); +clearFix = polished.clearFix("&"); + +let ellipsis: object = polished.ellipsis(); +ellipsis = polished.ellipsis("250px"); + +const fontFace: object = polished.fontFace({ + fontFamily: "Sans-Pro", + fontFilePath: "path/to/file", + fontStretch: "", + fontStyle: "", + fontVariant: "", + fontWeight: "", + fileFormats: [""], + localFonts: [""], + unicodeRange: "" +}); + +const hideText: object = polished.hideText(); + +let hiDPI: string = polished.hiDPI(); +hiDPI = polished.hiDPI(1.5); + +let normalize: object = polished.normalize(); +normalize = polished.normalize(true); + +let placeholder: object = polished.placeholder({}); +placeholder = polished.placeholder({}, ""); + +const radialGradient: object = polished.radialGradient({ + colorStops: ["#00FFFF 0%", "rgba(0, 0, 255, 0) 50%", "#0000FF 95%"], + extent: "farthest-corner at 45px 45px", + position: "center", + shape: "ellipse", + fallback: "" +}); + +let retinaImage: object = polished.retinaImage(""); +retinaImage = polished.retinaImage("", ""); +retinaImage = polished.retinaImage("", "", ""); +retinaImage = polished.retinaImage("", "", "", ""); +retinaImage = polished.retinaImage("", "", "", "", ""); + +let selection: object = polished.selection({}); +selection = polished.selection({}, ""); + +const timingFunctions = polished.timingFunctions("easeInBack"); + +const triangle = polished.triangle({ + backgroundColor: "red", + foregroundColor: "red", + pointingDirection: "right", + width: 100, + height: 100, +}); + +let wordWrap: object = polished.wordWrap(); +wordWrap = polished.wordWrap(""); + +/* + * Colors + */ +const adjustHue: string = polished.adjustHue(180, "#448"); +const complement: string = polished.complement("#448"); +const darken: string = polished.darken(0.2, "#FFCD64"); +const desaturate: string = polished.desaturate(0.2, "#CCCD64"); +const grayscale: string = polished.grayscale("#CCCD64"); + +let hsl: string = polished.hsl(359, 0.75, 0.4); +hsl = polished.hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }); + +let hsla: string = polished.hsla(359, 0.75, 0.4, 0.7); +hsla = polished.hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.7 }); + +const invert: string = polished.invert("#CCCD64"); +const lighten: string = polished.lighten(0.2, "#CCCD64"); +const mix: string = polished.mix(0.5, "#f00", "#00f"); +const opacify: string = polished.opacify(0.1, "rgba(255, 255, 255, 0.9)"); +const parseToHsl = polished.parseToHsl("rgb(255, 0, 0)"); +const parseToRgb = polished.parseToRgb("rgb(255, 0, 0)"); +const readableColor = polished.readableColor("rgb(255,0,0)"); + +let rgb: string = polished.rgb(255, 205, 100); +rgb = polished.rgb({ red: 255, green: 205, blue: 100 }); + +let rgba: string = polished.rgba(255, 205, 100, 0.7); +rgba = polished.rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }); + +const saturate: string = polished.saturate(0.2, "#CCCD64"); +const setHue: string = polished.setHue(42, "#CCCD64"); +const setLightness: string = polished.setLightness(0.2, "#CCCD64"); +const setSaturation: string = polished.setSaturation(0.2, "#CCCD64"); +const shade: string = polished.shade(0.25, "#00f"); +const tint: string = polished.tint(0.25, "#00f"); + +let toColorString: string = polished.toColorString({ red: 255, green: 205, blue: 100 }); +toColorString = polished.toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }); +toColorString = polished.toColorString({ hue: 240, saturation: 1, lightness: 0.5 }); +toColorString = polished.toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }); + +const transparentize: string = polished.transparentize(0.1, "#fff"); + +/* + * Shorthands + */ +const animation: object = polished.animation(["rotate", 1, "ease-in-out"], ["colorchange", "2s"]); +const backgroundImages: object = polished.backgroundImages("url('/image/background.jpg')", "linear-gradient(red, green)"); +const backgrounds: object = polished.backgrounds("url('/image/background.jpg')", "linear-gradient(red, green)", "center no-repeat"); +const borderColor: object = polished.borderColor("red", null, undefined, "green"); +const borderRadius: object = polished.borderRadius("top", "5px"); +const borderStyle: object = polished.borderStyle("solid", null, undefined, "dashed"); +const borderWidth: object = polished.borderWidth("12px", null, undefined, "24px"); +const buttons: string = polished.buttons(null, undefined, "active"); +const margin: object = polished.margin("12px", null, undefined, "24px"); +const padding: object = polished.padding("12px", null, undefined, "24px"); + +let position: object = polished.position(null); +polished.position("absolute", "12px", null, undefined, "24px"); +position = polished.position(null, "12px", null, undefined, "24px"); +position = polished.position(undefined, "12px", null, undefined, "24px"); + +let size: object = polished.size(""); +size = polished.size("", ""); + +const textInputs: string = polished.textInputs("active", null, undefined); +const transitions: object = polished.transitions("opacity 1.0s ease-in 0s", "width 2.0s ease-in 2s"); + +/* + * Helpers + */ +const directionalProperty: object = polished.directionalProperty("padding", "12px", null, undefined, "24px"); + +let em: string = polished.em("12px"); +em = polished.em(12); + +let rem: string = polished.rem("12px"); +rem = polished.rem(12); + +let modularScale: string = polished.modularScale(2); +modularScale = polished.modularScale(2, 2); +modularScale = polished.modularScale(2, ""); +modularScale = polished.modularScale(2, 2, 5); +modularScale = polished.modularScale(2, 2, "minorSecond"); + +const stripUnit: number | string = polished.stripUnit("100px"); diff --git a/yarn.lock b/yarn.lock index 4d865f4b..3d8f1506 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,34 @@ # yarn lockfile v1 +"@types/babel-code-frame@^6.20.1": + version "6.20.1" + resolved "https://registry.yarnpkg.com/@types/babel-code-frame/-/babel-code-frame-6.20.1.tgz#e79a40ea81435034df7b46b5e32e8ed638aea4dd" + +"@types/babel-types@*", "@types/babel-types@^6.7.16": + version "6.25.1" + resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-6.25.1.tgz#ce8f126a4403e11e1b0033a424f11638afac7889" + +"@types/babylon@^6.16.1": + version "6.16.2" + resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.2.tgz#062ce63b693d9af1c246f5aedf928bc9c30589c8" + dependencies: + "@types/babel-types" "*" + +"@types/micromatch@^2.3.29": + version "2.3.29" + resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-2.3.29.tgz#6ce0280fe96f500127f0c8c0addf2d3f207e8cec" + dependencies: + "@types/parse-glob" "*" + +"@types/node@^7.0.31": + version "7.0.43" + resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.43.tgz#a187e08495a075f200ca946079c914e1a5fe962c" + +"@types/parse-glob@*": + version "3.0.29" + resolved "https://registry.yarnpkg.com/@types/parse-glob/-/parse-glob-3.0.29.tgz#6a40ec7ebd2418ee69ee397e48e42169268a10bf" + JSONStream@^1.0.3: version "1.3.1" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" @@ -131,10 +159,22 @@ arr-diff@^2.0.0: dependencies: arr-flatten "^1.0.1" +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + arr-flatten@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" +arr-flatten@^1.0.3: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + array-differ@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" @@ -161,6 +201,10 @@ array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + array.prototype.find@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.0.tgz#56a9ab1edde2a7701ed6d9166acec338919d8430" @@ -172,6 +216,10 @@ arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" +asap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d" + asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -206,6 +254,10 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" +atob@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" + aws-sign2@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" @@ -1096,6 +1148,10 @@ babylon@^6.17.2: version "6.17.4" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" +babylon@^6.17.4: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + bail@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.1.tgz#912579de8b391aadf3c5fdf4cd2a0fc225df3bc2" @@ -1104,6 +1160,26 @@ balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" +barrage@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/barrage/-/barrage-1.1.0.tgz#6f5384765c463f7718012f160dccf033fc6fc394" + dependencies: + promise "^6.0.0" + +base@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.1.tgz#b36a7f11113853a342a15691d98e2dcc8a6cc270" + dependencies: + arr-union "^3.1.0" + cache-base "^0.8.4" + class-utils "^0.3.4" + component-emitter "^1.2.1" + define-property "^0.2.5" + isobject "^2.1.0" + lazy-cache "^2.0.1" + mixin-deep "^1.1.3" + pascalcase "^0.1.1" + bcrypt-pbkdf@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" @@ -1154,6 +1230,22 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" +braces@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.2.2.tgz#241f868c2b2690d9febeee5a7c83fbbf25d00b1b" + dependencies: + arr-flatten "^1.0.3" + array-unique "^0.3.2" + define-property "^1.0.0" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.0" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^2.1.0" + to-regex "^3.0.1" + browser-resolve@^1.11.0, browser-resolve@^1.11.2, browser-resolve@^1.7.0: version "1.11.2" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" @@ -1189,6 +1281,21 @@ bytes@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" +cache-base@^0.8.4: + version "0.8.5" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-0.8.5.tgz#60ceb3504021eceec7011fd3384b7f4e95729bfa" + dependencies: + collection-visit "^0.2.1" + component-emitter "^1.2.1" + get-value "^2.0.5" + has-value "^0.3.1" + isobject "^3.0.0" + lazy-cache "^2.0.1" + set-value "^0.4.2" + to-object-path "^0.3.0" + union-value "^0.2.3" + unset-value "^0.1.1" + caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" @@ -1290,6 +1397,16 @@ circular-json@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" +class-utils@^0.3.4: + version "0.3.5" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.5.tgz#17e793103750f9627b2176ea34cfd1b565903c80" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + lazy-cache "^2.0.2" + static-extend "^0.1.1" + cli-cursor@^1.0.1, cli-cursor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" @@ -1376,6 +1493,14 @@ collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.2.tgz#9c463fb9c6d190d2dcae21a356a01bcae9eeef6d" +collection-visit@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-0.2.3.tgz#2f62483caecc95f083b9a454a3ee9e6139ad7957" + dependencies: + lazy-cache "^2.0.1" + map-visit "^0.1.5" + object-visit "^0.3.4" + colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" @@ -1418,6 +1543,10 @@ commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + compressible@~2.0.8: version "2.0.10" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" @@ -1509,6 +1638,10 @@ convert-source-map@^1.1.0, convert-source-map@^1.1.1: version "1.4.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3" +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -1617,7 +1750,7 @@ debug@^2.1.1, debug@^2.2.0: dependencies: ms "0.7.2" -debug@~2.6.7: +debug@^2.3.3, debug@~2.6.7: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: @@ -1648,6 +1781,18 @@ define-properties@^1.1.2: foreach "^2.0.5" object-keys "^1.0.8" +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" @@ -2175,6 +2320,18 @@ expand-brackets@^0.1.4: dependencies: is-posix-bracket "^0.1.0" +expand-brackets@^2.0.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" @@ -2197,6 +2354,19 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" +extglob@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-1.1.0.tgz#0678b4e2ce45c0e4e50f5e5eafb1b0dab5b4e424" + dependencies: + array-unique "^0.3.2" + define-property "^0.2.5" + expand-brackets "^2.0.1" + extend-shallow "^2.0.1" + fragment-cache "^0.2.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^2.1.0" + extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" @@ -2264,6 +2434,15 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + finalhandler@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.0.tgz#b5691c2c0912092f18ac23e9416bde5cd7dc6755" @@ -2348,7 +2527,7 @@ flow-remove-types@^1.1.0: babylon "^6.15.0" vlq "^0.2.1" -for-in@^1.0.1: +for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -2374,6 +2553,12 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" +fragment-cache@^0.2.0, fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + fresh@0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.2.4.tgz#3582499206c9723714190edd74b4604feb4a614c" @@ -2467,6 +2652,10 @@ get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" +get-value@^2.0.3, get-value@^2.0.5, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + getpass@^0.1.1: version "0.1.6" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" @@ -2648,6 +2837,18 @@ has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + has@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" @@ -2840,6 +3041,12 @@ is-absolute@^0.2.2: is-relative "^0.2.1" is-windows "^0.2.0" +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + is-alphabetical@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.0.tgz#e2544c13058255f2144cb757066cd3342a1c8c46" @@ -2865,7 +3072,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-buffer@^1.0.2, is-buffer@^1.1.4: +is-buffer@^1.0.2, is-buffer@^1.1.4, is-buffer@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" @@ -2885,6 +3092,12 @@ is-ci@^1.0.10, is-ci@^1.0.9: dependencies: ci-info "^1.0.0" +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" @@ -2893,6 +3106,22 @@ is-decimal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.0.tgz#940579b6ea63c628080a69e62bda88c8470b4fe0" +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.1.tgz#2c6023599bde2de9d5d2c8b9a9d94082036b6ef2" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + is-dotfile@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" @@ -2911,7 +3140,7 @@ is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" -is-extglob@^2.1.0: +is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -2966,6 +3195,18 @@ is-number@^2.0.2, is-number@^2.1.0: dependencies: kind-of "^3.0.2" +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-odd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-1.0.0.tgz#3b8a932eb028b3775c39bb09e91767accdb69088" + dependencies: + is-number "^3.0.0" + 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" @@ -2982,6 +3223,12 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" +is-plain-object@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -3076,12 +3323,16 @@ isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" -isobject@^2.0.0: +isobject@^2.0.0, isobject@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" dependencies: isarray "1.0.0" +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + isomorphic-fetch@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" @@ -3482,6 +3733,22 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.0.2" +kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.0.2.tgz#f57bec933d9a2209ffa96c5c08343607b7035fda" + klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -3498,6 +3765,12 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" +lazy-cache@^2.0.1, lazy-cache@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" + dependencies: + set-getter "^0.1.0" + lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" @@ -3766,6 +4039,14 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" +lsr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lsr/-/lsr-2.0.0.tgz#d2186b14c2a08f7617515d8125426bfb2821ce2b" + dependencies: + "@types/node" "^7.0.31" + barrage "^1.1.0" + promise "^7.2.0" + magic-string@^0.15.2: version "0.15.2" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.15.2.tgz#0681d7388741bbc3addaa65060992624c6c09e9c" @@ -3784,7 +4065,7 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -map-cache@^0.2.0: +map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -3792,6 +4073,13 @@ map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" +map-visit@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-0.1.5.tgz#dbe43927ce5525b80dfc1573a44d68c51f26816b" + dependencies: + lazy-cache "^2.0.1" + object-visit "^0.3.4" + markdown-escapes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.0.tgz#c8ca19f1d94d682459e0a93c86db27a7ef716b23" @@ -3888,6 +4176,24 @@ micromatch@^2.1.5, micromatch@^2.1.6, micromatch@^2.3.11, micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" +micromatch@^3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.0.4.tgz#1543f1d04813447ac852001c5f5a933401786d1d" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.2.2" + define-property "^1.0.0" + extend-shallow "^2.0.1" + extglob "^1.1.0" + fragment-cache "^0.2.1" + kind-of "^4.0.0" + nanomatch "^1.2.0" + object.pick "^1.2.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + "mime-db@>= 1.27.0 < 2", mime-db@~1.27.0: version "1.27.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" @@ -3916,6 +4222,13 @@ minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +mixin-deep@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.2.0.tgz#d02b8c6f8b6d4b8f5982d3fd009c4919851c3fe2" + dependencies: + for-in "^1.0.2" + is-extendable "^0.1.1" + mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -3970,6 +4283,23 @@ nan@^2.3.0: version "2.5.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" +nanomatch@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.0.tgz#76fdb3d4ae7617e37719e7a4047b840857c0cb1c" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^1.0.0" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + is-extglob "^2.1.1" + is-odd "^1.0.0" + kind-of "^4.0.0" + object.pick "^1.2.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -4146,10 +4476,24 @@ object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" +object-visit@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-0.3.4.tgz#ae15cf86f0b2fdd551771636448452c54c3da829" + dependencies: + isobject "^2.0.0" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -4157,6 +4501,12 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" +object.pick@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + on-finished@~2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.2.1.tgz#5c85c1cc36299f78029653f667f27b6b99ebc029" @@ -4333,6 +4683,10 @@ parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -4417,6 +4771,10 @@ pluralize@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -4429,7 +4787,7 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.5.3: +prettier@^1.5.2, prettier@^1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.5.3.tgz#59dadc683345ec6b88f88b94ed4ae7e1da394bfe" @@ -4449,7 +4807,13 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" -promise@^7.1.1: +promise@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-6.1.0.tgz#2ce729f6b94b45c26891ad0602c5c90e04c6eef6" + dependencies: + asap "~1.0.0" + +promise@^7.1.1, promise@^7.2.0: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" dependencies: @@ -4663,6 +5027,16 @@ regex-cache@^0.4.2: is-equal-shallow "^0.1.3" is-primitive "^2.0.0" +regex-not@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-0.1.2.tgz#bc7f1c4944b1188353d07deeb912b94e0ade25db" + +regex-not@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.0.tgz#42f83e39771622df826b02af176525d6a5f157f9" + dependencies: + extend-shallow "^2.0.1" + regexpu-core@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" @@ -4774,7 +5148,7 @@ repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" -repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.5.4: +repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -4852,6 +5226,10 @@ resolve-from@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + resolve@1.1.7, resolve@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -5064,10 +5442,25 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" +set-getter@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" + dependencies: + to-object-path "^0.3.0" + set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" +set-value@^0.4.2, set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -5126,18 +5519,58 @@ slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^2.0.0" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" dependencies: hoek "2.x.x" +source-map-resolve@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.0.tgz#fcad0b64b70afb27699e425950cb5ebcd410bc20" + dependencies: + atob "^2.0.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + source-map-support@^0.4.0, 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" dependencies: source-map "^0.5.6" +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" @@ -5174,6 +5607,12 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +split-string@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-2.1.1.tgz#af4b06d821560426446c3cd931cda618940d37d0" + dependencies: + extend-shallow "^2.0.1" + split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" @@ -5207,6 +5646,13 @@ state-toggle@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.0.tgz#d20f9a616bb4f0c3b98b91922d25b640aa2bc425" +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + "statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" @@ -5465,6 +5911,35 @@ 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" +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-2.1.0.tgz#e3ad3a40cfe119559a05aea43e4caefacc5e901d" + dependencies: + define-property "^0.2.5" + extend-shallow "^2.0.1" + regex-not "^0.1.1" + +to-regex@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae" + dependencies: + define-property "^0.2.5" + extend-shallow "^2.0.1" + regex-not "^1.0.0" + touch@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de" @@ -5505,6 +5980,21 @@ tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" +tsgen@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/tsgen/-/tsgen-1.0.0.tgz#04632d4b78df4ba035460205b6f26930a6557ae0" + dependencies: + "@types/babel-code-frame" "^6.20.1" + "@types/babel-types" "^6.7.16" + "@types/babylon" "^6.16.1" + "@types/micromatch" "^2.3.29" + babel-code-frame "^6.22.0" + babel-types "^6.25.0" + babylon "^6.17.4" + lsr "^2.0.0" + micromatch "^3.0.3" + prettier "^1.5.2" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -5525,6 +6015,10 @@ typedarray@^0.0.6, typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +typescript@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.4.2.tgz#f8395f85d459276067c988aa41837a8f82870844" + ua-parser-js@^0.7.9: version "0.7.14" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.14.tgz#110d53fa4c3f326c121292bbeac904d2e03387ca" @@ -5574,6 +6068,15 @@ unified@^5.0.0: vfile "^2.0.0" x-is-string "^0.1.0" +union-value@^0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-0.2.4.tgz#7375152786679057e7b37aa676e83468fc0274f0" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + unique-stream@^2.0.2: version "2.2.1" resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" @@ -5619,6 +6122,13 @@ unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +unset-value@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-0.1.2.tgz#506810b867f27c2a5a6e9b04833631f6de58d310" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + untildify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0" @@ -5637,6 +6147,18 @@ update-notifier@0.5.0: semver-diff "^2.0.0" string-length "^1.0.0" +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +use@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" + dependencies: + define-property "^0.2.5" + isobject "^3.0.0" + lazy-cache "^2.0.2" + user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"