From c48c33c206bd5b3efccac40308c8b4c60fd5b611 Mon Sep 17 00:00:00 2001 From: Kyle Poole <2kylepoole@gmail.com> Date: Thu, 13 Jul 2017 15:27:09 -0700 Subject: [PATCH 1/9] convert Home to use Emotion --- .babelrc | 5 +- package.json | 28 +- src/entry.client.js | 4 +- src/entry.static.js | 9 +- src/html.ejs | 5 +- src/scenes/Home/Home.js | 105 ++- webpack.config.js | 47 +- yarn.lock | 1659 +++++++++++++++++++++++++++++++-------- 8 files changed, 1454 insertions(+), 408 deletions(-) diff --git a/.babelrc b/.babelrc index 33943b8..b4657f5 100644 --- a/.babelrc +++ b/.babelrc @@ -3,6 +3,9 @@ // Preset ordering is reversed (last to first). { "plugins": [ + ["emotion/babel", { "inline": true }], + /* "emotion/babel", */ + // able to use `class` instead of `className` and `for` instead of `htmlFor` "react-html-attrs", @@ -10,7 +13,7 @@ "transform-decorators-legacy", // handle do expressions (currently stage-0) - "transform-do-expressions", + /* "transform-do-expressions", */ ], "presets": [ ["es2015", diff --git a/package.json b/package.json index f7a8f33..edeba41 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ "deploy": "npm run clean && npm run build-html:prod && npm run build-js:prod && rimraf docs && cp -r public docs" }, "devDependencies": { - "babel-core": "^6.24.1", + "babel-core": "^6.25.0", "babel-eslint": "^7.2.3", - "babel-loader": "^7.0.0", + "babel-loader": "^7.1.1", "babel-plugin-react-html-attrs": "^2.0.0", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-plugin-transform-do-expressions": "^6.22.0", @@ -37,29 +37,32 @@ "babel-preset-react": "^6.24.1", "babel-preset-react-hmre": "^1.1.1", "babel-preset-stage-2": "^6.24.1", - "babili-webpack-plugin": "^0.0.11", + "babili-webpack-plugin": "^0.1.2", "compression-webpack-plugin": "^0.4.0", - "duplicate-package-checker-webpack-plugin": "^1.2.4", + "css-loader": "^0.28.4", + "duplicate-package-checker-webpack-plugin": "^1.2.5", "ejs-loader": "^0.3.0", "eslint": "^3.19.0", "eslint-config-constelation": "^1.2.0", "eslint-plugin-auto-import": "^0.0.4", "eslint-plugin-react": "snowypowers/eslint-plugin-react.git#max-props-per-line-fix", - "file-loader": "^0.11.1", + "extract-text-webpack-plugin": "^3.0.0", + "file-loader": "^0.11.2", "flow-bin": "^0.44.2", "flow-coverage-report": "^0.3.0", "flow-typed": "^2.1.2", - "html-webpack-plugin": "^2.28.0", - "husky": "^0.13.3", + "html-webpack-plugin": "^2.29.0", + "husky": "^0.14.3", "local-url-qrcode": "^1.1.0", "react-hot-loader": "3.0.0-beta.6", "rimraf": "^2.6.1", - "serve": "^5.1.4", - "source-map-explorer": "^1.3.3", + "serve": "^6.0.2", + "source-map-explorer": "^1.4.0", "static-site-generator-webpack-plugin": "^3.4.1", - "url-loader": "^0.5.8", - "webpack": "^2.4.1", - "webpack-dev-server": "^2.4.5", + "style-loader": "^0.18.2", + "url-loader": "^0.5.9", + "webpack": "^3.2.0", + "webpack-dev-server": "^2.5.1", "why-did-you-update": "^0.0.8" }, "dependencies": { @@ -71,6 +74,7 @@ "constelation-transition-group-view": "^14.0.0", "constelation-view": "^14.0.3", "decko": "^1.2.0", + "emotion": "^5.2.0", "glamor": "next", "glamor-react": "^3.0.0-1", "glamor-reset": "^3.0.0-1", diff --git a/src/entry.client.js b/src/entry.client.js index 304d8ea..f1cf1a5 100644 --- a/src/entry.client.js +++ b/src/entry.client.js @@ -1,7 +1,7 @@ // @flow // Imports {{{ -import { rehydrate } from 'glamor' +import { hydrate } from 'emotion' import { useScroll } from 'react-router-scroll' import React from 'react' import ReactDOM from 'react-dom' @@ -15,7 +15,7 @@ import routes from './scenes/index.client' // }}} // Rehydrate glamor ids that were passed in from SSR -rehydrate(window._glam) +hydrate(window._styleIds) // match required for async rendering + SSR. Otherwise, there would be a flash of paint match( diff --git a/src/entry.static.js b/src/entry.static.js index ff36cb2..dabfc88 100644 --- a/src/entry.static.js +++ b/src/entry.static.js @@ -1,12 +1,12 @@ // @flow // Imports {{{ -import { renderStatic } from 'glamor-server' import React from 'react' import ReactDOMServer from 'react-dom/server' import RouterContext from 'react-router/lib/RouterContext' import createMemoryHistory from 'react-router/lib/createMemoryHistory' import match from 'react-router/lib/match' +import { extractCritical } from 'emotion/server' //$FlowIgnore import htmlTemplate from './html.ejs' @@ -20,17 +20,16 @@ export default (locals: Object, callback: Function) => { const location = history.createLocation(locals.path) match({ routes, location }, (error, redirectLocation, renderProps) => { - const { html, css, ids } = renderStatic(() => - ReactDOMServer.renderToStaticMarkup(), - ) + const { html, css, ids } = extractCritical(ReactDOMServer.renderToStaticMarkup()) callback( null, htmlTemplate({ css, html, + styleIds: JSON.stringify(ids), + // style: true, title: 'Constelation', - glamorIds: JSON.stringify(ids), js: [locals.assets.vendor, locals.assets.main], // js: Object.keys(locals.assets).map(key => locals.assets[key]), }), diff --git a/src/html.ejs b/src/html.ejs index fd524f2..777c833 100644 --- a/src/html.ejs +++ b/src/html.ejs @@ -34,6 +34,9 @@ height: 100%; } + <% if (data.style) { %> + + <% } %>
@@ -44,7 +47,7 @@ <% data.js && data.js.forEach(function(file){ %> diff --git a/src/scenes/Home/Home.js b/src/scenes/Home/Home.js index fc4b694..a86ce26 100644 --- a/src/scenes/Home/Home.js +++ b/src/scenes/Home/Home.js @@ -1,6 +1,6 @@ // @flow // Imports {{{ -import { Col, View } from 'constelation-view' +import { View } from 'constelation-view' import { bind } from 'decko' import { inject, observer } from 'mobx-react' import Event_ from 'constelation-event_' @@ -8,12 +8,42 @@ import Link from 'react-router/lib/Link' import React from 'react' import Style_ from 'constelation-style_' import Text from 'constelation-text' +import { css, styled } from 'emotion' import CenteredOverlay from './_/CenteredOverlay' import FullOverlay from './_/FullOverlay' // }}} + +const col = css` + display: flex; + flex-direction: column; + position: relative; + flex-shrink: 0; + align-items: stretch; +` + +const flex = css` + display: flex; + position: relative; + flex-shrink: 0; + align-items: stretch; +` + +const row = css` + display: flex; + flex-direction: column; + position: relative; + flex-shrink: 0; + align-items: stretch; +` + +const center = css` + align-items: center; + justify-content: center; +` + @inject('AppOverlay') @observer export default class Home extends React.Component { @@ -41,38 +71,55 @@ export default class Home extends React.Component { render() { return ( - - Home + + Home + Other - - - - Open Fade Overlay - - - - - - - - Open Overlay Light Outer - - - - - - - - Open Modal Dark Outer - - - - + + Open Fade Overlay + + + + Open Overlay Light Outer + + + + Open Modal Dark Outer + +
) } } diff --git a/webpack.config.js b/webpack.config.js index a7130f0..4fa7fbf 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -6,6 +6,7 @@ const HtmlWebpackPlugin = require('html-webpack-plugin') const StaticSiteGeneratorPlugin = require('static-site-generator-webpack-plugin') const BabiliPlugin = require('babili-webpack-plugin') const CompressionPlugin = require('compression-webpack-plugin') +const ExtractTextPlugin = require('extract-text-webpack-plugin') const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack-plugin') // The routes that should generate *.html files for being served statically @@ -64,6 +65,21 @@ module.exports = function (env = {}) { use: ['babel-loader'], exclude: /node_modules/, }, + { + test: /emotion\.css$/, + use: env.prod ? ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: { + loader: 'css-loader', + options: { + sourceMap: true + } + } + }) : [ + 'style-loader', + { loader: 'css-loader' } + ] + }, // {variable: 'data'} needed to avoid a 'with' error: // http://stackoverflow.com/questions/18679422/issue-with-with-use-strict-and-underscore-js { test: /\.ejs$/, loader: 'ejs-loader', options: { variable: 'data' }}, @@ -102,19 +118,22 @@ module.exports = function (env = {}) { config.output.libraryTarget = 'umd' // Builds the static files - config.plugins.push( new StaticSiteGeneratorPlugin({ - entry: 'main', - - // Rather than manually providing a list of paths, you can use the crawl option to automatically crawl your site - crawl: true, - - // Note that this can be used in conjunction with the paths option to allow multiple crawler entry points: - // paths: [ - // '/', // required entry point for crawl if adding explicit paths - // '/notFound', - // // '/other', - // ], - })) + config.plugins.push( + new ExtractTextPlugin('styles.css'), + new StaticSiteGeneratorPlugin({ + entry: 'main', + + // Rather than manually providing a list of paths, you can use the crawl option to automatically crawl your site + crawl: true, + + // Note that this can be used in conjunction with the paths option to allow multiple crawler entry points: + // paths: [ + // '/', // required entry point for crawl if adding explicit paths + // '/notFound', + // // '/other', + // ], + }) + ) } // Settings required for generating the js bundles else { @@ -141,6 +160,8 @@ module.exports = function (env = {}) { debug: false, }), + new ExtractTextPlugin('styles.css'), + // Minifier that understands es6 (vs Uglify) new BabiliPlugin(), new CompressionPlugin({ diff --git a/yarn.lock b/yarn.lock index 61cde1b..7f03253 100644 --- a/yarn.lock +++ b/yarn.lock @@ -37,15 +37,21 @@ acorn@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" -ajv-keywords@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.0.tgz#c11e6859eafff83e0dafc416929472eca946aa2c" +address@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.0.2.tgz#480081e82b587ba319459fef512f516fe03d58af" + +ajv-keywords@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.0.tgz#a296e17f7bfae7c1ce4f7e0de53d29cb32162df0" -ajv@^4.7.0: - version "4.10.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.10.4.tgz#c0974dd00b3464984892d6010aa9c2c945933254" +ajv@^5.0.0, ajv@^5.1.5: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" dependencies: co "^4.6.0" + fast-deep-equal "^1.0.0" + json-schema-traverse "^0.3.0" json-stable-stringify "^1.0.1" align-text@^0.1.1, align-text@^0.1.3: @@ -56,15 +62,19 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" +alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" dependencies: - string-width "^1.0.1" + string-width "^2.0.0" ansi-escapes@^1.1.0: version "1.4.0" @@ -82,9 +92,11 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -any-promise@^1.0.0, any-promise@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" +ansi-styles@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.1.0.tgz#09c202d5c917ec23188caa5c9cb9179cd9547750" + dependencies: + color-convert "^1.0.0" anymatch@^1.3.0: version "1.3.0" @@ -110,9 +122,19 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -args@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/args/-/args-2.6.0.tgz#5f2b310a4831f1181a7bf0d92f81aed32b538eb4" +args@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/args/-/args-2.6.1.tgz#b2590ed4168cd31b62444199bdc5166bb1920c2f" + dependencies: + camelcase "4.1.0" + chalk "1.1.3" + minimist "1.2.0" + pkginfo "0.4.0" + string-similarity "1.1.0" + +args@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/args/-/args-3.0.2.tgz#850bb8e881f3139203a5e4cb176431092b562c2d" dependencies: camelcase "4.1.0" chalk "1.1.3" @@ -138,6 +160,10 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" +array-flatten@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -204,9 +230,9 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async-to-gen@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/async-to-gen/-/async-to-gen-1.3.2.tgz#7296908a9697a6bb0a5eaff7e59f33d3f2372923" +async-to-gen@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-to-gen/-/async-to-gen-1.3.3.tgz#d52c9fb4801f0df44abc4d2de1870b48b60e20bb" dependencies: babylon "^6.14.0" magic-string "^0.19.0" @@ -219,9 +245,9 @@ async@^1.4.0, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.1.2.tgz#612a4ab45ef42a70cde806bad86ee6db047e8385" +async@^2.1.2, async@^2.4.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" dependencies: lodash "^4.14.0" @@ -229,6 +255,17 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" +autoprefixer@^6.3.1: + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + aws-sign2@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" @@ -237,7 +274,7 @@ aws4@^1.2.1: version "1.5.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" -babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: +babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: @@ -245,20 +282,20 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@^6.23.1, babel-core@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" +babel-core@^6.24.1, babel-core@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: babel-code-frame "^6.22.0" - babel-generator "^6.24.1" + babel-generator "^6.25.0" babel-helpers "^6.24.1" babel-messages "^6.23.0" babel-register "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" + babel-template "^6.25.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" convert-source-map "^1.1.0" debug "^2.1.1" json5 "^0.5.0" @@ -278,13 +315,13 @@ babel-eslint@^7.2.3: babel-types "^6.23.0" babylon "^6.17.0" -babel-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" +babel-generator@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" dependencies: babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-types "^6.24.1" + babel-types "^6.25.0" detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.2.0" @@ -333,9 +370,9 @@ babel-helper-define-map@^6.24.1: babel-types "^6.24.1" lodash "^4.2.0" -babel-helper-evaluate-path@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.0.3.tgz#1d103ac9d4a59e5d431842212f151785f7ac547b" +babel-helper-evaluate-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.1.0.tgz#95d98c4ea36150483db2e7d3ec9e1954a72629cb" babel-helper-explode-assignable-expression@^6.24.1: version "6.24.1" @@ -354,9 +391,9 @@ babel-helper-explode-class@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-helper-flip-expressions@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.0.2.tgz#7bab2cf61162bc92703e9b298ef512bcf77d6787" +babel-helper-flip-expressions@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.1.2.tgz#77f6652f9de9c42401d827bd46ebd2109e3ef18a" babel-helper-function-name@^6.24.1: version "6.24.1" @@ -386,13 +423,13 @@ babel-helper-is-nodes-equiv@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684" -babel-helper-is-void-0@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.0.1.tgz#ed74553b883e68226ae45f989a99b02c190f105a" +babel-helper-is-void-0@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.1.1.tgz#72f21a3abba0bef3837f9174fca731aed9a02888" -babel-helper-mark-eval-scopes@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.0.3.tgz#902f75aeb537336edc35eb9f52b6f09db7785328" +babel-helper-mark-eval-scopes@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.1.1.tgz#4554345edf9f2549427bd2098e530253f8af2992" babel-helper-optimise-call-expression@^6.24.1: version "6.24.1" @@ -419,9 +456,9 @@ babel-helper-remap-async-to-generator@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-helper-remove-or-void@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.0.1.tgz#f602790e465acf2dfbe84fb3dd210c43a2dd7262" +babel-helper-remove-or-void@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.1.1.tgz#9d7e1856dc6fafcb41b283a416730dc1844f66d7" babel-helper-replace-supers@^6.24.1: version "6.24.1" @@ -434,9 +471,9 @@ babel-helper-replace-supers@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-helper-to-multiple-sequence-expressions@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.0.4.tgz#d94414b386b6286fbaad77f073dea9b34324b01c" +babel-helper-to-multiple-sequence-expressions@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.1.1.tgz#5f1b832b39e4acf954e9137f0251395c71196b35" babel-helpers@^6.24.1: version "6.24.1" @@ -445,11 +482,11 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-loader@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.0.0.tgz#2e43a66bee1fff4470533d0402c8a4532fafbaf7" +babel-loader@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.1.tgz#b87134c8b12e3e4c2a94e0546085bc680a2b8488" dependencies: - find-cache-dir "^0.1.1" + find-cache-dir "^1.0.0" loader-utils "^1.0.2" mkdirp "^0.5.1" @@ -465,70 +502,69 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-minify-builtins@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.0.2.tgz#f3be6121763c0c518d5ef82067cef4b615c9498c" +babel-plugin-minify-builtins@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.1.3.tgz#4f21a7dcb51f91a04ea71d47ff0e8e3b05fec021" dependencies: - babel-helper-evaluate-path "^0.0.3" + babel-helper-evaluate-path "^0.1.0" -babel-plugin-minify-constant-folding@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.0.4.tgz#b6e231026a6035e88ceadd206128d7db2b5c15e6" +babel-plugin-minify-constant-folding@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.1.3.tgz#57bd172adf8b8d74ad7c99612eb950414ebea3ca" dependencies: - babel-helper-evaluate-path "^0.0.3" - jsesc "^2.4.0" + babel-helper-evaluate-path "^0.1.0" -babel-plugin-minify-dead-code-elimination@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.1.4.tgz#18b6ecfab77c29caca061d8210fa3495001e4fa1" +babel-plugin-minify-dead-code-elimination@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.1.7.tgz#774f536f347b98393a27baa717872968813c342c" dependencies: - babel-helper-mark-eval-scopes "^0.0.3" - babel-helper-remove-or-void "^0.0.1" + babel-helper-mark-eval-scopes "^0.1.1" + babel-helper-remove-or-void "^0.1.1" lodash.some "^4.6.0" -babel-plugin-minify-flip-comparisons@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.0.2.tgz#7d0953aa5876ede6118966bda9edecc63bf346ab" +babel-plugin-minify-flip-comparisons@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.1.2.tgz#e286b40b7599b18dfea195071e4279465cfc1884" dependencies: - babel-helper-is-void-0 "^0.0.1" + babel-helper-is-void-0 "^0.1.1" -babel-plugin-minify-guarded-expressions@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.0.4.tgz#957104a760e6a7ffd967005a7a11621bb42fd11c" +babel-plugin-minify-guarded-expressions@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.1.2.tgz#dfc3d473b0362d9605d3ce0ac1e22328c60d1007" dependencies: - babel-helper-flip-expressions "^0.0.2" + babel-helper-flip-expressions "^0.1.2" -babel-plugin-minify-infinity@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.0.3.tgz#4cc99b61d12b434ce80ad675103335c589cba9a1" +babel-plugin-minify-infinity@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.1.2.tgz#5f1cf67ddedcba13c8a00da832542df0091a1cd4" -babel-plugin-minify-mangle-names@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.0.8.tgz#1e2fea856dd742d5697aa26b427e41258a8c5b79" +babel-plugin-minify-mangle-names@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.1.3.tgz#bfa24661a6794fb03833587e55828b65449e06fe" dependencies: - babel-helper-mark-eval-scopes "^0.0.3" + babel-helper-mark-eval-scopes "^0.1.1" -babel-plugin-minify-numeric-literals@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.0.1.tgz#9597e6c31154d7daf3744d0bd417c144b275bd53" +babel-plugin-minify-numeric-literals@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.1.1.tgz#d4b8b0c925f874714ee33ee4b26678583d7ce7fb" -babel-plugin-minify-replace@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.0.1.tgz#5d5aea7cb9899245248d1ee9ce7a2fe556a8facc" +babel-plugin-minify-replace@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.1.2.tgz#b90b9e71ab4d3b36325629a91beabe13b0b16ac1" -babel-plugin-minify-simplify@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.0.8.tgz#597b23327bba4373fed1c51461a689bce9ff4979" +babel-plugin-minify-simplify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.1.2.tgz#a968f1658fdeb2fc759e81fe331d89829df0f6b9" dependencies: - babel-helper-flip-expressions "^0.0.2" + babel-helper-flip-expressions "^0.1.2" babel-helper-is-nodes-equiv "^0.0.1" - babel-helper-to-multiple-sequence-expressions "^0.0.4" + babel-helper-to-multiple-sequence-expressions "^0.1.1" -babel-plugin-minify-type-constructors@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.0.4.tgz#52d8b623775107523227719ade2d0b7458758b5f" +babel-plugin-minify-type-constructors@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.1.2.tgz#db53c5b76cb8e2fcd45d862f17104c78761337ee" dependencies: - babel-helper-is-void-0 "^0.0.1" + babel-helper-is-void-0 "^0.1.1" babel-plugin-react-html-attrs@^2.0.0: version "2.0.0" @@ -572,7 +608,7 @@ babel-plugin-syntax-flow@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" -babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: +babel-plugin-syntax-jsx@^6.18.0, babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" @@ -817,23 +853,21 @@ babel-plugin-transform-flow-strip-types@^6.22.0: babel-plugin-syntax-flow "^6.18.0" babel-runtime "^6.22.0" -babel-plugin-transform-inline-consecutive-adds@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.0.2.tgz#a58fcecfc09c08fbf9373a5a3e70746c03d01fc1" +babel-plugin-transform-inline-consecutive-adds@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.1.2.tgz#5442e9f1c19c78a7899f8a4dee6fd481f61001f5" -babel-plugin-transform-member-expression-literals@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.1.tgz#60b78cb2b814ac71dd6104ef51c496c62e877337" +babel-plugin-transform-member-expression-literals@^6.8.4: + version "6.8.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.4.tgz#05679bc40596b91293401959aa1620ab1b2be437" -babel-plugin-transform-merge-sibling-variables@^6.8.2: - version "6.8.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.2.tgz#498acd07481ab340c1bad8b726c2fad1b8f644e5" +babel-plugin-transform-merge-sibling-variables@^6.8.5: + version "6.8.5" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.5.tgz#03abdf107c61241913eb268ddede6d5bc541862c" -babel-plugin-transform-minify-booleans@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.0.tgz#b1a48864a727847696b84eae36fa4d085a54b42b" - dependencies: - babel-runtime "^6.0.0" +babel-plugin-transform-minify-booleans@^6.8.2: + version "6.8.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.2.tgz#8451579f706e702c1e1ab2756de5c8ea369cf07c" babel-plugin-transform-object-rest-spread@^6.22.0: version "6.22.0" @@ -842,9 +876,11 @@ 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-property-literals@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.1.tgz#05ed01f6024820b18f1d0495c80fe287176bccd9" +babel-plugin-transform-property-literals@^6.8.4: + version "6.8.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.4.tgz#6ad311110b80a192a56efb5ddf4fe3ca6f7a61da" + dependencies: + esutils "^2.0.2" babel-plugin-transform-react-constant-elements@^6.23.0: version "6.23.0" @@ -892,25 +928,25 @@ babel-plugin-transform-regenerator@^6.24.1: dependencies: regenerator-transform "0.9.11" -babel-plugin-transform-regexp-constructors@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.0.6.tgz#0d92607f0d26268296980cb7c1dea5f2dd3e1e20" +babel-plugin-transform-regexp-constructors@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.1.1.tgz#312ab7487cc88a1c62ee25ea1b6087e89b87799c" -babel-plugin-transform-remove-console@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.1.tgz#38f6a6ca1581e76b75fc2c6fdcf909deadee7d6a" +babel-plugin-transform-remove-console@^6.8.4: + version "6.8.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.4.tgz#41fddac19a729a4c3dd7ef2964eac07b096f9a8f" -babel-plugin-transform-remove-debugger@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.1.tgz#aabd0be107f8299094defe8e1ba8ccf4b114d07f" +babel-plugin-transform-remove-debugger@^6.8.4: + version "6.8.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.4.tgz#f85704a08adaa71b55d77005b5b94e9b9df21f6e" -babel-plugin-transform-remove-undefined@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.0.5.tgz#12ef11805e06e861dd2eb0c7cc041d2184b8f410" +babel-plugin-transform-remove-undefined@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.1.2.tgz#e1ebf51110f6b1e0665f28382ef73f95e5023652" -babel-plugin-transform-simplify-comparison-operators@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.1.tgz#a307088e0d1c728081777fba568f4107396ab25c" +babel-plugin-transform-simplify-comparison-operators@^6.8.4: + version "6.8.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.4.tgz#2aa24a262d664c8cb3e125a306c798d7a2de08d5" babel-plugin-transform-strict-mode@^6.24.1: version "6.24.1" @@ -919,11 +955,9 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-undefined-to-void@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.0.tgz#bc5b6b4908d3b1262170e67cb3963903ddce167e" - dependencies: - babel-runtime "^6.0.0" +babel-plugin-transform-undefined-to-void@^6.8.2: + version "6.8.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.2.tgz#fe2b1d294eb05e87524eb93724dea6e2c3d66fa1" babel-polyfill@^6.6.1: version "6.20.0" @@ -933,32 +967,32 @@ babel-polyfill@^6.6.1: core-js "^2.4.0" regenerator-runtime "^0.10.0" -babel-preset-babili@^0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/babel-preset-babili/-/babel-preset-babili-0.0.12.tgz#74d79205d54feae6470bc84231da0b9ac9fc7de9" - dependencies: - babel-plugin-minify-builtins "^0.0.2" - babel-plugin-minify-constant-folding "^0.0.4" - babel-plugin-minify-dead-code-elimination "^0.1.4" - babel-plugin-minify-flip-comparisons "^0.0.2" - babel-plugin-minify-guarded-expressions "^0.0.4" - babel-plugin-minify-infinity "^0.0.3" - babel-plugin-minify-mangle-names "^0.0.8" - babel-plugin-minify-numeric-literals "^0.0.1" - babel-plugin-minify-replace "^0.0.1" - babel-plugin-minify-simplify "^0.0.8" - babel-plugin-minify-type-constructors "^0.0.4" - babel-plugin-transform-inline-consecutive-adds "^0.0.2" - babel-plugin-transform-member-expression-literals "^6.8.1" - babel-plugin-transform-merge-sibling-variables "^6.8.2" - babel-plugin-transform-minify-booleans "^6.8.0" - babel-plugin-transform-property-literals "^6.8.1" - babel-plugin-transform-regexp-constructors "^0.0.6" - babel-plugin-transform-remove-console "^6.8.1" - babel-plugin-transform-remove-debugger "^6.8.1" - babel-plugin-transform-remove-undefined "^0.0.5" - babel-plugin-transform-simplify-comparison-operators "^6.8.1" - babel-plugin-transform-undefined-to-void "^6.8.0" +babel-preset-babili@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/babel-preset-babili/-/babel-preset-babili-0.1.4.tgz#ad9d6651002f5bc3f07cab300781167f54724bf2" + dependencies: + babel-plugin-minify-builtins "^0.1.3" + babel-plugin-minify-constant-folding "^0.1.3" + babel-plugin-minify-dead-code-elimination "^0.1.7" + babel-plugin-minify-flip-comparisons "^0.1.2" + babel-plugin-minify-guarded-expressions "^0.1.2" + babel-plugin-minify-infinity "^0.1.2" + babel-plugin-minify-mangle-names "^0.1.3" + babel-plugin-minify-numeric-literals "^0.1.1" + babel-plugin-minify-replace "^0.1.2" + babel-plugin-minify-simplify "^0.1.2" + babel-plugin-minify-type-constructors "^0.1.2" + babel-plugin-transform-inline-consecutive-adds "^0.1.2" + babel-plugin-transform-member-expression-literals "^6.8.4" + babel-plugin-transform-merge-sibling-variables "^6.8.5" + babel-plugin-transform-minify-booleans "^6.8.2" + babel-plugin-transform-property-literals "^6.8.4" + babel-plugin-transform-regexp-constructors "^0.1.1" + babel-plugin-transform-remove-console "^6.8.4" + babel-plugin-transform-remove-debugger "^6.8.4" + babel-plugin-transform-remove-undefined "^0.1.2" + babel-plugin-transform-simplify-comparison-operators "^6.8.4" + babel-plugin-transform-undefined-to-void "^6.8.2" lodash.isplainobject "^4.0.6" babel-preset-es2015@^6.24.1: @@ -1054,7 +1088,7 @@ babel-runtime@6.11.6: core-js "^2.4.0" regenerator-runtime "^0.9.5" -babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0: +babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" dependencies: @@ -1071,6 +1105,16 @@ babel-template@^6.24.1, babel-template@^6.3.0, babel-template@^6.7.0: babylon "^6.11.0" lodash "^4.2.0" +babel-template@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" + lodash "^4.2.0" + babel-traverse@^6.23.1, babel-traverse@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" @@ -1085,6 +1129,20 @@ babel-traverse@^6.23.1, babel-traverse@^6.24.1: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.25.0" + babylon "^6.17.2" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" @@ -1094,26 +1152,39 @@ babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: lodash "^4.2.0" to-fast-properties "^1.0.1" -babili-webpack-plugin@^0.0.11: - version "0.0.11" - resolved "https://registry.yarnpkg.com/babili-webpack-plugin/-/babili-webpack-plugin-0.0.11.tgz#09571593b81bbcc3033e8570540b391e98801803" +babel-types@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" dependencies: - babel-core "^6.23.1" - babel-preset-babili "^0.0.12" - webpack-sources "^0.1.4" + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" -babylon@^6.11.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" +babili-webpack-plugin@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babili-webpack-plugin/-/babili-webpack-plugin-0.1.2.tgz#164ac03d5932f6a52143e7ffc06f2711c651b6f2" + dependencies: + babel-core "^6.24.1" + babel-preset-babili "^0.1.4" + webpack-sources "^1.0.1" -babylon@^6.14.0, babylon@^6.15.0, babylon@^6.17.0: +babylon@^6.11.0, babylon@^6.15.0, babylon@^6.17.0: version "6.17.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932" -balanced-match@^0.4.1: +babylon@^6.14.0, babylon@^6.17.2: + version "6.17.4" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" + +balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + base64-js@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" @@ -1153,18 +1224,25 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@3.5.0, bluebird@^3.0.5, bluebird@^3.1.1: +bluebird@3.5.0, bluebird@^3.0.5, bluebird@^3.1.1, bluebird@^3.4.7: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" -bluebird@^3.4.7: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.6" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -1175,11 +1253,15 @@ boom@2.x.x: dependencies: hoek "2.x.x" -boxen@1.0.0, boxen@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.0.0.tgz#b2694baf1f605f708ff0177c12193b22f29aaaab" +bowser@^1.0.0: + version "1.7.1" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.7.1.tgz#a4de8f18a1a0dc9531eb2a92a1521fb6a9ba96a5" + +boxen@1.1.0, boxen@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.1.0.tgz#b1b69dd522305e807a99deee777dbd6e5167b102" dependencies: - ansi-align "^1.1.0" + ansi-align "^2.0.0" camelcase "^4.0.0" chalk "^1.1.1" cli-boxes "^1.0.0" @@ -1194,6 +1276,13 @@ brace-expansion@^1.0.0: balanced-match "^0.4.1" concat-map "0.0.1" +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + braces@^1.8.2: version "1.8.5" resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" @@ -1202,6 +1291,10 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" +brcast@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brcast/-/brcast-2.0.1.tgz#4311508f0634a6f5a2465b6cf2db27f06902aaca" + brorand@^1.0.1: version "1.0.6" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.6.tgz#4028706b915f91f7b349a2e0bf3c376039d216e5" @@ -1257,10 +1350,21 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" +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" + btoa@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.1.2.tgz#3e40b81663f81d2dd6596a4cb714a8dc16cfabe0" +buffer-indexof@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.0.tgz#f54f647c4f4e25228baa656a2e57e43d5f270982" + buffer-shims@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" @@ -1277,6 +1381,13 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@^5.0.3: + version "5.0.6" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + buffers@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" @@ -1337,6 +1448,19 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + dependencies: + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000700" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000700.tgz#97cfc483865eea8577dc7a3674929b9abf553095" + capture-stack-trace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" @@ -1372,6 +1496,14 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@2.0.1, chalk@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.0.1.tgz#dbec49436d2ae15f536114e76d14656cdbc0f44d" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + charenc@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" @@ -1426,6 +1558,12 @@ 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.2.0" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.0.tgz#59c90fe3e137104746ff19469a27a634ff68c857" + dependencies: + chalk "^1.1.3" + clean-css@3.4.x: version "3.4.23" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.23.tgz#604fbbca24c12feb59b02f00b84f1fb7ded6d001" @@ -1447,9 +1585,15 @@ cli-width@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" -clipboardy@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.1.0.tgz#e060337afad251fce05456d83dd3a5d6dcb3fa6b" +clipboardy@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.1.1.tgz#75b5a7ac50d83c98025fb6303298c6a9007c16c7" + dependencies: + execa "^0.6.0" + +clipboardy@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.1.4.tgz#51b17574fc682588e2dd295cfa6e6aa109eab5ee" dependencies: execa "^0.6.0" @@ -1477,11 +1621,49 @@ co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + dependencies: + q "^1.1.2" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" -colors@^1.0.3, colors@^1.1.2: +color-convert@^1.0.0, color-convert@^1.3.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + dependencies: + color-name "^1.1.1" + +color-name@^1.0.0, color-name@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + dependencies: + color-name "^1.0.0" + +color@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@^1.0.3, colors@^1.1.2, colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" @@ -1726,6 +1908,33 @@ crypto-random-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + +css-color-names@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + +css-loader@^0.28.4: + version "0.28.4" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f" + dependencies: + babel-code-frame "^6.11.0" + css-selector-tokenizer "^0.7.0" + cssnano ">=2.6.1 <4" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.0.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.0.0" + postcss-modules-local-by-default "^1.0.1" + postcss-modules-scope "^1.0.0" + postcss-modules-values "^1.1.0" + postcss-value-parser "^3.3.0" + source-list-map "^0.1.7" + css-select@^1.1.0, css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -1735,10 +1944,74 @@ css-select@^1.1.0, css-select@~1.2.0: domutils "1.5.1" nth-check "~1.0.1" +css-selector-tokenizer@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +css-to-react-native@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.4.tgz#cf4cc407558b3474d4ba8be1a2cd3b6ce713101b" + dependencies: + css-color-keywords "^1.0.0" + fbjs "^0.8.5" + postcss-value-parser "^3.3.0" + css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + +"cssnano@>=2.6.1 <4": + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + d@^0.1.1, d@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" @@ -1759,11 +2032,11 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -debug@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" +debug@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" dependencies: - ms "0.7.2" + ms "2.0.0" debug@^2.1.1, debug@^2.2.0, debug@^2.6.0: version "2.6.0" @@ -1785,6 +2058,10 @@ decko@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decko/-/decko-1.2.0.tgz#fd43c735e967b8013306884a56fbe665996b6817" +deep-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + deep-extend@~0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" @@ -1806,6 +2083,10 @@ define-properties@^1.1.2: foreach "^2.0.5" object-keys "^1.0.8" +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" @@ -1818,6 +2099,17 @@ del@^2.0.2: pinkie-promise "^2.0.0" rimraf "^2.2.8" +del@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.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" @@ -1847,10 +2139,11 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" -detect-port@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.1.1.tgz#abb24845a0e0501d2a4313dfde93c2671f6ba998" +detect-port@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.2.1.tgz#a2c0a048aa9df2b703fc54bb4436ce2118f09b5a" dependencies: + address "^1.0.1" debug "^2.6.0" diffie-hellman@^5.0.0: @@ -1861,6 +2154,23 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + +dns-packet@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.1.1.tgz#2369d45038af045f3898e6fa56862aed3f40296c" + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + dependencies: + buffer-indexof "^1.0.0" + docopt@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11" @@ -1940,9 +2250,9 @@ duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" -duplicate-package-checker-webpack-plugin@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/duplicate-package-checker-webpack-plugin/-/duplicate-package-checker-webpack-plugin-1.2.4.tgz#ad0ec3d41c759880ec2329f6a1fcb4de3b948350" +duplicate-package-checker-webpack-plugin@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/duplicate-package-checker-webpack-plugin/-/duplicate-package-checker-webpack-plugin-1.2.5.tgz#0b472873f996c648799c0f90dabc1b778096f170" dependencies: chalk "^1.1.3" find-root "^1.0.0" @@ -1969,6 +2279,10 @@ ejs-loader@^0.3.0: loader-utils "^0.2.7" lodash "^3.6.0" +electron-to-chromium@^1.2.7: + version "1.3.15" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369" + elliptic@^6.0.0: version "6.3.2" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.2.tgz#e4c81e0829cf0a65ab70e998b8232723b5c1bc48" @@ -1982,6 +2296,15 @@ emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" +emotion@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/emotion/-/emotion-5.2.0.tgz#0fb000640d6a16791c8f77b104d64a9821ab62fa" + dependencies: + babel-plugin-syntax-jsx "^6.18.0" + styled-components "2.0.0" + theming "^1.0.1" + touch "^1.0.0" + encodeurl@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" @@ -1992,9 +2315,9 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -enhanced-resolve@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.0.3.tgz#df14c06b5fc5eecade1094c9c5a12b4b3edc0b62" +enhanced-resolve@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz#950964ecc7f0332a42321b673b38dc8ff15535b3" dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" @@ -2326,14 +2649,31 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" +extract-text-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz#90caa7907bc449f335005e3ac7532b41b00de612" + dependencies: + async "^2.4.1" + loader-utils "^1.1.0" + schema-utils "^0.3.0" + webpack-sources "^1.0.1" + extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" +fast-deep-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + 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" + faye-websocket@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" @@ -2346,7 +2686,7 @@ faye-websocket@~0.11.0: dependencies: websocket-driver ">=0.5.1" -fbjs@^0.8.4, fbjs@^0.8.9: +fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.9: version "0.8.12" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: @@ -2384,9 +2724,9 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" -file-loader@^0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.1.tgz#6b328ee1234a729e4e47d36375dd6d35c0e1db84" +file-loader@^0.11.2: + version "0.11.2" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" dependencies: loader-utils "^1.0.2" @@ -2400,9 +2740,9 @@ filename-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" -filesize@3.5.6: - version "3.5.6" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.6.tgz#5fd98f3eac94ec9516ef8ed5782fad84a01a0a1a" +filesize@3.5.10: + version "3.5.10" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" fill-range@^2.1.0: version "2.2.3" @@ -2424,17 +2764,13 @@ finalhandler@0.5.0: statuses "~1.3.0" unpipe "~1.0.0" -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" dependencies: commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-parent-dir@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" + make-dir "^1.0.0" + pkg-dir "^2.0.0" find-root@^1.0.0: version "1.0.0" @@ -2447,6 +2783,12 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + flat-cache@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" @@ -2456,6 +2798,10 @@ flat-cache@^1.2.1: 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" + flow-bin@^0.44.2: version "0.44.2" resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.44.2.tgz#3893c7db5de043ed82674f327a04b1309db208b5" @@ -2535,6 +2881,14 @@ fresh@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" +fs-extra@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^3.0.0" + universalify "^0.1.0" + fs-extra@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.0.0.tgz#337352bded4a0b714f3eb84de8cea765e9d37600" @@ -2542,15 +2896,6 @@ fs-extra@^2.0.0: graceful-fs "^4.1.2" jsonfile "^2.1.0" -fs-promise@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fs-promise/-/fs-promise-2.0.2.tgz#cfea45c80f46480a3fd176213fa22abc8c159521" - dependencies: - any-promise "^1.3.0" - fs-extra "^2.0.0" - mz "^2.6.0" - thenify-all "^1.6.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2715,6 +3060,17 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global@^4.3.0: version "4.3.1" resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df" @@ -2737,13 +3093,23 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +got@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" is-redirect "^1.0.0" is-retry-allowed "^1.0.0" is-stream "^1.0.0" @@ -2779,9 +3145,9 @@ handle-thing@^1.2.4: version "1.2.5" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" -handlebars@4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" +handlebars@4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: async "^1.4.0" optimist "^0.6.1" @@ -2808,6 +3174,10 @@ has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -2874,6 +3244,10 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.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" @@ -2891,9 +3265,9 @@ html-minifier@^3.2.3: relateurl "0.2.x" uglify-js "2.7.x" -html-webpack-plugin@^2.28.0: - version "2.28.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz#2e7863b57e5fd48fe263303e2ffc934c3064d009" +html-webpack-plugin@^2.29.0: + version "2.29.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.29.0.tgz#e987f421853d3b6938c8c4c8171842e5fd17af23" dependencies: bluebird "^3.4.7" html-minifier "^3.2.3" @@ -2971,19 +3345,32 @@ https-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" -husky@^0.13.3: - version "0.13.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-0.13.3.tgz#bc2066080badc8b8fe3516e881f5bc68a57052ff" +husky@^0.14.3: + version "0.14.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" dependencies: - chalk "^1.1.3" - find-parent-dir "^0.3.0" - is-ci "^1.0.9" + is-ci "^1.0.10" normalize-path "^1.0.0" + strip-indent "^2.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.15, iconv-lite@~0.4.13: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + dependencies: + postcss "^6.0.1" + ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -2992,6 +3379,10 @@ ignore@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3002,6 +3393,10 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" @@ -3025,6 +3420,13 @@ 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" @@ -3043,6 +3445,12 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" +internal-ip@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" + dependencies: + meow "^3.3.0" + interpret@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" @@ -3057,7 +3465,7 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ip@1.1.5: +ip@1.1.5, ip@^1.1.0: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -3069,6 +3477,10 @@ ipaddr.js@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz#c791d95f52b29c1247d5df80ada39b8a73647230" +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-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -3097,7 +3509,7 @@ is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" -is-ci@^1.0.9: +is-ci@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" dependencies: @@ -3145,6 +3557,10 @@ 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-function@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + 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" @@ -3196,6 +3612,16 @@ is-path-inside@^1.0.0: 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" + +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 "http://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -3230,6 +3656,12 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + dependencies: + html-comment-regex "^1.1.0" + is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" @@ -3242,6 +3674,10 @@ is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -3260,6 +3696,10 @@ isobject@^2.0.0: dependencies: isarray "1.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" @@ -3277,6 +3717,10 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" +js-base64@^2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + js-tokens@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" @@ -3285,7 +3729,7 @@ 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: +js-yaml@^3.5.1, js-yaml@~3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" dependencies: @@ -3300,10 +3744,6 @@ jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" -jsesc@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.4.0.tgz#8568d223ff69c0b5e081b4f8edf5a23d978c9867" - jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -3312,6 +3752,10 @@ json-loader@^0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -3340,6 +3784,12 @@ jsonfile@^2.1.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -3427,6 +3877,14 @@ loader-utils@^1.0.2: emojis-list "^2.0.0" json5 "^0.5.0" +loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + local-url-qrcode@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/local-url-qrcode/-/local-url-qrcode-1.1.0.tgz#706b9496a4a2a6ed048049b5b12f2e72504f0016" @@ -3434,6 +3892,13 @@ local-url-qrcode@^1.1.0: ip "^0.3.2" qrcode-terminal "^0.9.5" +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.1.0, lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -3446,6 +3911,10 @@ lodash.bind@^4.1.4: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + lodash.defaults@^4.0.1: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -3470,6 +3939,10 @@ lodash.map@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + lodash.merge@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" @@ -3490,6 +3963,10 @@ lodash.some@^4.4.0, lodash.some@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + lodash@4.12.0: version "4.12.0" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.12.0.tgz#2bd6dc46a040f59e686c972ed21d93dc59053258" @@ -3534,12 +4011,22 @@ lru-cache@^4.0.0, lru-cache@^4.0.1: pseudomap "^1.0.1" yallist "^2.0.0" +macaddress@^0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" + magic-string@^0.19.0: version "0.19.0" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.19.0.tgz#198948217254e3e0b93080e01146b7c73b2a06b2" dependencies: vlq "^0.2.1" +make-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" + dependencies: + pify "^2.3.0" + map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -3551,6 +4038,10 @@ map-obj@^1.0.0, map-obj@^1.0.1: buffers "~0.1.1" readable-stream "~1.0.0" +math-expression-evaluator@^1.2.14: + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + md5@^2.1.0: version "2.2.1" resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" @@ -3570,7 +4061,7 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.7.0: +meow@^3.3.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -3599,16 +4090,16 @@ micro-compress@1.0.0: dependencies: compression "^1.6.2" -micro@7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/micro/-/micro-7.3.2.tgz#c6ff82fad6b045cfe04cbc673834ef1fc3dc13aa" +micro@7.3.3: + version "7.3.3" + resolved "https://registry.yarnpkg.com/micro/-/micro-7.3.3.tgz#8261c56d2a31a7df93986eff86441396f2b4b070" dependencies: - args "2.6.0" - async-to-gen "1.3.2" + args "2.6.1" + async-to-gen "1.3.3" bluebird "3.5.0" - boxen "1.0.0" + boxen "1.1.0" chalk "1.1.3" - clipboardy "1.1.0" + clipboardy "1.1.1" get-port "3.1.0" ip "1.1.5" is-async-supported "1.2.0" @@ -3673,6 +4164,12 @@ minimatch@3.0.3, minimatch@^3.0.0, minimatch@^3.0.2: dependencies: brace-expansion "^1.0.0" +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -3709,18 +4206,25 @@ ms@0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + +multicast-dns@^6.0.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.1.1.tgz#6e7de86a570872ab17058adea7160bbeca814dde" + dependencies: + dns-packet "^1.0.1" + thunky "^0.1.0" + mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" -mz@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.6.0.tgz#c8b8521d958df0a4f2768025db69c719ee4ef1ce" - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - nan@^2.0.0, nan@^2.3.0: version "2.5.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8" @@ -3756,6 +4260,10 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" +node-forge@0.6.33: + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" + node-libs-browser@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" @@ -3811,6 +4319,12 @@ node-zopfli@^2.0.0: nan "^2.0.0" node-pre-gyp "^0.6.4" +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + dependencies: + abbrev "1" + nopt@~3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -3834,6 +4348,19 @@ normalize-path@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + npm-run-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" @@ -3861,6 +4388,10 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + 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" @@ -3933,6 +4464,12 @@ opn@4.0.2: object-assign "^4.0.1" pinkie-promise "^2.0.0" +opn@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" + dependencies: + is-wsl "^1.1.0" + optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -3983,6 +4520,20 @@ p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" +p-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-map@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a" + package-json@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/package-json/-/package-json-3.1.0.tgz#ce281900fe8052150cc6709c6c006c18fdb2f379" @@ -4041,6 +4592,10 @@ path-exists@^2.0.0: dependencies: pinkie-promise "^2.0.0" +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + 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" @@ -4085,10 +4640,14 @@ 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: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -4099,11 +4658,11 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" dependencies: - find-up "^1.0.0" + find-up "^2.1.0" pkginfo@0.4.0: version "0.4.0" @@ -4121,11 +4680,257 @@ portfinder@^1.0.9: debug "^2.2.0" mkdirp "0.5.x" +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + dependencies: + postcss "^5.0.14" + +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + dependencies: + postcss "^5.0.4" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + dependencies: + postcss "^5.0.14" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + dependencies: + postcss "^5.0.16" + +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" + dependencies: + postcss "^5.0.4" + uniqid "^4.0.0" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + dependencies: + postcss "^5.0.4" + +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-params@^1.0.4: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-modules-extract-imports@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + dependencies: + postcss "^5.0.5" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + dependencies: + postcss "^5.0.4" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + dependencies: + has "^1.0.1" + postcss "^5.0.4" + 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.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" + +postcss@^6.0.1: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.6.tgz#bba4d58e884fc78c840d1539e10eddaabb8f73bd" + dependencies: + chalk "^2.0.1" + source-map "^0.5.6" + supports-color "^4.1.0" + 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.1: +prepend-http@^1.0.0, prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -4166,7 +4971,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.5.6, prop-types@^15.5.7, prop-types@~15.5.7: +prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@~15.5.7: version "15.5.8" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394" dependencies: @@ -4214,6 +5019,10 @@ punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +q@^1.1.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" + qrcode-terminal@^0.9.5: version "0.9.5" resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.9.5.tgz#0d01a5d1c22d264e804dc0409e3ebf854c637eb6" @@ -4226,7 +5035,7 @@ qs@~6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" -query-string@^4.2.2: +query-string@^4.1.0, query-string@^4.2.2: version "4.3.0" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.0.tgz#6f39ee0ce2f713b28a6517809b4a974a623fbb42" dependencies: @@ -4482,6 +5291,20 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + dependencies: + balanced-match "^0.4.2" + regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" @@ -4509,6 +5332,14 @@ regex-cache@^0.4.2: is-equal-shallow "^0.1.3" is-primitive "^2.0.0" +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + regexpu-core@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" @@ -4674,6 +5505,16 @@ safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" +sax@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" + scroll-behavior@^0.9.3: version "0.9.3" resolved "https://registry.yarnpkg.com/scroll-behavior/-/scroll-behavior-0.9.3.tgz#e48bcc8af364f3f07176e8dbca3968bd5e71557b" @@ -4685,6 +5526,12 @@ select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" +selfsigned@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.9.1.tgz#cdda4492d70d486570f87c65546023558e1dfa5a" + dependencies: + node-forge "0.6.33" + semver-diff@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" @@ -4713,11 +5560,11 @@ send@0.14.1: range-parser "~1.2.0" statuses "~1.3.0" -send@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f" +send@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" dependencies: - debug "2.6.1" + debug "2.6.7" depd "~1.1.0" destroy "~1.0.4" encodeurl "~1.0.1" @@ -4726,7 +5573,7 @@ send@0.15.1: fresh "0.5.0" http-errors "~1.6.1" mime "1.3.4" - ms "0.7.2" + ms "2.0.0" on-finished "~2.3.0" range-parser "~1.2.0" statuses "~1.3.1" @@ -4752,29 +5599,30 @@ serve-static@~1.11.1: parseurl "~1.3.1" send "0.14.1" -serve@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/serve/-/serve-5.1.4.tgz#acbb5a96fbce87a1add9b911a9dc8cd5b172c600" +serve@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serve/-/serve-6.0.2.tgz#2ffc8ac891057c827df8570f6ba20219916ad0f4" dependencies: - args "2.6.0" + args "3.0.2" basic-auth "1.1.0" bluebird "3.5.0" - boxen "1.0.0" - chalk "1.1.3" - clipboardy "1.1.0" + boxen "1.1.0" + chalk "2.0.1" + clipboardy "1.1.4" dargs "5.1.0" - detect-port "1.1.1" - filesize "3.5.6" - fs-promise "2.0.2" - handlebars "4.0.6" + detect-port "1.2.1" + filesize "3.5.10" + fs-extra "3.0.1" + handlebars "4.0.10" ip "1.1.5" - micro "7.3.2" + micro "7.3.3" micro-compress "1.0.0" mime-types "2.1.15" node-version "1.0.0" + opn "5.1.0" path-type "2.0.0" - send "0.15.1" - update-notifier "2.1.0" + send "0.15.3" + update-notifier "2.2.0" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -4870,26 +5718,33 @@ sockjs@0.3.18: faye-websocket "^0.10.0" uuid "^2.0.2" +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^0.1.7, 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-list-map@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.0.1.tgz#cc1fc17122ae0a51978024c2cc0f8c35659026b8" -source-list-map@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4" - -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-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" -source-map-explorer@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/source-map-explorer/-/source-map-explorer-1.3.3.tgz#ff15cb038465fb652e57fa54ecd103f51e01bc43" +source-map-explorer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/source-map-explorer/-/source-map-explorer-1.4.0.tgz#58b503045d0d6907d9d9a7bb4e2131b5686f7a69" dependencies: btoa "^1.1.2" convert-source-map "^1.1.1" docopt "^0.6.2" file-url "^1.0.1" + glob "^7.1.2" open "0.0.5" source-map "^0.5.1" temp "^0.8.3" @@ -4907,7 +5762,7 @@ source-map@0.4.x, source-map@^0.4.4: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@~0.5.1, source-map@~0.5.3: +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -5058,6 +5913,10 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + 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" @@ -5066,6 +5925,32 @@ strip-json-comments@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" +style-loader@^0.18.2: + version "0.18.2" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.18.2.tgz#cc31459afbcd6d80b7220ee54b291a9fd66ff5eb" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.3.0" + +styled-components@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0.tgz#0906652b77647e7400ca7e5a6d8d45eba6fa77ec" + dependencies: + buffer "^5.0.3" + css-to-react-native "^2.0.3" + fbjs "^0.8.9" + hoist-non-react-statics "^1.2.0" + inline-style-prefixer "^2.0.5" + is-function "^1.0.1" + is-plain-object "^2.0.1" + prop-types "^15.5.4" + stylis "^2.0.0" + supports-color "^3.2.3" + +stylis@^2.0.0: + version "2.0.12" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-2.0.12.tgz#547253055d170f2a7ac2f6d09365d70635f2bec6" + supports-color@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" @@ -5080,6 +5965,30 @@ supports-color@^3.1.0, supports-color@^3.1.1: dependencies: has-flag "^1.0.0" +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^4.0.0, supports-color@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.0.tgz#ad986dc7eb2315d009b4d77c8169c2231a684037" + dependencies: + has-flag "^2.0.0" + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + table@^3.7.8: version "3.7.8" resolved "https://registry.yarnpkg.com/table/-/table-3.7.8.tgz#b424433ef596851922b2fd77224a69a1951618eb" @@ -5142,22 +6051,24 @@ text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -thenify-all@^1.0.0, thenify-all@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.2.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.2.1.tgz#251fd1c80aff6e5cf57cb179ab1fcb724269bd11" +theming@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/theming/-/theming-1.1.0.tgz#0562760b55a1b919c2d5eeb94130351f8958e13a" dependencies: - any-promise "^1.0.0" + brcast "^2.0.0" + is-function "^1.0.1" + is-plain-object "^2.0.1" + prop-types "^15.5.8" + react "^15.5.4" through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" +thunky@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" + timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" @@ -5180,6 +6091,12 @@ toposort@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.0.tgz#b66cf385a1a8a8e68e45b8259e7f55875e8b06ef" +touch@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de" + dependencies: + nopt "~1.0.10" + tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" @@ -5239,7 +6156,7 @@ ua-parser-js@^0.7.9: version "0.7.12" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" -uglify-js@2.7.x: +uglify-js@2.7.x, uglify-js@^2.6: version "2.7.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" dependencies: @@ -5248,9 +6165,9 @@ uglify-js@2.7.x: uglify-to-browserify "~1.0.0" yargs "~3.10.0" -uglify-js@^2.6, uglify-js@^2.8.5: - version "2.8.22" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0" +uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" dependencies: source-map "~0.5.1" yargs "~3.10.0" @@ -5261,6 +6178,14 @@ uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + uid-number@~0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -5269,12 +6194,30 @@ underscore@^1.8.3: version "1.8.3" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + +uniqid@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" + dependencies: + macaddress "^0.2.8" + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" dependencies: crypto-random-string "^1.0.0" +universalify@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -5307,13 +6250,26 @@ update-notifier@2.1.0: semver-diff "^2.0.0" xdg-basedir "^3.0.0" +update-notifier@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" + dependencies: + boxen "^1.0.0" + chalk "^1.0.0" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" -url-loader@^0.5.8: - version "0.5.8" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5" +url-loader@^0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295" dependencies: loader-utils "^1.0.2" mime "1.3.x" @@ -5392,6 +6348,10 @@ vary@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" +vendors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" + verror@1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" @@ -5428,38 +6388,42 @@ wbuf@^1.1.0, wbuf@^1.4.0: dependencies: minimalistic-assert "^1.0.0" -webpack-dev-middleware@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1" +webpack-dev-middleware@^1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz#09691d0973a30ad1f82ac73a12e2087f0a4754f9" dependencies: memory-fs "~0.4.1" mime "^1.3.4" path-is-absolute "^1.0.0" range-parser "^1.0.3" -webpack-dev-server@^2.4.5: - version "2.4.5" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.4.5.tgz#31384ce81136be1080b4b4cde0eb9b90e54ee6cf" +webpack-dev-server@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.5.1.tgz#a02e726a87bb603db5d71abb7d6d2649bf10c769" dependencies: ansi-html "0.0.7" + bonjour "^3.5.0" chokidar "^1.6.0" compression "^1.5.2" connect-history-api-fallback "^1.3.0" + del "^3.0.0" express "^4.13.3" html-entities "^1.2.0" http-proxy-middleware "~0.17.4" + internal-ip "^1.2.0" opn "4.0.2" portfinder "^1.0.9" + selfsigned "^1.9.1" serve-index "^1.7.2" sockjs "0.3.18" sockjs-client "1.1.2" spdy "^3.4.1" strip-ansi "^3.0.0" supports-color "^3.1.1" - webpack-dev-middleware "^1.10.2" + webpack-dev-middleware "^1.11.0" yargs "^6.0.0" -webpack-sources@^0.1.0, webpack-sources@^0.1.4: +webpack-sources@^0.1.0: version "0.1.4" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd" dependencies: @@ -5473,37 +6437,38 @@ webpack-sources@^0.2.0: source-list-map "^1.0.1" source-map "~0.5.3" -webpack-sources@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" +webpack-sources@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" dependencies: - source-list-map "^1.1.1" + source-list-map "^2.0.0" source-map "~0.5.3" -webpack@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.4.1.tgz#15a91dbe34966d8a4b99c7d656efd92a2e5a6f6a" +webpack@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.2.0.tgz#8b0cae0e1a9fd76bfbf0eab61a8c2ada848c312f" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" - ajv "^4.7.0" - ajv-keywords "^1.1.1" + ajv "^5.1.5" + ajv-keywords "^2.0.0" async "^2.1.2" - enhanced-resolve "^3.0.0" + enhanced-resolve "^3.3.0" + escope "^3.6.0" interpret "^1.0.0" json-loader "^0.5.4" json5 "^0.5.1" loader-runner "^2.3.0" - loader-utils "^0.2.16" + loader-utils "^1.1.0" memory-fs "~0.4.1" mkdirp "~0.5.0" node-libs-browser "^2.0.0" source-map "^0.5.3" supports-color "^3.1.0" tapable "~0.2.5" - uglify-js "^2.8.5" + uglifyjs-webpack-plugin "^0.4.6" watchpack "^1.3.1" - webpack-sources "^0.2.3" + webpack-sources "^1.0.1" yargs "^6.0.0" websocket-driver@>=0.5.1: @@ -5520,6 +6485,10 @@ whatwg-fetch@>=0.10.0: version "2.0.1" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.1.tgz#078b9461bbe91cea73cbce8bb122a05f9e92b772" +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" From 17646dd87fcb65ca00d62c093f1704eecdd23bf7 Mon Sep 17 00:00:00 2001 From: Kyle Poole <2kylepoole@gmail.com> Date: Fri, 14 Jul 2017 10:39:26 -0700 Subject: [PATCH 2/9] shows flash from css-vars --- .babelrc | 4 ++-- src/entry.static.js | 2 +- src/scenes/App/App.js | 6 +++--- src/scenes/Home/Home.js | 12 ++++++++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.babelrc b/.babelrc index b4657f5..e1f83e3 100644 --- a/.babelrc +++ b/.babelrc @@ -3,8 +3,8 @@ // Preset ordering is reversed (last to first). { "plugins": [ - ["emotion/babel", { "inline": true }], - /* "emotion/babel", */ + /* ["emotion/babel", { "inline": true }], */ + "emotion/babel", // able to use `class` instead of `className` and `for` instead of `htmlFor` "react-html-attrs", diff --git a/src/entry.static.js b/src/entry.static.js index dabfc88..a21a882 100644 --- a/src/entry.static.js +++ b/src/entry.static.js @@ -28,7 +28,7 @@ export default (locals: Object, callback: Function) => { css, html, styleIds: JSON.stringify(ids), - // style: true, + style: true, title: 'Constelation', js: [locals.assets.vendor, locals.assets.main], // js: Object.keys(locals.assets).map(key => locals.assets[key]), diff --git a/src/scenes/App/App.js b/src/scenes/App/App.js index cb29c94..98a7f3f 100644 --- a/src/scenes/App/App.js +++ b/src/scenes/App/App.js @@ -42,7 +42,7 @@ export class AppBar extends React.Component { render() { return ( - + {/* */} ) } @@ -68,8 +68,8 @@ export default class App extends React.Component { fit alignVertical='top' > - - + {/* */} + {/* */} {this.props.children} diff --git a/src/scenes/Home/Home.js b/src/scenes/Home/Home.js index a86ce26..9d3c106 100644 --- a/src/scenes/Home/Home.js +++ b/src/scenes/Home/Home.js @@ -70,11 +70,19 @@ export default class Home extends React.Component { } render() { + const grow = 1 + return (
Date: Mon, 17 Jul 2017 13:28:41 -0700 Subject: [PATCH 3/9] static with extract for css-vars --- package.json | 4 +- src/scenes/App/App.emotion.css | 15 +++ src/scenes/App/App.js | 22 +++- src/scenes/Home/Home.emotion.css | 86 ++++++++++++++++ src/scenes/Home/Home.js | 39 +++++++- webpack.config.js | 10 +- yarn.lock | 166 +++++++++++++++++-------------- 7 files changed, 259 insertions(+), 83 deletions(-) create mode 100644 src/scenes/App/App.emotion.css create mode 100644 src/scenes/Home/Home.emotion.css diff --git a/package.json b/package.json index edeba41..7b6d7b2 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "static-site-generator-webpack-plugin": "^3.4.1", "style-loader": "^0.18.2", "url-loader": "^0.5.9", - "webpack": "^3.2.0", + "webpack": "^3.3.0", "webpack-dev-server": "^2.5.1", "why-did-you-update": "^0.0.8" }, @@ -74,7 +74,7 @@ "constelation-transition-group-view": "^14.0.0", "constelation-view": "^14.0.3", "decko": "^1.2.0", - "emotion": "^5.2.0", + "emotion": "^6.0.1", "glamor": "next", "glamor-react": "^3.0.0-1", "glamor-reset": "^3.0.0-1", diff --git a/src/scenes/App/App.emotion.css b/src/scenes/App/App.emotion.css new file mode 100644 index 0000000..d7f4e3d --- /dev/null +++ b/src/scenes/App/App.emotion.css @@ -0,0 +1,15 @@ +:root { + --main-bg-color: brown; + } +.css-App-15txg9k { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; + height: 100%; + width: 100%; + -webkit-flex-direction: column; + -ms-flex-direction: column; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + -webkit-box-pack: start; + justify-content: flex-start; } \ No newline at end of file diff --git a/src/scenes/App/App.js b/src/scenes/App/App.js index 98a7f3f..47e64df 100644 --- a/src/scenes/App/App.js +++ b/src/scenes/App/App.js @@ -8,6 +8,7 @@ import { Provider } from 'mobx-react' import React from 'react' import Text from 'constelation-text' import mobx from 'mobx' +import { injectGlobal } from 'emotion' import AppOverlay from 'stores/AppOverlay' @@ -38,11 +39,17 @@ const stores = { AppOverlay: new AppOverlay(), } +injectGlobal` + :root { + --main-bg-color: brown; + } +` + export class AppBar extends React.Component { render() { return ( - {/* */} + ) } @@ -64,9 +71,14 @@ export default class App extends React.Component { render() { return ( - {/* */} {/* */} @@ -76,7 +88,7 @@ export default class App extends React.Component { - +
) } diff --git a/src/scenes/Home/Home.emotion.css b/src/scenes/Home/Home.emotion.css new file mode 100644 index 0000000..d2751a2 --- /dev/null +++ b/src/scenes/Home/Home.emotion.css @@ -0,0 +1,86 @@ +.css-COL-10v8qy4 { + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + position: relative; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + -webkit-box-align: stretch; + align-items: stretch; } +.css-flex-lmjjie { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; + position: relative; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + -webkit-box-align: stretch; + align-items: stretch; } +.css-row-1u1wvnz { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + position: relative; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + -webkit-box-align: stretch; + align-items: stretch; } +.css-center-oon92y { -webkit-align-items: center; -ms-flex-align: center; -webkit-box-align: center; align-items: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + -webkit-box-pack: center; + justify-content: center; } +.css-BOX-1fsgt63 { height: 200px; + width: 400px; + background-color: red; } +.css-BOX_UPDATED-1pa2pyx { + background-color: green; } +.css-Home-1wjhkv7 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + position: relative; + -webkit-flex-shrink: var(--css-Home-1wjhkv7-0); + -ms-flex-negative: var(--css-Home-1wjhkv7-0); + flex-shrink: var(--css-Home-1wjhkv7-0); + -webkit-align-items: center; + -ms-flex-align: center; + -webkit-box-align: center; + align-items: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + -webkit-box-pack: center; + justify-content: center; + -webkit-flex-grow: var(--css-Home-1wjhkv7-1); + -ms-flex-positive: var(--css-Home-1wjhkv7-1); + flex-grow: var(--css-Home-1wjhkv7-1); } +.css-Home-1buck6g { height: 200px; + width: 400px; + background-color: var(--css-Home-1buck6g-0); } +.css-Home-1wrvnja { font-size: 20px; } +.css-Home-h70lla { font-size: 16px; + padding: 16px; + border: 1px solid #111; } +.css-Home-h70lla { font-size: 16px; + padding: 16px; + border: 1px solid #111; } +.css-Home-h70lla { font-size: 16px; + padding: 16px; + border: 1px solid #111; } \ No newline at end of file diff --git a/src/scenes/Home/Home.js b/src/scenes/Home/Home.js index 9d3c106..997d722 100644 --- a/src/scenes/Home/Home.js +++ b/src/scenes/Home/Home.js @@ -17,6 +17,7 @@ import FullOverlay from './_/FullOverlay' const col = css` + name: COL; display: flex; flex-direction: column; position: relative; @@ -44,9 +45,24 @@ const center = css` justify-content: center; ` +const BOX = css` + height: 200px; + width: 400px; + backgroundColor: red; +` + +const BOX_UPDATED = css` + composes: ${BOX}; + backgroundColor: green; +` + @inject('AppOverlay') @observer export default class Home extends React.Component { + state = { + isUpdated: false, + } + @bind handleOpenFadeOverlay() { this.props.AppOverlay.show(FullOverlay) } @@ -69,22 +85,41 @@ export default class Home extends React.Component { this.props.AppOverlay.hide() } + componentDidMount() { + setTimeout(() => { + this.setState({ isUpdated: true }) + }, 400) + } + render() { const grow = 1 + const another = 0; return (
+ +
+ +
+ Date: Wed, 19 Jul 2017 10:05:51 -0700 Subject: [PATCH 4/9] first pass with constelation/babel --- .babelrc | 2 + babel/constelation.js | 191 +++++++++++++++++++++++++++++++ package.json | 2 +- src/scenes/Home/Home.emotion.css | 2 + src/scenes/Home/Home.js | 71 ++++++++++++ yarn.lock | 6 +- 6 files changed, 270 insertions(+), 4 deletions(-) create mode 100644 babel/constelation.js diff --git a/.babelrc b/.babelrc index e1f83e3..8b8cc80 100644 --- a/.babelrc +++ b/.babelrc @@ -3,6 +3,8 @@ // Preset ordering is reversed (last to first). { "plugins": [ + "./babel/constelation", + /* ["emotion/babel", { "inline": true }], */ "emotion/babel", diff --git a/babel/constelation.js b/babel/constelation.js new file mode 100644 index 0000000..b7446c4 --- /dev/null +++ b/babel/constelation.js @@ -0,0 +1,191 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +exports.default = function (babel) { + var t = babel.types; + + + // console.log(babel); + + return { + name: "ast-transform", // not required + visitor: { + JSXElement: function JSXElement(path) { + // console.log(path); + + var isView = looksLike(path, { + node: { + openingElement: { + name: { + name: 'view' + } + } + } + }); + + if (!isView) { + return; + } + + renameTag(path.node); + var props = buildProps(path.node); + + path.node.openingElement.attributes = props; + } + } + }; +}; + +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + +var propsToOmit = { + as: true +}; + +var propsToUse = { + width: true, + height: true +}; + +var defaultCss = 'display: flex;flex-direction: column;position: relative;'; + +function buildDefaultCssProp() { + return { + type: 'JSXAttribute', + name: { + type: 'JSXIdentifier', + name: 'css' + }, + value: { + type: "JSXExpressionContainer", + expression: { + type: "TemplateLiteral", + expressions: [], + quasis: [{ + type: 'TemplateElement', + value: { + raw: defaultCss, + cooked: defaultCss + } + // tail: true + }] + } + } + }; +} + +function buildCssProp(attribute) { + var name = attribute.name.name; + var value = void 0; + switch (attribute.value.type) { + case 'JSXExpressionContainer': + { + if (attribute.value.expression.type === 'NumericLiteral') { + value = attribute.value.expression.extra.raw + 'px'; + } else if (attribute.value.expression.type === 'StringLiteral') { + value = attribute.value.expression.value; + } + break; + } + case 'StringLiteral': + { + value = attribute.value.value; + break; + } + } + // if (attribute.value.type + // const value = attribute.value.value + + return name + ': ' + value + ';' + + // return { + // type: 'TemplateElement', + // value: { + // raw: name + ': ' + value + ';', + // cooked: name + ': ' + value + ';' + // } + // }; +} + +function buildProps(node) { + var css = buildDefaultCssProp(); + var props = [css]; + + if (node.openingElement.attributes == null) { + return props; + } + + node.openingElement.attributes.forEach(function (attribute) { + var name = attribute.name.name; + + if (name in propsToOmit) { + return; + } else if (name === 'css') { + var _props$0$value$expres; + + props[0].value.expression.quasis[0].value.raw = props[0].value.expression.quasis[0].value.raw + attribute.value.expression.quasis[0].value.raw; + props[0].value.expression.quasis[0].value.cooked = props[0].value.expression.quasis[0].value.cooked + attribute.value.expression.quasis[0].value.cooked; + // props[0].value.expression.quasis[0].value.cooked = props[0].value.expression.quasis[0].value.cooked + buildCssProp(attribute); + // props[0].value.expression.quasis[0].tail = false + // (_props$0$value$expres = props[0].value.expression.quasis).push.apply(_props$0$value$expres, _toConsumableArray(attribute.value.expression.quasis)); + } else if (name in propsToUse) { + // console.log(attribute) + // props[0].value.expression.quasis[0].tail = false + // props[0].value.expression.quasis.push(buildCssProp(attribute)); + props[0].value.expression.quasis[0].value.raw = props[0].value.expression.quasis[0].value.raw + buildCssProp(attribute); + props[0].value.expression.quasis[0].value.cooked = props[0].value.expression.quasis[0].value.cooked + buildCssProp(attribute); + } else { + props.push(attribute); + } + }); + + console.log(props) + + return props; +} + +function renameTag(node) { + var tagName = 'div'; + + if (node.openingElement.attributes != null) { + var name = node.openingElement.attributes.find(function (prop) { + return prop.name.name === 'as'; + }); + + if (name !== undefined) { + var val = name.value.value || name.value.expression.value; + + if (val != null) { + tagName = val; + } else { + console.log('invalid `as` value. No variables allowed.'); + } + } + } + + node.openingElement.name.name = tagName; + + if (node.closingElement) { + node.closingElement.name.name = tagName; + } +} + +function looksLike(a, b) { + return a && b && Object.keys(b).every(function (bKey) { + var bVal = b[bKey]; + var aVal = a[bKey]; + if (typeof bVal === 'function') { + return bVal(aVal); + } + return isPrimitive(bVal) ? bVal === aVal : looksLike(aVal, bVal); + }); +} + +function isPrimitive(val) { + return val == null || /^[sbn]/.test(typeof val === 'undefined' ? 'undefined' : _typeof(val)); +} \ No newline at end of file diff --git a/package.json b/package.json index 7b6d7b2..a85e6a8 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "constelation-transition-group-view": "^14.0.0", "constelation-view": "^14.0.3", "decko": "^1.2.0", - "emotion": "^6.0.1", + "emotion": "^6.0.3", "glamor": "next", "glamor-react": "^3.0.0-1", "glamor-reset": "^3.0.0-1", diff --git a/src/scenes/Home/Home.emotion.css b/src/scenes/Home/Home.emotion.css index d2751a2..bc1672a 100644 --- a/src/scenes/Home/Home.emotion.css +++ b/src/scenes/Home/Home.emotion.css @@ -71,6 +71,8 @@ -webkit-flex-grow: var(--css-Home-1wjhkv7-1); -ms-flex-positive: var(--css-Home-1wjhkv7-1); flex-grow: var(--css-Home-1wjhkv7-1); } +.css-Home-1nk0ij0 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;position: relative;width: 300px;height: 30px; + background-color: purple; } .css-Home-1buck6g { height: 200px; width: 400px; background-color: var(--css-Home-1buck6g-0); } diff --git a/src/scenes/Home/Home.js b/src/scenes/Home/Home.js index 997d722..8bd5d71 100644 --- a/src/scenes/Home/Home.js +++ b/src/scenes/Home/Home.js @@ -109,6 +109,77 @@ export default class Home extends React.Component { `} > + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + + +
Date: Wed, 26 Jul 2017 15:10:30 -0700 Subject: [PATCH 5/9] using --- .babelrc | 3 +- babel/constelation.js | 372 +++++++++++++++++++++---------- src/scenes/Home/Home.emotion.css | 54 +++-- src/scenes/Home/Home.js | 114 +++++++--- 4 files changed, 362 insertions(+), 181 deletions(-) diff --git a/.babelrc b/.babelrc index 8b8cc80..7447227 100644 --- a/.babelrc +++ b/.babelrc @@ -3,7 +3,8 @@ // Preset ordering is reversed (last to first). { "plugins": [ - "./babel/constelation", + /* "./babel/constelation", */ + "constelation-babel", /* ["emotion/babel", { "inline": true }], */ "emotion/babel", diff --git a/babel/constelation.js b/babel/constelation.js index b7446c4..28efb3b 100644 --- a/babel/constelation.js +++ b/babel/constelation.js @@ -4,38 +4,153 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports.default = function (babel) { var t = babel.types; - // console.log(babel); + function buildDefaultCssProp(css) { + return t.jSXAttribute(t.jSXIdentifier('css'), t.jSXExpressionContainer(t.templateLiteral([t.templateElement({ + raw: css, + cooked: css + })], []))); + } + + function buildProps(node, defaultCss, cssProps) { + var css = buildDefaultCssProp(defaultCss); + var cssTemplate = css.value.expression; + var props = [css]; + + if (node.openingElement.attributes == null) { + return props; + } + + node.openingElement.attributes.forEach(function (attribute) { + var name = attribute.name.name; + + if (name in propsToOmit) { + return; + } else if (name === 'css') { + addTemplateToTemplate(cssTemplate, attribute.value.expression); + } else if (name in cssProps) { + addCssProp(cssTemplate, attribute, cssProps[name]); + } else if (name in booleanProps) { + addBooleanProp(cssTemplate, attribute, name, booleanProps[name]); + } else if (name === 'grow') { + addGrowProp(cssTemplate, attribute); + } else { + props.push(attribute); + } + }); + + return props; + } + + function addCssProp(cssTemplate, attribute, name) { + var value = attribute.value; + + + if (t.isJSXExpressionContainer(value)) { + var expression = value.expression; + + + if (t.isNumericLiteral(expression)) { + addStringToTemplate(cssTemplate, name + ': ' + expression.extra.raw + ';'); + } else if (t.isStringLiteral(expression)) { + addStringToTemplate(cssTemplate, name + ': ' + expression.value + ';'); + } else if (t.isIdentifier(expression)) { + addStringToTemplate(cssTemplate, name + ': '); + addQuasiToTemplate(cssTemplate, t.templateElement({ raw: ';', cooked: ';' })); + addExpressionToTemplate(cssTemplate, t.identifier(expression.name)); + } else if (t.isTemplateLiteral(expression)) { + expression.quasis[0].value.cooked = name + ': ' + expression.quasis[0].value.cooked; + expression.quasis[0].value.raw = name + ': ' + expression.quasis[0].value.raw; + addTemplateToTemplate(cssTemplate, expression); + addStringToTemplate(cssTemplate, ';'); + } else if (t.isBinaryExpression(expression)) { + addStringToTemplate(cssTemplate, name + ': '); + addExpressionToTemplate(cssTemplate, expression); + addQuasiToTemplate(cssTemplate, t.templateElement({ raw: ';', cooked: ';' })); + } else if (t.isConditionalExpression(expression)) { + addStringToTemplate(cssTemplate, name + ': '); + addExpressionToTemplate(cssTemplate, expression); + addQuasiToTemplate(cssTemplate, t.templateElement({ raw: ';', cooked: ';' })); + } + } else if (t.isStringLiteral(value)) { + addStringToTemplate(cssTemplate, name + ': ' + value.value + ';'); + } + } + + function addBooleanProp(cssTemplate, attribute, name, _ref) { + var consequent = _ref.consequent, + alternate = _ref.alternate; + var value = attribute.value; + + + if (value === null) { + addStringToTemplate(cssTemplate, consequent); + } else if (t.isJSXExpressionContainer(value)) { + var expression = value.expression; + + + if (t.isBooleanLiteral(expression) && expression.value === true) { + addStringToTemplate(cssTemplate, consequent); + } else if (t.isIdentifier(expression)) { + addExpressionToTemplate(cssTemplate, t.conditionalExpression(t.binaryExpression('===', t.identifier(expression.name), t.booleanLiteral(true)), t.stringLiteral(consequent), t.stringLiteral(alternate))); + + addQuasiToTemplate(cssTemplate, t.templateElement({ raw: '', cooked: '' })); + } + } + } + + function addGrowProp(cssTemplate, attribute) { + var value = attribute.value; + + + if (value === null) { + addStringToTemplate(cssTemplate, 'flex-grow: 1;'); + } else if (t.isJSXExpressionContainer(value)) { + var expression = value.expression; + + + if (t.isNumericLiteral(expression)) { + addStringToTemplate(cssTemplate, 'flex-grow: ' + expression.extra.raw + ';'); + } else if (t.isStringLiteral(expression)) { + addStringToTemplate(cssTemplate, 'flex-grow: ' + expression.value + ';'); + } else if (t.isIdentifier(expression)) { + addStringToTemplate(cssTemplate, 'flex-grow: '); + addQuasiToTemplate(cssTemplate, t.templateElement({ raw: ';', cooked: ';' })); + addExpressionToTemplate(cssTemplate, t.identifier(expression.name)); + } + } else if (t.isStringLiteral(value)) { + addStringToTemplate(cssTemplate, 'flex-grow: ' + value.value + ';'); + } + } return { name: "ast-transform", // not required visitor: { JSXElement: function JSXElement(path) { - // console.log(path); - - var isView = looksLike(path, { - node: { - openingElement: { - name: { - name: 'view' - } - } - } - }); - - if (!isView) { + var element = path.node && path.node.openingElement && path.node.openingElement.name; + + if (!element) { return; } - renameTag(path.node); - var props = buildProps(path.node); - - path.node.openingElement.attributes = props; + if (element.name === 'view') { + renameTag(path.node); + path.node.openingElement.attributes = buildProps(path.node, defaultColCss, propsToUse); + } else if (element.name === 'col') { + renameTag(path.node); + path.node.openingElement.attributes = buildProps(path.node, defaultColCss, propsToUse); + } else if (element.name === 'row') { + renameTag(path.node); + path.node.openingElement.attributes = buildProps(path.node, defaultRowCss, propsToUse); + } else if (element.name === 'flex') { + renameTag(path.node); + path.node.openingElement.attributes = buildProps(path.node, defaultFlexCss, flexPropsToUse); + } } } }; @@ -43,110 +158,121 @@ exports.default = function (babel) { function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + var propsToOmit = { as: true }; var propsToUse = { - width: true, - height: true + top: 'top', + right: 'right', + bottom: 'bottom', + left: 'left', + width: 'width', + maxWidth: 'max-width', + minWidth: 'min-width', + height: 'height', + maxHeight: 'max-height', + minHeight: 'min-height', + + flex: 'flex', + wrap: 'flex-wrap', + // grow: 'flex-grow', + shrink: 'flex-shrink', + basis: 'flex-basis', + order: 'order', + alignContent: 'align-content', + alignSelf: 'align-self', + align: 'align-items', + justify: 'justify-content', + // alignVertical + // alignHorizontal + + padding: 'padding', + paddingTop: 'padding-top', + paddingRight: 'padding-right', + paddingBottom: 'padding-bottom', + paddingLeft: 'padding-left', + margin: 'margin', + marginTop: 'margin-top', + marginRight: 'margin-right', + marginBottom: 'margin-bottom', + marginLeft: 'margin-left', + + position: 'position', + overflow: 'overflow', + overflowX: 'overflow-x', + overflowY: 'overflow-y', + //WebkitOverflowScrolling + zIndex: 'z-index' }; -var defaultCss = 'display: flex;flex-direction: column;position: relative;'; - -function buildDefaultCssProp() { - return { - type: 'JSXAttribute', - name: { - type: 'JSXIdentifier', - name: 'css' - }, - value: { - type: "JSXExpressionContainer", - expression: { - type: "TemplateLiteral", - expressions: [], - quasis: [{ - type: 'TemplateElement', - value: { - raw: defaultCss, - cooked: defaultCss - } - // tail: true - }] - } - } - }; -} +var flexPropsToUse = _extends({}, propsToUse, { + direction: 'flex-direction' +}); -function buildCssProp(attribute) { - var name = attribute.name.name; - var value = void 0; - switch (attribute.value.type) { - case 'JSXExpressionContainer': - { - if (attribute.value.expression.type === 'NumericLiteral') { - value = attribute.value.expression.extra.raw + 'px'; - } else if (attribute.value.expression.type === 'StringLiteral') { - value = attribute.value.expression.value; - } - break; - } - case 'StringLiteral': - { - value = attribute.value.value; - break; - } +var booleanProps = { + center: { + consequent: 'align-items: center;justify-content: center;', + alternate: '' + }, + hidden: { + consequent: 'display: none;', + alternate: '' + }, + inline: { + consequent: 'display: inline-flex;', + alternate: '' + }, + fit: { + consequent: 'height: 100%;width: 100%;', + alternate: '' + }, + absoluteFill: { + consequent: 'position: absolute;top: 0;right: 0;bottom: 0;left: 0;', + alternate: '' } - // if (attribute.value.type - // const value = attribute.value.value - - return name + ': ' + value + ';' - - // return { - // type: 'TemplateElement', - // value: { - // raw: name + ': ' + value + ';', - // cooked: name + ': ' + value + ';' - // } - // }; -} +}; -function buildProps(node) { - var css = buildDefaultCssProp(); - var props = [css]; +var defaultFlexCss = 'name: FLEX;display: flex;flex-shrink: 0;align-content: flex-start;position: relative;'; +var defaultColCss = 'name: COL;display: flex;flex-direction: column;flex-shrink: 0;align-content: flex-start;position: relative;'; +var defaultRowCss = 'name: ROW;display: flex;flex-direction: row;flex-shrink: 0;align-content: flex-start;position: relative;'; - if (node.openingElement.attributes == null) { - return props; - } +function addTemplateToTemplate(target, template) { + if (template.expressions.length > 0) { + if (target.expressions.length === target.quasis.length) { + var _target$expressions, _target$quasis; - node.openingElement.attributes.forEach(function (attribute) { - var name = attribute.name.name; - - if (name in propsToOmit) { - return; - } else if (name === 'css') { - var _props$0$value$expres; - - props[0].value.expression.quasis[0].value.raw = props[0].value.expression.quasis[0].value.raw + attribute.value.expression.quasis[0].value.raw; - props[0].value.expression.quasis[0].value.cooked = props[0].value.expression.quasis[0].value.cooked + attribute.value.expression.quasis[0].value.cooked; - // props[0].value.expression.quasis[0].value.cooked = props[0].value.expression.quasis[0].value.cooked + buildCssProp(attribute); - // props[0].value.expression.quasis[0].tail = false - // (_props$0$value$expres = props[0].value.expression.quasis).push.apply(_props$0$value$expres, _toConsumableArray(attribute.value.expression.quasis)); - } else if (name in propsToUse) { - // console.log(attribute) - // props[0].value.expression.quasis[0].tail = false - // props[0].value.expression.quasis.push(buildCssProp(attribute)); - props[0].value.expression.quasis[0].value.raw = props[0].value.expression.quasis[0].value.raw + buildCssProp(attribute); - props[0].value.expression.quasis[0].value.cooked = props[0].value.expression.quasis[0].value.cooked + buildCssProp(attribute); + // safe to just push these + (_target$expressions = target.expressions).push.apply(_target$expressions, _toConsumableArray(template.expressions)); + (_target$quasis = target.quasis).push.apply(_target$quasis, _toConsumableArray(template.quasis)); } else { - props.push(attribute); + var _target$expressions2, _target$quasis2; + + (_target$expressions2 = target.expressions).push.apply(_target$expressions2, _toConsumableArray(template.expressions)); + + // concate the first quasi, then push on the rest + addStringToTemplate(target, template.quasis[0].value.raw); + (_target$quasis2 = target.quasis).push.apply(_target$quasis2, _toConsumableArray(template.quasis.slice(1))); } - }); + } else { + addStringToTemplate(target, template.quasis[0].value.raw); + } +} - console.log(props) +function addStringToTemplate(template, str) { + var last = template.quasis.length - 1; - return props; + template.quasis[last].value.raw = template.quasis[last].value.raw + str; + template.quasis[last].value.cooked = template.quasis[last].value.cooked + str; +} + +function addQuasiToTemplate(template, quasi) { + template.quasis.push(quasi); +} + +function addExpressionToTemplate(template, expression) { + template.expressions.push(expression); } function renameTag(node) { @@ -175,17 +301,21 @@ function renameTag(node) { } } -function looksLike(a, b) { - return a && b && Object.keys(b).every(function (bKey) { - var bVal = b[bKey]; - var aVal = a[bKey]; - if (typeof bVal === 'function') { - return bVal(aVal); - } - return isPrimitive(bVal) ? bVal === aVal : looksLike(aVal, bVal); - }); -} - -function isPrimitive(val) { - return val == null || /^[sbn]/.test(typeof val === 'undefined' ? 'undefined' : _typeof(val)); -} \ No newline at end of file +// function looksLike(a, b) { +// return ( +// a && +// b && +// Object.keys(b).every(bKey => { +// const bVal = b[bKey] +// const aVal = a[bKey] +// if (typeof bVal === 'function') { +// return bVal(aVal) +// } +// return isPrimitive(bVal) ? bVal === aVal : looksLike(aVal, bVal) +// }) +// ) +// } +// +// function isPrimitive(val) { +// return val == null || /^[sbn]/.test(typeof val) +// } diff --git a/src/scenes/Home/Home.emotion.css b/src/scenes/Home/Home.emotion.css index bc1672a..862b796 100644 --- a/src/scenes/Home/Home.emotion.css +++ b/src/scenes/Home/Home.emotion.css @@ -50,39 +50,35 @@ background-color: red; } .css-BOX_UPDATED-1pa2pyx { background-color: green; } -.css-Home-1wjhkv7 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - position: relative; - -webkit-flex-shrink: var(--css-Home-1wjhkv7-0); - -ms-flex-negative: var(--css-Home-1wjhkv7-0); - flex-shrink: var(--css-Home-1wjhkv7-0); - -webkit-align-items: center; - -ms-flex-align: center; - -webkit-box-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - -webkit-box-pack: center; - justify-content: center; - -webkit-flex-grow: var(--css-Home-1wjhkv7-1); - -ms-flex-positive: var(--css-Home-1wjhkv7-1); - flex-grow: var(--css-Home-1wjhkv7-1); } -.css-Home-1nk0ij0 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;position: relative;width: 300px;height: 30px; +.css-Home-1vzsxza { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-align-items: center;-ms-flex-align: center;-webkit-box-align: center;align-items: center;-webkit-justify-content: center;-ms-flex-pack: center;-webkit-box-pack: center;justify-content: center;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1; } +.css-Home-kssq5x { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;width: 300px;height: 30px;margin: 20px; background-color: purple; } -.css-Home-1buck6g { height: 200px; - width: 400px; - background-color: var(--css-Home-1buck6g-0); } -.css-Home-1wrvnja { font-size: 20px; } -.css-Home-h70lla { font-size: 16px; +.css-Home-rcx6r3 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;height: 200px;width: 400px; + background-color: var(--css-Home-rcx6r3-0); } +.css-Home-1ibztja { -webkit-flex-grow: 0; -ms-flex-positive: 0; flex-grow: 0;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-flex-basis: 40px;-ms-preferred-size: 40px;flex-basis: 40px; } +.css-Home-1fqfn1l { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: row;-ms-flex-direction: row;-webkit-box-orient: horizontal;-webkit-box-direction: normal;flex-direction: row;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;height: 200px;width: 400px; } +.css-Home-10n0dl7 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1; + background-color: red; } +.css-Home-asuv6 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1; + background-color: green; } +.css-Home-1twycd7 { -webkit-flex-grow: 0; -ms-flex-positive: 0; flex-grow: 0;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-flex-basis: 20px;-ms-preferred-size: 20px;flex-basis: 20px; } +.css-Home-cb9ahb { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1; + background-color: blue; } +.css-Home-1ibztja { -webkit-flex-grow: 0; -ms-flex-positive: 0; flex-grow: 0;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-flex-basis: 40px;-ms-preferred-size: 40px;flex-basis: 40px; } +.css-Home-ypm15r { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-flex-direction: var(--css-Home-ypm15r-0);-ms-flex-direction: var(--css-Home-ypm15r-0);-webkit-box-orient: horizontal;-webkit-box-direction: normal;flex-direction: var(--css-Home-ypm15r-0);height: 200px;width: 400px; } +.css-Home-10n0dl7 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1; + background-color: red; } +.css-Home-asuv6 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1; + background-color: green; } +.css-Home-cb9ahb { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1; + background-color: blue; } +.css-Home-18gaxx6 { font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size: 20px; } +.css-Home-15dla7k { font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size: 16px; padding: 16px; border: 1px solid #111; } -.css-Home-h70lla { font-size: 16px; +.css-Home-15dla7k { font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size: 16px; padding: 16px; border: 1px solid #111; } -.css-Home-h70lla { font-size: 16px; +.css-Home-15dla7k { font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size: 16px; padding: 16px; border: 1px solid #111; } \ No newline at end of file diff --git a/src/scenes/Home/Home.js b/src/scenes/Home/Home.js index 8bd5d71..4d8ac56 100644 --- a/src/scenes/Home/Home.js +++ b/src/scenes/Home/Home.js @@ -96,17 +96,21 @@ export default class Home extends React.Component { const another = 0; return ( -
{/* -
- + + + + + + + + + + + + + + + + + Home - + Other - Open Fade Overlay - + - Open Overlay Light Outer - + - Open Modal Dark Outer - -
+ + ) } } From 6b32780903e30abe7c369021b81869de7a2c5ecd Mon Sep 17 00:00:00 2001 From: Kyle Poole <2kylepoole@gmail.com> Date: Thu, 27 Jul 2017 13:18:54 -0700 Subject: [PATCH 6/9] tmp --- src/entry.static.js | 2 ++ src/scenes/Home/Home.emotion.css | 2 +- src/scenes/Home/Home.js | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/entry.static.js b/src/entry.static.js index a21a882..d8067ce 100644 --- a/src/entry.static.js +++ b/src/entry.static.js @@ -22,6 +22,8 @@ export default (locals: Object, callback: Function) => { match({ routes, location }, (error, redirectLocation, renderProps) => { const { html, css, ids } = extractCritical(ReactDOMServer.renderToStaticMarkup()) + console.log(css); + callback( null, htmlTemplate({ diff --git a/src/scenes/Home/Home.emotion.css b/src/scenes/Home/Home.emotion.css index 862b796..b8fd866 100644 --- a/src/scenes/Home/Home.emotion.css +++ b/src/scenes/Home/Home.emotion.css @@ -50,7 +50,7 @@ background-color: red; } .css-BOX_UPDATED-1pa2pyx { background-color: green; } -.css-Home-1vzsxza { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-align-items: center;-ms-flex-align: center;-webkit-box-align: center;align-items: center;-webkit-justify-content: center;-ms-flex-pack: center;-webkit-box-pack: center;justify-content: center;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1; } +.css-Home-1s18j1e { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;-webkit-align-items: center;-ms-flex-align: center;-webkit-box-align: center;align-items: center;-webkit-justify-content: center;-ms-flex-pack: center;-webkit-box-pack: center;justify-content: center;-webkit-flex-grow: var(--css-Home-1s18j1e-0);-ms-flex-positive: var(--css-Home-1s18j1e-0);flex-grow: var(--css-Home-1s18j1e-0); } .css-Home-kssq5x { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;width: 300px;height: 30px;margin: 20px; background-color: purple; } .css-Home-rcx6r3 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;-webkit-align-content: flex-start;-ms-flex-line-pack: start;align-content: flex-start;position: relative;height: 200px;width: 400px; diff --git a/src/scenes/Home/Home.js b/src/scenes/Home/Home.js index 4d8ac56..00ec724 100644 --- a/src/scenes/Home/Home.js +++ b/src/scenes/Home/Home.js @@ -98,7 +98,7 @@ export default class Home extends React.Component { return ( Date: Tue, 1 Aug 2017 14:51:42 -0700 Subject: [PATCH 7/9] ignore emotion.css files --- .gitignore | 4 ++++ src/scenes/Other/Other.js | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index 4e8edbc..aac24a5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,9 @@ .DS_Store .tern-port +.idea/ + node_modules/ public/ + +*.emotion.css diff --git a/src/scenes/Other/Other.js b/src/scenes/Other/Other.js index 5a1e64d..f731ae2 100644 --- a/src/scenes/Other/Other.js +++ b/src/scenes/Other/Other.js @@ -14,8 +14,13 @@ export default class Other extends React.Component { Other + + Home + + + ) From d80eff63a3ffe7e2c9bc993f20a1c8c948b19335 Mon Sep 17 00:00:00 2001 From: Kyle Poole <2kylepoole@gmail.com> Date: Tue, 1 Aug 2017 15:19:11 -0700 Subject: [PATCH 8/9] emotion@beta --- .babelrc | 4 +- package.json | 2 +- src/entry.static.js | 5 +- src/html.ejs | 10 ++-- webpack.config.js | 21 +++----- yarn.lock | 125 ++++++++++++++++++++++++++------------------ 6 files changed, 90 insertions(+), 77 deletions(-) diff --git a/.babelrc b/.babelrc index 7447227..2fbfb31 100644 --- a/.babelrc +++ b/.babelrc @@ -6,8 +6,8 @@ /* "./babel/constelation", */ "constelation-babel", - /* ["emotion/babel", { "inline": true }], */ - "emotion/babel", + ["emotion/babel", { "extractStatic": true }], + /* "emotion/babel", */ // able to use `class` instead of `className` and `for` instead of `htmlFor` "react-html-attrs", diff --git a/package.json b/package.json index a85e6a8..1372b1a 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "constelation-transition-group-view": "^14.0.0", "constelation-view": "^14.0.3", "decko": "^1.2.0", - "emotion": "^6.0.3", + "emotion": "beta", "glamor": "next", "glamor-react": "^3.0.0-1", "glamor-reset": "^3.0.0-1", diff --git a/src/entry.static.js b/src/entry.static.js index d8067ce..a64ae2b 100644 --- a/src/entry.static.js +++ b/src/entry.static.js @@ -22,18 +22,15 @@ export default (locals: Object, callback: Function) => { match({ routes, location }, (error, redirectLocation, renderProps) => { const { html, css, ids } = extractCritical(ReactDOMServer.renderToStaticMarkup()) - console.log(css); - callback( null, htmlTemplate({ css, html, styleIds: JSON.stringify(ids), - style: true, + externalStyleSheet: true, title: 'Constelation', js: [locals.assets.vendor, locals.assets.main], - // js: Object.keys(locals.assets).map(key => locals.assets[key]), }), ) }) diff --git a/src/html.ejs b/src/html.ejs index 777c833..7ed8c16 100644 --- a/src/html.ejs +++ b/src/html.ejs @@ -6,9 +6,6 @@ <%= data.title %> - <% if (data.css) { %> - - <% } %> - <% if (data.style) { %> + <% if (data.externalStyleSheet) { %> <% } %> + + <% if (data.css) { %> + + <% } %> +
diff --git a/webpack.config.js b/webpack.config.js index 2e24076..874bc69 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -67,7 +67,7 @@ module.exports = function (env = {}) { }, { test: /emotion\.css$/, - use: env.prod ? ExtractTextPlugin.extract({ + use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: { loader: 'css-loader', @@ -75,10 +75,7 @@ module.exports = function (env = {}) { sourceMap: true } } - }) : [ - 'style-loader', - { loader: 'css-loader' } - ] + }) }, // {variable: 'data'} needed to avoid a 'with' error: // http://stackoverflow.com/questions/18679422/issue-with-with-use-strict-and-underscore-js @@ -108,6 +105,11 @@ module.exports = function (env = {}) { // Needed for ejs loader _: 'lodash', }), + + new ExtractTextPlugin({ + filename: 'styles.css', + allChunks: true, + }), ], } @@ -119,10 +121,6 @@ module.exports = function (env = {}) { // Builds the static files config.plugins.push( - new ExtractTextPlugin({ - filename: 'styles.css', - allChunks: true, - }), new StaticSiteGeneratorPlugin({ entry: 'main', @@ -163,11 +161,6 @@ module.exports = function (env = {}) { debug: false, }), - new ExtractTextPlugin({ - filename: 'styles.css', - allChunks: true, - }), - // Minifier that understands es6 (vs Uglify) new BabiliPlugin(), new CompressionPlugin({ diff --git a/yarn.lock b/yarn.lock index 7270db4..121584c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,6 +14,10 @@ version "1.0.0" resolved "https://registry.yarnpkg.com/@arr/map/-/map-1.0.0.tgz#bca3c97ccf003d6d0435518af6f5ba03a5e216b7" +"@arr/reduce@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@arr/reduce/-/reduce-1.0.0.tgz#a450b3052055987ccd6ccdcfd0e3f4a40aaba227" + abbrev@1: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" @@ -329,6 +333,10 @@ babel-core@^6.24.1, babel-core@^6.25.0: slash "^1.0.0" source-map "^0.5.0" +babel-errors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/babel-errors/-/babel-errors-1.1.1.tgz#43f7142dd3b365633c758d155bffa3ba41523794" + babel-eslint@^7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" @@ -1239,7 +1247,7 @@ boom@2.x.x: dependencies: hoek "2.x.x" -bowser@^1.0.0: +bowser@^1.6.0: version "1.7.1" resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.7.1.tgz#a4de8f18a1a0dc9531eb2a92a1521fb6a9ba96a5" @@ -1374,13 +1382,6 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.0.3: - version "5.0.6" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - buffers@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" @@ -1924,14 +1925,16 @@ crypto-random-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" -css-color-keywords@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" - css-color-names@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" +css-in-js-utils@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-1.0.3.tgz#9ac7e02f763cf85d94017666565ed68a5b5f3215" + dependencies: + hyphenate-style-name "^1.0.2" + css-loader@^0.28.4: version "0.28.4" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f" @@ -1968,14 +1971,6 @@ css-selector-tokenizer@^0.7.0: fastparse "^1.1.1" regexpu-core "^1.0.0" -css-to-react-native@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.4.tgz#cf4cc407558b3474d4ba8be1a2cd3b6ce713101b" - dependencies: - css-color-keywords "^1.0.0" - fbjs "^0.8.5" - postcss-value-parser "^3.3.0" - css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" @@ -2312,17 +2307,23 @@ emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" -emotion@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/emotion/-/emotion-6.0.3.tgz#ac855c116ada1f55097fd30073b90e26f4a3442f" +emotion@beta: + version "7.0.5" + resolved "https://registry.yarnpkg.com/emotion/-/emotion-7.0.5.tgz#7eece36020a83f44ce29dfc09b2904e7ab1bb16d" dependencies: "@arr/filter.mutate" "^1.0.0" "@arr/foreach" "^1.0.0" "@arr/map" "^1.0.0" + "@arr/reduce" "^1.0.0" autoprefixer "^7.1.2" + babel-errors "^1.1.1" babel-plugin-syntax-jsx "^6.18.0" + babel-types "^6.25.0" + fbjs "^0.8.12" + inline-style-prefixer "^3.0.6" postcss-js "^1.0.0" - styled-components "2.0.0" + postcss-nested "^2.1.0" + postcss-safe-parser "^3.0.1" theming "^1.0.1" touch "^1.0.0" @@ -2707,7 +2708,19 @@ faye-websocket@~0.11.0: dependencies: websocket-driver ">=0.5.1" -fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.9: +fbjs@^0.8.12: + version "0.8.14" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.14.tgz#d1dbe2be254c35a91e09f31f9cd50a40b2a0ed1c" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.9" + +fbjs@^0.8.4, fbjs@^0.8.9: version "0.8.12" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: @@ -3374,7 +3387,7 @@ husky@^0.14.3: normalize-path "^1.0.0" strip-indent "^2.0.0" -hyphenate-style-name@^1.0.1: +hyphenate-style-name@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" @@ -3441,12 +3454,12 @@ 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" +inline-style-prefixer@^3.0.6: + version "3.0.7" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.7.tgz#0ccc92e5902fe6e0d28d975c4258443f880615f8" dependencies: - bowser "^1.0.0" - hyphenate-style-name "^1.0.1" + bowser "^1.6.0" + css-in-js-utils "^1.0.3" inquirer@^0.12.0: version "0.12.0" @@ -4857,6 +4870,13 @@ postcss-modules-values@^1.1.0: icss-replace-symbols "^1.1.0" postcss "^6.0.1" +postcss-nested@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-2.1.0.tgz#72661d79463f5894a8c4b890479baec689d1c693" + dependencies: + postcss "^6.0.8" + postcss-selector-parser "^2.2.3" + postcss-normalize-charset@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" @@ -4900,7 +4920,13 @@ postcss-reduce-transforms@^1.0.3: postcss "^5.0.8" postcss-value-parser "^3.0.1" -postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: +postcss-safe-parser@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-3.0.1.tgz#b753eff6c7c0aea5e8375fbe4cde8bf9063ff142" + dependencies: + postcss "^6.0.6" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2, postcss-selector-parser@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" dependencies: @@ -4954,6 +4980,14 @@ postcss@^6.0.1, postcss@^6.0.6: source-map "^0.5.6" supports-color "^4.1.0" +postcss@^6.0.8: + version "6.0.8" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.8.tgz#89067a9ce8b11f8a84cbc5117efc30419a0857b3" + dependencies: + chalk "^2.0.1" + source-map "^0.5.6" + supports-color "^4.2.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -4999,7 +5033,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@~15.5.7: +prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@~15.5.7: version "15.5.8" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394" dependencies: @@ -5960,25 +5994,6 @@ style-loader@^0.18.2: loader-utils "^1.0.2" schema-utils "^0.3.0" -styled-components@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0.tgz#0906652b77647e7400ca7e5a6d8d45eba6fa77ec" - dependencies: - buffer "^5.0.3" - css-to-react-native "^2.0.3" - fbjs "^0.8.9" - hoist-non-react-statics "^1.2.0" - inline-style-prefixer "^2.0.5" - is-function "^1.0.1" - is-plain-object "^2.0.1" - prop-types "^15.5.4" - stylis "^2.0.0" - supports-color "^3.2.3" - -stylis@^2.0.0: - version "2.0.12" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-2.0.12.tgz#547253055d170f2a7ac2f6d09365d70635f2bec6" - supports-color@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" @@ -5999,6 +6014,12 @@ supports-color@^4.0.0, supports-color@^4.1.0: dependencies: has-flag "^2.0.0" +supports-color@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.1.tgz#65a4bb2631e90e02420dba5554c375a4754bb836" + dependencies: + has-flag "^2.0.0" + svgo@^0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" From 85bbdbb4ddb37469e14a20434537f4ca4635fd2e Mon Sep 17 00:00:00 2001 From: Kyle Poole <2kylepoole@gmail.com> Date: Tue, 1 Aug 2017 15:21:40 -0700 Subject: [PATCH 9/9] remove wip babel transform --- babel/constelation.js | 321 ------------------------------------------ 1 file changed, 321 deletions(-) delete mode 100644 babel/constelation.js diff --git a/babel/constelation.js b/babel/constelation.js deleted file mode 100644 index 28efb3b..0000000 --- a/babel/constelation.js +++ /dev/null @@ -1,321 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = function (babel) { - var t = babel.types; - - - function buildDefaultCssProp(css) { - return t.jSXAttribute(t.jSXIdentifier('css'), t.jSXExpressionContainer(t.templateLiteral([t.templateElement({ - raw: css, - cooked: css - })], []))); - } - - function buildProps(node, defaultCss, cssProps) { - var css = buildDefaultCssProp(defaultCss); - var cssTemplate = css.value.expression; - var props = [css]; - - if (node.openingElement.attributes == null) { - return props; - } - - node.openingElement.attributes.forEach(function (attribute) { - var name = attribute.name.name; - - if (name in propsToOmit) { - return; - } else if (name === 'css') { - addTemplateToTemplate(cssTemplate, attribute.value.expression); - } else if (name in cssProps) { - addCssProp(cssTemplate, attribute, cssProps[name]); - } else if (name in booleanProps) { - addBooleanProp(cssTemplate, attribute, name, booleanProps[name]); - } else if (name === 'grow') { - addGrowProp(cssTemplate, attribute); - } else { - props.push(attribute); - } - }); - - return props; - } - - function addCssProp(cssTemplate, attribute, name) { - var value = attribute.value; - - - if (t.isJSXExpressionContainer(value)) { - var expression = value.expression; - - - if (t.isNumericLiteral(expression)) { - addStringToTemplate(cssTemplate, name + ': ' + expression.extra.raw + ';'); - } else if (t.isStringLiteral(expression)) { - addStringToTemplate(cssTemplate, name + ': ' + expression.value + ';'); - } else if (t.isIdentifier(expression)) { - addStringToTemplate(cssTemplate, name + ': '); - addQuasiToTemplate(cssTemplate, t.templateElement({ raw: ';', cooked: ';' })); - addExpressionToTemplate(cssTemplate, t.identifier(expression.name)); - } else if (t.isTemplateLiteral(expression)) { - expression.quasis[0].value.cooked = name + ': ' + expression.quasis[0].value.cooked; - expression.quasis[0].value.raw = name + ': ' + expression.quasis[0].value.raw; - addTemplateToTemplate(cssTemplate, expression); - addStringToTemplate(cssTemplate, ';'); - } else if (t.isBinaryExpression(expression)) { - addStringToTemplate(cssTemplate, name + ': '); - addExpressionToTemplate(cssTemplate, expression); - addQuasiToTemplate(cssTemplate, t.templateElement({ raw: ';', cooked: ';' })); - } else if (t.isConditionalExpression(expression)) { - addStringToTemplate(cssTemplate, name + ': '); - addExpressionToTemplate(cssTemplate, expression); - addQuasiToTemplate(cssTemplate, t.templateElement({ raw: ';', cooked: ';' })); - } - } else if (t.isStringLiteral(value)) { - addStringToTemplate(cssTemplate, name + ': ' + value.value + ';'); - } - } - - function addBooleanProp(cssTemplate, attribute, name, _ref) { - var consequent = _ref.consequent, - alternate = _ref.alternate; - var value = attribute.value; - - - if (value === null) { - addStringToTemplate(cssTemplate, consequent); - } else if (t.isJSXExpressionContainer(value)) { - var expression = value.expression; - - - if (t.isBooleanLiteral(expression) && expression.value === true) { - addStringToTemplate(cssTemplate, consequent); - } else if (t.isIdentifier(expression)) { - addExpressionToTemplate(cssTemplate, t.conditionalExpression(t.binaryExpression('===', t.identifier(expression.name), t.booleanLiteral(true)), t.stringLiteral(consequent), t.stringLiteral(alternate))); - - addQuasiToTemplate(cssTemplate, t.templateElement({ raw: '', cooked: '' })); - } - } - } - - function addGrowProp(cssTemplate, attribute) { - var value = attribute.value; - - - if (value === null) { - addStringToTemplate(cssTemplate, 'flex-grow: 1;'); - } else if (t.isJSXExpressionContainer(value)) { - var expression = value.expression; - - - if (t.isNumericLiteral(expression)) { - addStringToTemplate(cssTemplate, 'flex-grow: ' + expression.extra.raw + ';'); - } else if (t.isStringLiteral(expression)) { - addStringToTemplate(cssTemplate, 'flex-grow: ' + expression.value + ';'); - } else if (t.isIdentifier(expression)) { - addStringToTemplate(cssTemplate, 'flex-grow: '); - addQuasiToTemplate(cssTemplate, t.templateElement({ raw: ';', cooked: ';' })); - addExpressionToTemplate(cssTemplate, t.identifier(expression.name)); - } - } else if (t.isStringLiteral(value)) { - addStringToTemplate(cssTemplate, 'flex-grow: ' + value.value + ';'); - } - } - - return { - name: "ast-transform", // not required - visitor: { - JSXElement: function JSXElement(path) { - var element = path.node && path.node.openingElement && path.node.openingElement.name; - - if (!element) { - return; - } - - if (element.name === 'view') { - renameTag(path.node); - path.node.openingElement.attributes = buildProps(path.node, defaultColCss, propsToUse); - } else if (element.name === 'col') { - renameTag(path.node); - path.node.openingElement.attributes = buildProps(path.node, defaultColCss, propsToUse); - } else if (element.name === 'row') { - renameTag(path.node); - path.node.openingElement.attributes = buildProps(path.node, defaultRowCss, propsToUse); - } else if (element.name === 'flex') { - renameTag(path.node); - path.node.openingElement.attributes = buildProps(path.node, defaultFlexCss, flexPropsToUse); - } - } - } - }; -}; - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - - -var propsToOmit = { - as: true -}; - -var propsToUse = { - top: 'top', - right: 'right', - bottom: 'bottom', - left: 'left', - width: 'width', - maxWidth: 'max-width', - minWidth: 'min-width', - height: 'height', - maxHeight: 'max-height', - minHeight: 'min-height', - - flex: 'flex', - wrap: 'flex-wrap', - // grow: 'flex-grow', - shrink: 'flex-shrink', - basis: 'flex-basis', - order: 'order', - alignContent: 'align-content', - alignSelf: 'align-self', - align: 'align-items', - justify: 'justify-content', - // alignVertical - // alignHorizontal - - padding: 'padding', - paddingTop: 'padding-top', - paddingRight: 'padding-right', - paddingBottom: 'padding-bottom', - paddingLeft: 'padding-left', - margin: 'margin', - marginTop: 'margin-top', - marginRight: 'margin-right', - marginBottom: 'margin-bottom', - marginLeft: 'margin-left', - - position: 'position', - overflow: 'overflow', - overflowX: 'overflow-x', - overflowY: 'overflow-y', - //WebkitOverflowScrolling - zIndex: 'z-index' -}; - -var flexPropsToUse = _extends({}, propsToUse, { - direction: 'flex-direction' -}); - -var booleanProps = { - center: { - consequent: 'align-items: center;justify-content: center;', - alternate: '' - }, - hidden: { - consequent: 'display: none;', - alternate: '' - }, - inline: { - consequent: 'display: inline-flex;', - alternate: '' - }, - fit: { - consequent: 'height: 100%;width: 100%;', - alternate: '' - }, - absoluteFill: { - consequent: 'position: absolute;top: 0;right: 0;bottom: 0;left: 0;', - alternate: '' - } -}; - -var defaultFlexCss = 'name: FLEX;display: flex;flex-shrink: 0;align-content: flex-start;position: relative;'; -var defaultColCss = 'name: COL;display: flex;flex-direction: column;flex-shrink: 0;align-content: flex-start;position: relative;'; -var defaultRowCss = 'name: ROW;display: flex;flex-direction: row;flex-shrink: 0;align-content: flex-start;position: relative;'; - -function addTemplateToTemplate(target, template) { - if (template.expressions.length > 0) { - if (target.expressions.length === target.quasis.length) { - var _target$expressions, _target$quasis; - - // safe to just push these - (_target$expressions = target.expressions).push.apply(_target$expressions, _toConsumableArray(template.expressions)); - (_target$quasis = target.quasis).push.apply(_target$quasis, _toConsumableArray(template.quasis)); - } else { - var _target$expressions2, _target$quasis2; - - (_target$expressions2 = target.expressions).push.apply(_target$expressions2, _toConsumableArray(template.expressions)); - - // concate the first quasi, then push on the rest - addStringToTemplate(target, template.quasis[0].value.raw); - (_target$quasis2 = target.quasis).push.apply(_target$quasis2, _toConsumableArray(template.quasis.slice(1))); - } - } else { - addStringToTemplate(target, template.quasis[0].value.raw); - } -} - -function addStringToTemplate(template, str) { - var last = template.quasis.length - 1; - - template.quasis[last].value.raw = template.quasis[last].value.raw + str; - template.quasis[last].value.cooked = template.quasis[last].value.cooked + str; -} - -function addQuasiToTemplate(template, quasi) { - template.quasis.push(quasi); -} - -function addExpressionToTemplate(template, expression) { - template.expressions.push(expression); -} - -function renameTag(node) { - var tagName = 'div'; - - if (node.openingElement.attributes != null) { - var name = node.openingElement.attributes.find(function (prop) { - return prop.name.name === 'as'; - }); - - if (name !== undefined) { - var val = name.value.value || name.value.expression.value; - - if (val != null) { - tagName = val; - } else { - console.log('invalid `as` value. No variables allowed.'); - } - } - } - - node.openingElement.name.name = tagName; - - if (node.closingElement) { - node.closingElement.name.name = tagName; - } -} - -// function looksLike(a, b) { -// return ( -// a && -// b && -// Object.keys(b).every(bKey => { -// const bVal = b[bKey] -// const aVal = a[bKey] -// if (typeof bVal === 'function') { -// return bVal(aVal) -// } -// return isPrimitive(bVal) ? bVal === aVal : looksLike(aVal, bVal) -// }) -// ) -// } -// -// function isPrimitive(val) { -// return val == null || /^[sbn]/.test(typeof val) -// }