From 582f20ccd66a57589da53339d53ea329f8714666 Mon Sep 17 00:00:00 2001 From: Shawn Erquhart Date: Fri, 16 Mar 2018 18:05:35 -0400 Subject: [PATCH] Implement extract text plugin helper (#4559) * fix extract-text-webpack-plugin version * migrate Gatsby core to extract text plugin helper * migrate Sass plugin to extract text plugin helper --- .../package.json | 2 +- packages/gatsby-plugin-sass/package.json | 4 +- .../src/__tests__/gatsby-node.js | 19 +- .../gatsby-plugin-sass/src/gatsby-node.js | 19 +- packages/gatsby/package.json | 2 +- packages/gatsby/src/utils/webpack.config.js | 36 ++- yarn.lock | 213 +++++++++++++----- 7 files changed, 187 insertions(+), 108 deletions(-) diff --git a/packages/gatsby-1-config-extract-plugin/package.json b/packages/gatsby-1-config-extract-plugin/package.json index d60d53bcedbdb..de077ec0d3e17 100644 --- a/packages/gatsby-1-config-extract-plugin/package.json +++ b/packages/gatsby-1-config-extract-plugin/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "babel-runtime": "^6.26.0", - "extract-text-webpack-plugin": "^3.0.2" + "extract-text-webpack-plugin": "^1.0.1" }, "devDependencies": { "babel-cli": "^6.26.0", diff --git a/packages/gatsby-plugin-sass/package.json b/packages/gatsby-plugin-sass/package.json index cc5f1ae779e63..07e7851917298 100644 --- a/packages/gatsby-plugin-sass/package.json +++ b/packages/gatsby-plugin-sass/package.json @@ -8,7 +8,6 @@ }, "dependencies": { "babel-runtime": "^6.26.0", - "extract-text-webpack-plugin": "^1.0.1", "gatsby-1-config-css-modules": "^1.0.10", "node-sass": "^4.5.2", "sass-loader": "^4.1.1", @@ -16,7 +15,8 @@ }, "devDependencies": { "babel-cli": "^6.26.0", - "cross-env": "^5.0.5" + "cross-env": "^5.0.5", + "gatsby-1-config-extract-plugin": "^1.0.1" }, "homepage": "https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-sass#readme", "keywords": [ diff --git a/packages/gatsby-plugin-sass/src/__tests__/gatsby-node.js b/packages/gatsby-plugin-sass/src/__tests__/gatsby-node.js index e03c3b17a5b25..654d095754766 100644 --- a/packages/gatsby-plugin-sass/src/__tests__/gatsby-node.js +++ b/packages/gatsby-plugin-sass/src/__tests__/gatsby-node.js @@ -1,7 +1,11 @@ describe(`gatsby-plugin-sass`, () => { - jest.mock(`extract-text-webpack-plugin`, function ExtractTextPlugin() { - this.extract = (...args) => {return { extractTextCalledWithArgs: args }} - }) + jest.mock(`gatsby-1-config-extract-plugin`, () => {return { + extractTextPlugin: () => {return { + extract: (...args) => { + return { extractTextCalledWithArgs: args } + }, + }}, + }}) const { modifyWebpackConfig } = require(`../gatsby-node`) const cssLoader = expect.stringMatching(/^css/) ;[ @@ -75,15 +79,6 @@ describe(`gatsby-plugin-sass`, () => { const config = { loader: jest.fn(), merge: jest.fn(), - resolve: jest.fn(() => {return { - plugins: [ - new function ExtractTextPlugin() { - this.extract = (...args) => {return { - extractTextCalledWithArgs: args, - }} - }(), - ], - }}), } const modified = modifyWebpackConfig({ config, stage }, options) diff --git a/packages/gatsby-plugin-sass/src/gatsby-node.js b/packages/gatsby-plugin-sass/src/gatsby-node.js index 9f5e4289e81e2..56da650388527 100644 --- a/packages/gatsby-plugin-sass/src/gatsby-node.js +++ b/packages/gatsby-plugin-sass/src/gatsby-node.js @@ -1,22 +1,11 @@ const { cssModulesConfig } = require(`gatsby-1-config-css-modules`) +const { extractTextPlugin } = require(`gatsby-1-config-extract-plugin`) exports.modifyWebpackConfig = ({ config, stage }, options) => { const sassFiles = /\.s[ac]ss$/ const sassModulesFiles = /\.module\.s[ac]ss$/ const sassLoader = `sass?${JSON.stringify(options)}` - /** - * Get the first instance of `ExtractTextPlugin` from the plugins array. This - * relies on other plugins not intentionally inserting their own instance of - * `ExtractTextPlugin` before Gatsby's own. - */ - const extractPlugin = config - .resolve() - .plugins.find( - plugin => - plugin.constructor && plugin.constructor.name === `ExtractTextPlugin` - ) - switch (stage) { case `develop`: { config.loader(`sass`, { @@ -35,12 +24,12 @@ exports.modifyWebpackConfig = ({ config, stage }, options) => { config.loader(`sass`, { test: sassFiles, exclude: sassModulesFiles, - loader: extractPlugin.extract([`css?minimize`, sassLoader]), + loader: extractTextPlugin(stage).extract([`css?minimize`, sassLoader]), }) config.loader(`sassModules`, { test: sassModulesFiles, - loader: extractPlugin.extract(`style`, [ + loader: extractTextPlugin(stage).extract(`style`, [ cssModulesConfig(stage), sassLoader, ]), @@ -59,7 +48,7 @@ exports.modifyWebpackConfig = ({ config, stage }, options) => { config.loader(`sassModules`, { test: sassModulesFiles, - loader: extractPlugin.extract(`style`, [ + loader: extractTextPlugin(stage).extract(`style`, [ cssModulesConfig(stage), sassLoader, ]), diff --git a/packages/gatsby/package.json b/packages/gatsby/package.json index 23e7d1f9e1b7d..247f03259ec9d 100644 --- a/packages/gatsby/package.json +++ b/packages/gatsby/package.json @@ -42,7 +42,6 @@ "dotenv": "^4.0.0", "express": "^4.14.0", "express-graphql": "^0.6.6", - "extract-text-webpack-plugin": "^1.0.1", "fast-levenshtein": "~2.0.4", "file-loader": "^0.9.0", "flat": "^2.0.1", @@ -123,6 +122,7 @@ "devDependencies": { "babel-cli": "^6.26.0", "cross-env": "^5.0.5", + "gatsby-1-config-extract-plugin": "^1.0.1", "nyc": "^7.0.0", "rimraf": "^2.6.1" }, diff --git a/packages/gatsby/src/utils/webpack.config.js b/packages/gatsby/src/utils/webpack.config.js index 4bfbc35d087d5..349cbbf6ee035 100644 --- a/packages/gatsby/src/utils/webpack.config.js +++ b/packages/gatsby/src/utils/webpack.config.js @@ -6,11 +6,11 @@ import path from "path" import webpack from "webpack" import dotenv from "dotenv" import Config from "webpack-configurator" -import ExtractTextPlugin from "extract-text-webpack-plugin" import StaticSiteGeneratorPlugin from "static-site-generator-webpack-plugin" import { StatsWriterPlugin } from "webpack-stats-plugin" import FriendlyErrorsWebpackPlugin from "friendly-errors-webpack-plugin" import { cssModulesConfig } from "gatsby-1-config-css-modules" +import { extractTextPlugin } from "gatsby-1-config-extract-plugin" // This isn't working right it seems. // import WebpackStableModuleIdAndHash from 'webpack-stable-module-id-and-hash' @@ -25,16 +25,6 @@ const genBabelConfig = require(`./babel-config`) const { withBasePath } = require(`./path`) const HashedChunkIdsPlugin = require(`./hashed-chunk-ids-plugin`) -// Use separate extract-text-webpack-plugin instances for each stage per the docs -const extractDevelopHtml = new ExtractTextPlugin(`build-html-styles.css`) -const extractBuildHtml = new ExtractTextPlugin(`build-html-styles.css`, { - allChunks: true, -}) -const extractBuildCss = new ExtractTextPlugin(`styles.css`, { allChunks: true }) -const extractBuildJavascript = new ExtractTextPlugin(`build-js-styles.css`, { - allChunks: true, -}) - // Five stages or modes: // 1) develop: for `gatsby develop` command, hot reload and CSS injection into page // 2) develop-html: same as develop without react-hmre in the babel config for html renderer @@ -213,7 +203,7 @@ module.exports = async ( __PATH_PREFIX__: JSON.stringify(store.getState().config.pathPrefix), __POLYFILL__: store.getState().config.polyfill, }), - extractDevelopHtml, + extractTextPlugin(stage), ] case `build-css`: return [ @@ -223,7 +213,7 @@ module.exports = async ( __PATH_PREFIX__: JSON.stringify(store.getState().config.pathPrefix), __POLYFILL__: store.getState().config.polyfill, }), - extractBuildCss, + extractTextPlugin(stage), ] case `build-html`: return [ @@ -237,7 +227,7 @@ module.exports = async ( __PATH_PREFIX__: JSON.stringify(store.getState().config.pathPrefix), __POLYFILL__: store.getState().config.polyfill, }), - extractBuildHtml, + extractTextPlugin(stage), ] case `build-javascript`: { // Get array of page template component names. @@ -314,7 +304,7 @@ module.exports = async ( __POLYFILL__: store.getState().config.polyfill, }), // Extract CSS so it doesn't get added to JS bundles. - extractBuildJavascript, + extractTextPlugin(stage), // Write out mapping between chunk names and their hashed names. We use // this to add the needed javascript files to each HTML page. new StatsWriterPlugin(), @@ -451,13 +441,13 @@ module.exports = async ( config.loader(`css`, { test: /\.css$/, exclude: /\.module\.css$/, - loader: extractBuildCss.extract([`css?minimize`, `postcss`]), + loader: extractTextPlugin(stage).extract([`css?minimize`, `postcss`]), }) // CSS modules config.loader(`cssModules`, { test: /\.module\.css$/, - loader: extractBuildCss.extract(`style`, [ + loader: extractTextPlugin(stage).extract(`style`, [ cssModulesConfig(stage), `postcss`, ]), @@ -487,10 +477,10 @@ module.exports = async ( // CSS modules config.loader(`cssModules`, { test: /\.module\.css$/, - loader: (stage === `build-html` - ? extractBuildHtml - : extractDevelopHtml - ).extract(`style`, [cssModulesConfig(stage), `postcss`]), + loader: extractTextPlugin(stage).extract(`style`, [ + cssModulesConfig(stage), + `postcss`, + ]), }) return config @@ -507,13 +497,13 @@ module.exports = async ( test: /\.css$/, exclude: /\.module\.css$/, // loader: `null`, - loader: extractBuildJavascript.extract([`css`]), + loader: extractTextPlugin(stage).extract([`css`]), }) // CSS modules config.loader(`cssModules`, { test: /\.module\.css$/, - loader: extractBuildJavascript.extract(`style`, [ + loader: extractTextPlugin(stage).extract(`style`, [ cssModulesConfig(stage), `postcss`, ]), diff --git a/yarn.lock b/yarn.lock index 60c6ed240027f..db242834436d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -62,6 +62,30 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" +"@types/configstore@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@types/configstore/-/configstore-2.1.1.tgz#cd1e8553633ad3185c3f2f239ecff5d2643e92b6" + +"@types/debug@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.29.tgz#a1e514adfbd92f03a224ba54d693111dbf1f3754" + +"@types/events@*": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" + +"@types/get-port@^0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-0.0.4.tgz#eb6bb7423d9f888b632660dc7d2fd3e69a35643e" + +"@types/glob@^5.0.30": + version "5.0.35" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.35.tgz#1ae151c802cece940443b5ac246925c85189f32a" + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + "@types/history@*", "@types/history@^4.6.2": version "4.6.2" resolved "https://registry.yarnpkg.com/@types/history/-/history-4.6.2.tgz#12cfaba693ba20f114ed5765467ff25fdf67ddb0" @@ -70,10 +94,22 @@ version "3.0.1" resolved "https://registry.yarnpkg.com/@types/inline-style-prefixer/-/inline-style-prefixer-3.0.1.tgz#8541e636b029124b747952e9a28848286d2b5bf6" +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + +"@types/mkdirp@^0.3.29": + version "0.3.29" + resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.3.29.tgz#7f2ad7ec55f914482fc9b1ec4bb1ae6028d46066" + "@types/node@*": version "8.9.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.9.1.tgz#5a329d73a97f3c5a626dfe0ed8c0b831fee5357a" +"@types/node@^7.0.11": + version "7.0.56" + resolved "http://registry.npmjs.org/@types/node/-/node-7.0.56.tgz#b6b659049191822be43c14610c1785d4b9cddecf" + "@types/react-router-dom@^4.2.2": version "4.2.3" resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.2.3.tgz#06e0b67ff536adc0681dffdbe592ae91fb85887d" @@ -93,6 +129,10 @@ version "16.0.36" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.36.tgz#ceb5639013bdb92a94147883052e69bb2c22c69b" +"@types/tmp@^0.0.32": + version "0.0.32" + resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.32.tgz#0d3cb31022f8427ea58c008af32b80da126ca4e3" + "@zeit/check-updates@1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@zeit/check-updates/-/check-updates-1.0.5.tgz#3ac40afe270a0cc646a279b629698a77ad4543c6" @@ -169,6 +209,10 @@ after@0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" +agentkeepalive@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-2.2.0.tgz#c5d1bd4b129008f1163f236f86e5faea2026e2ef" + ajax-request@^1.2.0: version "1.2.3" resolved "https://registry.yarnpkg.com/ajax-request/-/ajax-request-1.2.3.tgz#99fcbec1d6d2792f85fa949535332bd14f5f3790" @@ -196,6 +240,26 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" +algoliasearch@^3.25.1: + version "3.25.1" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.25.1.tgz#e543108b528e5c89338834473cb8fb082d13d11f" + dependencies: + agentkeepalive "^2.2.0" + debug "^2.6.8" + envify "^4.0.0" + es6-promise "^4.1.0" + events "^1.1.0" + foreach "^2.0.5" + global "^4.3.2" + inherits "^2.0.1" + isarray "^2.0.1" + load-script "^1.0.0" + object-keys "^1.0.11" + querystring-es3 "^0.2.1" + reduce "^1.0.1" + semver "^5.1.0" + tunnel-agent "^0.6.0" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -566,7 +630,7 @@ axobject-query@^0.1.0: dependencies: ast-types-flow "0.0.7" -babel-cli@^6.26.0: +babel-cli@6.26.0, babel-cli@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" dependencies: @@ -1469,7 +1533,7 @@ babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1, babel-runtime@^6.9.2: +babel-runtime@6.26.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1, babel-runtime@^6.9.2: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: @@ -2365,9 +2429,9 @@ cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" -clipboard@^1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-1.7.1.tgz#360d6d6946e99a7a1fef395e42ba92b5e9b5a16b" +clipboard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.0.tgz#4661dc972fb72a4c4770b8db78aa9b1caef52b50" dependencies: good-listener "^1.2.2" select "^1.1.2" @@ -2586,6 +2650,10 @@ comma-separated-tokens@^1.0.0, comma-separated-tokens@^1.0.1: dependencies: trim "0.0.1" +command-exists@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.2.tgz#12819c64faf95446ec0ae07fe6cafb6eb3708b22" + command-join@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" @@ -3037,16 +3105,16 @@ create-react-class@^15.5.1, create-react-class@^15.5.2, create-react-class@^15.6 loose-envify "^1.3.1" object-assign "^4.1.1" -cross-env@^3.1.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-3.2.4.tgz#9e0585f277864ed421ce756f81a980ff0d698aba" +cross-env@5.1.3, cross-env@^5.0.5, cross-env@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.3.tgz#f8ae18faac87692b0a8b4d2f7000d4ec3a85dfd7" dependencies: cross-spawn "^5.1.0" is-windows "^1.0.0" -cross-env@^5.0.5, cross-env@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.3.tgz#f8ae18faac87692b0a8b4d2f7000d4ec3a85dfd7" +cross-env@^3.1.1: + version "3.2.4" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-3.2.4.tgz#9e0585f277864ed421ce756f81a980ff0d698aba" dependencies: cross-spawn "^5.1.0" is-windows "^1.0.0" @@ -3334,7 +3402,7 @@ debug@*, debug@^3.0.1, debug@^3.1.0: dependencies: ms "2.0.0" -debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.2, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9, debug@~2.6.4, debug@~2.6.6, debug@~2.6.7, debug@~2.6.9: +debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.2, debug@^2.3.3, debug@^2.6.0, debug@^2.6.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9, debug@~2.6.4, debug@~2.6.6, debug@~2.6.7, debug@~2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -3589,6 +3657,27 @@ detective@^4.0.0: acorn "^5.2.1" defined "^1.0.0" +devcert-san@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/devcert-san/-/devcert-san-0.3.3.tgz#aa77244741b2d831771c011f22ee25e396ad4ba9" + dependencies: + "@types/configstore" "^2.1.1" + "@types/debug" "^0.0.29" + "@types/get-port" "^0.0.4" + "@types/glob" "^5.0.30" + "@types/mkdirp" "^0.3.29" + "@types/node" "^7.0.11" + "@types/tmp" "^0.0.32" + command-exists "^1.2.2" + configstore "^3.0.0" + debug "^2.6.3" + eol "^0.8.1" + get-port "^3.0.0" + glob "^7.1.1" + mkdirp "^0.5.1" + tmp "^0.0.31" + tslib "^1.6.0" + diff@^1.3.2: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" @@ -3991,6 +4080,17 @@ entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" +envify@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/envify/-/envify-4.1.0.tgz#f39ad3db9d6801b4e6b478b61028d3f0b6819f7e" + dependencies: + esprima "^4.0.0" + through "~2.3.4" + +eol@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/eol/-/eol-0.8.1.tgz#defc3224990c7eca73bb34461a56cf9dc24761d0" + err-code@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" @@ -4320,7 +4420,7 @@ eventemitter3@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" -events@^1.0.0: +events@^1.0.0, events@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" @@ -5122,7 +5222,7 @@ get-pkg-repo@^1.0.0: parse-github-repo-url "^1.3.0" through2 "^2.0.0" -get-port@^3.1.0, get-port@^3.2.0: +get-port@^3.0.0, get-port@^3.1.0, get-port@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" @@ -5352,7 +5452,7 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -global@^4.3.0, global@~4.3.0: +global@^4.3.0, global@^4.3.2, global@~4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" dependencies: @@ -6741,6 +6841,10 @@ isarray@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" +isarray@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.4.tgz#38e7bcbb0f3ba1b7933c86ba1894ddfc3781bbb7" + isemail@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/isemail/-/isemail-1.2.0.tgz#be03df8cc3e29de4d2c5df6501263f1fa4595e9a" @@ -7711,6 +7815,10 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +load-script@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" + loader-utils@^0.2.11, loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^0.2.3, loader-utils@^0.2.9, loader-utils@~0.2.5: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" @@ -9132,7 +9240,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.8: +object-keys@^1.0.11, object-keys@^1.0.8, object-keys@~1.0.0: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" @@ -10442,11 +10550,11 @@ printj@~1.1.0, printj@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.1.tgz#3749360215888d460a35b683ae13dcc02c620b47" -prismjs@^1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.11.0.tgz#297aef33eb79421bfdb19273a5092ca515970d29" +prismjs@^1.12.2: + version "1.12.2" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.12.2.tgz#a40a6cd5bf36716e316cb75df91976a7d5d694e6" optionalDependencies: - clipboard "^1.7.1" + clipboard "^2.0.0" private@^0.1.6, private@^0.1.7, private@~0.1.5: version "0.1.8" @@ -10600,7 +10708,7 @@ query-string@^4.1.0: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -querystring-es3@^0.2.0: +querystring-es3@^0.2.0, querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -11193,6 +11301,12 @@ reduce-function-call@^1.0.1: dependencies: balanced-match "^0.4.2" +reduce@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce/-/reduce-1.0.1.tgz#14fa2e5ff1fc560703a020cbb5fbaab691565804" + dependencies: + object-keys "~1.0.0" + redux-devtools-instrument@^1.3.3: version "1.8.2" resolved "https://registry.yarnpkg.com/redux-devtools-instrument/-/redux-devtools-instrument-1.8.2.tgz#5e91cfe402e790dae3fd2f0d235f7b7d84b09ffe" @@ -12326,15 +12440,6 @@ shallow-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.0.0.tgz#508d1838b3de590ab8757b011b25e430900945f7" -<<<<<<< HEAD -sharp@^0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.19.1.tgz#819bf11f5c3f4ff32eb465f255b5fb87e43ceea1" - dependencies: - color "^3.0.0" - detect-libc "^1.0.3" - nan "^2.9.2" -======= sharp@^0.20.0: version "0.20.0" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.20.0.tgz#2ff9f1ae11f068ce7d7591f531cad52c7821d033" @@ -12345,7 +12450,6 @@ sharp@^0.20.0: nan "^2.9.2" npmlog "^4.1.2" prebuild-install "^2.5.1" ->>>>>>> master semver "^5.5.0" simple-get "^2.7.0" tar "^4.4.0" @@ -13155,35 +13259,30 @@ style-loader@^0.13.0: dependencies: loader-utils "^1.0.2" -styletron-client@^3.0.0-rc.1, styletron-client@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/styletron-client/-/styletron-client-3.0.4.tgz#50c3fcdc7f45ed0693d68dc174bd0f2fa607cc57" +styletron-engine-atomic@^1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/styletron-engine-atomic/-/styletron-engine-atomic-1.0.4.tgz#57ca6b77df05bdd90d28969a822d0c05e00dfcd2" dependencies: - styletron-core "^3.0.4" - -styletron-core@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/styletron-core/-/styletron-core-3.0.4.tgz#648081572a8de30acbe3008cd283c421565444bb" + inline-style-prefixer "^4.0.0" + styletron-standard "^1.0.3" -styletron-react@^3.0.0-rc.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/styletron-react/-/styletron-react-3.0.4.tgz#fe7714778a809f6c2634b62a334fc0b6ba265a36" +styletron-react-core@^1, styletron-react-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/styletron-react-core/-/styletron-react-core-1.0.0.tgz#1c361dbd7061b2e3e51ef4af0a96d40cbab93ca6" dependencies: - "@types/react" "*" prop-types "^15.6.0" - styletron-client "^3.0.4" - styletron-server "^3.0.4" - styletron-utils "^3.0.4" -styletron-server@^3.0.0-rc.1, styletron-server@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/styletron-server/-/styletron-server-3.0.4.tgz#6bf24643b2ce84198d0fcb7c27308f00880c8dfd" +styletron-react@^4: + version "4.0.3" + resolved "https://registry.yarnpkg.com/styletron-react/-/styletron-react-4.0.3.tgz#af2f8a1c5cab222429a6cd9eb03c486c2b20e4d1" dependencies: - styletron-core "^3.0.4" + prop-types "^15.6.0" + styletron-react-core "^1.0.0" + styletron-standard "^1.0.3" -styletron-utils@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/styletron-utils/-/styletron-utils-3.0.4.tgz#6696320f6ade52383006c4d47e72c5c6a1f37b15" +styletron-standard@^1, styletron-standard@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/styletron-standard/-/styletron-standard-1.0.3.tgz#7daa30f18f3b4ce1ccab3844353881afe2c9e1a2" dependencies: inline-style-prefixer "^4.0.0" @@ -13499,7 +13598,7 @@ through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@~2.0.0: readable-stream "^2.1.5" xtend "~4.0.1" -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -13557,6 +13656,12 @@ tmp@^0.0.29: dependencies: os-tmpdir "~1.0.1" +tmp@^0.0.31: + version "0.0.31" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + dependencies: + os-tmpdir "~1.0.1" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"