diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1ab6394d7..b72f60dd6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -130,6 +130,12 @@ N'oubliez pas de vérifier le diff que rien n'est choquant. - [Netlify](https://www.netlify.com/), s'occupe de l’hébergement du site sur Internet sur internet avec gestion des DNS. +### Analyse des bundles + +La commande `yarn run analyze-bundle` gènere une visualisation interactive du +contenu packagé, cf. +[webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) + ## Documentation ### Publicodes diff --git a/package.json b/package.json index bcc7d7043..fcddf972d 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,7 @@ "eslint-check": "eslint --print-config .eslintrc | eslint-config-prettier-check", "eslint": "LIST=`git diff --cached --name-only --diff-filter=AMR HEAD | grep .*\\.js | grep -v json`; if [ \"$LIST\" ]; then eslint $LIST; fi", "externalize": "node source/scripts/externalize.js", + "analyze-bundle": "ANALYZE_BUNDLE=1 yarn run compile", "heroku-postbuild": "yarn install --production=false && yarn compile", "pretest": "LIST=`git diff --name-only --diff-filter=AMR HEAD^..HEAD | grep .*\\.js | grep -v json`; if [ \"$LIST\" ]; then eslint $LIST; fi", "start": "node source/server.js", @@ -113,10 +114,14 @@ "@babel/preset-env": "^7.6.3", "@babel/preset-react": "^7.0.0", "@babel/preset-typescript": "^7.6.0", + "@types/cheerio": "^0.22.18", "@types/classnames": "^2.2.9", "@types/color-convert": "^1.9.0", + "@types/copy-webpack-plugin": "^5.0.0", + "@types/html-webpack-plugin": "^3.2.2", "@types/iframe-resizer": "^3.5.7", "@types/js-yaml": "^3.12.2", + "@types/mini-css-extract-plugin": "^0.9.1", "@types/nearley": "^2.11.1", "@types/ramda": "^0.26.43", "@types/raven-for-redux": "^1.1.1", @@ -134,7 +139,9 @@ "@types/recharts": "^1.8.9", "@types/styled-components": "^4.1.19", "@types/webpack": "^4.41.10", + "@types/webpack-bundle-analyzer": "^2.13.3", "@types/webpack-env": "^1.14.1", + "@types/workbox-webpack-plugin": "^5.1.0", "akh": "^3.1.2", "autoprefixer": "^9.3.1", "babel-eslint": "^11.0.0-beta.0", @@ -193,9 +200,10 @@ "style-loader": "^0.23.1", "styled-components": "^4.2.0", "toml-loader": "^1.0.0", - "typescript": "^3.7.2", + "typescript": "^3.8.3", "url-loader": "^1.0.1", "webpack": "^4.39.3", + "webpack-bundle-analyzer": "^3.7.0", "webpack-cli": "^3.1.2", "webpack-dev-middleware": "^3.4.0", "webpack-hot-middleware": "^2.24.2", diff --git a/source/sites/mon-entreprise.fr/pages/Gérer/AideDéclarationIndépendant/index.tsx b/source/sites/mon-entreprise.fr/pages/Gérer/AideDéclarationIndépendant/index.tsx index 988be69ff..848fafd7a 100644 --- a/source/sites/mon-entreprise.fr/pages/Gérer/AideDéclarationIndépendant/index.tsx +++ b/source/sites/mon-entreprise.fr/pages/Gérer/AideDéclarationIndépendant/index.tsx @@ -26,7 +26,6 @@ import { CompanySection } from '../Home' import simulationConfig from './config.yaml' import { Results } from './Result' import { useNextQuestions } from 'Components/utils/useNextQuestion' -import { Dot } from 'recharts' const lauchComputationWhenResultsInViewport = () => { const dottedName = 'dirigeant . rémunération totale' diff --git a/source/types/app-env.d.ts b/source/types/app-env.d.ts index 2a788631e..c477c9c56 100644 --- a/source/types/app-env.d.ts +++ b/source/types/app-env.d.ts @@ -3,6 +3,7 @@ declare module NodeJS { EN_SITE: string FR_SITE: string NODE_ENV: 'development' | 'production' + ANALYZE_BUNDLE: '0' | '1' // Netlify variables // https://docs.netlify.com/configure-builds/environment-variables/#read-only-variables diff --git a/source/webpack.common.js b/source/webpack.common.js index 315e63ccd..6b0842372 100644 --- a/source/webpack.common.js +++ b/source/webpack.common.js @@ -39,7 +39,7 @@ module.exports.default = { FR_SITE: '/mon-entreprise${path}' }), - new EnvironmentPlugin(['HEAD', 'COMMIT_REF']), + new EnvironmentPlugin({ HEAD: '', COMMIT_REF: '' }), new CopyPlugin([ './manifest.webmanifest', diff --git a/source/webpack.prod.js b/source/webpack.prod.js index 63498fa5c..d230f4ae8 100644 --- a/source/webpack.prod.js +++ b/source/webpack.prod.js @@ -5,6 +5,8 @@ const { default: common } = require('./webpack.common.js') +const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') + const PrerenderSPAPlugin = require('prerender-spa-plugin') const WorkboxPlugin = require('workbox-webpack-plugin') @@ -63,6 +65,7 @@ module.exports = { plugins: [ ...common.plugins, ...HTMLPlugins({ injectTrackingScript: true }), + process.env.ANALYZE_BUNDLE && new BundleAnalyzerPlugin(), new WorkboxPlugin.GenerateSW({ clientsClaim: true, skipWaiting: true, @@ -102,33 +105,35 @@ module.exports = { filename: '[name].[hash].css', chunkFilename: '[id].[hash].css' }), - new PrerenderSPAPlugin({ - ...prerenderConfig(), - outputDir: path.resolve('dist', 'prerender', 'infrance'), - routes: [ - '/', - '/social-security/salaried', - '/iframes/simulateur-embauche' - ], - indexPath: path.resolve('dist', 'infrance.html') - }), - new PrerenderSPAPlugin({ - ...prerenderConfig(), - outputDir: path.resolve('dist', 'prerender', 'mon-entreprise'), - routes: [ - '/', - '/simulateurs/salarié', - '/simulateurs/auto-entrepreneur', - '/simulateurs/artiste-auteur', - '/simulateurs/assimilé-salarié', - '/simulateurs/indépendant', - '/créer', - '/coronavirus', - '/gérer', - '/iframes/simulateur-embauche', - '/iframes/simulateur-chomage-partiel' - ], - indexPath: path.resolve('dist', 'mon-entreprise.html') - }) - ] + process.env.ANALYZE_BUNDLE !== '1' && + new PrerenderSPAPlugin({ + ...prerenderConfig(), + outputDir: path.resolve('dist', 'prerender', 'infrance'), + routes: [ + '/', + '/social-security/salaried', + '/iframes/simulateur-embauche' + ], + indexPath: path.resolve('dist', 'infrance.html') + }), + process.env.ANALYZE_BUNDLE !== '1' && + new PrerenderSPAPlugin({ + ...prerenderConfig(), + outputDir: path.resolve('dist', 'prerender', 'mon-entreprise'), + routes: [ + '/', + '/simulateurs/salarié', + '/simulateurs/auto-entrepreneur', + '/simulateurs/artiste-auteur', + '/simulateurs/assimilé-salarié', + '/simulateurs/indépendant', + '/créer', + '/coronavirus', + '/gérer', + '/iframes/simulateur-embauche', + '/iframes/simulateur-chomage-partiel' + ], + indexPath: path.resolve('dist', 'mon-entreprise.html') + }) + ].filter(Boolean) } diff --git a/yarn.lock b/yarn.lock index b0b0f11eb..ef3b1c441 100644 --- a/yarn.lock +++ b/yarn.lock @@ -833,7 +833,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.9.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== @@ -1263,11 +1263,25 @@ dependencies: "@babel/types" "^7.3.0" +"@types/cheerio@^0.22.18": + version "0.22.18" + resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.18.tgz#19018dceae691509901e339d63edf1e935978fe6" + integrity sha512-Fq7R3fINAPSdUEhOyjG4iVxgHrOnqDJbY0/BUuiN0pvD/rfmZWekVZnv+vcs8TtpA2XF50uv50LaE4EnpEL/Hw== + dependencies: + "@types/node" "*" + "@types/classnames@^2.2.9": version "2.2.10" resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.10.tgz#cc658ca319b6355399efc1f5b9e818f1a24bf999" integrity sha512-1UzDldn9GfYYEsWWnn/P4wkTlkZDH7lDb0wBMGbtIQc9zXEQq7FlKBdZUn6OBqD8sKZZ2RQO2mAjGpXiDGoRmQ== +"@types/clean-css@*": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.1.tgz#cb0134241ec5e6ede1b5344bc829668fd9871a8d" + integrity sha512-A1HQhQ0hkvqqByJMgg+Wiv9p9XdoYEzuwm11SVo1mX2/4PSdhjcrUlilJQoqLscIheC51t1D5g+EFWCXZ2VTQQ== + dependencies: + "@types/node" "*" + "@types/color-convert@^1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-1.9.0.tgz#bfa8203e41e7c65471e9841d7e306a7cd8b5172d" @@ -1280,6 +1294,15 @@ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/copy-webpack-plugin@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/copy-webpack-plugin/-/copy-webpack-plugin-5.0.0.tgz#db7f9c9763b10b2af5c83f598fa9b5a13733b20b" + integrity sha512-yQHocgdgES7W5Q2UyxJ5cj/E6MrV1zq3MZ8jdApS9NJKqax+rux9IE3QAbBmNCGbgivEsejrkIq3Rm76JLubkg== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + "@types/webpack" "*" + "@types/d3-path@*": version "1.0.8" resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-1.0.8.tgz#48e6945a8ff43ee0a1ce85c8cfa2337de85c7c79" @@ -1305,6 +1328,24 @@ "@types/react" "*" hoist-non-react-statics "^3.3.0" +"@types/html-minifier@*": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@types/html-minifier/-/html-minifier-3.5.3.tgz#5276845138db2cebc54c789e0aaf87621a21e84f" + integrity sha512-j1P/4PcWVVCPEy5lofcHnQ6BtXz9tHGiFPWzqm7TtGuWZEfCHEP446HlkSNc9fQgNJaJZ6ewPtp2aaFla/Uerg== + dependencies: + "@types/clean-css" "*" + "@types/relateurl" "*" + "@types/uglify-js" "*" + +"@types/html-webpack-plugin@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@types/html-webpack-plugin/-/html-webpack-plugin-3.2.2.tgz#f552121f3c0a3972dda9a425de1e0029069b2907" + integrity sha512-KsL5cHtNWhOQF9Cu+Dpn7GemzQRxdKhe1/LgZUSku33B5L4Cx2/p3DX6YbeRNOoI552MNbB/VNbCDNEYU//iAw== + dependencies: + "@types/html-minifier" "*" + "@types/tapable" "*" + "@types/webpack" "*" + "@types/iframe-resizer@^3.5.7": version "3.5.8" resolved "https://registry.yarnpkg.com/@types/iframe-resizer/-/iframe-resizer-3.5.8.tgz#d141f3cbebca951788e3b9a7654d46317bb9345b" @@ -1340,6 +1381,18 @@ resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.0.tgz#9ca52cda363f699c69466c2a6ccdaad913ea7a73" integrity sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM= +"@types/mini-css-extract-plugin@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.1.tgz#d4bdde5197326fca039d418f4bdda03dc74dc451" + integrity sha512-+mN04Oszdz9tGjUP/c1ReVwJXxSniLd7lF++sv+8dkABxVNthg6uccei+4ssKxRHGoMmPxdn7uBdJWONSJGTGQ== + dependencies: + "@types/webpack" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + "@types/nearley@^2.11.1": version "2.11.1" resolved "https://registry.yarnpkg.com/@types/nearley/-/nearley-2.11.1.tgz#6ac3f57c00ca28071a1774ec72d2e45750f21420" @@ -1489,6 +1542,11 @@ "@types/react" "*" "@types/recharts-scale" "*" +"@types/relateurl@*": + version "0.2.28" + resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.28.tgz#6bda7db8653fa62643f5ee69e9f69c11a392e3a6" + integrity sha1-a9p9uGU/piZD9e5p6facEaOS46Y= + "@types/sizzle@2.3.2": version "2.3.2" resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" @@ -1526,6 +1584,13 @@ dependencies: source-map "^0.6.1" +"@types/webpack-bundle-analyzer@^2.13.3": + version "2.13.3" + resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.3.tgz#820c8f734e171f081cbf02d889b9cda687cc89dd" + integrity sha512-p8EXyKfq311FFFfRuAR9tOHFFTQ9DqGrjRQYXbjjEMfl9pKGaTtRy1zFJtPMyZHfRoqh5rsYPVSVknkl004M7A== + dependencies: + "@types/webpack" "*" + "@types/webpack-env@^1.14.1": version "1.15.1" resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.1.tgz#c8e84705e08eed430b5e15b39c65b0944e4d1422" @@ -1540,6 +1605,18 @@ "@types/source-list-map" "*" source-map "^0.6.1" +"@types/webpack@*": + version "4.41.12" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.12.tgz#0386ee2a2814368e2f2397abb036c0bf173ff6c3" + integrity sha512-BpCtM4NnBen6W+KEhrL9jKuZCXVtiH6+0b6cxdvNt2EwU949Al334PjQSl2BeAyvAX9mgoNNG21wvjP3xZJJ5w== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + "@types/webpack@^4.41.10": version "4.41.10" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.10.tgz#2e1f6b3508a249854efe3dcc7690905ac5ee10be" @@ -1552,6 +1629,11 @@ "@types/webpack-sources" "*" source-map "^0.6.0" +"@types/workbox-webpack-plugin@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.0.tgz#14312df4eeb4e2195b886c3fa5632d76bf3831c8" + integrity sha512-dv3M467adBHEJtRDiT1Wz/qgtalFb+eDik4IeBY5Rjv9iJ+vJZGK7cO7riOwaYgpMlIWnmRhwWs6/SUOzn3AaA== + "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -1755,6 +1837,11 @@ acorn-walk@^6.0.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== +acorn-walk@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" + integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== + acorn@^5.5.3: version "5.7.4" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" @@ -2538,6 +2625,16 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +bfj@^6.1.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== + dependencies: + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" + big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -3068,6 +3165,11 @@ check-more-types@2.24.0: resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= +check-types@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== + cheerio@^1.0.0-rc.2, cheerio@^1.0.0-rc.3: version "1.0.0-rc.3" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" @@ -3387,7 +3489,7 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^2.19.0, commander@^2.20.0: +commander@^2.18.0, commander@^2.19.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4294,6 +4396,11 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.390: version "1.3.402" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.402.tgz#9ad93c0c8ea2e571431739e0d76bd6bc9788a846" @@ -5044,6 +5151,11 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -5574,6 +5686,14 @@ gzip-size@^4.0.0: duplexer "^0.1.1" pify "^3.0.0" +gzip-size@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -5748,6 +5868,11 @@ homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + hosted-git-info@^2.1.4: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -8373,6 +8498,11 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +opener@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" + integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== + opener@~1.4.0: version "1.4.3" resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" @@ -11487,6 +11617,11 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + ts-toolbelt@^6.3.3: version "6.3.12" resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.3.12.tgz#2a9eb22759ef65d2ee3e01544f68059ea80917bf" @@ -11549,7 +11684,7 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.6.4, typescript@^3.7.2: +typescript@^3.6.4, typescript@^3.8.3: version "3.8.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== @@ -12018,6 +12153,25 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== +webpack-bundle-analyzer@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.7.0.tgz#84da434e89442899b884d9ad38e466d0db02a56f" + integrity sha512-mETdjZ30a3Yf+NTB/wqTgACK7rAYQl5uxKK0WVTNmF0sM3Uv8s3R58YZMW7Rhu0Lk2Rmuhdj5dcH5Q76zCDVdA== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + bfj "^6.1.1" + chalk "^2.4.1" + commander "^2.18.0" + ejs "^2.6.1" + express "^4.16.3" + filesize "^3.6.1" + gzip-size "^5.0.0" + lodash "^4.17.15" + mkdirp "^0.5.1" + opener "^1.5.1" + ws "^6.0.0" + webpack-cli@^3.1.2: version "3.3.11" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.11.tgz#3bf21889bf597b5d82c38f215135a411edfdc631" @@ -12369,7 +12523,7 @@ ws@^5.2.0: dependencies: async-limiter "~1.0.0" -ws@^6.1.0: +ws@^6.0.0, ws@^6.1.0: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==