Commit ae20d1f4 authored by Florent Chehab's avatar Florent Chehab
Browse files

Markdown ready !

parent a42accc9
Pipeline #27058 passed with stages
in 2 minutes and 23 seconds
...@@ -43,10 +43,17 @@ class ThemeProvider extends MyComponent { ...@@ -43,10 +43,17 @@ class ThemeProvider extends MyComponent {
} }
} }
myRender() { myRender() {
const font = {typography: {
fontSize: 14,
htmlFontSize: 14
}}
const theme = Object.assign({}, this.state.theme, font)
return ( return (
<div> <div>
<MuiThemeProvider theme={createMuiTheme(this.state.theme)}> <MuiThemeProvider theme={createMuiTheme(theme)}>
<Router> <Router>
{this.props.children} {this.props.children}
</Router> </Router>
......
...@@ -56,7 +56,7 @@ class UnivPopupContent extends Component { ...@@ -56,7 +56,7 @@ class UnivPopupContent extends Component {
</CardContent> </CardContent>
</CardActionArea> </CardActionArea>
<CardActions> <CardActions>
<Link to={"/app/university/" + univId}> <Link to={"/app/university/" + univId} style={{ textDecoration: 'none' }}>
<Button variant="contained" size="small" color="primary"> <Button variant="contained" size="small" color="primary">
< IconAdd /> < IconAdd />
En savoir plus En savoir plus
......
...@@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; ...@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles'; import { withStyles } from '@material-ui/core/styles';
import Typography from '@material-ui/core/Typography'; import Typography from '@material-ui/core/Typography';
import Paper from '@material-ui/core/Paper'; import Paper from '@material-ui/core/Paper';
import Markdown from '../../utils/Markdown'
const styles = theme => ({ const styles = theme => ({
myPaper: { myPaper: {
...@@ -10,15 +11,34 @@ const styles = theme => ({ ...@@ -10,15 +11,34 @@ const styles = theme => ({
} }
}); });
const source = `
Les objectifs de ce service sont :
- 1
- 2
- 3
Âge des données de l'UTC :
| **Feature** | **Support** |
| ------ | ----------- |
| Ancien départs | ✔ |
| Départs possibles | ✔ |
| Informatio sur les universités | ✔ |
`;
class PageHome extends React.Component { class PageHome extends React.Component {
render() { render() {
const { classes } = this.props; const { classes } = this.props;
return ( return (
<Paper className={classes.myPaper}> <Paper className={classes.myPaper}>
<Typography variant="display1"> <Typography variant="display2">
Accueil du site, coucou :) Bienvenue sur <i>Outgoing REX</i>
</Typography> </Typography>
<Markdown source={source} />
</Paper> </Paper>
); );
......
...@@ -35,7 +35,7 @@ function renderUniversityNotFound() { ...@@ -35,7 +35,7 @@ function renderUniversityNotFound() {
> >
<DialogTitle id="alert-dialog-title">{"L'université demandée n'est pas reconnue !"}</DialogTitle> <DialogTitle id="alert-dialog-title">{"L'université demandée n'est pas reconnue !"}</DialogTitle>
<DialogActions> <DialogActions>
<NavLink to="/app/university"> <NavLink to="/app/university" style={{ textDecoration: 'none' }}>
<Button variant="contained" color="primary"> <Button variant="contained" color="primary">
C'est noté, ramenez-moi sur le droit chemin. C'est noté, ramenez-moi sur le droit chemin.
</Button> </Button>
......
...@@ -14,7 +14,7 @@ import { NavLink } from 'react-router-dom' ...@@ -14,7 +14,7 @@ import { NavLink } from 'react-router-dom'
export const mainListItems = ( export const mainListItems = (
<div> <div>
<NavLink to={'/app/'}> <NavLink to={'/app/'} style={{ textDecoration: 'none' }}>
{/* TODO add styling */} {/* TODO add styling */}
<ListItem button> <ListItem button>
<ListItemIcon> <ListItemIcon>
...@@ -24,7 +24,7 @@ export const mainListItems = ( ...@@ -24,7 +24,7 @@ export const mainListItems = (
</ListItem> </ListItem>
</NavLink> </NavLink>
<NavLink to={'/app/search/'}> <NavLink to={'/app/search/'} style={{ textDecoration: 'none' }}>
<ListItem button> <ListItem button>
<ListItemIcon> <ListItemIcon>
<SearchIcon /> <SearchIcon />
...@@ -33,7 +33,7 @@ export const mainListItems = ( ...@@ -33,7 +33,7 @@ export const mainListItems = (
</ListItem> </ListItem>
</NavLink> </NavLink>
<NavLink to={'/app/map/'}> <NavLink to={'/app/map/'} style={{ textDecoration: 'none' }}>
<ListItem button> <ListItem button>
<ListItemIcon> <ListItemIcon>
<MapIcon /> <MapIcon />
...@@ -42,7 +42,7 @@ export const mainListItems = ( ...@@ -42,7 +42,7 @@ export const mainListItems = (
</ListItem> </ListItem>
</NavLink> </NavLink>
<NavLink to={'/app/university/undefined'}> <NavLink to={'/app/university/undefined'} style={{ textDecoration: 'none' }}>
<ListItem button> <ListItem button>
<ListItemIcon> <ListItemIcon>
<LocationCityIcon /> <LocationCityIcon />
...@@ -75,7 +75,7 @@ export const secondaryListItems = ( ...@@ -75,7 +75,7 @@ export const secondaryListItems = (
export const thirdListItems = ( export const thirdListItems = (
<div> <div>
<NavLink to={'/app/settings/'}> <NavLink to={'/app/settings/'} style={{ textDecoration: 'none' }}>
<ListItem button> <ListItem button>
<ListItemIcon> <ListItemIcon>
<SettingsIcon /> <SettingsIcon />
......
// Inspired by : https://github.com/mui-org/material-ui/blob/master/docs/src/pages/page-layout-examples/blog/Markdown.js
import React from 'react';
import ReactMarkdown from 'react-markdown';
import { withStyles } from '@material-ui/core/styles';
import Typography from '@material-ui/core/Typography';
import Table from '@material-ui/core/Table';
import TableBody from '@material-ui/core/TableBody';
import TableCell from '@material-ui/core/TableCell';
import TableHead from '@material-ui/core/TableHead';
import TableRow from '@material-ui/core/TableRow';
import Paper from '@material-ui/core/Paper';
import { rgbToHex, lighten, darken } from '@material-ui/core/styles/colorManipulator';
import { Divider } from '@material-ui/core';
const styles = (theme) => {
const { palette } = theme;
const linkColor = palette.type == 'dark' ? lighten(palette.secondary.main, 0.8) : darken(palette.secondary.main, 0.3);
const backgroundTable = palette.type == 'dark' ? lighten(palette.background.paper, 0.07) : darken(palette.background.paper, 0.02);
const headerTable = palette.type == 'dark' ? lighten(palette.background.paper, 0.13) : darken(palette.background.paper, 0.07);
return {
list: {
color: palette.text.primary,
},
code: {
fontFamily: "monospace"
},
listItem: {
marginTop: theme.spacing.unit,
},
link: {
color: linkColor,
textDecoration: "none",
borderBottom: "1px dotted"
},
blockquote: {
color: palette.text.secondary,
borderLeftWidth: "5px",
borderLeftStyle: "solid",
borderLeftColor: linkColor,
borderRadius: "1px",
margin: "1.5em 10px",
paddingTop: "0px",
paddingBottom: "0px",
paddingRight: "10px",
paddingLeft: "10px",
},
table: {
//color: palette.text.primary,
},
tableHead: {
fontSize: "14px",
background: headerTable,
},
backgroundTable: {
background: backgroundTable
},
bold: {
fontWeight: 700
}
}
}
const renderers = {
/* eslint-disable-next-line react/prop-types */
heading: ({ level, ...props }) => {
let variant;
let paragraph;
switch (level) {
case 1:
variant = 'headline';
break;
case 2:
variant = 'title';
break;
case 3:
variant = 'subheading';
break;
case 4:
variant = 'caption';
paragraph = true;
break;
default:
variant = 'body';
break;
}
return <Typography {...props} gutterBottom variant={variant} paragraph={paragraph} style={{ fontWeight: 700 }} />;
},
list: withStyles(styles, { withTheme: true })(({ classes, tight, ordered, ...props }) => (
<ul className={classes.list}>
{props.children}
</ul>
)),
listItem: withStyles(styles, { withTheme: true })(({ classes, tight, ordered, ...props }) => (
<li className={classes.listItem}>
<Typography component="span" {...props} />
</li>
)),
paragraph: props => <Typography {...props} paragraph />,
link: withStyles(styles, { withTheme: true })(({ classes, ...props }) => (
<a href={props.href} className={classes.link}>
{props.children}
</a>
)),
code: withStyles(styles, { withTheme: true })(({ classes, ...props }) => (
<Typography variant={"body1"} paragraph>
<pre ><code>
{props.value}
</code></pre>
</Typography>
)),
inlineCode: withStyles(styles, { withTheme: true })(({ classes, ...props }) => (
<code className={classes.code}>
{props.children}
</code>
)),
blockquote: withStyles(styles, { withTheme: true })(({ classes, ...props }) => (
<blockquote className={classes.blockquote}>
<em>
{props.children}
</em>
</blockquote>
)),
table: withStyles(styles, { withTheme: true })(({ classes, ...props }) => (
<Paper className={classes.backgroundTable}>
<Table className={classes.table}> {props.children} </Table>
</Paper>
)),
tableHead: withStyles(styles, { withTheme: true })(({ classes, ...props }) => (
<TableHead classes={{ root: classes.bold }} className={classes.tableHead}> {props.children} </TableHead>
)),
tableBody: props => (<TableBody> {props.children} </TableBody>),
tableRow: props => (<TableRow hover={true}> {props.children} </TableRow>),
tableCell: props => (<TableCell> {props.children} </TableCell>),
thematicBreak: props => (<Divider/>)
};
export default function Markdown(props) {
return <ReactMarkdown renderers={renderers} {...props} mode={'escape'} />;
}
\ No newline at end of file
<!DOCTYPE html> <!DOCTYPE html>
<html> <html style="font-size:14">
<head> <head>
<meta <meta
......
...@@ -1680,6 +1680,11 @@ ...@@ -1680,6 +1680,11 @@
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
}, },
"bail": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz",
"integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg=="
},
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
...@@ -2060,6 +2065,21 @@ ...@@ -2060,6 +2065,21 @@
"resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz",
"integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU="
}, },
"character-entities": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz",
"integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ=="
},
"character-entities-legacy": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz",
"integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA=="
},
"character-reference-invalid": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz",
"integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ=="
},
"chardet": { "chardet": {
"version": "0.5.0", "version": "0.5.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz",
...@@ -2206,6 +2226,11 @@ ...@@ -2206,6 +2226,11 @@
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true "dev": true
}, },
"collapse-white-space": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz",
"integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw=="
},
"collection-visit": { "collection-visit": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
...@@ -3175,8 +3200,7 @@ ...@@ -3175,8 +3200,7 @@
"extend": { "extend": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
"dev": true
}, },
"extend-shallow": { "extend-shallow": {
"version": "3.0.2", "version": "3.0.2",
...@@ -4574,8 +4598,7 @@ ...@@ -4574,8 +4598,7 @@
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
"dev": true
}, },
"inquirer": { "inquirer": {
"version": "6.1.0", "version": "6.1.0",
...@@ -4638,6 +4661,20 @@ ...@@ -4638,6 +4661,20 @@
} }
} }
}, },
"is-alphabetical": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz",
"integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg=="
},
"is-alphanumerical": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
"integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
"requires": {
"is-alphabetical": "^1.0.0",
"is-decimal": "^1.0.0"
}
},
"is-arrayish": { "is-arrayish": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
...@@ -4656,8 +4693,7 @@ ...@@ -4656,8 +4693,7 @@
"is-buffer": { "is-buffer": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
"dev": true
}, },
"is-builtin-module": { "is-builtin-module": {
"version": "1.0.0", "version": "1.0.0",
...@@ -4688,6 +4724,11 @@ ...@@ -4688,6 +4724,11 @@
} }
} }
}, },
"is-decimal": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz",
"integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg=="
},
"is-descriptor": { "is-descriptor": {
"version": "0.1.6", "version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
...@@ -4754,6 +4795,11 @@ ...@@ -4754,6 +4795,11 @@
"is-extglob": "^2.1.1" "is-extglob": "^2.1.1"
} }
}, },
"is-hexadecimal": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz",
"integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A=="
},
"is-in-browser": { "is-in-browser": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz",
...@@ -4803,6 +4849,11 @@ ...@@ -4803,6 +4849,11 @@
"path-is-inside": "^1.0.1" "path-is-inside": "^1.0.1"
} }
}, },
"is-plain-obj": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
},
"is-plain-object": { "is-plain-object": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
...@@ -4840,12 +4891,22 @@ ...@@ -4840,12 +4891,22 @@
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true "dev": true
}, },
"is-whitespace-character": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz",
"integrity": "sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ=="
},
"is-windows": { "is-windows": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true "dev": true
}, },
"is-word-character": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz",
"integrity": "sha512-T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA=="
},
"isarray": { "isarray": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
...@@ -5343,6 +5404,11 @@ ...@@ -5343,6 +5404,11 @@
"object-visit": "^1.0.0" "object-visit": "^1.0.0"
} }
}, },
"markdown-escapes": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz",
"integrity": "sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA=="
},
"marked": { "marked": {
"version": "0.5.0", "version": "0.5.0",
"resolved": "https://registry.npmjs.org/marked/-/marked-0.5.0.tgz", "resolved": "https://registry.npmjs.org/marked/-/marked-0.5.0.tgz",
...@@ -5364,6 +5430,14 @@ ...@@ -5364,6 +5430,14 @@
"inherits": "^2.0.1" "inherits": "^2.0.1"
} }
}, },
"mdast-add-list-metadata": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdast-add-list-metadata/-/mdast-add-list-metadata-1.0.1.tgz",
"integrity": "sha512-fB/VP4MJ0LaRsog7hGPxgOrSL3gE/2uEdZyDuSEnKCv/8IkYHiDkIQSbChiJoHyxZZXZ9bzckyRk+vNxFzh8rA==",
"requires": {
"unist-util-visit-parents": "1.1.2"
}
},
"mem": { "mem": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
...@@ -6086,6 +6160,19 @@ ...@@ -6086,6 +6160,19 @@
"pbkdf2": "^3.0.3" "pbkdf2": "^3.0.3"
} }
}, },
"parse-entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.2.tgz",
"integrity": "sha512-5N9lmQ7tmxfXf+hO3X6KRG6w7uYO/HL9fHalSySTdyn63C3WNvTM/1R8tn1u1larNcEbo3Slcy2bsVDQqvEpUg==",
"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"
}
},
"parse-json": {