Unverified Commit 0b5325f6 authored by Marcos Iglesias's avatar Marcos Iglesias Committed by GitHub

chore: Updating frontend dependencies (#751)

Signed-off-by: 's avatarMarcos Iglesias Valle <golodhros@gmail.com>
parent 49f0996c
...@@ -39,7 +39,7 @@ exports[`strict null compilation`] = { ...@@ -39,7 +39,7 @@ exports[`strict null compilation`] = {
"js/components/common/EditableSection/index.tsx:3911151831": [ "js/components/common/EditableSection/index.tsx:3911151831": [
[130, 12, 7, "Type \'((event: MouseEvent<HTMLDivElement, MouseEvent>) => void) | null\' is not assignable to type \'((event: MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined\'.\\n Type \'null\' is not assignable to type \'((event: MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined\'.", "4055953994"] [130, 12, 7, "Type \'((event: MouseEvent<HTMLDivElement, MouseEvent>) => void) | null\' is not assignable to type \'((event: MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined\'.\\n Type \'null\' is not assignable to type \'((event: MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined\'.", "4055953994"]
], ],
"js/components/common/EditableText/index.tsx:3360221846": [ "js/components/common/EditableText/index.tsx:4277986546": [
[55, 4, 13, "Type \'null\' is not assignable to type \'(newValue: string, onSuccess?: (() => any) | undefined, onFailure?: (() => any) | undefined) => void\'.", "67794331"], [55, 4, 13, "Type \'null\' is not assignable to type \'(newValue: string, onSuccess?: (() => any) | undefined, onFailure?: (() => any) | undefined) => void\'.", "67794331"],
[56, 4, 14, "Type \'null\' is not assignable to type \'((onSuccess?: (() => any) | undefined, onFailure?: (() => any) | undefined) => void) | undefined\'.", "608289123"], [56, 4, 14, "Type \'null\' is not assignable to type \'((onSuccess?: (() => any) | undefined, onFailure?: (() => any) | undefined) => void) | undefined\'.", "608289123"],
[92, 4, 22, "Cannot invoke an object which is possibly \'undefined\'.", "2225424112"], [92, 4, 22, "Cannot invoke an object which is possibly \'undefined\'.", "2225424112"],
...@@ -56,17 +56,12 @@ exports[`strict null compilation`] = { ...@@ -56,17 +56,12 @@ exports[`strict null compilation`] = {
[21, 6, 9, "Type \'null\' is not assignable to type \'boolean | undefined\'.", "1517648899"], [21, 6, 9, "Type \'null\' is not assignable to type \'boolean | undefined\'.", "1517648899"],
[24, 6, 8, "Type \'null\' is not assignable to type \'boolean | undefined\'.", "2673870115"] [24, 6, 8, "Type \'null\' is not assignable to type \'boolean | undefined\'.", "2673870115"]
], ],
"js/components/common/OwnerEditor/index.tsx:3127875743": [ "js/components/common/OwnerEditor/index.tsx:487917110": [
[92, 4, 22, "Cannot invoke an object which is possibly \'undefined\'.", "2225424112"], [119, 27, 6, "Type \'import(\\"./js/interfaces/Enums\\").UpdateMethod\' is not assignable to type \'never\'.", "1469012122"],
[97, 4, 22, "Cannot invoke an object which is possibly \'undefined\'.", "2225424112"], [119, 56, 2, "Type \'string\' is not assignable to type \'never\'.", "5861160"],
[104, 27, 6, "Type \'UpdateMethod.DELETE\' is not assignable to type \'never\'.", "1469012122"], [124, 27, 6, "Type \'import(\\"./js/interfaces/Enums\\").UpdateMethod\' is not assignable to type \'never\'.", "1469012122"],
[104, 56, 2, "Type \'string\' is not assignable to type \'never\'.", "5861160"], [124, 53, 2, "Type \'string\' is not assignable to type \'never\'.", "5861160"],
[109, 27, 6, "Type \'UpdateMethod.PUT\' is not assignable to type \'never\'.", "1469012122"], [147, 12, 5, "Property \'value\' does not exist on type \'HTMLInputElement | null\'.", "189936718"]
[109, 53, 2, "Type \'string\' is not assignable to type \'never\'.", "5861160"],
[114, 6, 22, "Cannot invoke an object which is possibly \'undefined\'.", "2225424112"],
[120, 6, 22, "Cannot invoke an object which is possibly \'undefined\'.", "2225424112"],
[127, 12, 5, "Property \'value\' does not exist on type \'HTMLInputElement | null\'.", "189936718"],
[129, 6, 21, "Object is possibly \'null\'.", "2411403565"]
], ],
"js/components/common/ResourceListItem/DashboardListItem/index.spec.tsx:53357032": [ "js/components/common/ResourceListItem/DashboardListItem/index.spec.tsx:53357032": [
[163, 14, 29, "Type \'null\' is not assignable to type \'number\'.", "1157138603"] [163, 14, 29, "Type \'null\' is not assignable to type \'number\'.", "1157138603"]
...@@ -100,9 +95,9 @@ exports[`strict null compilation`] = { ...@@ -100,9 +95,9 @@ exports[`strict null compilation`] = {
[63, 22, 6, "Type \'undefined\' is not assignable to type \'GetAllTagsRequest\'.", "1979467425"], [63, 22, 6, "Type \'undefined\' is not assignable to type \'GetAllTagsRequest\'.", "1979467425"],
[66, 4, 4, "Type \'undefined\' is not assignable to type \'Tag[]\'.", "2087952548"], [66, 4, 4, "Type \'undefined\' is not assignable to type \'Tag[]\'.", "2087952548"],
[67, 22, 6, "Type \'undefined\' is not assignable to type \'UpdateTagsRequest\'.", "1979467425"], [67, 22, 6, "Type \'undefined\' is not assignable to type \'UpdateTagsRequest\'.", "1979467425"],
[100, 31, 10, "Type \'UpdateMethod.DELETE\' is not assignable to type \'never\'.", "3392756765"], [100, 31, 10, "Type \'import(\\"./js/interfaces/Enums\\").UpdateMethod\' is not assignable to type \'never\'.", "3392756765"],
[100, 64, 7, "Type \'string\' is not assignable to type \'never\'.", "1671693616"], [100, 64, 7, "Type \'string\' is not assignable to type \'never\'.", "1671693616"],
[102, 31, 10, "Type \'UpdateMethod.PUT\' is not assignable to type \'never\'.", "3392756765"], [102, 31, 10, "Type \'import(\\"./js/interfaces/Enums\\").UpdateMethod\' is not assignable to type \'never\'.", "3392756765"],
[102, 61, 7, "Type \'string\' is not assignable to type \'never\'.", "1671693616"] [102, 61, 7, "Type \'string\' is not assignable to type \'never\'.", "1671693616"]
], ],
"js/components/common/Tags/TagsList/index.tsx:4084208491": [ "js/components/common/Tags/TagsList/index.tsx:4084208491": [
...@@ -145,8 +140,6 @@ exports[`strict null compilation`] = { ...@@ -145,8 +140,6 @@ exports[`strict null compilation`] = {
], ],
"js/ducks/dashboard/reducer.ts:562296055": [ "js/ducks/dashboard/reducer.ts:562296055": [
[49, 2, 17, "Type \'null\' is not assignable to type \'number\'.", "2818833716"], [49, 2, 17, "Type \'null\' is not assignable to type \'number\'.", "2818833716"],
[55, 2, 18, "Type \'null\' is not assignable to type \'number\'.", "2901767208"],
[56, 2, 29, "Type \'null\' is not assignable to type \'number\'.", "1157138603"],
[61, 2, 17, "Type \'null\' is not assignable to type \'number\'.", "3048879712"], [61, 2, 17, "Type \'null\' is not assignable to type \'number\'.", "3048879712"],
[64, 2, 17, "Type \'null\' is not assignable to type \'number\'.", "1885086497"], [64, 2, 17, "Type \'null\' is not assignable to type \'number\'.", "1885086497"],
[71, 2, 10, "Type \'null\' is not assignable to type \'number\'.", "3382497788"], [71, 2, 10, "Type \'null\' is not assignable to type \'number\'.", "3382497788"],
...@@ -253,10 +246,8 @@ exports[`strict null compilation`] = { ...@@ -253,10 +246,8 @@ exports[`strict null compilation`] = {
"js/pages/DashboardPage/DashboardOwnerEditor/index.spec.tsx:4125678807": [ "js/pages/DashboardPage/DashboardOwnerEditor/index.spec.tsx:4125678807": [
[29, 19, 11, "Type \'{ manager_id: null; manager_fullname: null; manager_email: null; profile_url: string; role_name: null; display_name: null; github_username: null; team_name: null; last_name: null; full_name: null; ... 6 more ...; user_id: string; }\' is not assignable to type \'User\'.\\n Types of property \'display_name\' are incompatible.\\n Type \'null\' is not assignable to type \'string\'.", "2041815528"] [29, 19, 11, "Type \'{ manager_id: null; manager_fullname: null; manager_email: null; profile_url: string; role_name: null; display_name: null; github_username: null; team_name: null; last_name: null; full_name: null; ... 6 more ...; user_id: string; }\' is not assignable to type \'User\'.\\n Types of property \'display_name\' are incompatible.\\n Type \'null\' is not assignable to type \'string\'.", "2041815528"]
], ],
"js/pages/DashboardPage/index.spec.tsx:3245519479": [ "js/pages/DashboardPage/index.spec.tsx:3811826221": [
[53, 4, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"], [53, 4, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"]
[213, 10, 18, "Type \'null\' is not assignable to type \'number\'.", "2901767208"],
[214, 10, 29, "Type \'null\' is not assignable to type \'number\'.", "1157138603"]
], ],
"js/pages/ProfilePage/index.spec.tsx:4086464143": [ "js/pages/ProfilePage/index.spec.tsx:4086464143": [
[41, 6, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.", "2087897566"] [41, 6, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.", "2087897566"]
......
...@@ -105,7 +105,7 @@ describe('EditableText', () => { ...@@ -105,7 +105,7 @@ describe('EditableText', () => {
describe('render', () => { describe('render', () => {
describe('not in edit mode', () => { describe('not in edit mode', () => {
const { props, wrapper } = setup({ const { wrapper } = setup({
isEditing: false, isEditing: false,
value: '', value: '',
}); });
...@@ -114,9 +114,6 @@ describe('EditableText', () => { ...@@ -114,9 +114,6 @@ describe('EditableText', () => {
it('renders a ReactMarkdown component', () => { it('renders a ReactMarkdown component', () => {
const markdown = wrapper.find(ReactMarkdown); const markdown = wrapper.find(ReactMarkdown);
expect(markdown.exists()).toBe(true); expect(markdown.exists()).toBe(true);
expect(markdown.props()).toMatchObject({
source: wrapper.state().value,
});
}); });
it('renders an edit link if it is editable and the text is empty', () => { it('renders an edit link if it is editable and the text is empty', () => {
......
...@@ -120,13 +120,16 @@ class EditableText extends React.Component< ...@@ -120,13 +120,16 @@ class EditableText extends React.Component<
}; };
render() { render() {
if (!this.props.isEditing) { const { isEditing, editable, maxLength } = this.props;
const { value = '', isDisabled } = this.state;
if (!isEditing) {
return ( return (
<div className="editable-text"> <div className="editable-text">
<div className="markdown-wrapper"> <div className="markdown-wrapper">
<ReactMarkdown source={this.state.value} escapeHtml={false} /> <ReactMarkdown allowDangerousHtml={false}>{value}</ReactMarkdown>
</div> </div>
{this.props.editable && !this.state.value && ( {editable && !value && (
<a <a
className="edit-link" className="edit-link"
href="JavaScript:void(0)" href="JavaScript:void(0)"
...@@ -144,13 +147,13 @@ class EditableText extends React.Component< ...@@ -144,13 +147,13 @@ class EditableText extends React.Component<
<textarea <textarea
className="editable-textarea" className="editable-textarea"
rows={2} rows={2}
maxLength={this.props.maxLength} maxLength={maxLength}
ref={this.textAreaRef} ref={this.textAreaRef}
defaultValue={this.state.value} defaultValue={value}
disabled={this.state.isDisabled} disabled={isDisabled}
/> />
<div className="editable-textarea-controls"> <div className="editable-textarea-controls">
{this.state.isDisabled && ( {isDisabled && (
<> <>
<h2 className="label label-danger refresh-message"> <h2 className="label label-danger refresh-message">
{REFRESH_MESSAGE} {REFRESH_MESSAGE}
...@@ -158,16 +161,18 @@ class EditableText extends React.Component< ...@@ -158,16 +161,18 @@ class EditableText extends React.Component<
<button <button
className="btn btn-primary refresh-button" className="btn btn-primary refresh-button"
onClick={this.refreshText} onClick={this.refreshText}
type="button"
> >
<img className="icon icon-refresh" alt="" /> <img className="icon icon-refresh" alt="" />
{REFRESH_BUTTON_TEXT} {REFRESH_BUTTON_TEXT}
</button> </button>
</> </>
)} )}
{!this.state.isDisabled && ( {!isDisabled && (
<button <button
className="btn btn-primary update-button" className="btn btn-primary update-button"
onClick={this.updateText} onClick={this.updateText}
type="button"
> >
{UPDATE_BUTTON_TEXT} {UPDATE_BUTTON_TEXT}
</button> </button>
...@@ -175,6 +180,7 @@ class EditableText extends React.Component< ...@@ -175,6 +180,7 @@ class EditableText extends React.Component<
<button <button
className="btn btn-default cancel-button" className="btn btn-default cancel-button"
onClick={this.exitEditMode} onClick={this.exitEditMode}
type="button"
> >
{CANCEL_BUTTON_TEXT} {CANCEL_BUTTON_TEXT}
</button> </button>
......
...@@ -80,54 +80,76 @@ export class OwnerEditor extends React.Component< ...@@ -80,54 +80,76 @@ export class OwnerEditor extends React.Component<
} }
componentDidUpdate(prevProps) { componentDidUpdate(prevProps) {
const { itemProps } = this.props;
// TODO - itemProps is a new object and this check needs to be fixed // TODO - itemProps is a new object and this check needs to be fixed
if (prevProps.itemProps !== this.props.itemProps) { if (prevProps.itemProps !== itemProps) {
this.setState({ this.setState({
itemProps: this.props.itemProps, itemProps,
tempItemProps: this.props.itemProps, tempItemProps: itemProps,
}); });
} }
} }
handleShow = () => { handleShow = () => {
this.props.setEditMode(true); const { setEditMode } = this.props;
if (setEditMode) {
setEditMode(true);
}
}; };
cancelEdit = () => { cancelEdit = () => {
this.setState({ tempItemProps: this.state.itemProps }); const { setEditMode } = this.props;
this.props.setEditMode(false); const { itemProps } = this.state;
this.setState({ tempItemProps: itemProps });
if (setEditMode) {
setEditMode(false);
}
}; };
saveEdit = () => { saveEdit = () => {
const { itemProps, tempItemProps } = this.state;
const { setEditMode, onUpdateList } = this.props;
const updateArray = []; const updateArray = [];
Object.keys(this.state.itemProps).forEach((key) => {
if (!this.state.tempItemProps.hasOwnProperty(key)) { Object.keys(itemProps).forEach((key) => {
if (!tempItemProps.hasOwnProperty(key)) {
updateArray.push({ method: UpdateMethod.DELETE, id: key }); updateArray.push({ method: UpdateMethod.DELETE, id: key });
} }
}); });
Object.keys(this.state.tempItemProps).forEach((key) => { Object.keys(tempItemProps).forEach((key) => {
if (!this.state.itemProps.hasOwnProperty(key)) { if (!itemProps.hasOwnProperty(key)) {
updateArray.push({ method: UpdateMethod.PUT, id: key }); updateArray.push({ method: UpdateMethod.PUT, id: key });
} }
}); });
const onSuccessCallback = () => { const onSuccessCallback = () => {
this.props.setEditMode(false); if (setEditMode) {
setEditMode(false);
}
}; };
const onFailureCallback = () => { const onFailureCallback = () => {
this.setState({ this.setState({
errorText: Constants.DEFAULT_ERROR_TEXT, errorText: Constants.DEFAULT_ERROR_TEXT,
}); });
this.props.setEditMode(false); if (setEditMode) {
setEditMode(false);
}
}; };
this.props.onUpdateList(updateArray, onSuccessCallback, onFailureCallback);
onUpdateList(updateArray, onSuccessCallback, onFailureCallback);
}; };
recordAddItem = (event: React.FormEvent<HTMLFormElement>) => { recordAddItem = (event: React.FormEvent<HTMLFormElement>) => {
event.preventDefault(); event.preventDefault();
const { value } = this.inputRef.current; const { value } = this.inputRef.current;
if (value) {
if (this.inputRef.current && value) {
this.inputRef.current.value = ''; this.inputRef.current.value = '';
const newTempItemProps = { const newTempItemProps = {
...this.state.tempItemProps, ...this.state.tempItemProps,
[value]: { label: value }, [value]: { label: value },
...@@ -137,23 +159,27 @@ export class OwnerEditor extends React.Component< ...@@ -137,23 +159,27 @@ export class OwnerEditor extends React.Component<
}; };
recordDeleteItem = (deletedKey: string) => { recordDeleteItem = (deletedKey: string) => {
const newTempItemProps = Object.keys(this.state.tempItemProps) const { tempItemProps } = this.state;
const newTempItemProps = Object.keys(tempItemProps)
.filter((key) => { .filter((key) => {
return key !== deletedKey; return key !== deletedKey;
}) })
.reduce((obj, key) => { .reduce((obj, key) => {
obj[key] = this.state.tempItemProps[key]; obj[key] = tempItemProps[key];
return obj; return obj;
}, {}); }, {});
this.setState({ tempItemProps: newTempItemProps }); this.setState({ tempItemProps: newTempItemProps });
}; };
renderModalBody = () => { renderModalBody = () => {
if (!this.props.isEditing) { const { isEditing, isLoading } = this.props;
if (!isEditing) {
return null; return null;
} }
if (this.props.isLoading) { if (isLoading) {
return ( return (
<Modal.Body> <Modal.Body>
<LoadingSpinner /> <LoadingSpinner />
...@@ -191,6 +217,7 @@ export class OwnerEditor extends React.Component< ...@@ -191,6 +217,7 @@ export class OwnerEditor extends React.Component<
/* tslint:disable - TODO: Investigate jsx-no-lambda rule */ /* tslint:disable - TODO: Investigate jsx-no-lambda rule */
onClick={() => this.recordDeleteItem(key)} onClick={() => this.recordDeleteItem(key)}
/* tslint:enable */ /* tslint:enable */
type="button"
> >
<span className="sr-only">{Constants.DELETE_ITEM}</span> <span className="sr-only">{Constants.DELETE_ITEM}</span>
<img className="icon icon-delete" alt="" /> <img className="icon icon-delete" alt="" />
...@@ -205,20 +232,21 @@ export class OwnerEditor extends React.Component< ...@@ -205,20 +232,21 @@ export class OwnerEditor extends React.Component<
render() { render() {
const { isEditing, readOnly, resourceType } = this.props; const { isEditing, readOnly, resourceType } = this.props;
const hasItems = Object.keys(this.state.itemProps).length > 0; const { errorText, itemProps } = this.state;
const hasItems = Object.keys(itemProps).length > 0;
if (this.state.errorText) { if (errorText) {
return ( return (
<div className="owner-editor-component"> <div className="owner-editor-component">
<label className="status-message">{this.state.errorText}</label> <label className="status-message">{errorText}</label>
</div> </div>
); );
} }
const ownerList = hasItems ? ( const ownerList = hasItems ? (
<ul className="component-list"> <ul className="component-list">
{Object.keys(this.state.itemProps).map((key) => { {Object.keys(itemProps).map((key) => {
const owner = this.state.itemProps[key]; const owner = itemProps[key];
const avatarLabel = React.createElement(AvatarLabel, owner); const avatarLabel = React.createElement(AvatarLabel, owner);
let listItem; let listItem;
......
...@@ -14,8 +14,8 @@ export interface DashboardMetadata { ...@@ -14,8 +14,8 @@ export interface DashboardMetadata {
group_name: string; group_name: string;
group_url: string; group_url: string;
last_run_state: string; last_run_state: string;
last_run_timestamp: number; last_run_timestamp: number | null;
last_successful_run_timestamp: number; last_successful_run_timestamp: number | null;
name: string; name: string;
owners: User[]; owners: User[];
product: string; product: string;
......
...@@ -168,9 +168,6 @@ describe('DashboardPage', () => { ...@@ -168,9 +168,6 @@ describe('DashboardPage', () => {
it('using a ReactMarkdown component', () => { it('using a ReactMarkdown component', () => {
const markdown = wrapper.find(ReactMarkdown); const markdown = wrapper.find(ReactMarkdown);
expect(markdown.exists()).toBe(true); expect(markdown.exists()).toBe(true);
expect(markdown.props()).toMatchObject({
source: props.dashboard.description,
});
}); });
it('with link to add description if none exists', () => { it('with link to add description if none exists', () => {
......
...@@ -240,7 +240,7 @@ export class DashboardPage extends React.Component< ...@@ -240,7 +240,7 @@ export class DashboardPage extends React.Component<
> >
{hasDescription && ( {hasDescription && (
<div className="markdown-wrapper"> <div className="markdown-wrapper">
<ReactMarkdown source={dashboard.description} /> <ReactMarkdown>{dashboard.description}</ReactMarkdown>
</div> </div>
)} )}
{!hasDescription && ( {!hasDescription && (
......
...@@ -19,7 +19,7 @@ interface StringDateConfig { ...@@ -19,7 +19,7 @@ interface StringDateConfig {
type DateConfig = TimestampDateConfig | EpochDateConfig | StringDateConfig; type DateConfig = TimestampDateConfig | EpochDateConfig | StringDateConfig;
// This function is only exported for testing // This function is only exported for testing
export function getMomentDate(config: DateConfig): Moment { export function getMomentDate(config: DateConfig): Moment.Moment {
let moment; let moment;
const { timestamp } = config as TimestampDateConfig; const { timestamp } = config as TimestampDateConfig;
const epoch = (config as EpochDateConfig).epochTimestamp; const epoch = (config as EpochDateConfig).epochTimestamp;
......
...@@ -11489,6 +11489,14 @@ ...@@ -11489,6 +11489,14 @@
"@types/react": "*" "@types/react": "*"
} }
}, },
"@types/mdast": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz",
"integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==",
"requires": {
"@types/unist": "*"
}
},
"@types/micromatch": { "@types/micromatch": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.1.tgz", "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.1.tgz",
...@@ -11736,8 +11744,7 @@ ...@@ -11736,8 +11744,7 @@
"@types/unist": { "@types/unist": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
"integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ=="
"dev": true
}, },
"@types/webpack": { "@types/webpack": {
"version": "4.41.22", "version": "4.41.22",
...@@ -15751,7 +15758,8 @@ ...@@ -15751,7 +15758,8 @@
"collapse-white-space": { "collapse-white-space": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
"integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==",
"dev": true
}, },
"collect-v8-coverage": { "collect-v8-coverage": {
"version": "1.0.1", "version": "1.0.1",
...@@ -20472,61 +20480,62 @@ ...@@ -20472,61 +20480,62 @@
"dev": true "dev": true
}, },
"html-to-react": { "html-to-react": {
"version": "1.4.2", "version": "1.4.5",
"resolved": "https://registry.npmjs.org/html-to-react/-/html-to-react-1.4.2.tgz", "resolved": "https://registry.npmjs.org/html-to-react/-/html-to-react-1.4.5.tgz",
"integrity": "sha512-TdTfxd95sRCo6QL8admCkE7mvNNrXtGoVr1dyS+7uvc8XCqAymnf/6ckclvnVbQNUo2Nh21VPwtfEHd0khiV7g==", "integrity": "sha512-KONZUDFPg5OodWaQu2ymfkDmU0JA7zB1iPfvyHehTmMUZnk0DS7/TyCMTzsLH6b4BvxX15g88qZCXFhJWktsmA==",
"requires": { "requires": {
"domhandler": "^3.0", "domhandler": "^3.3.0",
"htmlparser2": "^4.0", "htmlparser2": "^5.0",
"lodash.camelcase": "^4.3.0", "lodash.camelcase": "^4.3.0",
"ramda": "^0.26" "ramda": "^0.27.1"
}, },
"dependencies": { "dependencies": {
"dom-serializer": { "dom-serializer": {
"version": "0.2.2", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.1.0.tgz",
"integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "integrity": "sha512-ox7bvGXt2n+uLWtCRLybYx60IrOlWL/aCebWJk1T0d4m3y2tzf4U3ij9wBMUb6YJZpz06HCCYuyCDveE2xXmzQ==",
"requires": { "requires": {
"domelementtype": "^2.0.1", "domelementtype": "^2.0.1",
"domhandler": "^3.0.0",
"entities": "^2.0.0" "entities": "^2.0.0"
} }
}, },
"domelementtype": { "domelementtype": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz",
"integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA=="
}, },
"domhandler": { "domhandler": {
"version": "3.0.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.0.0.tgz", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
"integrity": "sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==", "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
"requires": { "requires": {
"domelementtype": "^2.0.1" "domelementtype": "^2.0.1"
} }
}, },
"domutils": { "domutils": {
"version": "2.1.0", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.1.0.tgz", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.2.tgz",
"integrity": "sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg==", "integrity": "sha512-NKbgaM8ZJOecTZsIzW5gSuplsX2IWW2mIK7xVr8hTQF2v1CJWTmLZ1HOCh5sH+IzVPAGE5IucooOkvwBRAdowA==",
"requires": { "requires": {
"dom-serializer": "^0.2.1", "dom-serializer": "^1.0.1",
"domelementtype": "^2.0.1", "domelementtype": "^2.0.1",
"domhandler": "^3.0.0" "domhandler": "^3.3.0"
} }
}, },
"entities": { "entities": {
"version": "2.0.2", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz", "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
"integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==" "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
}, },
"htmlparser2": { "htmlparser2": {
"version": "4.1.0", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz",
"integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==",
"requires": { "requires": {
"domelementtype": "^2.0.1", "domelementtype": "^2.0.1",
"domhandler": "^3.0.0", "domhandler": "^3.3.0",
"domutils": "^2.0.0", "domutils": "^2.4.2",
"entities": "^2.0.0" "entities": "^2.0.0"
} }
} }
...@@ -21617,7 +21626,8 @@ ...@@ -21617,7 +21626,8 @@
"is-plain-obj": { "is-plain-obj": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
"dev": true
}, },
"is-plain-object": { "is-plain-object": {
"version": "2.0.4", "version": "2.0.4",
...@@ -21704,7 +21714,8 @@ ...@@ -21704,7 +21714,8 @@
"is-whitespace-character": { "is-whitespace-character": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
"integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==",
"dev": true
}, },
"is-window": { "is-window": {
"version": "1.0.2", "version": "1.0.2",
...@@ -21721,7 +21732,8 @@ ...@@ -21721,7 +21732,8 @@
"is-word-character": { "is-word-character": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
"integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==",
"dev": true
}, },
"is-wsl": { "is-wsl": {
"version": "1.1.0", "version": "1.1.0",
...@@ -27040,7 +27052,8 @@ ...@@ -27040,7 +27052,8 @@
"markdown-escapes": { "markdown-escapes": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
"integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==",
"dev": true
}, },
"markdown-table": { "markdown-table": {
"version": "2.0.0", "version": "2.0.0",
...@@ -27179,6 +27192,37 @@ ...@@ -27179,6 +27192,37 @@
} }
} }
}, },
"mdast-util-from-markdown": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.1.tgz",
"integrity": "sha512-qJXNcFcuCSPqUF0Tb0uYcFDIq67qwB3sxo9RPdf9vG8T90ViKnksFqdB/Coq2a7sTnxL/Ify2y7aIQXDkQFH0w==",
"requires": {
"@types/mdast": "^3.0.0",
"mdast-util-to-string": "^1.0.0",
"micromark": "~2.10.0",
"parse-entities": "^2.0.0"
},
"dependencies": {
"parse-entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
"integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"requires": {
"character-entities": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"character-reference-invalid": "^1.0.0",
"is-alphanumerical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-hexadecimal": "^1.0.0"
}
}
}
},
"mdast-util-to-string": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz",
"integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A=="
},
"mdn-data": { "mdn-data": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
...@@ -27391,6 +27435,43 @@ ...@@ -27391,6 +27435,43 @@
"integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==",
"dev": true "dev": true
}, },
"micromark": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-2.10.1.tgz",
"integrity": "sha512-fUuVF8sC1X7wsCS29SYQ2ZfIZYbTymp0EYr6sab3idFjigFFjGa5UwoniPlV9tAgntjuapW1t9U+S0yDYeGKHQ==",
"requires": {
"debug": "^4.0.0",
"parse-entities": "^2.0.0"
},
"dependencies": {
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
"integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"parse-entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
"integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"requires": {
"character-entities": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"character-reference-invalid": "^1.0.0",
"is-alphanumerical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-hexadecimal": "^1.0.0"
}
}
}
},
"micromatch": { "micromatch": {
"version": "3.1.10", "version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
...@@ -27669,9 +27750,9 @@ ...@@ -27669,9 +27750,9 @@
} }
}, },
"moment": { "moment": {
"version": "2.25.3", "version": "2.29.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.25.3.tgz", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
"integrity": "sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==" "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
}, },
"moment-locales-webpack-plugin": { "moment-locales-webpack-plugin": {
"version": "1.2.0", "version": "1.2.0",
...@@ -27683,9 +27764,9 @@ ...@@ -27683,9 +27764,9 @@
} }
}, },
"moment-timezone": { "moment-timezone": {
"version": "0.5.28", "version": "0.5.31",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz", "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.31.tgz",
"integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==", "integrity": "sha512-+GgHNg8xRhMXfEbv81iDtrVeTcWt0kWmTEY1XQK14dICTXnWJnT0dxdlPspwqF3keKMVPXwayEsk1DI0AA/jdA==",
"requires": { "requires": {
"moment": ">= 2.9.0" "moment": ">= 2.9.0"
} }
...@@ -30141,9 +30222,9 @@ ...@@ -30141,9 +30222,9 @@
"dev": true "dev": true
}, },
"ramda": { "ramda": {
"version": "0.26.1", "version": "0.27.1",
"resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz",
"integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw=="
}, },
"randexp": { "randexp": {
"version": "0.4.6", "version": "0.4.6",
...@@ -31423,17 +31504,19 @@ ...@@ -31423,17 +31504,19 @@
} }
}, },
"react-markdown": { "react-markdown": {
"version": "4.3.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-4.3.1.tgz", "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-5.0.2.tgz",
"integrity": "sha512-HQlWFTbDxTtNY6bjgp3C3uv1h2xcjCSi1zAEzfBW9OwJJvENSYiLXWNXN5hHLsoqai7RnZiiHzcnWdXk2Splzw==", "integrity": "sha512-kmkB4JbV7LqkDAjvaKRKtodB3n3Id76/DalaDun1U8FuLB0SenPfvH+jAQ5Pcpo54cACRQc1LB1yXmuuuIVecw==",
"requires": { "requires": {
"@types/mdast": "^3.0.3",
"@types/unist": "^2.0.3",
"html-to-react": "^1.3.4", "html-to-react": "^1.3.4",
"mdast-add-list-metadata": "1.0.1", "mdast-add-list-metadata": "1.0.1",
"prop-types": "^15.7.2", "prop-types": "^15.7.2",
"react-is": "^16.8.6", "react-is": "^16.8.6",
"remark-parse": "^5.0.0", "remark-parse": "^9.0.0",
"unified": "^6.1.5", "unified": "^9.0.0",
"unist-util-visit": "^1.3.0", "unist-util-visit": "^2.0.0",
"xtend": "^4.0.1" "xtend": "^4.0.1"
}, },
"dependencies": { "dependencies": {
...@@ -32250,25 +32333,11 @@ ...@@ -32250,25 +32333,11 @@
} }
}, },
"remark-parse": { "remark-parse": {
"version": "5.0.0", "version": "9.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz",
"integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==", "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==",
"requires": { "requires": {
"collapse-white-space": "^1.0.2", "mdast-util-from-markdown": "^0.8.0"
"is-alphabetical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-whitespace-character": "^1.0.0",
"is-word-character": "^1.0.0",
"markdown-escapes": "^1.0.0",
"parse-entities": "^1.1.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
"trim": "0.0.1",
"trim-trailing-lines": "^1.0.0",
"unherit": "^1.0.4",
"unist-util-remove-position": "^1.0.0",
"vfile-location": "^2.0.0",
"xtend": "^4.0.1"
} }
}, },
"remark-stringify": { "remark-stringify": {
...@@ -32337,7 +32406,8 @@ ...@@ -32337,7 +32406,8 @@
"repeat-string": { "repeat-string": {
"version": "1.6.1", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
}, },
"repeating": { "repeating": {
"version": "2.0.1", "version": "2.0.1",
...@@ -33615,7 +33685,8 @@ ...@@ -33615,7 +33685,8 @@
"state-toggle": { "state-toggle": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
"integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==",
"dev": true
}, },
"static-extend": { "static-extend": {
"version": "0.1.2", "version": "0.1.2",
...@@ -36185,7 +36256,8 @@ ...@@ -36185,7 +36256,8 @@
"trim": { "trim": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
"integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
"dev": true
}, },
"trim-newlines": { "trim-newlines": {
"version": "1.0.0", "version": "1.0.0",
...@@ -36196,7 +36268,8 @@ ...@@ -36196,7 +36268,8 @@
"trim-trailing-lines": { "trim-trailing-lines": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz", "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz",
"integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==" "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==",
"dev": true
}, },
"trough": { "trough": {
"version": "1.0.5", "version": "1.0.5",
...@@ -36589,9 +36662,9 @@ ...@@ -36589,9 +36662,9 @@
} }
}, },
"typescript": { "typescript": {
"version": "3.9.2", "version": "4.0.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz",
"integrity": "sha512-q2ktq4n/uLuNNShyayit+DTobV2ApPEo/6so68JaD5ojvc/6GClBipedB9zNWYxRSAlZXAe405Rlijzl6qDiSw==", "integrity": "sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ==",
"dev": true "dev": true
}, },
"typescript-compare": { "typescript-compare": {
...@@ -36646,6 +36719,7 @@ ...@@ -36646,6 +36719,7 @@
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
"integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
"dev": true,
"requires": { "requires": {
"inherits": "^2.0.0", "inherits": "^2.0.0",
"xtend": "^4.0.0" "xtend": "^4.0.0"
...@@ -36680,16 +36754,28 @@ ...@@ -36680,16 +36754,28 @@
"dev": true "dev": true
}, },
"unified": { "unified": {
"version": "6.2.0", "version": "9.2.0",
"resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz",
"integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==",
"requires": { "requires": {
"bail": "^1.0.0", "bail": "^1.0.0",
"extend": "^3.0.0", "extend": "^3.0.0",
"is-plain-obj": "^1.1.0", "is-buffer": "^2.0.0",
"is-plain-obj": "^2.0.0",
"trough": "^1.0.0", "trough": "^1.0.0",
"vfile": "^2.0.0", "vfile": "^4.0.0"
"x-is-string": "^0.1.0" },
"dependencies": {
"is-buffer": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
},
"is-plain-obj": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
"integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
}
} }
}, },
"union-value": { "union-value": {
...@@ -36746,37 +36832,35 @@ ...@@ -36746,37 +36832,35 @@
} }
}, },
"unist-util-is": { "unist-util-is": {
"version": "3.0.0", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.3.tgz",
"integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" "integrity": "sha512-bTofCFVx0iQM8Jqb1TBDVRIQW03YkD3p66JOd/aCWuqzlLyUtx1ZAGw/u+Zw+SttKvSVcvTiKYbfrtLoLefykw=="
}, },
"unist-util-remove-position": { "unist-util-stringify-position": {
"version": "1.1.4", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
"integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
"requires": { "requires": {
"unist-util-visit": "^1.1.0" "@types/unist": "^2.0.2"
} }
}, },
"unist-util-stringify-position": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
"integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ=="
},
"unist-util-visit": { "unist-util-visit": {
"version": "1.4.1", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
"integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
"requires": { "requires": {
"unist-util-visit-parents": "^2.0.0" "@types/unist": "^2.0.0",
"unist-util-is": "^4.0.0",
"unist-util-visit-parents": "^3.0.0"
}, },
"dependencies": { "dependencies": {
"unist-util-visit-parents": { "unist-util-visit-parents": {
"version": "2.1.2", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
"integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
"requires": { "requires": {
"unist-util-is": "^3.0.0" "@types/unist": "^2.0.0",
"unist-util-is": "^4.0.0"
} }
} }
} }
...@@ -37206,27 +37290,31 @@ ...@@ -37206,27 +37290,31 @@
} }
}, },
"vfile": { "vfile": {
"version": "2.3.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.0.tgz",
"integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", "integrity": "sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw==",
"requires": { "requires": {
"is-buffer": "^1.1.4", "@types/unist": "^2.0.0",
"is-buffer": "^2.0.0",
"replace-ext": "1.0.0", "replace-ext": "1.0.0",
"unist-util-stringify-position": "^1.0.0", "unist-util-stringify-position": "^2.0.0",
"vfile-message": "^1.0.0" "vfile-message": "^2.0.0"
},
"dependencies": {
"is-buffer": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
}
} }
}, },
"vfile-location": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz",
"integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA=="
},
"vfile-message": { "vfile-message": {
"version": "1.1.1", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
"integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
"requires": { "requires": {
"unist-util-stringify-position": "^1.1.1" "@types/unist": "^2.0.0",
"unist-util-stringify-position": "^2.0.0"
} }
}, },
"vm-browserify": { "vm-browserify": {
...@@ -38328,11 +38416,6 @@ ...@@ -38328,11 +38416,6 @@
"integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==",
"dev": true "dev": true
}, },
"x-is-string": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI="
},
"xml-name-validator": { "xml-name-validator": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
"ts-node": "^9.0.0", "ts-node": "^9.0.0",
"tsconfig-paths": "^3.9.0", "tsconfig-paths": "^3.9.0",
"tslint": "^6.1.3", "tslint": "^6.1.3",
"typescript": "^3.9.2", "typescript": "^4.0.5",
"webpack": "^4.44.1", "webpack": "^4.44.1",
"webpack-bundle-analyzer": "^3.8.0", "webpack-bundle-analyzer": "^3.8.0",
"webpack-cli": "^3.3.11", "webpack-cli": "^3.3.11",
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
"core-js": "^3.6.5", "core-js": "^3.6.5",
"form-serialize": "^0.7.2", "form-serialize": "^0.7.2",
"jquery": "^3.5.0", "jquery": "^3.5.0",
"moment-timezone": "^0.5.28", "moment-timezone": "^0.5.31",
"react": "^16.13.1", "react": "^16.13.1",
"react-avatar": "^2.5.1", "react-avatar": "^2.5.1",
"react-bootstrap": "^0.32.4", "react-bootstrap": "^0.32.4",
...@@ -142,7 +142,7 @@ ...@@ -142,7 +142,7 @@
"react-dom": "^16.13.1", "react-dom": "^16.13.1",
"react-js-pagination": "^3.0.3", "react-js-pagination": "^3.0.3",
"react-linkify": "^0.2.2", "react-linkify": "^0.2.2",
"react-markdown": "^4.3.1", "react-markdown": "^5.0.2",
"react-redux": "^5.1.0", "react-redux": "^5.1.0",
"react-router-dom": "^4.3.1", "react-router-dom": "^4.3.1",
"react-sanitized-html": "^2.0.0", "react-sanitized-html": "^2.0.0",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment