From f091d22f5ef83ef7eacc01878a014d0dc02af228 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Apr 2020 11:22:36 -0700 Subject: [PATCH 01/25] Create whole browser bundles and transpile everything else --- .babelrc | 20 -- babel.config.js | 40 +++ package.json | 31 +- rollup.config.js | 19 +- src/FilterList.js | 3 +- yarn.lock | 852 +++++++++++++++++++++++++++++++++------------- 6 files changed, 695 insertions(+), 270 deletions(-) delete mode 100644 .babelrc create mode 100644 babel.config.js diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 8bb3625a5d9..00000000000 --- a/.babelrc +++ /dev/null @@ -1,20 +0,0 @@ -{ - "presets": [ - ["@babel/preset-react", {"modules": false}], - ["@babel/preset-env", {"modules": false}] - ], - "plugins": [ - "macros", - "add-react-displayname", - "babel-plugin-styled-components", - "@babel/plugin-proposal-object-rest-spread" - ], - "env": { - "test": { - "presets": [ - ["@babel/preset-react", {"modules": "commonjs"}], - ["@babel/preset-env", {"modules": "commonjs"}] - ] - } - } -} diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 00000000000..4a52c3a456b --- /dev/null +++ b/babel.config.js @@ -0,0 +1,40 @@ +const sharedPlugins = [ + 'macros', + 'add-react-displayname', + 'babel-plugin-styled-components', + '@babel/plugin-proposal-object-rest-spread' +] + +const devPlugins = [ + [ + '@babel/plugin-transform-runtime', + { + version: '7.9.2', + helpers: true + } + ] +] + +function makePresets(moduleValue) { + return [ + ['@babel/preset-react', {modules: moduleValue}], + ['@babel/preset-env', {modules: moduleValue}] + ] +} + +module.exports = { + env: { + development: { + presets: makePresets('commonjs'), + plugins: sharedPlugins.concat(devPlugins) + }, + production: { + presets: makePresets(false), + plugins: sharedPlugins + }, + test: { + presets: makePresets('commonjs'), + plugins: sharedPlugins + } + } +} diff --git a/package.json b/package.json index 4ce3d407a79..b1573c2599f 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "scripts": { "start": "cd docs && yarn run develop", "predist": "rm -rf dist", - "dist": "NODE_ENV=production rollup -c", + "dist": "yarn dist:rollup && yarn dist:transpile", + "dist:rollup": "NODE_ENV=production rollup -c", + "dist:transpile": "babel src --out-dir dist", "prepublishOnly": "yarn run dist", "lint": "eslint src docs/components", "test": "jest -- src", @@ -36,8 +38,10 @@ "author": "GitHub, Inc.", "license": "MIT", "dependencies": { + "@babel/helpers": "7.9.2", + "@babel/runtime": "7.9.2", "@primer/octicons-react": "^9.2.0", - "@primer/primitives": "2.0.1", + "@primer/primitives": "3.0.0", "@reach/dialog": "0.3.0", "@styled-system/prop-types": "5.1.2", "@styled-system/props": "5.1.4", @@ -45,24 +49,28 @@ "@testing-library/react": "9.4.0", "@types/styled-components": "^4.4.0", "@types/styled-system": "5.1.2", - "babel-plugin-macros": "2.6.1", + "babel-plugin-macros": "2.8.0", "babel-polyfill": "6.26.0", "classnames": "^2.2.5", "details-element-polyfill": "2.4.0", "jest-axe": "3.2.0", - "nanoid": "2.1.4", "polished": "3.5.2", "react": "^16.10.2", "react-is": "16.10.2", "styled-system": "5.1.2" }, "devDependencies": { - "@babel/core": "7.7.7", - "@babel/plugin-proposal-object-rest-spread": "7.6.2", - "@babel/preset-env": "7.7.7", - "@babel/preset-react": "7.6.3", + "@babel/cli": "7.8.4", + "@babel/core": "7.9.0", + "@babel/plugin-proposal-object-rest-spread": "7.9.5", + "@babel/plugin-transform-runtime": "7.9.0", + "@babel/preset-env": "7.9.5", + "@babel/preset-react": "7.9.4", + "@rollup/plugin-commonjs": "11.1.0", + "@rollup/plugin-node-resolve": "7.1.3", + "babel-core": "7.0.0-bridge.0", "babel-plugin-add-react-displayname": "0.0.5", - "babel-plugin-styled-components": "1.10.6", + "babel-plugin-styled-components": "1.10.7", "enzyme": "3.10.0", "enzyme-adapter-react-16": "1.15.1", "eslint": "6.5.1", @@ -77,9 +85,10 @@ "raw.macro": "0.3.0", "react-dom": "16.11.0", "react-test-renderer": "16.10.2", - "rollup": "1.25.1", - "rollup-plugin-babel": "4.3.3", + "rollup": "2.7.3", + "rollup-plugin-babel": "4.4.0", "rollup-plugin-commonjs": "10.1.0", + "rollup-plugin-terser": "5.3.0", "styled-components": "4.4.0" }, "peerDependencies": { diff --git a/rollup.config.js b/rollup.config.js index 4403f6e2f66..1f2123d84a7 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,8 +1,17 @@ import babel from 'rollup-plugin-babel' import commonjs from 'rollup-plugin-commonjs' +import resolve from '@rollup/plugin-node-resolve' +import {terser} from 'rollup-plugin-terser' + +// NOTE: this can be removed once the next version of rollup-plugin-commonjs is released +const namedExports = { + 'prop-types': ['object', 'func', 'oneOfType', 'node', 'bool', 'string', 'any', 'arrayOf'], + 'react-dom': ['createPortal'], + 'react-is': ['isValidElementType'] +} const formats = ['esm', 'umd'] // 'cjs' ? -const plugins = [babel({exclude: 'node_modules/**'}), commonjs()] +const plugins = [babel({exclude: 'node_modules/**'}), resolve(), commonjs({namedExports}), terser()] export default [ { @@ -10,9 +19,13 @@ export default [ plugins, external: ['styled-components', 'react'], output: formats.map(format => ({ - file: `dist/index.${format}.js`, + file: `dist/browser.${format}.js`, format, - name: 'primer' + name: 'primer', + globals: { + react: 'React', + 'styled-components': 'styled' + } })) } ] diff --git a/src/FilterList.js b/src/FilterList.js index 14ac59a555c..9f7854e6961 100644 --- a/src/FilterList.js +++ b/src/FilterList.js @@ -1,5 +1,4 @@ import React from 'react' -import nanoid from 'nanoid' import PropTypes from 'prop-types' import styled from 'styled-components' import {COMMON, get} from './constants' @@ -7,7 +6,7 @@ import theme from './theme' function ItemBase({children, count, theme, ...rest}) { return ( - + {count && ( {count} diff --git a/yarn.lock b/yarn.lock index efe028e2c28..40554aa5ee0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@babel/cli@^7.8.3": +"@babel/cli@7.8.4", "@babel/cli@^7.8.3": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.8.4.tgz#505fb053721a98777b2b175323ea4f090b7d3c1c" integrity sha512-XXLgAm6LBbaNxaGhMAznXXaxtCWfuv6PIDJ9Alsy9JYTOh+j2jJz+L/162kkfU1j/pTSxK1xGmlwI4pdIMkoag== @@ -41,21 +41,32 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@7.7.7": - version "7.7.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.7.tgz#ee155d2e12300bcc0cff6a8ad46f2af5063803e9" - integrity sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ== +"@babel/compat-data@^7.8.6", "@babel/compat-data@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" + integrity sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g== dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.7" - "@babel/helpers" "^7.7.4" - "@babel/parser" "^7.7.7" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + browserslist "^4.9.1" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" convert-source-map "^1.7.0" debug "^4.1.0" - json5 "^2.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" lodash "^4.17.13" resolve "^1.3.2" semver "^5.4.1" @@ -112,16 +123,6 @@ lodash "^4.17.13" source-map "^0.5.0" -"@babel/generator@^7.7.7": - version "7.7.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.7.tgz#859ac733c44c74148e1a72980a64ec84b85f4f45" - integrity sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ== - dependencies: - "@babel/types" "^7.7.4" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - "@babel/generator@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e" @@ -132,6 +133,16 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.9.0", "@babel/generator@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9" + integrity sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ== + dependencies: + "@babel/types" "^7.9.5" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" @@ -162,13 +173,14 @@ "@babel/helper-explode-assignable-expression" "^7.8.3" "@babel/types" "^7.8.3" -"@babel/helper-builder-react-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz#da188d247508b65375b2c30cf59de187be6b0c66" - integrity sha512-kvbfHJNN9dg4rkEM4xn1s8d1/h6TYNvajy9L1wx4qLn9HFg0IkTsQi4rfBe92nxrPUFcMsHoMV+8rU7MJb3fCA== +"@babel/helper-builder-react-jsx-experimental@^7.9.0": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz#0b4b3e04e6123f03b404ca4dfd6528fe6bb92fe3" + integrity sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg== dependencies: - "@babel/types" "^7.7.4" - esutils "^2.0.0" + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-module-imports" "^7.8.3" + "@babel/types" "^7.9.5" "@babel/helper-builder-react-jsx@^7.8.3": version "7.8.3" @@ -178,6 +190,14 @@ "@babel/types" "^7.8.3" esutils "^2.0.0" +"@babel/helper-builder-react-jsx@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" + integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/types" "^7.9.0" + "@babel/helper-call-delegate@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801" @@ -207,6 +227,17 @@ levenary "^1.1.1" semver "^5.5.0" +"@babel/helper-compilation-targets@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" + integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== + dependencies: + "@babel/compat-data" "^7.8.6" + browserslist "^4.9.1" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" + "@babel/helper-create-class-features-plugin@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz#fce60939fd50618610942320a8d951b3b639da2d" @@ -247,6 +278,15 @@ "@babel/helper-regex" "^7.8.3" regexpu-core "^4.6.0" +"@babel/helper-create-regexp-features-plugin@^7.8.8": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" + integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + regexpu-core "^4.7.0" + "@babel/helper-define-map@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176" @@ -299,6 +339,15 @@ "@babel/template" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-function-name@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" + integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw== + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.9.5" + "@babel/helper-get-function-arity@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0" @@ -379,6 +428,19 @@ "@babel/types" "^7.8.3" lodash "^4.17.13" +"@babel/helper-module-transforms@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" + integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-simple-access" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/template" "^7.8.6" + "@babel/types" "^7.9.0" + lodash "^4.17.13" + "@babel/helper-optimise-call-expression@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2" @@ -459,6 +521,16 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-replace-supers@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8" + integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/traverse" "^7.8.6" + "@babel/types" "^7.8.6" + "@babel/helper-simple-access@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294" @@ -489,6 +561,11 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-validator-identifier@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" + integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== + "@babel/helper-wrap-function@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" @@ -509,6 +586,15 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helpers@7.9.2", "@babel/helpers@^7.9.0": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" + integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + "@babel/helpers@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" @@ -550,16 +636,16 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71" integrity sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig== -"@babel/parser@^7.7.7": - version "7.7.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.7.tgz#1b886595419cf92d811316d5b715a53ff38b4937" - integrity sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw== - "@babel/parser@^7.8.3", "@babel/parser@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" integrity sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw== +"@babel/parser@^7.8.6", "@babel/parser@^7.9.0": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" + integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== + "@babel/plugin-proposal-async-generator-functions@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" @@ -634,13 +720,22 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-object-rest-spread@7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" - integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw== +"@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + +"@babel/plugin-proposal-object-rest-spread@7.9.5", "@babel/plugin-proposal-object-rest-spread@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.5.tgz#3fd65911306d8746014ec0d0cf78f0e39a149116" + integrity sha512-VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.9.5" "@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.7.4": version "7.7.4" @@ -650,14 +745,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.7.4" -"@babel/plugin-proposal-object-rest-spread@^7.7.7": - version "7.7.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz#9f27075004ab99be08c5c1bd653a2985813cb370" - integrity sha512-3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz#eb5ae366118ddca67bed583b53d7554cad9951bb" @@ -690,6 +777,22 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.0" +"@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" + integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-unicode-property-regex@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz#7c239ccaf09470dbe1d453d50057460e84517ebb" @@ -698,14 +801,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.7.4" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-unicode-property-regex@^7.7.7": - version "7.7.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz#433fa9dac64f953c12578b29633f456b68831c4e" - integrity sha512-80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz#b646c3adea5f98800c9ab45105ac34d06cd4a47f" @@ -763,13 +858,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz#dab2b56a36fb6c3c222a1fbc71f7bf97f327a9ec" - integrity sha512-wuy6fiMe9y7HeZBWXYCGt2RGxZOj0BImZ9EyXJVnVGBKO/Br592rbR3rtIQn0eQhAk9vqaKP5n8tVqEFBQMfLg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" @@ -784,7 +872,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.7.4": +"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" + integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" integrity sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg== @@ -937,6 +1032,20 @@ "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c" + integrity sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-define-map" "^7.8.3" + "@babel/helper-function-name" "^7.9.5" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-split-export-declaration" "^7.8.3" + globals "^11.1.0" + "@babel/plugin-transform-computed-properties@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d" @@ -965,23 +1074,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-dotall-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz#f7ccda61118c5b7a2599a72d5e3210884a021e96" - integrity sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw== +"@babel/plugin-transform-destructuring@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz#72c97cf5f38604aea3abf3b935b0e17b1db76a50" + integrity sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.7.7": - version "7.7.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz#3e9713f1b69f339e87fa796b097d73ded16b937b" - integrity sha512-b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-dotall-regex@^7.8.3": +"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== @@ -989,6 +1089,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-dotall-regex@^7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz#f7ccda61118c5b7a2599a72d5e3210884a021e96" + integrity sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-duplicate-keys@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91" @@ -1041,6 +1149,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-for-of@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" + integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-function-name@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1" @@ -1103,6 +1218,15 @@ "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-amd@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" + integrity sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-commonjs@^7.7.5": version "7.7.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345" @@ -1123,6 +1247,16 @@ "@babel/helper-simple-access" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" + integrity sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-systemjs@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30" @@ -1142,6 +1276,16 @@ "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" + integrity sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== + dependencies: + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-umd@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f" @@ -1158,6 +1302,14 @@ "@babel/helper-module-transforms" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-modules-umd@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" + integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-named-capturing-groups-regex@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220" @@ -1211,15 +1363,6 @@ "@babel/helper-get-function-arity" "^7.7.4" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-parameters@^7.7.7": - version "7.7.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz#7a884b2460164dc5f194f668332736584c760007" - integrity sha512-OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew== - dependencies: - "@babel/helper-call-delegate" "^7.7.4" - "@babel/helper-get-function-arity" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-parameters@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz#1d5155de0b65db0ccf9971165745d3bb990d77d3" @@ -1229,6 +1372,14 @@ "@babel/helper-get-function-arity" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-parameters@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795" + integrity sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA== + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-property-literals@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2" @@ -1243,13 +1394,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-react-display-name@^7.0.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.7.4.tgz#9f2b80b14ebc97eef4a9b29b612c58ed9c0d10dd" - integrity sha512-sBbIvqYkthai0X0vkD2xsAwluBp+LtNHH+/V4a5ydifmTtb8KOVOlrMIk/MYmIc4uTYDnjZUHQildYNo36SRJw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" @@ -1257,13 +1401,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.7.4.tgz#81b8fbfd14b2215e8f1c2c3adfba266127b0231c" - integrity sha512-PWYjSfqrO273mc1pKCRTIJXyqfc9vWYBax88yIhQb+bpw3XChVC7VWS4VwRVs63wFHKxizvGSd00XEr+YB9Q2A== +"@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754" + integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" + "@babel/helper-builder-react-jsx-experimental" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" "@babel/plugin-transform-react-jsx-self@^7.8.3": version "7.8.3" @@ -1273,13 +1418,13 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.7.4.tgz#8994b1bf6014b133f5a46d3b7d1ee5f5e3e72c10" - integrity sha512-5ZU9FnPhqtHsOXxutRtXZAzoEJwDaP32QcobbMP1/qt7NYcsCNK8XgzJcJfoEr/ZnzVvUNInNjIW22Z6I8p9mg== +"@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b" + integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" "@babel/plugin-transform-react-jsx-source@^7.8.3": version "7.8.3" @@ -1289,14 +1434,13 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-react-jsx@^7.0.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.4.tgz#d91205717fae4e2f84d020cd3057ec02a10f11da" - integrity sha512-LixU4BS95ZTEAZdPaIuyg/k8FiiqN9laQ0dMHB4MlpydHY53uQdWCUrwjLr5o6ilS6fAgZey4Q14XBjl5tL6xw== +"@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0" + integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw== dependencies: - "@babel/helper-builder-react-jsx" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" "@babel/plugin-transform-react-jsx@^7.8.3": version "7.8.3" @@ -1307,6 +1451,16 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" +"@babel/plugin-transform-react-jsx@^7.9.4": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f" + integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw== + dependencies: + "@babel/helper-builder-react-jsx" "^7.9.0" + "@babel/helper-builder-react-jsx-experimental" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-regenerator@^7.7.5": version "7.7.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9" @@ -1321,6 +1475,13 @@ dependencies: regenerator-transform "^0.14.0" +"@babel/plugin-transform-regenerator@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" + integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== + dependencies: + regenerator-transform "^0.14.2" + "@babel/plugin-transform-reserved-words@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb" @@ -1335,6 +1496,16 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-runtime@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + resolve "^1.8.1" + semver "^5.5.1" + "@babel/plugin-transform-shorthand-properties@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e" @@ -1443,61 +1614,70 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/preset-env@7.7.7": - version "7.7.7" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.7.tgz#c294167b91e53e7e36d820e943ece8d0c7fe46ac" - integrity sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg== +"@babel/preset-env@7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.5.tgz#8ddc76039bc45b774b19e2fc548f6807d8a8919f" + integrity sha512-eWGYeADTlPJH+wq1F0wNfPbVS1w1wtmMJiYk55Td5Yu28AsdR9AsC97sZ0Qq8fHqQuslVSIYSGJMcblr345GfQ== dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.7.4" - "@babel/plugin-proposal-dynamic-import" "^7.7.4" - "@babel/plugin-proposal-json-strings" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread" "^7.7.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.7.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.7.7" - "@babel/plugin-syntax-async-generators" "^7.7.4" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - "@babel/plugin-syntax-json-strings" "^7.7.4" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" - "@babel/plugin-syntax-top-level-await" "^7.7.4" - "@babel/plugin-transform-arrow-functions" "^7.7.4" - "@babel/plugin-transform-async-to-generator" "^7.7.4" - "@babel/plugin-transform-block-scoped-functions" "^7.7.4" - "@babel/plugin-transform-block-scoping" "^7.7.4" - "@babel/plugin-transform-classes" "^7.7.4" - "@babel/plugin-transform-computed-properties" "^7.7.4" - "@babel/plugin-transform-destructuring" "^7.7.4" - "@babel/plugin-transform-dotall-regex" "^7.7.7" - "@babel/plugin-transform-duplicate-keys" "^7.7.4" - "@babel/plugin-transform-exponentiation-operator" "^7.7.4" - "@babel/plugin-transform-for-of" "^7.7.4" - "@babel/plugin-transform-function-name" "^7.7.4" - "@babel/plugin-transform-literals" "^7.7.4" - "@babel/plugin-transform-member-expression-literals" "^7.7.4" - "@babel/plugin-transform-modules-amd" "^7.7.5" - "@babel/plugin-transform-modules-commonjs" "^7.7.5" - "@babel/plugin-transform-modules-systemjs" "^7.7.4" - "@babel/plugin-transform-modules-umd" "^7.7.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4" - "@babel/plugin-transform-new-target" "^7.7.4" - "@babel/plugin-transform-object-super" "^7.7.4" - "@babel/plugin-transform-parameters" "^7.7.7" - "@babel/plugin-transform-property-literals" "^7.7.4" - "@babel/plugin-transform-regenerator" "^7.7.5" - "@babel/plugin-transform-reserved-words" "^7.7.4" - "@babel/plugin-transform-shorthand-properties" "^7.7.4" - "@babel/plugin-transform-spread" "^7.7.4" - "@babel/plugin-transform-sticky-regex" "^7.7.4" - "@babel/plugin-transform-template-literals" "^7.7.4" - "@babel/plugin-transform-typeof-symbol" "^7.7.4" - "@babel/plugin-transform-unicode-regex" "^7.7.4" - "@babel/types" "^7.7.4" - browserslist "^4.6.0" - core-js-compat "^3.6.0" + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.5" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.5" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.9.5" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.9.0" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.9.5" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.5" + browserslist "^4.9.1" + core-js-compat "^3.6.2" invariant "^2.2.2" - js-levenshtein "^1.1.3" + levenary "^1.1.1" semver "^5.5.0" "@babel/preset-env@^7.1.6": @@ -1628,16 +1808,28 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-flow-strip-types" "^7.7.4" -"@babel/preset-react@7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.6.3.tgz#d5242c828322520205ae4eda5d4f4f618964e2f6" - integrity sha512-07yQhmkZmRAfwREYIQgW0HEwMY9GBJVuPY4Q12UC72AbfaawuupVWa8zQs2tlL+yun45Nv/1KreII/0PLfEsgA== +"@babel/preset-modules@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" + integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@7.9.4": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d" + integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.4" + "@babel/plugin-transform-react-jsx-development" "^7.9.0" + "@babel/plugin-transform-react-jsx-self" "^7.9.0" + "@babel/plugin-transform-react-jsx-source" "^7.9.0" "@babel/preset-react@^7.8.3": version "7.8.3" @@ -1685,7 +1877,14 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4": +"@babel/runtime@7.9.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" + integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.4.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4": version "7.7.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.6.tgz#d18c511121aff1b4f2cd1d452f1bac9601dd830f" integrity sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw== @@ -1706,13 +1905,6 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.8.7": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" - integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@^7.4.0", "@babel/template@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b" @@ -1731,6 +1923,15 @@ "@babel/parser" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/template@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" + integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.6" + "@babel/types" "^7.8.6" + "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558" @@ -1761,6 +1962,21 @@ globals "^11.1.0" lodash "^4.17.13" +"@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.5.tgz#6e7c56b44e2ac7011a948c21e283ddd9d9db97a2" + integrity sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.5" + "@babel/helper-function-name" "^7.9.5" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.9.0" + "@babel/types" "^7.9.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193" @@ -1770,6 +1986,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.4.4", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444" + integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg== + dependencies: + "@babel/helper-validator-identifier" "^7.9.5" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@babel/types@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" @@ -1989,10 +2214,10 @@ dependencies: prop-types "^15.6.1" -"@primer/primitives@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@primer/primitives/-/primitives-2.0.1.tgz#060b0882cdf75c3100db84100bb40538628bb63f" - integrity sha512-1zMGwqAfeTU3bOcsxzVgJlCPKTeDtDIP3h+Hm7qTvU0ez/87WZqjLKY6Jl7EBp9WH5VSm+LNwo56KfajInd3/w== +"@primer/primitives@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@primer/primitives/-/primitives-3.0.0.tgz#ccfb324b478b2373733535ec49f8de29e238c55d" + integrity sha512-ISXB43vcA+kg5pmGtGo3lPlHmY5Mg9nLhliePJu3Y5aP7g28TO+9cC99gL240pZHYsO0aVyU26WZwUXn6UIqJQ== "@reach/component-component@^0.3.0": version "0.3.0" @@ -2025,6 +2250,39 @@ resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.3.0.tgz#2098181aab751f2275cacf219b02a6a8b455be85" integrity sha512-dQA1acyNpwqy5ia5yt1lNjaAhm9rrzSurFtlJPoz7ARVPMV1yZ0yfmNotMwwgVbE5q1HnONqszK7oagH86m7Qw== +"@rollup/plugin-commonjs@11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" + integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== + dependencies: + "@rollup/pluginutils" "^3.0.8" + commondir "^1.0.1" + estree-walker "^1.0.1" + glob "^7.1.2" + is-reference "^1.1.2" + magic-string "^0.25.2" + resolve "^1.11.0" + +"@rollup/plugin-node-resolve@7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" + integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q== + dependencies: + "@rollup/pluginutils" "^3.0.8" + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.14.2" + +"@rollup/pluginutils@^3.0.8": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.0.9.tgz#aa6adca2c45e5a1b950103a999e3cddfe49fd775" + integrity sha512-TLZavlfPAZYI7v33wQh4mTP6zojne14yok3DNSLcjoG/Hirxfkonn6icP5rrNWRn8nZsirJBFFpijVOJzkUHDg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + micromatch "^4.0.2" + "@sheerun/mutationobserver-shim@^0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.2.tgz#8013f2af54a2b7d735f71560ff360d3a8176a87b" @@ -2227,11 +2485,6 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== -"@types/estree@*": - version "0.0.40" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.40.tgz#0e6cb9b9bbd098031fa19e4b4e8131bc70e5de13" - integrity sha512-p3KZgMto/JyxosKGmnLDJ/dG5wf+qTRMUjHJcspC2oQKa4jP7mz+tv0ND56lLBu3ojHlhzY33Ol+khLyNmilkA== - "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" @@ -2361,6 +2614,13 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/resolve@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" + integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== + dependencies: + "@types/node" "*" + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -3024,7 +3284,7 @@ axobject-query@^2.0.2: "@babel/runtime" "^7.7.4" "@babel/runtime-corejs3" "^7.7.4" -babel-core@^7.0.0-bridge.0: +babel-core@7.0.0-bridge.0, babel-core@^7.0.0-bridge.0: version "7.0.0-bridge.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== @@ -3098,16 +3358,7 @@ babel-plugin-jest-hoist@^25.0.0: dependencies: "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" - integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ== - dependencies: - "@babel/runtime" "^7.4.2" - cosmiconfig "^5.2.0" - resolve "^1.10.0" - -babel-plugin-macros@^2.1.0: +babel-plugin-macros@2.8.0, babel-plugin-macros@^2.1.0: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== @@ -3116,7 +3367,17 @@ babel-plugin-macros@^2.1.0: cosmiconfig "^6.0.0" resolve "^1.12.0" -babel-plugin-styled-components@1.10.6, "babel-plugin-styled-components@>= 1": +babel-plugin-styled-components@1.10.7: + version "1.10.7" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.7.tgz#3494e77914e9989b33cc2d7b3b29527a949d635c" + integrity sha512-MBMHGcIA22996n9hZRf/UJLVVgkEOITuR2SvjHLb5dSTUyR4ZRGn+ngITapes36FI3WLxZHfRhkA1ffHxihOrg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-module-imports" "^7.0.0" + babel-plugin-syntax-jsx "^6.18.0" + lodash "^4.17.11" + +"babel-plugin-styled-components@>= 1": version "1.10.6" resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.6.tgz#f8782953751115faf09a9f92431436912c34006b" integrity sha512-gyQj/Zf1kQti66100PhrCRjI5ldjaze9O0M3emXRPAN80Zsf8+e1thpTpaXJXVHXtaM4/+dJEgZHyS9Its+8SA== @@ -3391,6 +3652,16 @@ browserslist@^4.8.3, browserslist@^4.8.5: electron-to-chromium "^1.3.341" node-releases "^1.1.47" +browserslist@^4.9.1: + version "4.12.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" + integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== + dependencies: + caniuse-lite "^1.0.30001043" + electron-to-chromium "^1.3.413" + node-releases "^1.1.53" + pkg-up "^2.0.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -3436,6 +3707,11 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +builtin-modules@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" + integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -3544,6 +3820,11 @@ caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001023: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001025.tgz#30336a8aca7f98618eb3cf38e35184e13d4e5fe6" integrity sha512-SKyFdHYfXUZf5V85+PJgLYyit27q4wgvZuf8QTOk1osbypcROihMBlx9GRar2/pIcKH2r4OehdlBr9x6PXetAQ== +caniuse-lite@^1.0.30001043: + version "1.0.30001048" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz#4bb4f1bc2eb304e5e1154da80b93dee3f1cf447e" + integrity sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -3921,14 +4202,6 @@ core-js-compat@^3.4.7: browserslist "^4.8.2" semver "^6.3.0" -core-js-compat@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.1.tgz#39638c935c83c93a793abb628b252ec43e85783a" - integrity sha512-2Tl1EuxZo94QS2VeH28Ebf5g3xbPZG/hj/N5HDDy4XMP/ImR0JIer/nggQRiMN91Q54JVkGbytf42wO29oXVHg== - dependencies: - browserslist "^4.8.2" - semver "7.0.0" - core-js-compat@^3.6.2: version "3.6.4" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" @@ -3952,7 +4225,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: +cosmiconfig@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -4506,6 +4779,11 @@ electron-to-chromium@^1.3.341: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.345.tgz#2569d0d54a64ef0f32a4b7e8c80afa5fe57c5d98" integrity sha512-f8nx53+Z9Y+SPWGg3YdHrbYYfIJAtbUjpFfW4X1RwTZ94iUG7geg9tV8HqzAXX7XTNgyWgAFvce4yce8ZKxKmg== +electron-to-chromium@^1.3.413: + version "1.3.423" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.423.tgz#1dcc9e54d642dd9b354c6609848abf8ba7b2570f" + integrity sha512-jXdnLcawJ/EMdN+j77TC3YyeAWiIjo1U63DFCKrjtLv4cu8ToyoF4HYXtFvkVVHhEtIl7lU1uDd307Xj1/YDjw== + elliptic@^6.0.0: version "6.5.2" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" @@ -4996,6 +5274,11 @@ estree-walker@^0.6.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + esutils@^2.0.0, esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -5494,6 +5777,11 @@ fsevents@^1.2.7, fsevents@^1.2.9: bindings "^1.5.0" nan "^2.12.1" +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -6334,6 +6622,11 @@ is-glob@^4.0.0, is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + is-number-object@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" @@ -6911,6 +7204,14 @@ jest-watcher@^25.0.0: jest-util "^25.0.0" string-length "^3.1.0" +jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + jest-worker@^25.0.0: version "25.0.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.0.0.tgz#6475262f808c852df3fe570a133e007314f92938" @@ -7075,6 +7376,13 @@ json5@^2.1.0: dependencies: minimist "^1.2.0" +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -7604,6 +7912,11 @@ minimist@^1.1.1, minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" @@ -7714,11 +8027,6 @@ nano-css@^5.2.1: stacktrace-js "^2.0.0" stylis "3.5.0" -nanoid@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.4.tgz#c38b2c1f7f4c60cde2291f40854420328d0d621e" - integrity sha512-PijW88Ry+swMFfArOrm7uRAdVmJilLbej7WwVY6L5QwLDckqxSOinGGMV596yp5C8+MH3VvCXCSZ6AodGtKrYQ== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -7860,6 +8168,11 @@ node-releases@^1.1.47: dependencies: semver "^6.3.0" +node-releases@^1.1.53: + version "1.1.53" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" + integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== + normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -8457,6 +8770,13 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + playroom@0.15.1: version "0.15.1" resolved "https://registry.yarnpkg.com/playroom/-/playroom-0.15.1.tgz#801b03eebef9181517d6f85c914d1ae35d1378c6" @@ -8678,7 +8998,7 @@ pretty-format@^25.0.0: ansi-styles "^4.0.0" react-is "^16.8.4" -private@^0.1.6, private@~0.1.5: +private@^0.1.6, private@^0.1.8, private@~0.1.5: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== @@ -9173,6 +9493,13 @@ regenerate-unicode-properties@^8.1.0: dependencies: regenerate "^1.4.0" +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" @@ -9205,6 +9532,14 @@ regenerator-transform@^0.14.0: dependencies: private "^0.1.6" +regenerator-transform@^0.14.2: + version "0.14.4" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" + integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== + dependencies: + "@babel/runtime" "^7.8.4" + private "^0.1.8" + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -9243,12 +9578,24 @@ regexpu-core@^4.5.4, regexpu-core@^4.6.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + regextras@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.6.1.tgz#9689641bbb338e0ff7001a5c507c6a2008df7b36" integrity sha512-EzIHww9xV2Kpqx+corS/I7OBmf2rZ0pKKJPsw5Dc+l6Zq1TslDmtRIP9maVn3UH+72MIXmn8zzDgP07ihQogUA== -regjsgen@^0.5.0: +regjsgen@^0.5.0, regjsgen@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== @@ -9260,6 +9607,13 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -9404,6 +9758,13 @@ resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3 dependencies: path-parse "^1.0.6" +resolve@^1.14.2, resolve@^1.8.1: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -9464,10 +9825,10 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rollup-plugin-babel@4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz#7eb5ac16d9b5831c3fd5d97e8df77ba25c72a2aa" - integrity sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw== +rollup-plugin-babel@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" + integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw== dependencies: "@babel/helper-module-imports" "^7.0.0" rollup-pluginutils "^2.8.1" @@ -9483,21 +9844,30 @@ rollup-plugin-commonjs@10.1.0: resolve "^1.11.0" rollup-pluginutils "^2.8.1" -rollup-pluginutils@^2.8.1: +rollup-plugin-terser@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz#9c0dd33d5771df9630cd027d6a2559187f65885e" + integrity sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g== + dependencies: + "@babel/code-frame" "^7.5.5" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^2.1.2" + terser "^4.6.2" + +rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: version "2.8.2" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== dependencies: estree-walker "^0.6.1" -rollup@1.25.1: - version "1.25.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.25.1.tgz#905707d686dc8d7218af63dcfb9e37d1f3dc3c34" - integrity sha512-K8ytdEzMa6anHSnfTIs2BLB+NXlQ4qmWwdNHBpYQNWCbZAzj+DRVk7+ssbLSgddwpFW1nThr2GElR+jASF2NPA== - dependencies: - "@types/estree" "*" - "@types/node" "*" - acorn "^7.1.0" +rollup@2.7.3: + version "2.7.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.7.3.tgz#24ebb08533b9ca6bc5a7aef8100e155e50035c31" + integrity sha512-lAWJGZ5BQzcu/5fhMKGJrh5oy9LQUoaCid8cQV8k+E2vE9E/UWptzcM+bSBg+u8akORsvnybsqQUE/wVChIazg== + optionalDependencies: + fsevents "~2.1.2" rst-selector-parser@^2.2.3: version "2.2.3" @@ -9652,7 +10022,7 @@ selfsigned@^1.10.7: dependencies: node-forge "0.9.0" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -10433,6 +10803,15 @@ terser@^4.1.2, terser@^4.3.9: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^4.6.2: + version "4.6.12" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.12.tgz#44b98aef8703fdb09a3491bf79b43faffc5b4fee" + integrity sha512-fnIwuaKjFPANG6MAixC/k1TDtnl1YlPLUlLVIxxGZUn1gfUx2+l3/zGNB72wya+lgsb50QBi2tUV75RiODwnww== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + test-exclude@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" @@ -10691,6 +11070,11 @@ unicode-match-property-value-ecmascript@^1.1.0: resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + unicode-property-aliases-ecmascript@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" From 4908b2b881d9bca372f77cf3ea207f584ff98b92 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Apr 2020 11:23:19 -0700 Subject: [PATCH 02/25] Update bundlesize files --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index b1573c2599f..fb279cb4f0c 100644 --- a/package.json +++ b/package.json @@ -96,14 +96,14 @@ "styled-components": "4.x || 5.x" }, "actionBundlesize": { - "build": "yarn && yarn dist", + "build": "yarn && yarn dist:rollup", "files": [ { - "path": "dist/index.esm.js", + "path": "dist/browser.esm.js", "name": "ESM Build" }, { - "path": "dist/index.umd.js", + "path": "dist/browser.umd.js", "name": "UMD Build" } ] From 4a61104da7ecdf4d88b3dd8f8dd073238429ff9e Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Apr 2020 11:31:41 -0700 Subject: [PATCH 03/25] Update babelrc path in Vercel config --- now.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/now.json b/now.json index 31791d274ec..92c75b244bc 100644 --- a/now.json +++ b/now.json @@ -2,7 +2,7 @@ "name": "primer-components", "version": 2, "alias": "primer-components.now.sh", - "files": [".babelrc", "yarn.lock", "docs", "rollup.config.js", "src", "static"], + "files": ["babel.config.js", "yarn.lock", "docs", "rollup.config.js", "src", "static"], "routes": [ {"src": "/playroom(/.*)?", "dest": "$1"}, {"src": "/components(/.*)?", "dest": "/docs$1"}, From 3e12398bfdd1c2e5985d7f5ef55e56c52198f2e1 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Apr 2020 12:34:01 -0700 Subject: [PATCH 04/25] ohh that typo --- src/Dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Dropdown.js b/src/Dropdown.js index 6363b62d886..a2f34b60e27 100644 --- a/src/Dropdown.js +++ b/src/Dropdown.js @@ -140,7 +140,7 @@ Dropdown.Item.propTypes = { Dropdown.Button.defaultProps = {theme} Dropdown.Caret.defaultProps = {theme} -Dropdown.Caret.propTpyes = { +Dropdown.Caret.propTypes = { ...COMMON.propTypes } From 700cd1d7b6625ba75348fc3fe491b302c905b271 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Apr 2020 12:44:53 -0700 Subject: [PATCH 05/25] Update entry point --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3163eca7e79..3676e6fec02 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,8 @@ "name": "@primer/components", "version": "19.0.0", "description": "Primer react components", - "main": "dist/index.umd.js", - "module": "dist/index.esm.js", + "main": "dist/index.js", + "module": "dist/index.js", "typings": "index.d.ts", "scripts": { "start": "cd docs && yarn run develop", From 365843c2b6871574a43d36a1378aedda9a20ca94 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Apr 2020 13:39:52 -0700 Subject: [PATCH 06/25] Add exports checker --- src/__tests__/Box.js | 6 +++++- src/__tests__/Position.js | 13 ++++++++++-- src/utils/test-matchers.js | 42 ++++++++++++++++++++++++++++++++++++++ src/utils/testing.js | 7 +++++++ 4 files changed, 65 insertions(+), 3 deletions(-) diff --git a/src/__tests__/Box.js b/src/__tests__/Box.js index 69c700b0d26..6d8c25b94aa 100644 --- a/src/__tests__/Box.js +++ b/src/__tests__/Box.js @@ -1,7 +1,7 @@ import React from 'react' import Box from '../Box' import theme from '../theme' -import {render, behavesAsComponent} from '../utils/testing' +import {render, behavesAsComponent, checkExports} from '../utils/testing' import {LAYOUT, COMMON, FLEX} from '../constants' import {render as HTMLRender, cleanup} from '@testing-library/react' import {axe, toHaveNoViolations} from 'jest-axe' @@ -11,6 +11,10 @@ expect.extend(toHaveNoViolations) describe('Box', () => { behavesAsComponent(Box, [COMMON, LAYOUT, FLEX]) + checkExports('Box', { + default: Box + }) + it('should have no axe violations', async () => { const {container} = HTMLRender() const results = await axe(container) diff --git a/src/__tests__/Position.js b/src/__tests__/Position.js index 7602f92b66d..3802bd34e1c 100644 --- a/src/__tests__/Position.js +++ b/src/__tests__/Position.js @@ -1,8 +1,8 @@ import React from 'react' import {LAYOUT, POSITION} from '../constants' import BorderBox from '../BorderBox' -import {Absolute, Fixed, Relative, Sticky} from '../Position' -import {render, behavesAsComponent} from '../utils/testing' +import {Position, Absolute, Fixed, Relative, Sticky} from '../Position' +import {render, behavesAsComponent, checkExports} from '../utils/testing' import {render as HTMLRender, cleanup} from '@testing-library/react' import {axe, toHaveNoViolations} from 'jest-axe' import 'babel-polyfill' @@ -12,6 +12,15 @@ describe('position components', () => { describe('Absolute', () => { behavesAsComponent(Absolute, [LAYOUT, POSITION]) + checkExports('Position', { + default: null, + Position, + Absolute, + Fixed, + Relative, + Sticky + }) + it('should have no axe violations', async () => { const {container} = HTMLRender() const results = await axe(container) diff --git a/src/utils/test-matchers.js b/src/utils/test-matchers.js index 23a2f3eca4a..9beac00ef5a 100644 --- a/src/utils/test-matchers.js +++ b/src/utils/test-matchers.js @@ -100,5 +100,47 @@ expect.extend({ pass, message: () => 'default theme is not set' } + }, + + toSetExports(mod, expectedExports) { + if (!Object.keys(expectedExports).includes('default')) { + return { + pass: false, + message: () => "You must specify the module's default export" + } + } + + const seen = new Set() + for (const exp of Object.keys(expectedExports)) { + seen.add(exp) + if (mod[exp] !== expectedExports[exp]) { + if (!mod[exp] && !expectedExports[exp]) { + continue + } + + return { + pass: false, + message: () => `Module exported a different value from key '${exp}' than expected` + } + } + } + + for (const exp of Object.keys(mod)) { + if (seen.has(exp)) { + continue + } + + if (mod[exp] !== expectedExports[exp]) { + return { + pass: false, + message: () => `Module exported an unexpected value from key '${exp}'` + } + } + } + + return { + pass: true, + message: () => '' + } } }) diff --git a/src/utils/testing.js b/src/utils/testing.js index 1c719e6ff66..e8d1c1e2992 100644 --- a/src/utils/testing.js +++ b/src/utils/testing.js @@ -218,3 +218,10 @@ export function behavesAsComponent(Component, systemPropArray, toRender = null, expect(render(getElement())).toMatchSnapshot() }) } + +export function checkExports(path, exports) { + it('has declarated exports', () => { + const mod = require(`../${path}`) + expect(mod).toSetExports(exports) + }) +} From 6de2240d6eb9fa692f83e866bf6fe4fde564d92e Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Apr 2020 16:53:41 -0700 Subject: [PATCH 07/25] Where'd that come from --- src/experimental/AvatarStack.js | 157 -------------------------------- 1 file changed, 157 deletions(-) delete mode 100644 src/experimental/AvatarStack.js diff --git a/src/experimental/AvatarStack.js b/src/experimental/AvatarStack.js deleted file mode 100644 index b636a7d246e..00000000000 --- a/src/experimental/AvatarStack.js +++ /dev/null @@ -1,157 +0,0 @@ -import React from 'react' -import PropTypes from 'prop-types' -import styled, {css} from 'styled-components' -import {get, COMMON} from '../constants' -import theme from '../theme' - -const transformChildren = children => { - const count = children.length - return React.Children.map(children, (child, index) => { - return ( - <> - {count > 3 && index === 2 &&
} - {React.cloneElement(child, {className: 'AvatarItem'})} - - ) - }) -} - -const AvatarStackWrapper = styled.span` - display: inline-block; - position: relative; - min-width: ${props => (props.count === 1 ? '26px' : props.count === 2 ? '36px' : '46px')}; - height: 20px; - ${COMMON} -` - -const AvatarStackBody = styled.span` - display: flex; - position: absolute; - background: white; - - &:hover { - .AvatarItem { - margin-right: 3px; - } - - .AvatarItem:nth-child(n + 4) { - display: flex; - opacity: 1; - } - - .AvatarItem-more { - display: none !important; - } - } - - .AvatarItem { - position: relative; - z-index: 2; - display: flex; - width: 20px; - height: 20px; - box-sizing: content-box; - margin-right: -11px; - background-color: ${get('colors.white')}; - border-right: ${get('borderWidths.1')} solid ${get('colors.white')}; - border-radius: 2px; - transition: margin 0.1s ease-in-out; - - &:first-child { - z-index: 3; - } - - &:last-child { - z-index: 1; - border-right: 0; - } - - img { - border-radius: 2px; - width: inherit; - } - - // Account for 4+ avatars - &:nth-child(n + 4) { - display: none; - opacity: 0; - } - } - - .AvatarItem-more { - z-index: 1; - margin-right: 0; - background: ${get('colors.gray.1')}; - - &::before, - &::after { - position: absolute; - display: block; - height: 20px; - content: ''; - border-radius: 2px; - outline: ${get('borderWidths.1')} solid ${get('colors.white')}; - } - - &::before { - width: 17px; - background: ${get('colors.gray.2')}; - } - - &::after { - width: 14px; - background: ${get('colors.gray.3')}; - } - } - - ${props => - props.alignRight && - css` - right: 0; - flex-direction: row-reverse; - - &:hover .AvatarItem { - margin-right: 0; - margin-left: 3px; - } - - .AvatarItem-more { - background: ${get('colors.gray.3')}; - - &::before { - width: 5px; - } - - &::after { - background: ${get('colors.gray.1')}; - width: 2px; - } - } - - .AvatarItem { - margin-right: 0; - margin-left: -11px; - border-right: 0; - border-left: ${get('borderWidths.1')} solid ${get('colors.white')}; - } - `} -` -const AvatarStack = ({children = [], alignRight, ...rest}) => { - return ( - - - {transformChildren(children)} - - - ) -} - -AvatarStack.defaultProps = { - theme -} - -AvatarStack.propTypes = { - ...COMMON.propTypes, - alignRight: PropTypes.bool -} -export default AvatarStack From d6f959b80b3a0ed42bd540e27fc90c78012b7093 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Wed, 29 Apr 2020 16:56:08 -0700 Subject: [PATCH 08/25] Declarated --- src/utils/testing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/testing.js b/src/utils/testing.js index e8d1c1e2992..b9c6f4d907c 100644 --- a/src/utils/testing.js +++ b/src/utils/testing.js @@ -220,7 +220,7 @@ export function behavesAsComponent(Component, systemPropArray, toRender = null, } export function checkExports(path, exports) { - it('has declarated exports', () => { + it('has declared exports', () => { const mod = require(`../${path}`) expect(mod).toSetExports(exports) }) From 66cbd5058799a2d21aeb32a901accbdded3776a2 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Thu, 30 Apr 2020 12:14:18 -0700 Subject: [PATCH 09/25] Add `__DEV__` expression for dev mode checks As we begin to implement things like deprecation warnings that we only want to appear in non-production environments, it's useful to have an easy check that completely compiles out in production. This commit adds `babel-plugin-transform-replace-expressions`, which replaces expressions in code. The primary expression is `__DEV__`, which compiles to `process.env.NODE_ENV !== "production"`. When building the browser bundles, we compile it instead to `false`, so that terser automatcally removes the entire `if(__DEV__)...` block, resulting in zero runtime overhead. This commit also adds the define to Gatsby's webpack config, as Gatsby doesn't seem to respect the Babel configuration for the main Primer Components project. In addition, to get Gatsby to run Primer Components through the new webpack plugin we add, we need to alter the webpack rules to include files loaded from `@primer/components`. Finally, when building a production build (like in our browser bundles), we explicitly set `process.env.NODE_ENV` to `"production"`. --- .eslintrc.json | 3 +++ babel-defines.js | 13 +++++++++++++ babel.config.js | 22 ++++++++++------------ docs/gatsby-node.js | 23 +++++++++++++++++++++++ docs/package.json | 2 +- package.json | 1 + yarn.lock | 12 ++++++++++++ 7 files changed, 63 insertions(+), 13 deletions(-) create mode 100644 babel-defines.js create mode 100644 docs/gatsby-node.js diff --git a/.eslintrc.json b/.eslintrc.json index b0be5232a9f..14bf0a82e7c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -5,6 +5,9 @@ "plugin:jsx-a11y/recommended", "plugin:react-hooks/recommended" ], + "globals": { + "__DEV__": "readonly" + }, "rules": { "import/no-namespace": 0, "no-shadow": 0, diff --git a/babel-defines.js b/babel-defines.js new file mode 100644 index 00000000000..63361e78474 --- /dev/null +++ b/babel-defines.js @@ -0,0 +1,13 @@ +const shared = { + __DEV__: "process.env.NODE_ENV !== 'production'" +} + +module.exports = { + development: shared, + test: shared, + production: { + ...shared, + __DEV__: 'false', + 'process.env.NODE_ENV': "'production'" + } +} diff --git a/babel.config.js b/babel.config.js index 4a52c3a456b..ed3bd13be23 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,3 +1,9 @@ +const defines = require('./babel-defines') + +function replacementPlugin(env) { + return ['babel-plugin-transform-replace-expressions', {replace: defines[env]}] +} + const sharedPlugins = [ 'macros', 'add-react-displayname', @@ -5,15 +11,7 @@ const sharedPlugins = [ '@babel/plugin-proposal-object-rest-spread' ] -const devPlugins = [ - [ - '@babel/plugin-transform-runtime', - { - version: '7.9.2', - helpers: true - } - ] -] +const devPlugins = [['@babel/plugin-transform-runtime', {version: '7.9.2', helpers: true}]] function makePresets(moduleValue) { return [ @@ -26,15 +24,15 @@ module.exports = { env: { development: { presets: makePresets('commonjs'), - plugins: sharedPlugins.concat(devPlugins) + plugins: [...sharedPlugins, ...devPlugins, replacementPlugin('development')] }, production: { presets: makePresets(false), - plugins: sharedPlugins + plugins: [...sharedPlugins, replacementPlugin('production')] }, test: { presets: makePresets('commonjs'), - plugins: sharedPlugins + plugins: [...sharedPlugins, replacementPlugin('test')] } } } diff --git a/docs/gatsby-node.js b/docs/gatsby-node.js new file mode 100644 index 00000000000..1cb066c3883 --- /dev/null +++ b/docs/gatsby-node.js @@ -0,0 +1,23 @@ +const defines = require('../babel-defines') + +exports.onCreateWebpackConfig = ({actions, plugins, loaders, getConfig}) => { + const config = getConfig() + // Add our `__DEV__` and `process.env.NODE_ENV` defines + config.plugins.push(plugins.define(defines[process.env.NODE_ENV || 'development'])) + + config.module.rules = [ + // Remove the original rule that compiles `.js`. and `.jsx` files... + ...config.module.rules.filter(rule => String(rule.test) !== String(/\.jsx?$/)), + // ...and replace it with a custom configuration. + { + // The new configuration is based off the original... + ...loaders.js(), + test: /\.jsx?$/, + exclude: modulePath => /node_modules/.test(modulePath), + // ...except that we want to run Primer Components through webpack as well. + // By default, Gatsby won't use the define plugin we added above on Primer Components. + include: modulePath => /@primer\/components/.test(modulePath) + } + ] + actions.replaceWebpackConfig(config) +} diff --git a/docs/package.json b/docs/package.json index 86ae05a85e0..6f2f4a92ec6 100644 --- a/docs/package.json +++ b/docs/package.json @@ -5,7 +5,7 @@ "scripts": { "clean": "gatsby clean", "develop": "gatsby develop", - "build": "cd .. && yarn && cd docs && gatsby build --prefix-paths" + "build": "cd .. && yarn && cd docs && NODE_ENV=production gatsby build --prefix-paths" }, "engines": { "node": ">= 10.x" diff --git a/package.json b/package.json index 3676e6fec02..4edf767eb9f 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,7 @@ "babel-core": "7.0.0-bridge.0", "babel-plugin-add-react-displayname": "0.0.5", "babel-plugin-styled-components": "1.10.7", + "babel-plugin-transform-replace-expressions": "0.2.0", "enzyme": "3.10.0", "enzyme-adapter-react-16": "1.15.1", "eslint": "6.5.1", diff --git a/yarn.lock b/yarn.lock index d0d39800d2e..57d023d64ca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -636,6 +636,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71" integrity sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig== +"@babel/parser@^7.3.3": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" + integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== + "@babel/parser@^7.8.3", "@babel/parser@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" @@ -3397,6 +3402,13 @@ babel-plugin-syntax-jsx@^6.18.0: resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= +babel-plugin-transform-replace-expressions@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-replace-expressions/-/babel-plugin-transform-replace-expressions-0.2.0.tgz#59cba8df4b4a675e7c78cd21548f8e7685bbc30d" + integrity sha512-Eh1rRd9hWEYgkgoA3D0kGp7xJ/wgVshgsqmq60iC4HVWD+Lux+fNHSHBa2v1Hsv+dHflShC71qKhiH40OiPtDA== + dependencies: + "@babel/parser" "^7.3.3" + babel-polyfill@6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" From 37c03c5e361d417a48370e1527afb44fedc46af0 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Thu, 30 Apr 2020 13:20:24 -0700 Subject: [PATCH 10/25] Add instructions for importing individual components --- docs/content/getting-started.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/content/getting-started.md b/docs/content/getting-started.md index 3a5b6492360..e1994881b39 100644 --- a/docs/content/getting-started.md +++ b/docs/content/getting-started.md @@ -14,12 +14,21 @@ npm install @primer/components react styled-components yarn add @primer/components react styled-components ``` -You can now start importing Primer Components! +You can now import Primer Components from the main package module: ```javascript import {Box, Flex} from '@primer/components' ``` +Alternatively, you can import individual components from the `dist` subfolder: + +```javascript +import Box from '@primer/components/dist/Box' +import Flex from '@primer/components/dist/Flex' +``` + +Importing components individually can reduce bundle sizes if you don't have tree-shaking set up in your app. + ### Peer dependencies Primer Components ships with a few libraries labeled as peer dependencies. These libraries are separated because they are commonly already installed in the host project and having multiple versions can introduce errors. From 1a970d72aaad331a592c9e8051eb44d08da55274 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Thu, 30 Apr 2020 14:10:14 -0700 Subject: [PATCH 11/25] Add exports tests and massage some exports --- src/{Breadcrumbs.js => Breadcrumb.js} | 0 src/{ => Button}/Button.js | 6 +++--- src/{ => Button}/ButtonBase.js | 4 ++-- src/{ => Button}/ButtonDanger.js | 6 +++--- src/{ => Button}/ButtonGroup.js | 8 ++++---- src/{ => Button}/ButtonOutline.js | 6 +++--- src/{ => Button}/ButtonPrimary.js | 6 +++--- src/{ => Button}/ButtonStyles.js | 2 +- src/{ => Button}/ButtonTableList.js | 6 +++--- src/Button/index.js | 7 +++++++ src/Dialog.js | 2 +- src/LabelGroup.js | 12 +++-------- src/Popover.js | 4 ++-- src/Position.js | 3 ++- src/__tests__/Avatar.js | 8 ++++++-- src/__tests__/AvatarStack.js | 8 ++++++-- src/__tests__/BorderBox.js | 8 ++++++-- src/__tests__/Box.js | 2 +- src/__tests__/BranchName.js | 8 ++++++-- .../{Breadcrumbs.js => Breadcrumb.js} | 8 ++++++-- src/__tests__/BreadcrumbItem.js | 2 +- src/__tests__/Button.js | 11 +++++++++- src/__tests__/Caret.js | 8 ++++++-- src/__tests__/CircleBadge.js | 8 ++++++-- src/__tests__/CircleOcticon.js | 8 ++++++-- src/__tests__/CounterLabel.js | 8 ++++++-- src/__tests__/Details.js | 8 ++++++-- src/__tests__/Dialog.js | 10 ++++++---- src/__tests__/Dropdown.js | 8 ++++++-- src/__tests__/FilterList.js | 8 ++++++-- src/__tests__/FilterListItem.js | 2 +- src/__tests__/Flash.js | 8 ++++++-- src/__tests__/Flex.js | 8 ++++++-- src/__tests__/Grid.js | 8 ++++++-- src/__tests__/Heading.js | 6 +++++- src/__tests__/Label.js | 8 ++++++-- src/__tests__/LabelGroup.js | 9 ++++++--- src/__tests__/Link.js | 8 ++++++-- src/__tests__/PointerBox.js | 6 +++++- src/__tests__/Popover.js | 10 +++++++--- src/__tests__/Position.js | 6 ++---- src/__tests__/ProgressBar.js | 8 ++++++-- src/__tests__/SelectMenu.js | 9 ++++++--- src/__tests__/SideNav.js | 8 ++++++-- src/__tests__/StateLabel.js | 8 ++++++-- src/__tests__/StyledOcticon.js | 9 +++++++-- src/__tests__/SubNav.js | 8 ++++++-- src/__tests__/SubNavLink.js | 2 +- src/__tests__/TabNav.js | 8 ++++++-- src/__tests__/Text.js | 8 ++++++-- src/__tests__/TextInput.js | 8 ++++++-- src/__tests__/Timeline.js | 8 ++++++-- src/__tests__/Tooltip.js | 8 ++++++-- src/__tests__/Truncate.js | 8 ++++++-- src/__tests__/UnderlineNav.js | 8 ++++++-- src/__tests__/UnderlineNavLink.js | 2 +- ...Breadcrumbs.js.snap => Breadcrumb.js.snap} | 0 .../__snapshots__/CircleOcticon.js.snap | 20 +++++++++---------- .../__snapshots__/LabelGroup.js.snap | 10 +++++----- src/index.js | 13 ++++-------- 60 files changed, 283 insertions(+), 142 deletions(-) rename src/{Breadcrumbs.js => Breadcrumb.js} (100%) rename src/{ => Button}/Button.js (93%) rename src/{ => Button}/ButtonBase.js (93%) rename src/{ => Button}/ButtonDanger.js (94%) rename src/{ => Button}/ButtonGroup.js (89%) rename src/{ => Button}/ButtonOutline.js (94%) rename src/{ => Button}/ButtonPrimary.js (93%) rename src/{ => Button}/ButtonStyles.js (94%) rename src/{ => Button}/ButtonTableList.js (90%) create mode 100644 src/Button/index.js rename src/__tests__/{Breadcrumbs.js => Breadcrumb.js} (84%) rename src/__tests__/__snapshots__/{Breadcrumbs.js.snap => Breadcrumb.js.snap} (100%) diff --git a/src/Breadcrumbs.js b/src/Breadcrumb.js similarity index 100% rename from src/Breadcrumbs.js rename to src/Breadcrumb.js diff --git a/src/Button.js b/src/Button/Button.js similarity index 93% rename from src/Button.js rename to src/Button/Button.js index 93dd2420b73..fb193e1e906 100644 --- a/src/Button.js +++ b/src/Button/Button.js @@ -1,7 +1,7 @@ import styled from 'styled-components' -import sx from './sx' -import {get} from './constants' -import theme from './theme' +import sx from '../sx' +import {get} from '../constants' +import theme from '../theme' import ButtonBase from './ButtonBase' const Button = styled(ButtonBase)` diff --git a/src/ButtonBase.js b/src/Button/ButtonBase.js similarity index 93% rename from src/ButtonBase.js rename to src/Button/ButtonBase.js index 980d7658e97..ab5cb63b964 100644 --- a/src/ButtonBase.js +++ b/src/Button/ButtonBase.js @@ -1,7 +1,7 @@ import PropTypes from 'prop-types' import styled from 'styled-components' -import {COMMON, LAYOUT} from './constants' -import theme from './theme' +import {COMMON, LAYOUT} from '../constants' +import theme from '../theme' import buttonBaseStyles from './ButtonStyles' import {compose, variant, fontSize} from 'styled-system' import systemPropTypes from '@styled-system/prop-types' diff --git a/src/ButtonDanger.js b/src/Button/ButtonDanger.js similarity index 94% rename from src/ButtonDanger.js rename to src/Button/ButtonDanger.js index fdb72968ccb..03f63371820 100644 --- a/src/ButtonDanger.js +++ b/src/Button/ButtonDanger.js @@ -1,8 +1,8 @@ import styled from 'styled-components' import ButtonBase from './ButtonBase' -import {get} from './constants' -import theme from './theme' -import sx from './sx' +import {get} from '../constants' +import theme from '../theme' +import sx from '../sx' const ButtonDanger = styled(ButtonBase)` color: ${get('buttons.danger.color.default')}; diff --git a/src/ButtonGroup.js b/src/Button/ButtonGroup.js similarity index 89% rename from src/ButtonGroup.js rename to src/Button/ButtonGroup.js index 6cb77d99512..e189c92b541 100644 --- a/src/ButtonGroup.js +++ b/src/Button/ButtonGroup.js @@ -1,8 +1,8 @@ import styled from 'styled-components' -import {get} from './constants' -import Box from './Box' -import theme from './theme' -import sx from './sx' +import {get} from '../constants' +import Box from '../Box' +import theme from '../theme' +import sx from '../sx' const ButtonGroup = styled(Box)` vertical-align: middle; diff --git a/src/ButtonOutline.js b/src/Button/ButtonOutline.js similarity index 94% rename from src/ButtonOutline.js rename to src/Button/ButtonOutline.js index 526bdb01ec6..869e78e81f0 100644 --- a/src/ButtonOutline.js +++ b/src/Button/ButtonOutline.js @@ -1,8 +1,8 @@ import styled from 'styled-components' import ButtonBase from './ButtonBase' -import {get} from './constants' -import theme from './theme' -import sx from './sx' +import {get} from '../constants' +import theme from '../theme' +import sx from '../sx' const ButtonOutline = styled(ButtonBase)` color: ${get('buttons.outline.color.default')}; diff --git a/src/ButtonPrimary.js b/src/Button/ButtonPrimary.js similarity index 93% rename from src/ButtonPrimary.js rename to src/Button/ButtonPrimary.js index ab27444b7d7..a73b0e40c5b 100644 --- a/src/ButtonPrimary.js +++ b/src/Button/ButtonPrimary.js @@ -1,8 +1,8 @@ import styled from 'styled-components' import ButtonBase from './ButtonBase' -import {get} from './constants' -import theme from './theme' -import sx from './sx' +import {get} from '../constants' +import theme from '../theme' +import sx from '../sx' const ButtonPrimary = styled(ButtonBase)` color: ${get('buttons.primary.color.default')}; diff --git a/src/ButtonStyles.js b/src/Button/ButtonStyles.js similarity index 94% rename from src/ButtonStyles.js rename to src/Button/ButtonStyles.js index 31272585bdc..f48e32a92b1 100644 --- a/src/ButtonStyles.js +++ b/src/Button/ButtonStyles.js @@ -1,5 +1,5 @@ import {css} from 'styled-components' -import {get} from './constants' +import {get} from '../constants' export default css` position: relative; diff --git a/src/ButtonTableList.js b/src/Button/ButtonTableList.js similarity index 90% rename from src/ButtonTableList.js rename to src/Button/ButtonTableList.js index 4bdbdc2bf85..dc06c6041ce 100644 --- a/src/ButtonTableList.js +++ b/src/Button/ButtonTableList.js @@ -1,8 +1,8 @@ import styled from 'styled-components' import PropTypes from 'prop-types' -import {COMMON, LAYOUT, TYPOGRAPHY, get} from './constants' -import theme from './theme' -import sx from './sx' +import {COMMON, LAYOUT, TYPOGRAPHY, get} from '../constants' +import theme from '../theme' +import sx from '../sx' const ButtonTableList = styled.summary` display: inline-block; diff --git a/src/Button/index.js b/src/Button/index.js new file mode 100644 index 00000000000..58149b8657f --- /dev/null +++ b/src/Button/index.js @@ -0,0 +1,7 @@ +import Button from './Button' +export default Button +export {default as ButtonDanger} from './ButtonDanger' +export {default as ButtonGroup} from './ButtonGroup' +export {default as ButtonOutline} from './ButtonOutline' +export {default as ButtonPrimary} from './ButtonPrimary' +export {default as ButtonTableList} from './ButtonTableList' diff --git a/src/Dialog.js b/src/Dialog.js index 5f02271305d..1f266ec8770 100644 --- a/src/Dialog.js +++ b/src/Dialog.js @@ -21,7 +21,7 @@ const ReachGlobalStyle = createGlobalStyle` } ` -export const StyledDialog = styled(ReachDialog)` +const StyledDialog = styled(ReachDialog)` box-shadow: 0px 4px 32px rgba(0, 0, 0, 0.35); border-radius: 4px; padding: 0 !important; diff --git a/src/LabelGroup.js b/src/LabelGroup.js index d443ba7b10b..db4d8de10c9 100644 --- a/src/LabelGroup.js +++ b/src/LabelGroup.js @@ -4,24 +4,18 @@ import theme from './theme' import {COMMON, get} from './constants' import sx from './sx' -const transformChildren = children => { - return React.Children.map(children, child => { - return React.cloneElement(child, {className: 'LabelItem'}) - }) -} - const StyledLabelGroup = styled.span` ${COMMON} - & .LabelItem { + & * { margin-right: ${get('space.1')}; } - & .LabelItem:last-child { + & *:last-child { margin-right: 0; } ${sx}; ` -const LabelGroup = ({children, ...rest}) => {transformChildren(children)} +const LabelGroup = ({children, ...rest}) => {children} LabelGroup.defaultProps = { theme diff --git a/src/Popover.js b/src/Popover.js index 2fb7e6d741c..2544c3d1e27 100644 --- a/src/Popover.js +++ b/src/Popover.js @@ -202,7 +202,7 @@ Popover.Content = styled(BorderBox)` ${sx}; ` -export const CARET_POSITIONS = [ +Popover.CARET_POSITIONS = [ 'top', 'bottom', 'left', @@ -224,7 +224,7 @@ Popover.defaultProps = { Popover.propTypes = { as: elementType, - caret: PropTypes.oneOf(CARET_POSITIONS), + caret: PropTypes.oneOf(Popover.CARET_POSITIONS), open: PropTypes.bool, relative: PropTypes.bool, theme: PropTypes.object, diff --git a/src/Position.js b/src/Position.js index 2a26c5d1714..3a6ce440b21 100644 --- a/src/Position.js +++ b/src/Position.js @@ -5,7 +5,7 @@ import {COMMON, LAYOUT, POSITION} from './constants' import theme from './theme' import sx from './sx' -export const Position = styled.div` +const Position = styled.div` ${LAYOUT} ${COMMON} ${POSITION} @@ -32,6 +32,7 @@ function withPosition(position) { return WithPosition } +export default Position export const Absolute = withPosition('Absolute') export const Fixed = withPosition('Fixed') export const Relative = withPosition('Relative') diff --git a/src/__tests__/Avatar.js b/src/__tests__/Avatar.js index aff7a6a1a79..f132eb0026f 100644 --- a/src/__tests__/Avatar.js +++ b/src/__tests__/Avatar.js @@ -1,7 +1,7 @@ import React from 'react' -import Avatar from '../Avatar' +import {Avatar} from '..' import theme from '../theme' -import {px, render, behavesAsComponent} from '../utils/testing' +import {px, render, behavesAsComponent, checkExports} from '../utils/testing' import {render as HTMLRender, cleanup} from '@testing-library/react' import {axe, toHaveNoViolations} from 'jest-axe' import 'babel-polyfill' @@ -11,6 +11,10 @@ expect.extend(toHaveNoViolations) describe('Avatar', () => { behavesAsComponent(Avatar, [{propTypes: systemPropTypes.space}]) + checkExports('Avatar', { + default: Avatar + }) + it('should have no axe violations', async () => { const {container} = HTMLRender() const results = await axe(container) diff --git a/src/__tests__/AvatarStack.js b/src/__tests__/AvatarStack.js index 2d5ada9ac34..da895eaacbe 100644 --- a/src/__tests__/AvatarStack.js +++ b/src/__tests__/AvatarStack.js @@ -1,6 +1,6 @@ import React from 'react' -import AvatarStack from '../AvatarStack' -import {render, behavesAsComponent} from '../utils/testing' +import {AvatarStack} from '..' +import {render, behavesAsComponent, checkExports} from '../utils/testing' import {COMMON} from '../constants' import {render as HTMLRender, cleanup} from '@testing-library/react' import {axe, toHaveNoViolations} from 'jest-axe' @@ -28,6 +28,10 @@ const rightAvatarComp = ( describe('Avatar', () => { behavesAsComponent(AvatarStack, [COMMON], () => avatarComp) + checkExports('AvatarStack', { + default: AvatarStack + }) + it('should have no axe violations', async () => { const {container} = HTMLRender(avatarComp) const results = await axe(container) diff --git a/src/__tests__/BorderBox.js b/src/__tests__/BorderBox.js index 0ec0a016d96..4fe8682d2ea 100644 --- a/src/__tests__/BorderBox.js +++ b/src/__tests__/BorderBox.js @@ -1,7 +1,7 @@ import React from 'react' import theme, {colors} from '../theme' -import BorderBox from '../BorderBox' -import {render, behavesAsComponent} from '../utils/testing' +import {BorderBox} from '..' +import {render, behavesAsComponent, checkExports} from '../utils/testing' import {LAYOUT, COMMON, BORDER, FLEX} from '../constants' import {render as HTMLRender, cleanup} from '@testing-library/react' import {axe, toHaveNoViolations} from 'jest-axe' @@ -11,6 +11,10 @@ expect.extend(toHaveNoViolations) describe('BorderBox', () => { behavesAsComponent(BorderBox, [LAYOUT, COMMON, BORDER, FLEX]) + checkExports('BorderBox', { + default: BorderBox + }) + it('should have no axe violations', async () => { const {container} = HTMLRender() const results = await axe(container) diff --git a/src/__tests__/Box.js b/src/__tests__/Box.js index 6d8c25b94aa..d4932450bbe 100644 --- a/src/__tests__/Box.js +++ b/src/__tests__/Box.js @@ -1,5 +1,5 @@ import React from 'react' -import Box from '../Box' +import {Box} from '..' import theme from '../theme' import {render, behavesAsComponent, checkExports} from '../utils/testing' import {LAYOUT, COMMON, FLEX} from '../constants' diff --git a/src/__tests__/BranchName.js b/src/__tests__/BranchName.js index 7d848227d8c..441d579d88c 100644 --- a/src/__tests__/BranchName.js +++ b/src/__tests__/BranchName.js @@ -1,6 +1,6 @@ import React from 'react' -import BranchName from '../BranchName' -import {render, behavesAsComponent} from '../utils/testing' +import {BranchName} from '..' +import {render, behavesAsComponent, checkExports} from '../utils/testing' import {COMMON} from '../constants' import {render as HTMLRender, cleanup} from '@testing-library/react' import {axe, toHaveNoViolations} from 'jest-axe' @@ -10,6 +10,10 @@ expect.extend(toHaveNoViolations) describe('BranchName', () => { behavesAsComponent(BranchName, [COMMON]) + checkExports('BranchName', { + default: BranchName + }) + it('should have no axe violations', async () => { const {container} = HTMLRender() const results = await axe(container) diff --git a/src/__tests__/Breadcrumbs.js b/src/__tests__/Breadcrumb.js similarity index 84% rename from src/__tests__/Breadcrumbs.js rename to src/__tests__/Breadcrumb.js index 848fe1871b7..13f2ea8e9db 100644 --- a/src/__tests__/Breadcrumbs.js +++ b/src/__tests__/Breadcrumb.js @@ -1,6 +1,6 @@ import React from 'react' -import Breadcrumb from '../Breadcrumbs' -import {mount, render, rendersClass, behavesAsComponent} from '../utils/testing' +import {Breadcrumb} from '..' +import {mount, render, rendersClass, behavesAsComponent, checkExports} from '../utils/testing' import {COMMON} from '../constants' import {render as HTMLRender, cleanup} from '@testing-library/react' import {axe, toHaveNoViolations} from 'jest-axe' @@ -10,6 +10,10 @@ expect.extend(toHaveNoViolations) describe('Breadcrumb', () => { behavesAsComponent(Breadcrumb, [COMMON]) + checkExports('Breadcrumb', { + default: Breadcrumb + }) + it('should have no axe violations', async () => { const {container} = HTMLRender() const results = await axe(container) diff --git a/src/__tests__/BreadcrumbItem.js b/src/__tests__/BreadcrumbItem.js index 19f58d575c4..76bbfa62221 100644 --- a/src/__tests__/BreadcrumbItem.js +++ b/src/__tests__/BreadcrumbItem.js @@ -1,5 +1,5 @@ import React from 'react' -import Breadcrumb from '../Breadcrumbs' +import {Breadcrumb} from '..' import {render, behavesAsComponent} from '../utils/testing' import {COMMON} from '../constants' import {render as HTMLRender, cleanup} from '@testing-library/react' diff --git a/src/__tests__/Button.js b/src/__tests__/Button.js index d517ba65351..1ab0bffdcf9 100644 --- a/src/__tests__/Button.js +++ b/src/__tests__/Button.js @@ -1,6 +1,6 @@ import React from 'react' import {Button, ButtonPrimary, ButtonDanger, ButtonOutline, ButtonGroup, ButtonTableList} from '..' -import {render, behavesAsComponent} from '../utils/testing' +import {render, behavesAsComponent, checkExports} from '../utils/testing' import {COMMON, FLEX, LAYOUT, TYPOGRAPHY} from '../constants' import {render as HTMLRender, cleanup} from '@testing-library/react' import {axe, toHaveNoViolations} from 'jest-axe' @@ -12,6 +12,15 @@ function noop() {} describe('Button', () => { behavesAsComponent(Button, [COMMON, LAYOUT]) + checkExports('Button', { + default: Button, + ButtonPrimary, + ButtonDanger, + ButtonOutline, + ButtonGroup, + ButtonTableList + }) + it('renders a