diff --git a/.eslintignore b/.eslintignore
index ab3116f9aff..d32261f2654 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -12,6 +12,7 @@ coverage
**/Generated
**/build
css
+packages/react-docs/static
# package managers
yarn-error.log
diff --git a/packages/react-core/package.json b/packages/react-core/package.json
index d8c04001ea6..998a75a1d16 100644
--- a/packages/react-core/package.json
+++ b/packages/react-core/package.json
@@ -29,12 +29,13 @@
},
"homepage": "https://github.com/patternfly/patternfly-react#readme",
"scripts": {
- "build": "yarn build:babel && yarn build:types && node ./scripts/copyStyles.js",
+ "build": "yarn build:babel && yarn build:umd && yarn build:types && node ./scripts/copyStyles.js",
"build:babel": "concurrently \"yarn build:babel:esm && yarn build:babel:umd\" \"yarn build:babel:cjs\"",
"build:babel:cjs": "babel --source-maps --extensions \".js,.ts,.tsx\" src --out-dir dist/js --presets=@babel/env",
"build:babel:esm": "babel --source-maps --extensions \".js,.ts,.tsx\" src --out-dir dist/esm",
"build:babel:umd": "babel --source-maps --extensions \".js\" dist/esm --out-dir dist/umd --plugins=transform-es2015-modules-umd",
"build:types": "tsc -p tsconfig.gen-dts.json",
+ "build:umd": "rollup -c && rollup -c --environment IS_PRODUCTION",
"clean": "rimraf dist",
"develop": "yarn build:babel:esm --skip-initial-build --watch --verbose",
"gen:tests": "yo tsx-docgen"
@@ -67,6 +68,12 @@
"generator-tsx-docgen": "^0.1.0",
"glob": "^7.1.2",
"rimraf": "^2.6.2",
+ "rollup": "^2.2.0",
+ "@rollup/plugin-node-resolve": "^7.1.1",
+ "@rollup/plugin-commonjs": "^11.0.2",
+ "@rollup/plugin-replace": "^2.3.1",
+ "rollup-plugin-scss": "^2.1.0",
+ "rollup-plugin-terser": "^5.3.0",
"typescript": "^3.8.3",
"yo": "^3.1.1"
},
diff --git a/packages/react-core/rollup.config.js b/packages/react-core/rollup.config.js
new file mode 100644
index 00000000000..27882cb0069
--- /dev/null
+++ b/packages/react-core/rollup.config.js
@@ -0,0 +1,31 @@
+import resolve from '@rollup/plugin-node-resolve';
+import commonjs from '@rollup/plugin-commonjs';
+import scss from 'rollup-plugin-scss';
+import replace from '@rollup/plugin-replace';
+import { terser } from 'rollup-plugin-terser';
+
+const isProduction = process.env.IS_PRODUCTION;
+
+module.exports = {
+ input: 'dist/esm/index.js',
+ output: {
+ file: `dist/umd/react-core${isProduction ? '.min' : ''}.js`,
+ format: 'umd',
+ name: 'PatternFlyReact',
+ globals: {
+ react: 'React',
+ 'react-dom': 'ReactDOM',
+ 'prop-types': 'PropTypes'
+ }
+ },
+ external: ['react', 'react-dom', 'prop-types'],
+ plugins: [
+ replace({
+ 'process.env.NODE_ENV': `'${isProduction ? 'production' : 'development'}'`
+ }),
+ resolve(),
+ commonjs(),
+ scss(),
+ isProduction && terser()
+ ]
+};
diff --git a/packages/react-core/src/components/Alert/Alert.tsx b/packages/react-core/src/components/Alert/Alert.tsx
index b3dcf425923..d3f574e526c 100644
--- a/packages/react-core/src/components/Alert/Alert.tsx
+++ b/packages/react-core/src/components/Alert/Alert.tsx
@@ -5,6 +5,7 @@ import accessibleStyles from '@patternfly/react-styles/css/utilities/Accessibili
import { AlertIcon } from './AlertIcon';
import { capitalize } from '../../helpers/util';
import { InjectedOuiaProps, withOuiaContext } from '../withOuia';
+import { AlertContext } from './AlertContext';
export enum AlertVariant {
success = 'success',
@@ -35,13 +36,6 @@ export interface AlertProps extends Omit, 'actio
isLiveRegion?: boolean;
}
-interface AlertContext {
- title: React.ReactNode;
- variantLabel?: string;
-}
-
-export const AlertContext = React.createContext(null);
-
const Alert: React.FunctionComponent = ({
variant = AlertVariant.info,
isInline = false,
diff --git a/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx b/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx
index e25a2752351..023edb31001 100644
--- a/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx
+++ b/packages/react-core/src/components/Alert/AlertActionCloseButton.tsx
@@ -1,7 +1,7 @@
import * as React from 'react';
import { Button, ButtonVariant, ButtonProps } from '../Button';
import TimesIcon from '@patternfly/react-icons/dist/js/icons/times-icon';
-import { AlertContext } from '..';
+import { AlertContext } from './AlertContext';
interface AlertActionCloseButtonProps extends ButtonProps {
/** Additional classes added to the AlertActionCloseButton */
diff --git a/packages/react-core/src/components/Alert/AlertContext.ts b/packages/react-core/src/components/Alert/AlertContext.ts
new file mode 100644
index 00000000000..cbda82bb4a0
--- /dev/null
+++ b/packages/react-core/src/components/Alert/AlertContext.ts
@@ -0,0 +1,8 @@
+import * as React from 'react';
+
+interface AlertContext {
+ title: React.ReactNode;
+ variantLabel?: string;
+}
+
+export const AlertContext = React.createContext(null);
diff --git a/packages/react-core/src/components/Alert/index.ts b/packages/react-core/src/components/Alert/index.ts
index 0f50aa6a8e3..0c84bd74c44 100644
--- a/packages/react-core/src/components/Alert/index.ts
+++ b/packages/react-core/src/components/Alert/index.ts
@@ -1,3 +1,4 @@
export * from './Alert';
+export * from './AlertContext';
export * from './AlertActionCloseButton';
export * from './AlertActionLink';
diff --git a/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncher.tsx b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncher.tsx
index 5c7df5da3b2..504cea0d13c 100644
--- a/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncher.tsx
+++ b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncher.tsx
@@ -8,6 +8,7 @@ import { DropdownWithContext } from '../Dropdown/DropdownWithContext';
import { ApplicationLauncherGroup } from './ApplicationLauncherGroup';
import { ApplicationLauncherSeparator } from './ApplicationLauncherSeparator';
import { ApplicationLauncherItem } from './ApplicationLauncherItem';
+import { ApplicationLauncherContext } from './ApplicationLauncherContext';
export interface ApplicationLauncherProps extends React.HTMLProps {
/** Additional element css classes */
@@ -57,11 +58,6 @@ export interface ApplicationLauncherProps extends React.HTMLProps {}
-});
-
export class ApplicationLauncher extends React.Component {
static defaultProps: ApplicationLauncherProps = {
className: '',
diff --git a/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherContent.tsx b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherContent.tsx
index e1e96595982..80b477cd169 100644
--- a/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherContent.tsx
+++ b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherContent.tsx
@@ -5,7 +5,7 @@ import accessibleStyles from '@patternfly/react-styles/css/utilities/Accessibili
import { ApplicationLauncherIcon } from './ApplicationLauncherIcon';
import { ApplicationLauncherText } from './ApplicationLauncherText';
import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
-import { ApplicationLauncherItemContext } from './ApplicationLauncherItem';
+import { ApplicationLauncherItemContext } from './ApplicationLauncherItemContext';
export interface ApplicationLauncherContentProps {
/** Main content to be rendered */
diff --git a/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherContext.ts b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherContext.ts
new file mode 100644
index 00000000000..790ac1d01da
--- /dev/null
+++ b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherContext.ts
@@ -0,0 +1,6 @@
+import * as React from 'react';
+
+export const ApplicationLauncherContext = React.createContext({
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ onFavorite: (itemId: string, isFavorite: boolean) => {}
+});
diff --git a/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherItem.tsx b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherItem.tsx
index 21aa24be95a..809f4a24c35 100644
--- a/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherItem.tsx
+++ b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherItem.tsx
@@ -3,11 +3,10 @@ import { css } from '@patternfly/react-styles';
import styles from '@patternfly/react-styles/css/components/AppLauncher/app-launcher';
import { DropdownItem, DropdownItemProps } from '../Dropdown';
import { ApplicationLauncherContent } from './ApplicationLauncherContent';
-import { ApplicationLauncherContext } from './ApplicationLauncher';
+import { ApplicationLauncherContext } from './ApplicationLauncherContext';
+import { ApplicationLauncherItemContext } from './ApplicationLauncherItemContext';
import StarIcon from '@patternfly/react-icons/dist/js/icons/star-icon';
-export const ApplicationLauncherItemContext = React.createContext({ isExternal: false, icon: null });
-
export interface ApplicationLauncherItemProps {
/** Icon rendered before the text */
icon?: React.ReactNode;
diff --git a/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherItemContext.ts b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherItemContext.ts
new file mode 100644
index 00000000000..668125bc63f
--- /dev/null
+++ b/packages/react-core/src/components/ApplicationLauncher/ApplicationLauncherItemContext.ts
@@ -0,0 +1,3 @@
+import * as React from 'react';
+
+export const ApplicationLauncherItemContext = React.createContext({ isExternal: false, icon: null });
diff --git a/packages/react-core/src/components/ApplicationLauncher/index.ts b/packages/react-core/src/components/ApplicationLauncher/index.ts
index 5d68ac00f5a..9fa98e29991 100644
--- a/packages/react-core/src/components/ApplicationLauncher/index.ts
+++ b/packages/react-core/src/components/ApplicationLauncher/index.ts
@@ -1,5 +1,7 @@
export * from './ApplicationLauncher';
+export * from './ApplicationLauncherContext';
export * from './ApplicationLauncherItem';
+export * from './ApplicationLauncherItemContext';
export * from './ApplicationLauncherContent';
export * from './ApplicationLauncherIcon';
export * from './ApplicationLauncherText';
diff --git a/packages/react-core/src/demos/CardView/examples/CardView.md b/packages/react-core/src/demos/CardView/examples/CardView.md
index 9b53982ae91..616209998cc 100644
--- a/packages/react-core/src/demos/CardView/examples/CardView.md
+++ b/packages/react-core/src/demos/CardView/examples/CardView.md
@@ -750,7 +750,7 @@ class CardViewBasic extends React.Component {
isChecked={selectedItems.includes(product.id)}
defaultChecked={this.state.itemsCheckedByDefault}
aria-label="card checkbox example"
- id="check-1"
+ id={`check-${product.id}`}
/>
diff --git a/packages/react-docs/gatsby-config.js b/packages/react-docs/gatsby-config.js
index 7a4ce504913..bb100ff651d 100644
--- a/packages/react-docs/gatsby-config.js
+++ b/packages/react-docs/gatsby-config.js
@@ -11,6 +11,7 @@ module.exports = {
resolve: `gatsby-theme-patternfly-org`,
options: {
context: 'react', // For global items that need sideNav
+ showGdprBanner: false, // GDPR banner
hiddenPages: ['withOuia', 'Training'], // By title
sideNav: {
react: [
diff --git a/packages/react-docs/static/like-button.js b/packages/react-docs/static/like-button.js
new file mode 100644
index 00000000000..2ecc6e3779c
--- /dev/null
+++ b/packages/react-docs/static/like-button.js
@@ -0,0 +1,30 @@
+'use strict';
+
+const e = React.createElement;
+
+class LikeButton extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = { liked: false };
+ }
+
+ render() {
+ if (this.state.liked) {
+ return e(PatternFlyReact.Alert, {
+ title: ' Great success',
+ children: 'You liked this',
+ variant: 'success'
+ });
+ }
+
+ return e(
+ PatternFlyReact.Button,
+ { onClick: () => this.setState({ liked: true }) },
+ 'Like'
+ );
+ }
+}
+
+
+const domContainer = document.querySelector('#react-root');
+ReactDOM.render(e(LikeButton), domContainer);
\ No newline at end of file
diff --git a/packages/react-docs/static/umd.html b/packages/react-docs/static/umd.html
new file mode 100644
index 00000000000..d281d13e8b8
--- /dev/null
+++ b/packages/react-docs/static/umd.html
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+ PatternFly-React UMD Build
+
+ UMD build allow for you to quickly get started using @patternfly/react-core.
+ If you care about how this is accomplished, it's highly recommended to read
+ React's getting started with UMD guide before returning here since.
+ This guide uses React's guide as a base.
+
+ 1. Write HTML
+
+ Create a container to inject React components into.
+
+ <div id="react-root">Inject in here</div>
+
+
+ 2. Include JS
+
+ PatternFly React depends on React and PropTypes. Add these to the bottom of the <body> tag on your page:
+
+ <script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
+ <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
+ <script src="https://unpkg.com/prop-types@15.6/prop-types.js" crossorigin></script>
+ <script src="https://unpkg.com/@patternfly/react-core@3/dist/umd/react-core.umd.js"></script>
+ <script src="like-button.js"></script>
+
+
+ @patternfly/react-core exposes a "PatternFlyReact" object for use in your like-button.js. Populate your like-button.js with something like:
+
+ 'use strict';
+
+ const e = React.createElement;
+
+ class LikeButton extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = { liked: false };
+ }
+
+ render() {
+ if (this.state.liked) {
+ return e(PatternFlyReact.Alert, {
+ title: ' Great success',
+ children: 'You liked this',
+ variant: 'success'
+ });
+ }
+
+ return e(
+ PatternFlyReact.Button,
+ { onClick: () => this.setState({ liked: true }) },
+ 'Like'
+ );
+ }
+ }
+
+
+ const domContainer = document.querySelector('#react-root');
+ ReactDOM.render(e(LikeButton), domContainer);
+
+
+ 3. (Optional) Include styles
+
+ You have to include ALL our PatternFly styles. There's two ways to do this:
+
+ <link rel="stylesheet" href="https://unpkg.com/@patternfly/patternfly@2/patternfly.css" crossorigin />
+
+ OR
+
+ <link rel="stylesheet" href="https://unpkg.com/@patternfly/react-core@3/dist/styles/base.css" crossorigin />
+ <link rel="stylesheet" href="https://unpkg.com/@patternfly/react-core@3/dist/react-core.umd.css" crossorigin />
+
+
+ 4. Don't do this in production
+
+ This implementation is very bloated.
+ ALL of React, ReactDOM, PropTypes (which you don't need in production...), and PatternFly (including CSS and fonts) are included which takes 912KB after being gzipped.
+ Even when minified, they take 520Kb after being gzipped.
+ Also, you probably want to be able to use JSX.
+ To enable using JSX, treeshaking, and other modern JS tools PatternFly recommendeds consumption using Webpack.
+ It's as simple as cloning our seed repo and running 2 commands!
+
+
+ This page serves as an example of how to do this. Checkout the like button below!
+
+ Inject like button here
+
+
+
+
+
+
+
diff --git a/yarn.lock b/yarn.lock
index 511e14d49c9..db7858d818a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3401,6 +3401,43 @@
react-lifecycles-compat "^3.0.4"
warning "^3.0.0"
+"@rollup/plugin-commonjs@^11.0.2":
+ version "11.0.2"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.0.2.tgz#837cc6950752327cb90177b608f0928a4e60b582"
+ integrity sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g==
+ dependencies:
+ "@rollup/pluginutils" "^3.0.0"
+ estree-walker "^1.0.1"
+ is-reference "^1.1.2"
+ magic-string "^0.25.2"
+ resolve "^1.11.0"
+
+"@rollup/plugin-node-resolve@^7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.1.tgz#8c6e59c4b28baf9d223028d0e450e06a485bb2b7"
+ integrity sha512-14ddhD7TnemeHE97a4rLOhobfYvUVcaYuqTnL8Ti7Jxi9V9Jr5LY7Gko4HZ5k4h4vqQM0gBQt6tsp9xXW94WPA==
+ dependencies:
+ "@rollup/pluginutils" "^3.0.6"
+ "@types/resolve" "0.0.8"
+ builtin-modules "^3.1.0"
+ is-module "^1.0.0"
+ resolve "^1.14.2"
+
+"@rollup/plugin-replace@^2.3.1":
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.3.1.tgz#16fb0563628f9e6c6ef9e05d48d3608916d466f5"
+ integrity sha512-qDcXj2VOa5+j0iudjb+LiwZHvBRRgWbHPhRmo1qde2KItTjuxDVQO21rp9/jOlzKR5YO0EsgRQoyox7fnL7y/A==
+ dependencies:
+ "@rollup/pluginutils" "^3.0.4"
+ magic-string "^0.25.5"
+
+"@rollup/pluginutils@^3.0.0", "@rollup/pluginutils@^3.0.4", "@rollup/pluginutils@^3.0.6":
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.0.8.tgz#4e94d128d94b90699e517ef045422960d18c8fde"
+ integrity sha512-rYGeAc4sxcZ+kPG/Tw4/fwJODC3IXHYDH4qusdN/b6aLw5LPUbzpecYbEJh4sVQGPFJxd2dBU4kc1H3oy9/bnw==
+ dependencies:
+ estree-walker "^1.0.1"
+
"@sindresorhus/is@^0.14.0":
version "0.14.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
@@ -3687,6 +3724,11 @@
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
+"@types/estree@0.0.39":
+ version "0.0.39"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
+ integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+
"@types/events@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@@ -3857,6 +3899,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/sizzle@2.3.2":
version "2.3.2"
resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47"
@@ -6118,7 +6167,7 @@ builtin-modules@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
-builtin-modules@^3.0.0:
+builtin-modules@^3.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"
@@ -9474,6 +9523,16 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+estree-walker@^0.6.1:
+ version "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"
@@ -10423,7 +10482,7 @@ fsevents@^1.2.3, fsevents@^1.2.7:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
-fsevents@^2.1.2, fsevents@~2.1.1:
+fsevents@^2.1.2, fsevents@~2.1.1, fsevents@~2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
@@ -12676,6 +12735,11 @@ is-map@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1"
+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-npm@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
@@ -12792,6 +12856,13 @@ is-redirect@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+is-reference@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.4.tgz#3f95849886ddb70256a3e6d062b1a68c13c51427"
+ integrity sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==
+ dependencies:
+ "@types/estree" "0.0.39"
+
is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
@@ -15031,6 +15102,13 @@ magic-string@^0.25.1:
dependencies:
sourcemap-codec "^1.4.4"
+magic-string@^0.25.2, magic-string@^0.25.5:
+ version "0.25.7"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
+ integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
+ dependencies:
+ sourcemap-codec "^1.4.4"
+
make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
@@ -16039,6 +16117,29 @@ node-releases@^1.1.47:
dependencies:
semver "^6.3.0"
+node-sass@4:
+ version "4.13.1"
+ resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3"
+ integrity sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==
+ dependencies:
+ async-foreach "^0.1.3"
+ chalk "^1.1.1"
+ cross-spawn "^3.0.0"
+ gaze "^1.0.0"
+ get-stdin "^4.0.1"
+ glob "^7.0.3"
+ in-publish "^2.0.0"
+ lodash "^4.17.15"
+ meow "^3.7.0"
+ mkdirp "^0.5.1"
+ nan "^2.13.2"
+ node-gyp "^3.8.0"
+ npmlog "^4.0.0"
+ request "^2.88.0"
+ sass-graph "^2.2.4"
+ stdout-stream "^1.4.0"
+ "true-case-path" "^1.0.2"
+
node-sass@^4.12.0:
version "4.13.0"
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.0.tgz#b647288babdd6a1cb726de4545516b31f90da066"
@@ -19403,6 +19504,39 @@ roarr@^2.15.2:
semver-compare "^1.0.0"
sprintf-js "^1.1.2"
+rollup-plugin-scss@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-scss/-/rollup-plugin-scss-2.1.0.tgz#7aecb1750d8ab48c9eacd8fbd849ecb7d75e4b27"
+ integrity sha512-Caj1QU16dw8BYZ/q/4tTgeI42pI3xKHJJDy+LmPSStRMjM7F/0Uh/9gER5JicE2FTaWoz/RMi96xiOuDsd3/eg==
+ dependencies:
+ node-sass "4"
+ rollup-pluginutils "2"
+
+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, 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@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.2.0.tgz#d82cfd6eda6d9561593a7e8a2fc0b72811a89b49"
+ integrity sha512-iAu/j9/WJ0i+zT0sAMuQnsEbmOKzdQ4Yxu5rbPs9aUCyqveI1Kw3H4Fi9NWfCOpb8luEySD2lDyFWL9CrLE8iw==
+ optionalDependencies:
+ fsevents "~2.1.2"
+
root-check@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/root-check/-/root-check-1.0.0.tgz#c52a794bf0db9fad567536e41898f0c9e0a86697"
@@ -21056,6 +21190,15 @@ terser@^4.1.2:
source-map "~0.6.1"
source-map-support "~0.5.12"
+terser@^4.6.2:
+ version "4.6.7"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.7.tgz#478d7f9394ec1907f0e488c5f6a6a9a2bad55e72"
+ integrity sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.6.1"
+ source-map-support "~0.5.12"
+
test-exclude@^4.2.1:
version "4.2.3"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20"