From 7db2f8c1898d8a9b8570f88a59b858fac5af54f3 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 4 Aug 2019 23:21:08 +0300 Subject: [PATCH 1/3] Documentation improvements (#1229) * [docs] Show DateIOType instead of anys (#1228) * Show DateIOType instead of any in prop types tables * Update patrons list * Remove unused filter * Ovveride keyboard datepicker onChange date type * Update prop-types.json --- docs/layout/styleOverrides.ts | 9 ++ docs/pages/api/props.tsx | 5 + docs/pages/demo/datepicker/index.mdx | 2 +- docs/patrons.json | 30 ++++++ docs/prop-types.json | 92 +++++++++---------- docs/scripts/docgen.js | 65 +++++++------ lib/src/DatePicker/DatePicker.tsx | 2 +- .../_shared/hooks/useKeyboardPickerState.ts | 2 +- lib/src/typings/BasePicker.tsx | 8 +- lib/src/views/Calendar/Calendar.tsx | 12 +-- 10 files changed, 138 insertions(+), 89 deletions(-) diff --git a/docs/layout/styleOverrides.ts b/docs/layout/styleOverrides.ts index aa1f29362..a2c16a386 100644 --- a/docs/layout/styleOverrides.ts +++ b/docs/layout/styleOverrides.ts @@ -54,6 +54,15 @@ export const createOverrides = (theme: Theme): StyleRules => ({ wordWrap: 'normal', backgroundColor: theme.palette.background.paper + ' !important', }, + blockquote: { + marginLeft: 0, + paddingLeft: '1em', + borderLeft: `3px solid ${theme.palette.grey[200]}`, + + '& > p': { + fontSize: '0.9rem', + }, + }, 'h1, h2, h3, h4, h5': { position: 'relative', '& a.anchor-link': { diff --git a/docs/pages/api/props.tsx b/docs/pages/api/props.tsx index a258d389a..c7e99b0e2 100644 --- a/docs/pages/api/props.tsx +++ b/docs/pages/api/props.tsx @@ -58,6 +58,11 @@ const Docs: React.FC = ({ router }) => { component. + + DateIOType — date object type of your linked date-io adapter (Moment, DayJS, + etc.) + + {!internalComponents.includes(componentName) && ( diff --git a/docs/pages/demo/datepicker/index.mdx b/docs/pages/demo/datepicker/index.mdx index 7ca200996..9a7711fab 100644 --- a/docs/pages/demo/datepicker/index.mdx +++ b/docs/pages/demo/datepicker/index.mdx @@ -30,7 +30,7 @@ color and type weight. It is recommended to use keyboard input with mask for better desktop experience. Make sure that mask will be automatically generated from passed `format`. It's recommended to use only robust formats for keyboard input. -> Make sure that `onChange` have second parameter here. So if you will not do `onChange={date => handleDateChange(date)}` you will get error [useState hook dose not accept a second callback argument](https://github.com/facebook/react/issues/14174) +> Make sure that `onChange` have second parameter here. So if you will not do `onChange={date => handleDateChange(date)}` you will get console warning [useState hook dose not accept a second callback argument](https://github.com/facebook/react/issues/14174) diff --git a/docs/patrons.json b/docs/patrons.json index f5170bd97..ff9284550 100644 --- a/docs/patrons.json +++ b/docs/patrons.json @@ -149,6 +149,36 @@ "vanity": "P4ulBr4ndt", "youtube": null }, + { + "about": null, + "created": "2019-07-30T14:05:20.000+00:00", + "default_country_code": null, + "email": "felipepastorff@gmail.com", + "facebook": null, + "first_name": "Felipe", + "full_name": "Felipe Pastor de Freitas Ferreira", + "gender": 0, + "image_url": "https://c8.patreon.com/2/200/22732849", + "is_email_verified": true, + "last_name": "Pastor de Freitas Ferreira", + "social_connections": { + "deviantart": null, + "discord": null, + "facebook": null, + "instagram": null, + "reddit": null, + "spotify": null, + "twitch": null, + "twitter": null, + "youtube": null + }, + "thumb_url": "https://c8.patreon.com/2/200/22732849", + "twitch": null, + "twitter": null, + "url": "https://www.patreon.com/user?u=22732849", + "vanity": null, + "youtube": null + }, { "about": null, "created": "2018-08-02T01:46:34.000+00:00", diff --git a/docs/prop-types.json b/docs/prop-types.json index 0e3905ed1..07e00aad1 100644 --- a/docs/prop-types.json +++ b/docs/prop-types.json @@ -173,7 +173,7 @@ }, "required": true, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "autoOk": { @@ -227,7 +227,7 @@ }, "required": false, "type": { - "name": "(date: any, invalidLabel: string) => string" + "name": "(date: DateIOType, invalidLabel: string) => string" } }, "initialFocusedDate": { @@ -283,7 +283,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "onError": { @@ -296,7 +296,7 @@ }, "required": false, "type": { - "name": "(error: ReactNode, value: any) => void" + "name": "(error: ReactNode, value: DateIOType) => void" } }, "onOpen": { @@ -561,7 +561,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "leftArrowIcon": { @@ -600,7 +600,7 @@ }, "required": false, "type": { - "name": "(day: any, selectedDate: any, dayInCurrentMonth: boolean, dayComponent: Element) => Element" + "name": "(day: DateIOType, selectedDate: DateIOType, dayInCurrentMonth: boolean, dayComponent: Element) => Element" } }, "allowKeyboardControl": { @@ -654,7 +654,7 @@ }, "required": false, "type": { - "name": "(day: any) => boolean" + "name": "(day: DateIOType) => boolean" } }, "onMonthChange": { @@ -667,7 +667,7 @@ }, "required": false, "type": { - "name": "(date: any) => void | Promise" + "name": "(date: DateIOType) => void | Promise" } }, "loadingIndicator": { @@ -753,7 +753,7 @@ }, "required": true, "type": { - "name": "(date: any, value?: string | null) => void" + "name": "(date: DateIOType, value?: string | null) => void" } }, "open": { @@ -779,7 +779,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "format": { @@ -820,7 +820,7 @@ }, "required": false, "type": { - "name": "(error: ReactNode, value: any) => void" + "name": "(error: ReactNode, value: DateIOType) => void" } }, "value": { @@ -874,7 +874,7 @@ }, "required": false, "type": { - "name": "(date: any, invalidLabel: string) => string" + "name": "(date: DateIOType, invalidLabel: string) => string" } }, "initialFocusedDate": { @@ -1249,7 +1249,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "leftArrowIcon": { @@ -1288,7 +1288,7 @@ }, "required": false, "type": { - "name": "(day: any, selectedDate: any, dayInCurrentMonth: boolean, dayComponent: Element) => Element" + "name": "(day: DateIOType, selectedDate: DateIOType, dayInCurrentMonth: boolean, dayComponent: Element) => Element" } }, "allowKeyboardControl": { @@ -1342,7 +1342,7 @@ }, "required": false, "type": { - "name": "(day: any) => boolean" + "name": "(day: DateIOType) => boolean" } }, "onMonthChange": { @@ -1355,7 +1355,7 @@ }, "required": false, "type": { - "name": "(date: any) => void | Promise" + "name": "(date: DateIOType) => void | Promise" } }, "loadingIndicator": { @@ -1441,7 +1441,7 @@ }, "required": true, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "autoOk": { @@ -1495,7 +1495,7 @@ }, "required": false, "type": { - "name": "(date: any, invalidLabel: string) => string" + "name": "(date: DateIOType, invalidLabel: string) => string" } }, "initialFocusedDate": { @@ -1551,7 +1551,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "onError": { @@ -1564,7 +1564,7 @@ }, "required": false, "type": { - "name": "(error: ReactNode, value: any) => void" + "name": "(error: ReactNode, value: DateIOType) => void" } }, "onOpen": { @@ -1829,7 +1829,7 @@ }, "required": true, "type": { - "name": "(date: any, value?: string | null) => void" + "name": "(date: DateIOType, value?: string | null) => void" } }, "open": { @@ -1855,7 +1855,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "format": { @@ -1896,7 +1896,7 @@ }, "required": false, "type": { - "name": "(error: ReactNode, value: any) => void" + "name": "(error: ReactNode, value: DateIOType) => void" } }, "value": { @@ -1963,7 +1963,7 @@ }, "required": false, "type": { - "name": "(date: any, invalidLabel: string) => string" + "name": "(date: DateIOType, invalidLabel: string) => string" } }, "initialFocusedDate": { @@ -2325,7 +2325,7 @@ }, "required": true, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "autoOk": { @@ -2379,7 +2379,7 @@ }, "required": false, "type": { - "name": "(date: any, invalidLabel: string) => string" + "name": "(date: DateIOType, invalidLabel: string) => string" } }, "initialFocusedDate": { @@ -2435,7 +2435,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "onError": { @@ -2448,7 +2448,7 @@ }, "required": false, "type": { - "name": "(error: ReactNode, value: any) => void" + "name": "(error: ReactNode, value: DateIOType) => void" } }, "onOpen": { @@ -2782,7 +2782,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "leftArrowIcon": { @@ -2821,7 +2821,7 @@ }, "required": false, "type": { - "name": "(day: any, selectedDate: any, dayInCurrentMonth: boolean, dayComponent: Element) => Element" + "name": "(day: DateIOType, selectedDate: DateIOType, dayInCurrentMonth: boolean, dayComponent: Element) => Element" } }, "allowKeyboardControl": { @@ -2875,7 +2875,7 @@ }, "required": false, "type": { - "name": "(day: any) => boolean" + "name": "(day: DateIOType) => boolean" } }, "onMonthChange": { @@ -2888,7 +2888,7 @@ }, "required": false, "type": { - "name": "(date: any) => void | Promise" + "name": "(date: DateIOType) => void | Promise" } }, "loadingIndicator": { @@ -2974,7 +2974,7 @@ }, "required": true, "type": { - "name": "(date: any, value?: string | null) => void" + "name": "(date: DateIOType, value?: string | null) => void" } }, "open": { @@ -3000,7 +3000,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "format": { @@ -3041,7 +3041,7 @@ }, "required": false, "type": { - "name": "(error: ReactNode, value: any) => void" + "name": "(error: ReactNode, value: DateIOType) => void" } }, "value": { @@ -3108,7 +3108,7 @@ }, "required": false, "type": { - "name": "(date: any, invalidLabel: string) => string" + "name": "(date: DateIOType, invalidLabel: string) => string" } }, "initialFocusedDate": { @@ -3539,7 +3539,7 @@ }, "required": false, "type": { - "name": "(date: any) => void" + "name": "(date: DateIOType) => void" } }, "leftArrowIcon": { @@ -3578,7 +3578,7 @@ }, "required": false, "type": { - "name": "(day: any, selectedDate: any, dayInCurrentMonth: boolean, dayComponent: Element) => Element" + "name": "(day: DateIOType, selectedDate: DateIOType, dayInCurrentMonth: boolean, dayComponent: Element) => Element" } }, "allowKeyboardControl": { @@ -3632,7 +3632,7 @@ }, "required": false, "type": { - "name": "(day: any) => boolean" + "name": "(day: DateIOType) => boolean" } }, "onMonthChange": { @@ -3645,7 +3645,7 @@ }, "required": false, "type": { - "name": "(date: any) => void | Promise" + "name": "(date: DateIOType) => void | Promise" } }, "loadingIndicator": { @@ -3673,7 +3673,7 @@ }, "required": true, "type": { - "name": "any" + "name": "DateIOType" } }, "onChange": { @@ -3699,7 +3699,7 @@ }, "required": false, "type": { - "name": "any" + "name": "DateIOType" } }, "maxDate": { @@ -3712,7 +3712,7 @@ }, "required": false, "type": { - "name": "any" + "name": "DateIOType" } }, "disablePast": { @@ -3781,7 +3781,7 @@ }, "required": false, "type": { - "name": "(day: any, selectedDate: any, dayInCurrentMonth: boolean, dayComponent: Element) => Element" + "name": "(day: DateIOType, selectedDate: DateIOType, dayInCurrentMonth: boolean, dayComponent: Element) => Element" } }, "allowKeyboardControl": { @@ -3835,7 +3835,7 @@ }, "required": false, "type": { - "name": "(day: any) => boolean" + "name": "(day: DateIOType) => boolean" } }, "onMonthChange": { @@ -3848,7 +3848,7 @@ }, "required": false, "type": { - "name": "(date: any) => void | Promise" + "name": "(date: DateIOType) => void | Promise" } }, "loadingIndicator": { diff --git a/docs/scripts/docgen.js b/docs/scripts/docgen.js index 92bc66d40..b53188651 100644 --- a/docs/scripts/docgen.js +++ b/docs/scripts/docgen.js @@ -1,12 +1,21 @@ const fs = require('fs'); const path = require('path'); + +const removeExternalDeps = propItem => + propItem.description && (!propItem.parent || !propItem.parent.fileName.includes('@types')); + +const removeWrapperProps = (propItem, Component) => { + return ( + Component.name === 'ModalWrapper' || + (propItem.parent && propItem.parent.name !== 'ModalWrapperProps') + ); +}; + const parser = require('react-docgen-typescript').withCustomConfig( path.resolve(__dirname, '..', '..', 'lib', 'tsconfig.json'), { - propFilter: { - skipPropsWithoutDoc: true, - skipPropsWithName: [], - }, + // @ts-ignore + propFilter: (...args) => removeExternalDeps(...args) && removeWrapperProps(...args), } ); @@ -14,7 +23,6 @@ const doc = {}; const srcPath = path.resolve(__dirname, '..', '..', 'lib', 'src'); const components = [ - // wrappers must be on top to correctly filter 'wrappers/ModalWrapper.tsx', 'DatePicker/DatePicker.tsx', 'DatePicker/KeyboardDatePicker.tsx', @@ -29,18 +37,26 @@ const components = [ const customTypePattern = '\n@type {'; const arrowFunctionRegex = /\((\((.*)=>(.*))\)/; +function overrideTypeNameWithCustom(description, prop) { + const startOfCustomType = description.indexOf(customTypePattern) + customTypePattern.length; + const enfOfCustomType = description.indexOf('}', startOfCustomType); + const customType = description.substr(startOfCustomType, enfOfCustomType - startOfCustomType); + + prop.type.name = customType; + prop.description = description.slice(0, description.indexOf(customTypePattern)); +} + function processProp(prop) { const { description } = prop; + if (description.includes('@DateIOType')) { + prop.type.name = prop.type.name.replace(/any/g, 'DateIOType'); + prop.description = description.replace(' @DateIOType', ''); + } + // override type with a custom name if needed if (description.includes(customTypePattern)) { - const startOfCustomType = description.indexOf(customTypePattern) + customTypePattern.length; - const enfOfCustomType = description.indexOf('}', startOfCustomType); - - const customType = description.substr(startOfCustomType, enfOfCustomType - startOfCustomType); - - prop.type.name = customType; - prop.description = description.slice(0, description.indexOf(customTypePattern)); + overrideTypeNameWithCustom(description, prop); } // replace additional () injected outside of arrow functions @@ -53,17 +69,6 @@ function processProp(prop) { prop.type.name = prop.type.name.replace(' | undefined', ''); } -const removeExternalDeps = ([_, value]) => - value.description && (!value.parent || !value.parent.fileName.includes('@types')); - -const removeWrapperProps = name => ([_, value]) => { - if (name !== 'ModalWrapper') { - return !Object.keys(doc['ModalWrapper']).includes(value.name); - } - - return true; -}; - components.forEach(filePart => { const file = path.join(srcPath, filePart); const parsedDocs = parser.parse(file); @@ -73,15 +78,15 @@ components.forEach(filePart => { return; } - doc[parsedDoc.displayName] = Object.entries(parsedDoc.props) - .filter(removeExternalDeps) - .filter(removeWrapperProps(parsedDoc.displayName)) - .reduce((obj, [key, value]) => { - processProp(value); + doc[parsedDoc.displayName] = Object.entries(parsedDoc.props).reduce( + (obj, [key, propTypeObj]) => { + processProp(propTypeObj); - obj[key] = value; + obj[key] = propTypeObj; return obj; - }, {}); + }, + {} + ); }); }); diff --git a/lib/src/DatePicker/DatePicker.tsx b/lib/src/DatePicker/DatePicker.tsx index acc5613c0..d01f04204 100644 --- a/lib/src/DatePicker/DatePicker.tsx +++ b/lib/src/DatePicker/DatePicker.tsx @@ -42,7 +42,7 @@ export interface BaseDatePickerProps extends OutterCalendarProps { * @default false */ animateYearScrolling?: boolean; - /** Callback firing on year change */ + /** Callback firing on year change @DateIOType */ onYearChange?: (date: MaterialUiPickersDate) => void; } diff --git a/lib/src/_shared/hooks/useKeyboardPickerState.ts b/lib/src/_shared/hooks/useKeyboardPickerState.ts index 72a34071e..689f1c2c1 100644 --- a/lib/src/_shared/hooks/useKeyboardPickerState.ts +++ b/lib/src/_shared/hooks/useKeyboardPickerState.ts @@ -10,7 +10,7 @@ import { StateHookOptions, usePickerState } from './usePickerState'; export interface BaseKeyboardPickerProps extends Omit { /** String value for controlling value with pure input string. Overrides value prop */ inputValue?: string; - /** Keyboard onChange callback */ + /** Keyboard onChange callback @DateIOType */ onChange: (date: MaterialUiPickersDate | null, value?: string | null) => void; } diff --git a/lib/src/typings/BasePicker.tsx b/lib/src/typings/BasePicker.tsx index e0612ee0a..c31be6eac 100644 --- a/lib/src/typings/BasePicker.tsx +++ b/lib/src/typings/BasePicker.tsx @@ -6,7 +6,7 @@ import { ToolbarComponentProps } from '../Picker/Picker'; export interface BasePickerProps { /** Picker value */ value: ParsableDate; - /** onChange callback */ + /** onChange callback @DateIOType */ onChange: (date: MaterialUiPickersDate) => void; /** * Auto accept date on selection @@ -17,7 +17,7 @@ export interface BasePickerProps { format?: string; /** Disable datepicker and text field */ disabled?: boolean; - /** Dynamic formatter of text field value */ + /** Dynamic formatter of text field value @DateIOType */ labelFunc?: (date: MaterialUiPickersDate, invalidLabel: string) => string; /** Date that will be initially highlighted if null was passed */ initialFocusedDate?: ParsableDate; @@ -31,9 +31,9 @@ export interface BasePickerProps { * @default ' ' */ emptyLabel?: string; - /** Callback fired when date is accepted */ + /** Callback fired when date is accepted @DateIOType */ onAccept?: (date: MaterialUiPickersDate) => void; - /** Callback fired when new error should be displayed */ + /** Callback fired when new error should be displayed @DateIOType */ onError?: (error: React.ReactNode, value: MaterialUiPickersDate | ParsableDate) => void; /** On open callback */ onOpen?: () => void; diff --git a/lib/src/views/Calendar/Calendar.tsx b/lib/src/views/Calendar/Calendar.tsx index 7da7ddb3e..4bed1505c 100644 --- a/lib/src/views/Calendar/Calendar.tsx +++ b/lib/src/views/Calendar/Calendar.tsx @@ -18,7 +18,7 @@ export interface OutterCalendarProps { leftArrowIcon?: React.ReactNode; /** Right arrow icon */ rightArrowIcon?: React.ReactNode; - /** Custom renderer for day */ + /** Custom renderer for day @DateIOType */ renderDay?: ( day: MaterialUiPickersDate, selectedDate: MaterialUiPickersDate, @@ -40,9 +40,9 @@ export interface OutterCalendarProps { * @type {Partial} */ rightArrowButtonProps?: Partial; - /** Disable specific date */ + /** Disable specific date @DateIOType */ shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; - /** Callback firing on month change. Return promise to render spinner till it will not be resolved */ + /** Callback firing on month change. Return promise to render spinner till it will not be resolved @DateIOType */ onMonthChange?: (date: MaterialUiPickersDate) => void | Promise; /** Custom loading indicator */ loadingIndicator?: JSX.Element; @@ -52,13 +52,13 @@ export interface CalendarProps extends OutterCalendarProps, WithUtilsProps, WithStyles { - /** Calendar Date */ + /** Calendar Date @DateIOType */ date: MaterialUiPickersDate; /** Calendar onChange */ onChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void; - /** Min date */ + /** Min date @DateIOType */ minDate?: MaterialUiPickersDate; - /** Max date */ + /** Max date @DateIOType */ maxDate?: MaterialUiPickersDate; /** Disable past dates */ disablePast?: boolean; From 9b9b848841e7e246330a4a4225c261b6a371ecbb Mon Sep 17 00:00:00 2001 From: austinbutler Date: Thu, 15 Aug 2019 23:53:45 -0700 Subject: [PATCH 2/3] Clarify TypeScript instructions for CSS overrides (#1257) * Fix MuiPickersOverrides import in CSS guide * Make instructions a little more dummy proof --- docs/pages/guides/css-overrides.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/pages/guides/css-overrides.mdx b/docs/pages/guides/css-overrides.mdx index 01b34320e..8527c1573 100644 --- a/docs/pages/guides/css-overrides.mdx +++ b/docs/pages/guides/css-overrides.mdx @@ -41,7 +41,9 @@ Pickers will also leverage `spacing` from the material-ui's theme #### Typescript For TypeScript users it's also required to extend default material-ui theme typings with pickers controls. -(This will also autocomplete classnames) +This will also autocomplete classnames. + +Add the following to a TypeScript declaration file in your project, such as `overrides-mui.d.ts`: ```typescript import { Overrides } from "@material-ui/core/styles/overrides"; From ad6314b12f41ee19c1d1b7ef19e6a52c9309792b Mon Sep 17 00:00:00 2001 From: Bogdan Chadkin Date: Fri, 13 Sep 2019 09:30:15 +0300 Subject: [PATCH 3/3] Tidyup build config (#1309) * Tidyup build config - upgraded babel - upgraded rollup - fixed material-ui globals - replaced babel cli with rollup config with many entries - auto resolve named exports - skip non existent export warning - import correct (esm/cjs) babel helpers - error when material-ui global is not provided Here's generated build/esm/. Treeshaking should work fine. ``` Calendar-b9ae6101.js Calendar.js Clock-3486e4fb.js Clock.js ClockView.js DatePicker.js DateTimePicker.js Day.js Picker-429246aa.js Picker.js TimePicker.js TimePickerToolbar-e568e280.js Wrapper-12538b96.js index.js makePickerWithState-8a1dec7e.js useUtils-7fbeb79a.js ``` * Remove object-rest-spread --- lib/.size-snapshot.json | 24 +-- lib/babel.config.js | 6 - lib/package.json | 27 ++- lib/rollup.config.js | 84 ++++++--- yarn.lock | 385 ++++++++++++++++++++++++---------------- 5 files changed, 314 insertions(+), 212 deletions(-) diff --git a/lib/.size-snapshot.json b/lib/.size-snapshot.json index f52ac4bc2..cec433e9e 100644 --- a/lib/.size-snapshot.json +++ b/lib/.size-snapshot.json @@ -1,26 +1,26 @@ { "build/dist/material-ui-pickers.esm.js": { - "bundled": 103383, - "minified": 57000, - "gzipped": 15355, + "bundled": 97826, + "minified": 54733, + "gzipped": 15237, "treeshaked": { "rollup": { - "code": 46086, - "import_statements": 1795 + "code": 43817, + "import_statements": 1794 }, "webpack": { - "code": 52521 + "code": 50069 } } }, "build/dist/material-ui-pickers.umd.js": { - "bundled": 1072952, - "minified": 365394, - "gzipped": 100763 + "bundled": 205895, + "minified": 78743, + "gzipped": 23429 }, "build/dist/material-ui-pickers.umd.min.js": { - "bundled": 837988, - "minified": 310015, - "gzipped": 86788 + "bundled": 160063, + "minified": 67220, + "gzipped": 20255 } } diff --git a/lib/babel.config.js b/lib/babel.config.js index fba93e564..2c18bab25 100644 --- a/lib/babel.config.js +++ b/lib/babel.config.js @@ -7,15 +7,9 @@ module.exports = { plugins: [ 'optimize-clsx', ['@babel/plugin-proposal-class-properties', { loose: true }], - ['@babel/plugin-proposal-object-rest-spread', { loose: true }], ['@babel/plugin-transform-runtime'], // for IE 11 support '@babel/plugin-transform-object-assign', './remove-prop-types.js', ], - env: { - esm: { - plugins: [['@babel/plugin-transform-runtime', { useESModules: true }]], - }, - }, }; diff --git a/lib/package.json b/lib/package.json index bbfeed47a..f55fce236 100644 --- a/lib/package.json +++ b/lib/package.json @@ -39,7 +39,7 @@ "react-dom": "^16.8.4" }, "dependencies": { - "@babel/runtime": "^7.2.0", + "@babel/runtime": "^7.6.0", "@types/styled-jsx": "^2.2.8", "clsx": "^1.0.2", "react-transition-group": "^4.0.0", @@ -62,21 +62,18 @@ "build:copy": "node copy.js", "build:bundle": "rollup --config", "build:typescript": "tsc --project tsconfig.json", - "build:babel": "cross-env BABEL_ENV=esm babel ./src --extensions '.ts,.tsx' --out-dir ./build/esm", - "build": "npm run build:typescript && npm run build:bundle && npm run build:copy && npm run build:babel", + "build": "npm run build:typescript && npm run build:bundle && npm run build:copy", "build:analyze": "npm run build", "release": "yarn test && yarn version && yarn build && yarn publish --non-interactive build", "publish": "npm publish build" }, "devDependencies": { - "@babel/cli": "^7.5.5", - "@babel/core": "^7.5.5", - "@babel/node": "^7.5.5", + "@babel/core": "^7.6.0", + "@babel/node": "^7.6.1", "@babel/plugin-proposal-class-properties": "^7.5.5", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", "@babel/plugin-transform-object-assign": "^7.2.0", - "@babel/plugin-transform-runtime": "~7.5.5", - "@babel/preset-env": "^7.5.5", + "@babel/plugin-transform-runtime": "~7.6.0", + "@babel/preset-env": "^7.6.0", "@babel/preset-react": "^7.0.0", "@date-io/core": "^1.2.0", "@date-io/date-fns": "^1.3.0", @@ -112,12 +109,12 @@ "prop-types": "^15.6.2", "react": "^16.8.6", "react-dom": "^16.8.6", - "rollup": "^1.1.2", - "rollup-plugin-babel": "^4.3.2", - "rollup-plugin-commonjs": "^9.2.0", - "rollup-plugin-node-resolve": "^4.0.1", - "rollup-plugin-size-snapshot": "^0.8.0", - "rollup-plugin-terser": "^4.0.4", + "rollup": "^1.21.2", + "rollup-plugin-babel": "^4.3.3", + "rollup-plugin-commonjs": "^10.1.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-size-snapshot": "^0.10.0", + "rollup-plugin-terser": "^5.1.1", "rollup-plugin-typescript": "^1.0.0", "size-limit": "^0.21.1", "ts-jest": "^24.0.1", diff --git a/lib/rollup.config.js b/lib/rollup.config.js index c1034eeb4..eb394e0f6 100644 --- a/lib/rollup.config.js +++ b/lib/rollup.config.js @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ import path from 'path'; // @ts-ignore import pkg from './package.json'; @@ -9,66 +8,101 @@ import nodeResolve from 'rollup-plugin-node-resolve'; import { terser } from 'rollup-plugin-terser'; import { sizeSnapshot } from 'rollup-plugin-size-snapshot'; +// named exports detectors +import propTypes from 'prop-types'; +import reactIs from 'react-is'; + // treat as externals not relative and not absolute paths -const external = id => !id.startsWith('.') && !id.startsWith('/'); +const external = id => !id.startsWith('.') && !path.isAbsolute(id); const input = './src/index.ts'; const globals = { react: 'React', 'react-dom': 'ReactDOM', - 'prop-types': 'PropTypes', + '@material-ui/core/Button': 'material-ui.Button', '@material-ui/core/Icon': 'material-ui.Icon', - '@material-ui/core/Button/': 'material-ui/Button.', '@material-ui/core/IconButton': 'material-ui.IconButton', '@material-ui/core/InputAdornment': 'material-ui.InputAdornment', '@material-ui/core/TextField': 'material-ui.TextField', - '@material-ui/core/Button': 'material-ui.Button', '@material-ui/core/Dialog': 'material-ui.Dialog', '@material-ui/core/DialogActions': 'material-ui.DialogActions', '@material-ui/core/DialogContent': 'material-ui.DialogContent', - '@material-ui/styles/withStyles': 'material-ui.withStyles', - '@material-ui/styles/createStyles': 'material-ui.createStyles', '@material-ui/core/Toolbar': 'material-ui.Toolbar', '@material-ui/core/Typography': 'material-ui.Typography', '@material-ui/core/Popover': 'material-ui.Popover', '@material-ui/core/Paper': 'material-ui.Paper', - '@material-ui/styles/withTheme': 'material-ui.withTheme', '@material-ui/core/Tab': 'material-ui.Tab', '@material-ui/core/Tabs': 'material-ui.Tabs', - '@material-ui/styles': 'material-ui.styles', '@material-ui/core/SvgIcon': 'material-ui.SvgIcon', - '@material-ui/core/styles/colorManipulator': 'material-ui.styles.colorManipulator', + '@material-ui/core/CircularProgress': 'material-ui.CircularProgress', + '@material-ui/core/Grid': 'material-ui.Grid', + '@material-ui/core/styles': 'material-ui', }; -const extensions = ['.ts', '.tsx']; +const extensions = ['.ts', '.tsx', '.js']; -const babelOptions = { +const getBabelOptions = ({ useESModules }) => ({ + exclude: /node_modules/, runtimeHelpers: true, extensions, -}; + plugins: [['@babel/plugin-transform-runtime', { useESModules }]], +}); const commonjsOptions = { include: /node_modules/, namedExports: { - 'react-is': ['ForwardRef'], + 'prop-types': Object.keys(propTypes), + 'react-is': Object.keys(reactIs), }, }; +const onwarn = warning => { + // ignore imported types + if (warning.code === 'NON_EXISTENT_EXPORT') { + return; + } + throw Error(String(warning)); +}; + export default [ { input, external, + onwarn, output: { file: 'build/dist/material-ui-pickers.js', format: 'cjs', sourcemap: true, }, - plugins: [nodeResolve({ extensions }), babel(babelOptions)], + plugins: [nodeResolve({ extensions }), babel(getBabelOptions({ useESModules: false }))], + }, + + { + input: { + index: './src/index', + DatePicker: './src/DatePicker', + TimePicker: './src/TimePicker', + DateTimePicker: './src/DateTimePicker', + Calendar: './src/views/Calendar/Calendar', + Day: './src/views/Calendar/Day', + ClockView: './src/views/Clock/ClockView', + Clock: './src/views/Clock/Clock', + Picker: './src/Picker/Picker', + }, + external, + onwarn, + output: { + dir: 'build/esm', + format: 'esm', + sourcemap: true, + }, + plugins: [nodeResolve({ extensions }), babel(getBabelOptions({ useESModules: true }))], }, { input, external, + onwarn, output: { file: 'build/dist/material-ui-pickers.esm.js', format: 'esm', @@ -76,11 +110,7 @@ export default [ }, plugins: [ nodeResolve({ extensions }), - babel(babelOptions), - replace({ - delimiters: ['', ''], - values: { '/** @class */': '/*@__PURE__*/' }, - }), + babel(getBabelOptions({ useESModules: true })), sizeSnapshot(), ], }, @@ -88,25 +118,33 @@ export default [ { input, external: Object.keys(globals), + onwarn, output: { globals, format: 'umd', name: pkg.name, file: 'build/dist/material-ui-pickers.umd.js', }, - plugins: [ nodeResolve({ extensions }), - babel(babelOptions), + babel(getBabelOptions({ useESModules: true })), commonjs(commonjsOptions), replace({ 'process.env.NODE_ENV': JSON.stringify('development') }), sizeSnapshot(), + { + transform(code, id) { + if (id.includes('@material-ui/core')) { + throw Error('add @material-ui/core imports to globals'); + } + }, + }, ], }, { input, external: Object.keys(globals), + onwarn, output: { globals, format: 'umd', @@ -115,7 +153,7 @@ export default [ }, plugins: [ nodeResolve({ extensions }), - babel(babelOptions), + babel(getBabelOptions({ useESModules: true })), commonjs(commonjsOptions), replace({ 'process.env.NODE_ENV': JSON.stringify('production') }), sizeSnapshot(), diff --git a/yarn.lock b/yarn.lock index 50b3fbe92..19ced2faa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,23 +2,6 @@ # yarn lockfile v1 -"@babel/cli@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.5.5.tgz#bdb6d9169e93e241a08f5f7b0265195bf38ef5ec" - integrity sha512-UHI+7pHv/tk9g6WXQKYz+kmXTI77YtuY3vqC59KIqcoWEjsJJSG6rAxKaLsgj3LDyadsPrCB929gVOKM6Hui0w== - dependencies: - commander "^2.8.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.1.0" - glob "^7.0.0" - lodash "^4.17.13" - mkdirp "^0.5.1" - output-file-sync "^2.0.0" - slash "^2.0.0" - source-map "^0.5.0" - optionalDependencies: - chokidar "^2.0.4" - "@babel/code-frame@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" @@ -73,18 +56,18 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== +"@babel/core@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.0.tgz#9b00f73554edd67bebc86df8303ef678be3d7b48" + integrity sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" + "@babel/generator" "^7.6.0" + "@babel/helpers" "^7.6.0" + "@babel/parser" "^7.6.0" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.0" + "@babel/types" "^7.6.0" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" @@ -126,6 +109,17 @@ source-map "^0.5.0" trim-right "^1.0.1" +"@babel/generator@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.0.tgz#e2c21efbfd3293ad819a2359b448f002bfdfda56" + integrity sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA== + dependencies: + "@babel/types" "^7.6.0" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + trim-right "^1.0.1" + "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" @@ -406,14 +400,14 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== +"@babel/helpers@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.0.tgz#21961d16c6a3c3ab597325c34c465c0887d31c6e" + integrity sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ== dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.0" + "@babel/types" "^7.6.0" "@babel/highlight@^7.0.0": version "7.0.0" @@ -424,13 +418,13 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/node@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.5.5.tgz#5db48a3bcee64d9eda6474f2a0a55b235d0438b5" - integrity sha512-xsW6il+yY+lzXMsQuvIJNA7tU8ix/f4G6bDt4DrnCkVpsR6clk9XgEbp7QF+xGNDdoD7M7QYokCH83pm+UjD0w== +"@babel/node@^7.6.1": + version "7.6.1" + resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.6.1.tgz#84f8f4f1d86647d99537a681f32e65e70bb59f19" + integrity sha512-q2sJw+7aES/5wwjccECJfOuIgM1XIbZcn7b63JZM6VpaZwvOq913jL+tXRIn41Eg/Hr+BeIGWnvnjLTuT579pA== dependencies: - "@babel/polyfill" "^7.0.0" - "@babel/register" "^7.5.5" + "@babel/polyfill" "^7.6.0" + "@babel/register" "^7.6.0" commander "^2.8.1" lodash "^4.17.13" node-environment-flags "^1.0.5" @@ -451,6 +445,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== +"@babel/parser@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.0.tgz#3e05d0647432a8326cb28d0de03895ae5a57f39b" + integrity sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ== + "@babel/plugin-proposal-async-generator-functions@^7.1.0", "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" @@ -674,10 +673,10 @@ "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.11" -"@babel/plugin-transform-block-scoping@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" - integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== +"@babel/plugin-transform-block-scoping@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz#c49e21228c4bbd4068a35667e6d951c75439b1dc" + integrity sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" @@ -745,10 +744,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" - integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== +"@babel/plugin-transform-destructuring@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6" + integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -880,10 +879,10 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" -"@babel/plugin-transform-modules-commonjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" - integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== +"@babel/plugin-transform-modules-commonjs@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz#39dfe957de4420445f1fcf88b68a2e4aa4515486" + integrity sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g== dependencies: "@babel/helper-module-transforms" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" @@ -930,6 +929,13 @@ dependencies: regexp-tree "^0.1.6" +"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz#1e6e663097813bb4f53d42df0750cf28ad3bb3f1" + integrity sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew== + dependencies: + regexp-tree "^0.1.13" + "@babel/plugin-transform-new-target@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz#67658a1d944edb53c8d4fa3004473a0dd7838150" @@ -1055,10 +1061,10 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-runtime@~7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz#a6331afbfc59189d2135b2e09474457a8e3d28bc" - integrity sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w== +"@babel/plugin-transform-runtime@~7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz#85a3cce402b28586138e368fce20ab3019b9713e" + integrity sha512-Da8tMf7uClzwUm/pnJ1S93m/aRXmoYNDD7TkHua8xBDdaAs54uZpTWvEt6NGwmoVMb9mZbntfTqmG2oSzN/7Vg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -1136,10 +1142,10 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" -"@babel/polyfill@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.4.4.tgz#78801cf3dbe657844eeabf31c1cae3828051e893" - integrity sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg== +"@babel/polyfill@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.6.0.tgz#6d89203f8b6cd323e8d946e47774ea35dc0619cc" + integrity sha512-q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw== dependencies: core-js "^2.6.5" regenerator-runtime "^0.13.2" @@ -1245,10 +1251,10 @@ js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-env@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" - integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== +"@babel/preset-env@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.0.tgz#aae4141c506100bb2bfaa4ac2a5c12b395619e50" + integrity sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -1266,10 +1272,10 @@ "@babel/plugin-transform-arrow-functions" "^7.2.0" "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.5.5" + "@babel/plugin-transform-block-scoping" "^7.6.0" "@babel/plugin-transform-classes" "^7.5.5" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.5.0" + "@babel/plugin-transform-destructuring" "^7.6.0" "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/plugin-transform-duplicate-keys" "^7.5.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" @@ -1278,10 +1284,10 @@ "@babel/plugin-transform-literals" "^7.2.0" "@babel/plugin-transform-member-expression-literals" "^7.2.0" "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.5.0" + "@babel/plugin-transform-modules-commonjs" "^7.6.0" "@babel/plugin-transform-modules-systemjs" "^7.5.0" "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.0" "@babel/plugin-transform-new-target" "^7.4.4" "@babel/plugin-transform-object-super" "^7.5.5" "@babel/plugin-transform-parameters" "^7.4.4" @@ -1294,7 +1300,7 @@ "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.5.5" + "@babel/types" "^7.6.0" browserslist "^4.6.0" core-js-compat "^3.1.1" invariant "^2.2.2" @@ -1320,12 +1326,11 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.3.2" -"@babel/register@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.5.5.tgz#40fe0d474c8c8587b28d6ae18a03eddad3dac3c1" - integrity sha512-pdd5nNR+g2qDkXZlW1yRCWFlNrAn2PPdnZUB72zjX4l1Vv4fMRRLwyf+n/idFCLI1UgVGboUU8oVziwTBiyNKQ== +"@babel/register@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.6.0.tgz#76b6f466714680f4becafd45beeb2a7b87431abf" + integrity sha512-78BomdN8el+x/nkup9KwtjJXuptW5oXMFmP11WoM2VJBjxrKv4grC3qjpLL8RGGUYUGsm57xnjYFM2uom+jWUQ== dependencies: - core-js "^3.0.0" find-cache-dir "^2.0.0" lodash "^4.17.13" mkdirp "^0.5.1" @@ -1368,6 +1373,13 @@ dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz#4fc1d642a9fd0299754e8b5de62c631cf5568205" + integrity sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" @@ -1386,6 +1398,15 @@ "@babel/parser" "^7.4.0" "@babel/types" "^7.4.0" +"@babel/template@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" + integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.0" + "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.5.tgz#4e92d1728fd2f1897dafdd321efbff92156c3216" @@ -1431,6 +1452,21 @@ globals "^11.1.0" lodash "^4.17.13" +"@babel/traverse@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.0.tgz#389391d510f79be7ce2ddd6717be66d3fed4b516" + integrity sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.0" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.0" + 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.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0" @@ -1458,6 +1494,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.6.0": + version "7.6.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" + integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -2211,11 +2256,16 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@^12.0.3": +"@types/node@*": version "12.0.7" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.7.tgz#4f2563bad652b2acb1722d7e7aae2b0ff62d192c" integrity sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A== +"@types/node@^12.7.4": + version "12.7.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.5.tgz#e19436e7f8e9b4601005d73673b6dc4784ffcc2f" + integrity sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w== + "@types/prettier@^1.16.0": version "1.16.4" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.16.4.tgz#5e5e97702cb68498aaba7349b941648daaf2385c" @@ -2813,11 +2863,16 @@ acorn@^5.3.0, acorn@^5.5.3, acorn@^5.7.3: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.1, acorn@^6.0.5, acorn@^6.0.7, acorn@^6.1.1: +acorn@^6.0.1, acorn@^6.0.5, acorn@^6.0.7: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== +acorn@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" + integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ== + agent-base@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -3912,25 +3967,6 @@ chokidar@^2.0.2: optionalDependencies: fsevents "^1.2.7" -chokidar@^2.0.4: - version "2.1.6" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" - integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - chownr@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" @@ -4195,7 +4231,7 @@ commander@^2.13.0, commander@^2.14.1, commander@^2.18.0, commander@^2.9.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== -commander@^2.19.0, commander@^2.8.1, commander@~2.20.0: +commander@^2.19.0, commander@^2.20.0, commander@^2.8.1, commander@~2.20.0: version "2.20.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== @@ -4357,11 +4393,6 @@ core-js@^2.6.5: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== -core-js@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07" - integrity sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ== - core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -5474,6 +5505,11 @@ estree-walker@^0.6.0: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.0.tgz#5d865327c44a618dde5699f763891ae31f257dae" integrity sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw== +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== + esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -6022,11 +6058,6 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.2.1" -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -6164,7 +6195,7 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -7102,6 +7133,13 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= +is-reference@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.3.tgz#e99059204b66fdbe09305cfca715a29caa5c8a51" + integrity sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw== + 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" @@ -7643,7 +7681,7 @@ jest-watcher@^24.8.0: jest-util "^24.8.0" string-length "^2.0.0" -jest-worker@^24.0.0, jest-worker@^24.6.0: +jest-worker@^24.6.0: version "24.6.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== @@ -9417,15 +9455,6 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -output-file-sync@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0" - integrity sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ== - dependencies: - graceful-fs "^4.1.11" - is-plain-obj "^1.1.0" - mkdirp "^0.5.1" - p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -10813,6 +10842,11 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexp-tree@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.13.tgz#5b19ab9377edc68bc3679256840bb29afc158d7f" + integrity sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw== + regexp-tree@^0.1.6: version "0.1.10" resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc" @@ -11069,6 +11103,13 @@ resolve@^1.10.1: dependencies: path-parse "^1.0.6" +resolve@^1.11.0, resolve@^1.11.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" + resolve@^1.3.2: version "1.11.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" @@ -11134,33 +11175,35 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rollup-plugin-babel@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.3.2.tgz#8c0e1bd7aa9826e90769cf76895007098ffd1413" - integrity sha512-KfnizE258L/4enADKX61ozfwGHoqYauvoofghFJBhFnpH9Sb9dNPpWg8QHOaAfVASUYV8w0mCx430i9z0LJoJg== +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== dependencies: "@babel/helper-module-imports" "^7.0.0" - rollup-pluginutils "^2.3.0" + rollup-pluginutils "^2.8.1" -rollup-plugin-commonjs@^9.2.0: - version "9.3.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.3.4.tgz#2b3dddbbbded83d45c36ff101cdd29e924fd23bc" - integrity sha512-DTZOvRoiVIHHLFBCL4pFxOaJt8pagxsVldEXBOn6wl3/V21wVaj17HFfyzTsQUuou3sZL3lEJZVWKPFblJfI6w== +rollup-plugin-commonjs@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz#417af3b54503878e084d127adf4d1caf8beb86fb" + integrity sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q== dependencies: - estree-walker "^0.6.0" + estree-walker "^0.6.1" + is-reference "^1.1.2" magic-string "^0.25.2" - resolve "^1.10.0" - rollup-pluginutils "^2.6.0" + resolve "^1.11.0" + rollup-pluginutils "^2.8.1" -rollup-plugin-node-resolve@^4.0.1: - version "4.2.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.2.4.tgz#7d370f8d6fd3031006a0032c38262dd9be3c6250" - integrity sha512-t/64I6l7fZ9BxqD3XlX4ZeO6+5RLKyfpwE2CiPNUKa+GocPlQhf/C208ou8y3AwtNsc6bjSk/8/6y/YAyxCIvw== +rollup-plugin-node-resolve@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523" + integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== dependencies: "@types/resolve" "0.0.8" builtin-modules "^3.1.0" is-module "^1.0.0" - resolve "^1.10.0" + resolve "^1.11.1" + rollup-pluginutils "^2.8.1" rollup-plugin-replace@^2.1.0: version "2.1.0" @@ -11171,10 +11214,10 @@ rollup-plugin-replace@^2.1.0: minimatch "^3.0.2" rollup-pluginutils "^2.0.1" -rollup-plugin-size-snapshot@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-size-snapshot/-/rollup-plugin-size-snapshot-0.8.0.tgz#cb094a8e146a969d620335c4f126da8563a1f35c" - integrity sha512-Hb1u15UY5diVjpY2hItjhBjtAQv3O5s24FpyGMLlsxztxqT3mTwz1ArWI0YNxZMUGa1YTr9lrf11YQXC/BeVQQ== +rollup-plugin-size-snapshot@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-size-snapshot/-/rollup-plugin-size-snapshot-0.10.0.tgz#60bfc6256723f5e48ab3a8f2aa0a0f7eb22f8905" + integrity sha512-vUTC/SesQ5udvO8+xpzhDcq7oCgTgmrqqxJpWMWsXMWbv9CCB7W+MrR5dLxQLqbJ5NL9JflyelRU/XVhKUJzlg== dependencies: acorn "^6.0.5" bytes "^3.0.0" @@ -11183,18 +11226,19 @@ rollup-plugin-size-snapshot@^0.8.0: jest-diff "^23.6.0" memory-fs "^0.4.1" rollup-plugin-replace "^2.1.0" - terser "^3.14.1" + terser "^4.1.2" webpack "^4.28.4" -rollup-plugin-terser@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz#6f661ef284fa7c27963d242601691dc3d23f994e" - integrity sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg== +rollup-plugin-terser@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.1.1.tgz#e9d2545ec8d467f96ba99b9216d2285aad8d5b66" + integrity sha512-McIMCDEY8EU6Y839C09UopeRR56wXHGdvKKjlfiZG/GrP6wvZQ62u2ko/Xh1MNH2M9WDL+obAAHySljIZYCuPQ== dependencies: "@babel/code-frame" "^7.0.0" - jest-worker "^24.0.0" - serialize-javascript "^1.6.1" - terser "^3.14.1" + jest-worker "^24.6.0" + rollup-pluginutils "^2.8.1" + serialize-javascript "^1.7.0" + terser "^4.1.0" rollup-plugin-typescript@^1.0.0: version "1.0.1" @@ -11204,7 +11248,7 @@ rollup-plugin-typescript@^1.0.0: resolve "^1.10.0" rollup-pluginutils "^2.5.0" -rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.0: +rollup-pluginutils@^2.0.1: version "2.4.1" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.4.1.tgz#de43ab54965bbf47843599a7f3adceb723de38db" integrity sha512-wesMQ9/172IJDIW/lYWm0vW0LiKe5Ekjws481R7z9WTRtmO59cqyM/2uUlxvf6yzm/fElFmHUobeQOYz46dZJw== @@ -11212,7 +11256,7 @@ rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.0: estree-walker "^0.6.0" micromatch "^3.1.10" -rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0: +rollup-pluginutils@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.6.0.tgz#203706edd43dfafeaebc355d7351119402fc83ad" integrity sha512-aGQwspEF8oPKvg37u3p7h0cYNwmJR1sCBMZGZ5b9qy8HGtETknqjzcxrDRrcAnJNXN18lBH4Q9vZYth/p4n8jQ== @@ -11220,14 +11264,21 @@ rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0: estree-walker "^0.6.0" micromatch "^3.1.10" -rollup@^1.1.2: - version "1.14.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.14.4.tgz#f9af78f142e8c5851e3392bda488df489181ac60" - integrity sha512-sR5/cqbQUg72Lm2TZgjzI3/Q1V7osP/PXlqNpSLCMSTnSg8xQ9ECFQSNEG1OOjKzPMqboEqeayRyYzi+IfkDgQ== +rollup-pluginutils@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" + integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== + dependencies: + estree-walker "^0.6.1" + +rollup@^1.21.2: + version "1.21.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.21.2.tgz#eaabd07d0bd309587ad8bebf731fca6fcb96f4d0" + integrity sha512-sCAHlcQ/PExU5t/kRwkEWHdhGmQrZ2IgdQzbjPVNfhWbKHMMZGYqkASVTpQqRPLtQKg15xzEscc+BnIK/TE7/Q== dependencies: "@types/estree" "0.0.39" - "@types/node" "^12.0.3" - acorn "^6.1.1" + "@types/node" "^12.7.4" + acorn "^7.0.0" rst-selector-parser@^2.2.3: version "2.2.3" @@ -11435,7 +11486,7 @@ sentence-case@^2.1.0: no-case "^2.2.0" upper-case-first "^1.1.2" -serialize-javascript@1.6.1, serialize-javascript@^1.6.1: +serialize-javascript@1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw== @@ -11445,6 +11496,11 @@ serialize-javascript@^1.4.0: resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== +serialize-javascript@^1.7.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== + serve-static@1.13.2: version "1.13.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" @@ -11668,6 +11724,14 @@ source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.10 buffer-from "^1.0.0" source-map "^0.6.0" +source-map-support@~0.5.12: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -12124,7 +12188,7 @@ terser-webpack-plugin@^1.1.0: webpack-sources "^1.1.0" worker-farm "^1.5.2" -terser@3.16.1, terser@^3.14.1: +terser@3.16.1: version "3.16.1" resolved "https://registry.yarnpkg.com/terser/-/terser-3.16.1.tgz#5b0dd4fa1ffd0b0b43c2493b2c364fd179160493" integrity sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow== @@ -12142,6 +12206,15 @@ terser@^3.16.1: source-map "~0.6.1" source-map-support "~0.5.10" +terser@^4.1.0, terser@^4.1.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.1.tgz#09820bcb3398299c4b48d9a86aefc65127d0ed65" + integrity sha512-pnzH6dnFEsR2aa2SJaKb1uSCl3QmIsJ8dEkj0Fky+2AwMMcC9doMqLOQIH6wVTEKaVfKVvLSk5qxPBEZT9mywg== + 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"