diff --git a/changelog.md b/changelog.md
index a6fab8d3b..45f050e01 100644
--- a/changelog.md
+++ b/changelog.md
@@ -34,16 +34,37 @@ pre {
## changelog
For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery).
+### Wednesday 02/02/2022 - v3.0.7
+{{taskList
+* [x] Revert active line highlighting.
+
+ Fixes issues: [#1913](https://github.com/naturalcrit/homebrewery/issues/1913)
+
+* [x] Added install steps for Ubuntu. [HERE](https://github.com/naturalcrit/homebrewery/blob/master/install/README.UBUNTU.md)
+
+ Fixes issues: [#1900](https://github.com/naturalcrit/homebrewery/issues/1900)
+
+* [x] Added social media links to home page.
+
+* [x] Increase brews visible on the user page to 1,000.
+
+ Fixes issues: [#1943](https://github.com/naturalcrit/homebrewery/issues/1943)
+
+* [x] Added a Legacy to V3 migration guide under **NEED HELP? {{fa,fa-question-circle}} → MIGRATE {{fas,fa-file-import}}**
+
+* [x] Background refactoring and unit tests.
+}}
+
### Saturday 18/12/2021 - v3.0.6
{{taskList
* [x] Fixed text wrapping for long strings in code blocks.
Fixes issues: [#1736](https://github.com/naturalcrit/homebrewery/issues/1736)
-
+
* [x] Code search/replace `CTRL F / CTRL SHIFT F`
Fixes issues: [#1201](https://github.com/naturalcrit/homebrewery/issues/1201)
-
+
* [x] Auto-closing HTML tags and curly braces `{{ }}`
* [x] Highlight current active line
@@ -56,7 +77,7 @@ For a full record of development, visit our [Github Page](https://github.com/nat
* [x] Make columns even in V3 Table of Contents.
Fixes issues: [#1671](https://github.com/naturalcrit/homebrewery/issues/1671)
-
+
* [x] Fix `CTRL P` failing to print from `/new` pages.
Fixes issues: [#1815](https://github.com/naturalcrit/homebrewery/issues/1815)
diff --git a/client/homebrew/navbar/help.navitem.jsx b/client/homebrew/navbar/help.navitem.jsx
new file mode 100644
index 000000000..b4be18319
--- /dev/null
+++ b/client/homebrew/navbar/help.navitem.jsx
@@ -0,0 +1,25 @@
+const React = require('react');
+const createClass = require('create-react-class');
+const _ = require('lodash');
+
+const Nav = require('naturalcrit/nav/nav.jsx');
+
+module.exports = function(props){
+ return
+
+ need help?
+
+
+ report issue
+
+
+ migrate
+
+ ;
+};
diff --git a/client/homebrew/navbar/issue.navitem.jsx b/client/homebrew/navbar/issue.navitem.jsx
deleted file mode 100644
index 529744c29..000000000
--- a/client/homebrew/navbar/issue.navitem.jsx
+++ /dev/null
@@ -1,13 +0,0 @@
-const React = require('react');
-const createClass = require('create-react-class');
-const Nav = require('naturalcrit/nav/nav.jsx');
-
-module.exports = function(props){
- return
- report issue
- ;
-};
diff --git a/client/homebrew/navbar/navbar.less b/client/homebrew/navbar/navbar.less
index 36cbdf935..a149307e8 100644
--- a/client/homebrew/navbar/navbar.less
+++ b/client/homebrew/navbar/navbar.less
@@ -1,5 +1,6 @@
+@import 'naturalcrit/styles/colors.less';
@navbarHeight : 28px;
-@keyframes coloring {
+@keyframes pinkColoring {
//from {color: white;}
//to {color: red;}
0% {color: pink;}
@@ -62,19 +63,21 @@
}
i{
.animate(color);
- animation-name: coloring;
+ animation-name: pinkColoring;
animation-duration: 2s;
color: pink;
}
}
- .recent.navItem{
+ .recent.navItem {
position : relative;
.dropdown{
- position : absolute;
- top : 28px;
- left : 0px;
- z-index : 10000;
- width : 100%;
+ position : absolute;
+ top : 28px;
+ left : 0px;
+ z-index : 10000;
+ width : 100%;
+ overflow : hidden auto;
+ max-height : ~"calc(100vh - 28px)";
h4{
display : block;
box-sizing : border-box;
@@ -88,11 +91,12 @@
&:nth-of-type(2){ background-color: darken(@purple, 30%); }
}
.item{
+ #backgroundColors;
.animate(background-color);
position : relative;
display : block;
box-sizing : border-box;
- padding : 13px 5px;
+ padding : 8px 5px 13px;
background-color : #333;
color : white;
text-decoration : none;
diff --git a/client/homebrew/navbar/recent.navitem.jsx b/client/homebrew/navbar/recent.navitem.jsx
index 79d063b8b..ee24cfd5c 100644
--- a/client/homebrew/navbar/recent.navitem.jsx
+++ b/client/homebrew/navbar/recent.navitem.jsx
@@ -123,8 +123,8 @@ const RecentItems = createClass({
if(!this.state.showDropdown) return null;
const makeItems = (brews)=>{
- return _.map(brews, (brew)=>{
- return
+ return _.map(brews, (brew, i)=>{
+ return
{brew.title || '[ no title ]'}
{Moment(brew.ts).fromNow()}
;
diff --git a/client/homebrew/pages/userPage/brewItem/brewItem.jsx b/client/homebrew/pages/basePages/listPage/brewItem/brewItem.jsx
similarity index 98%
rename from client/homebrew/pages/userPage/brewItem/brewItem.jsx
rename to client/homebrew/pages/basePages/listPage/brewItem/brewItem.jsx
index b0b647b86..a89dad11e 100644
--- a/client/homebrew/pages/userPage/brewItem/brewItem.jsx
+++ b/client/homebrew/pages/basePages/listPage/brewItem/brewItem.jsx
@@ -6,7 +6,7 @@ const cx = require('classnames');
const moment = require('moment');
const request = require('superagent');
-const googleDriveIcon = require('../../../googleDrive.png');
+const googleDriveIcon = require('../../../../googleDrive.png');
const dedent = require('dedent-tabs').default;
const BrewItem = createClass({
diff --git a/client/homebrew/pages/userPage/brewItem/brewItem.less b/client/homebrew/pages/basePages/listPage/brewItem/brewItem.less
similarity index 94%
rename from client/homebrew/pages/userPage/brewItem/brewItem.less
rename to client/homebrew/pages/basePages/listPage/brewItem/brewItem.less
index d323874f5..762a0b8d5 100644
--- a/client/homebrew/pages/userPage/brewItem/brewItem.less
+++ b/client/homebrew/pages/basePages/listPage/brewItem/brewItem.less
@@ -17,6 +17,8 @@
-webkit-column-break-inside : avoid;
page-break-inside : avoid;
break-inside : avoid;
+ box-shadow : 0px 4px 5px 0px #333;
+ background-color : #cab2802e;
.text {
min-height : 54px;
h4{
diff --git a/client/homebrew/pages/basePages/listPage/listPage.jsx b/client/homebrew/pages/basePages/listPage/listPage.jsx
new file mode 100644
index 000000000..e1f300ab2
--- /dev/null
+++ b/client/homebrew/pages/basePages/listPage/listPage.jsx
@@ -0,0 +1,160 @@
+require('./listPage.less');
+const React = require('react');
+const createClass = require('create-react-class');
+const _ = require('lodash');
+const moment = require('moment');
+
+const BrewItem = require('./brewItem/brewItem.jsx');
+
+const ListPage = createClass({
+ displayName : 'ListPage',
+ getDefaultProps : function() {
+ return {
+ brewCollection : [
+ {
+ title : '',
+ class : '',
+ brews : []
+ }
+ ],
+ navItems : <>>
+ };
+ },
+ getInitialState : function() {
+ return {
+ sortType : 'alpha',
+ sortDir : 'asc',
+ filterString : ''
+ };
+ },
+
+ renderBrews : function(brews){
+ if(!brews || !brews.length) return
No Brews.
;
+
+ return _.map(brews, (brew, idx)=>{
+ return ;
+ });
+ },
+
+ sortBrewOrder : function(brew){
+ if(!brew.title){brew.title = 'No Title';}
+ const mapping = {
+ 'alpha' : _.deburr(brew.title.toLowerCase()),
+ 'created' : moment(brew.createdAt).format(),
+ 'updated' : moment(brew.updatedAt).format(),
+ 'views' : brew.views,
+ 'latest' : moment(brew.lastViewed).format()
+ };
+ return mapping[this.state.sortType];
+ },
+
+ handleSortOptionChange : function(event){
+ this.setState({
+ sortType : event.target.value
+ });
+ },
+
+ handleSortDirChange : function(event){
+ this.setState({
+ sortDir : `${(this.state.sortDir == 'asc' ? 'desc' : 'asc')}`
+ });
+ },
+
+ renderSortOption : function(sortTitle, sortValue){
+ return
+
+ {`${sortTitle}`}
+
+ ;
+ },
+
+ handleFilterTextChange : function(e){
+ this.setState({
+ filterString : e.target.value
+ });
+ return;
+ },
+
+ renderFilterOption : function(){
+ return
+
+
+
+
+ ;
+ },
+
+ renderSortOptions : function(){
+ return
+
+
+
+
+ Sort by :
+
+ {this.renderSortOption('Title', 'alpha')}
+ {this.renderSortOption('Created Date', 'created')}
+ {this.renderSortOption('Updated Date', 'updated')}
+ {this.renderSortOption('Views', 'views')}
+ {/* {this.renderSortOption('Latest', 'latest')} */}
+
+ Direction :
+
+
+
+ {`${(this.state.sortDir == 'asc' ? '\u25B2 ASC' : '\u25BC DESC')}`}
+
+
+ {this.renderFilterOption()}
+
+
+
+
;
+ },
+
+ getSortedBrews : function(brews){
+ const testString = _.deburr(this.state.filterString).toLowerCase();
+ brews = _.filter(brews, (brew)=>{
+ return (_.deburr(brew.title).toLowerCase().includes(testString)) ||
+ (_.deburr(brew.description).toLowerCase().includes(testString));
+ });
+
+ return _.orderBy(brews, (brew)=>{ return this.sortBrewOrder(brew); }, this.state.sortDir);
+ },
+
+ renderBrewCollection : function(brewCollection){
+ return _.map(brewCollection, (brewGroup, idx)=>{
+ return
+
{brewGroup.title || 'No Title'}
+ {this.renderBrews(this.getSortedBrews(brewGroup.brews))}
+ ;
+ });
+ },
+
+ render : function(){
+ return
+
+ {this.props.navItems}
+
+
+
+ {this.renderSortOptions()}
+ {this.renderBrewCollection(this.props.brewCollection)}
+
+
+
;
+ }
+});
+
+module.exports = ListPage;
diff --git a/client/homebrew/pages/userPage/userPage.less b/client/homebrew/pages/basePages/listPage/listPage.less
similarity index 99%
rename from client/homebrew/pages/userPage/userPage.less
rename to client/homebrew/pages/basePages/listPage/listPage.less
index d968aab9a..6be946404 100644
--- a/client/homebrew/pages/userPage/userPage.less
+++ b/client/homebrew/pages/basePages/listPage/listPage.less
@@ -11,7 +11,7 @@
-webkit-column-gap : auto;
-moz-column-gap : auto;
}
-.userPage{
+.listPage{
.content{
overflow-y : scroll;
.phb{
diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx
index 17dfd865b..3e1e3bda3 100644
--- a/client/homebrew/pages/editPage/editPage.jsx
+++ b/client/homebrew/pages/editPage/editPage.jsx
@@ -10,7 +10,7 @@ const Nav = require('naturalcrit/nav/nav.jsx');
const Navbar = require('../../navbar/navbar.jsx');
const NewBrew = require('../../navbar/newbrew.navitem.jsx');
-const ReportIssue = require('../../navbar/issue.navitem.jsx');
+const HelpNavItem = require('../../navbar/help.navitem.jsx');
const PrintLink = require('../../navbar/print.navitem.jsx');
const Account = require('../../navbar/account.navitem.jsx');
const RecentNavItem = require('../../navbar/recent.navitem.jsx').both;
@@ -434,7 +434,7 @@ const EditPage = createClass({
{this.renderGoogleDriveIcon()}
{this.renderSaveButton()}
-
+
share
diff --git a/client/homebrew/pages/errorPage/errorPage.jsx b/client/homebrew/pages/errorPage/errorPage.jsx
index aa51c83be..560ab5625 100644
--- a/client/homebrew/pages/errorPage/errorPage.jsx
+++ b/client/homebrew/pages/errorPage/errorPage.jsx
@@ -7,8 +7,8 @@ const cx = require('classnames');
const Nav = require('naturalcrit/nav/nav.jsx');
const Navbar = require('../../navbar/navbar.jsx');
const PatreonNavItem = require('../../navbar/patreon.navitem.jsx');
-const IssueNavItem = require('../../navbar/issue.navitem.jsx');
const RecentNavItem = require('../../navbar/recent.navitem.jsx').both;
+const HelpNavItem = require('../../navbar/help.navitem.jsx');
const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx');
@@ -33,7 +33,7 @@ const ErrorPage = createClass({
-
+
diff --git a/client/homebrew/pages/homePage/homePage.jsx b/client/homebrew/pages/homePage/homePage.jsx
index 4f6c2cb41..6947eb031 100644
--- a/client/homebrew/pages/homePage/homePage.jsx
+++ b/client/homebrew/pages/homePage/homePage.jsx
@@ -9,7 +9,7 @@ const { Meta } = require('vitreum/headtags');
const Nav = require('naturalcrit/nav/nav.jsx');
const Navbar = require('../../navbar/navbar.jsx');
const NewBrewItem = require('../../navbar/newbrew.navitem.jsx');
-const IssueNavItem = require('../../navbar/issue.navitem.jsx');
+const HelpNavItem = require('../../navbar/help.navitem.jsx');
const RecentNavItem = require('../../navbar/recent.navitem.jsx').both;
const AccountNavItem = require('../../navbar/account.navitem.jsx');
@@ -59,7 +59,7 @@ const HomePage = createClass({
return
-
+
diff --git a/client/homebrew/pages/homePage/migrate.md b/client/homebrew/pages/homePage/migrate.md
new file mode 100644
index 000000000..822e97ef0
--- /dev/null
+++ b/client/homebrew/pages/homePage/migrate.md
@@ -0,0 +1,202 @@
+# How to Convert a Legacy Document to v3
+Here you will find a number of steps to guide you through converting a Legacy document into a Homebrewery v3 document.
+
+**The first thing you'll want to do is switch the editor's rendering engine from `Legacy` to `v3`.** This will be the renderer we design features for moving forward.
+
+There are some examples of Legacy code in the code pane if you need more context behind some of the changes.
+
+**This document will evolve as users like yourself inform us of issues with it, or areas of conversion that it does not cover. _Please_ reach out if you have any suggestions for this document.**
+
+## Simple Replacements
+To make your life a little easier with this section, a text editor like [VSCode](https://code.visualstudio.com/) or Notepad will help a lot.
+
+The following table describes Legacy and other document elements and their Homebrewery counterparts. A simple find/replace should get these in working order.
+
+| Legacy / Other | Homebrewery |
+|:----------------|:-----------------------------|
+| `\pagebreak` | `\page` |
+| `======` | `\page` |
+| `\pagebreaknum` | `{{pageNumber,auto}}\n\page` |
+| `@=====` | `{{pageNumber,auto}}\n\page` |
+| `\columnbreak` | `\column` |
+| `.phb` | `.page` |
+
+## Classed or Styled Divs
+Anything that relies on the following syntax can be changed to the new Homebrewery v3 curly brace syntax:
+
+```
+
+...
+
+```
+:
+The above example is equivalent to the following in v3 syntax.
+
+```
+{{classTable,wide
+...
+}}
+```
+:
+Some examples of this include class tables (as shown above), descriptive blocks, notes, and spell lists.
+
+\column
+
+## Margins and Padding
+Any manual margins and padding to push text down the page will likely need to be updated. Colons can be used on lines by themselves to push things down the page vertically if you'd rather not set pixel-perfect margins or padding.
+
+## Notes
+
+In Legacy, notes are denoted using markdown blockquote syntax. In Homebrewery v3, this is replaced by the curly brace syntax.
+
+
+
+{{note
+##### Title
+Information
+}}
+
+## Split Tables
+Split tables also use the curly brace syntax, as the new renderer can handle style values separately from class names.
+
+
+
+##### Typical Difficulty Classes
+{{column-count:2
+| Task Difficulty | DC |
+|:----------------|:--:|
+| Very easy | 5 |
+| Easy | 10 |
+| Medium | 15 |
+
+| Task Difficulty | DC |
+|:------------------|:--:|
+| Hard | 20 |
+| Very hard | 25 |
+| Nearly impossible | 30 |
+}}
+
+## Blockquotes
+Blockquotes are denoted by the `>` character at the beginning of the line. In Homebrewery's v3 renderer, they hold virtually no meaning and have no CSS styling. You are free to use blockquotes when styling your document or creating themes without needing to worry about your CSS affecting other parts of the document.
+
+{{pageNumber,auto}}
+
+\page
+
+## Stat Blocks
+
+There are pretty significant differences between stat blocks on the Legacy renderer and Homebrewery v3. This section contains a list of changes that will need to be made to update the stat block.
+
+### Initial Changes
+You will want to **remove all leading** `___` that started the stat block in Legacy, and replace that with `{{monster` before the stat block, and `}}` after it.
+
+**If you want a frame** around the stat block, you can add `,frame` to the curly brace definition.
+
+**If the stat block was wide**, make sure to add `,wide` to the curly brace definition.
+
+### Blockquotes
+The key difference is the lack of blockquotes. Legacy documents use the `>` symbol at the start of the line for each line in the stat block, and the v3 renderer does not. **You will want to remove all `>` characters at the beginning of all lines, and delete any leading spaces.**
+
+### Lists
+The basic characteristics and advanced characteristics sections are not list elements in Homebrewery. You will want to **remove all `-` or `*` characters from the beginning of lines.**
+
+### Spacing
+In order to have the correct spacing after removing the list elements, you will want to **add two colons between the name of each basic/advanced characteristic and its value.** _(see example in the code pane)_
+
+Additionally, in the special traits and actions sections, you will want to add a colon at the beginning of each line that separates a trait/action from another, as seen below. **Any empty lines between special traits and actions should contain only a colon.** _(see example in the code pane)_
+
+\column
+
+{{margin-top:102px}}
+
+
+
+### Homebrewery v3 Example:
+
+{{monster
+## Centaur
+*Large monstrosity, neutral good*
+___
+**Armor Class** :: 12
+**Hit Points** :: 45(6d10 + 12)
+**Speed** :: 50ft.
+___
+| STR | DEX | CON | INT | WIS | CHA |
+|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|
+|18 (+4)|14 (+2)|14 (+2)|9 (-1) |13 (+1)|11 (+0)|
+___
+**Skills** :: Athletics +6, Perception +3, Survival +3
+**Senses** :: passive Perception 13
+**Languages** :: Elvish, Sylvan
+**Challenge** :: 2 (450 XP)
+___
+***Charge.*** If the centaur moves at least 30 feet straight toward a target and then hits it with a pike attack on the same turn, the target takes an extra 10 (3d6) piercing damage.
+:
+***Second Thing*** More details.
+
+### Actions
+***Multiattack.*** The centaur makes two attacks: one with its pike and one with its hooves or two with its longbow.
+:
+***Pike.*** *Melee Weapon Attack:* +6 to hit, reach 10 ft., one target. *Hit:* 9 (1d10 + 4) piercing damage.
+:
+***Hooves.*** *Melee Weapon Attack:* +6 to hit, reach 5 ft., one target. *Hit:* 11 (2d6 + 4) bludgeoning damage.
+:
+***Longbow.*** *Ranged Weapon Attack:* +4 to hit, range 150/600 ft., one target. *Hit:* 6 (1d8 + 2) piercing damage.
+}}
+
+{{pageNumber,auto}}
+
+
+
diff --git a/client/homebrew/pages/homePage/welcome_msg.md b/client/homebrew/pages/homePage/welcome_msg.md
index f182517f5..e3f2f6124 100644
--- a/client/homebrew/pages/homePage/welcome_msg.md
+++ b/client/homebrew/pages/homePage/welcome_msg.md
@@ -1,4 +1,5 @@
# The Homebrewery
+
Welcome traveler from an antique land. Please sit and tell us of what you have seen. The unheard of monsters, who slither and bite. Tell us of the wondrous items and and artifacts you have found, their mysteries yet to be unlocked. Of the vexing vocations and surprising skills you have seen.
### Homebrew D&D made easy
@@ -57,17 +58,20 @@ The Homebrewery is licensed using the [MIT License](https://github.com/naturalcr
If you wish to sell or in some way gain profit for what you make on this site, it's your responsibility to ensure you have the proper licenses/rights for any images or resources used.
### More Resources
-If you are looking for more 5e Homebrew resources check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources).
+
+If you are looking for more 5e Homebrew resources check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources). The Discord of Many Things is another great resource to connect with fellow homebrewers for help and feedback.
-
-
-
+
1
-
-
+
\page
diff --git a/client/homebrew/pages/homePage/welcome_msg_v3.md b/client/homebrew/pages/homePage/welcome_msg_v3.md
index 9cd1b6062..0ec8cb000 100644
--- a/client/homebrew/pages/homePage/welcome_msg_v3.md
+++ b/client/homebrew/pages/homePage/welcome_msg_v3.md
@@ -2,7 +2,6 @@
.page #example + table td {
border:1px dashed #00000030;
}
-
.page {
padding-bottom : 1.1cm;
}
@@ -50,9 +49,9 @@ If you want to save ink or have a monochrome printer, add the **PRINT → {{fas,
\column
## New in V3.0.0
-With the latest major update to *The Homebrewery* we've implemented an extended Markdown-like syntax for block and span elements, plus a few other changes, eliminating the need for HTML tags like `div` and `span` in most cases. No raw HTML tags should be needed in a brew, and going forward, raw HTML will no longer receive debugging support (*but can still be used if you insist*).
+We've implemented an extended Markdown-like syntax for block and span elements, plus a few other changes, eliminating the need for HTML tags like `div` and `span` in most cases. No raw HTML tags should be needed in a brew (*but can still be used if you insist*).
-Much of the syntax and styling has changed in V3. Code in one version may be broken in the other, and updating an older brew to V3 will require more than just a copy and paste. *However*, all brews made prior to the release of v3.0.0 will still render normally, and you may switch between the "Legacy" brew renderer and the newer "V3" renderer via the {{fa,fa-info-circle}} **Properties** button on your brew at any time.
+Much of the syntax and styling has changed in V3, so converting a Legacy brew to V3 (or vice-versa) will require tweaking your document. *However*, all brews made prior to the release of v3.0.0 will still render normally, and you may switch between the "Legacy" brew renderer and the newer "V3" renderer via the {{fa,fa-info-circle}} **Properties** button on your brew at any time.
Scroll down to the next page for a brief summary of the changes and new features available in V3!
@@ -80,8 +79,15 @@ If you wish to sell or in some way gain profit for what's created on this site,
If you'd like to credit me in your brew, I'd be flattered! Just reference that you made it with The Homebrewery.
### More Homebrew Resources
-Check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources).
+
+If you are looking for more 5e Homebrew resources check out [r/UnearthedArcana](https://www.reddit.com/r/UnearthedArcana/) and their list of useful resources [here](https://www.reddit.com/r/UnearthedArcana/wiki/resources). The Discord of Many Things is another great resource to connect with fellow homebrewers for help and feedback.
+{{position:absolute;top:20px;right:20px;width:auto
+
+
+
+
+}}
\page
@@ -123,9 +129,7 @@ A blank line can be achieved with a run of one or more `:` alone on a line. More
Much nicer than ` `
### Definition Lists
-V3 uses HTML *definition lists* to create "lists" with hanging indents.
-
-**Senses** :: Here is some text that is long and overflows into a second line, creating a "hanging indent".
+**Example** :: V3 uses HTML *definition lists* to create "lists" with hanging indents.
### Column Breaks
Column and page breaks with `\column` and `\page`.
@@ -153,9 +157,9 @@ These can be combined to span a cell across both columns and rows. Cells must ha
| 6A | 6B ^| 6C |
## Images
-Images must be hosted online somewhere, like [Imgur](https://www.imgur.com). You use the address to that image to reference it in your brew\*. Images can be included using Markdown-style images.
+Images must be hosted online somewhere, like [Imgur](https://www.imgur.com). You use the address to that image to reference it in your brew\*.
-Using *Curly Injection* you can assign an id, classes, or specific inline CSS properties to the image.
+Using *Curly Injection* you can assign an id, classes, or inline CSS properties to the Markdown image syntax.
 {width:100px,border:"2px solid",border-radius:10px}
diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx
index 0c6b0aa6a..a126d1325 100644
--- a/client/homebrew/pages/newPage/newPage.jsx
+++ b/client/homebrew/pages/newPage/newPage.jsx
@@ -11,7 +11,7 @@ const Nav = require('naturalcrit/nav/nav.jsx');
const Navbar = require('../../navbar/navbar.jsx');
const AccountNavItem = require('../../navbar/account.navitem.jsx');
const RecentNavItem = require('../../navbar/recent.navitem.jsx').both;
-const IssueNavItem = require('../../navbar/issue.navitem.jsx');
+const HelpNavItem = require('../../navbar/help.navitem.jsx');
const SplitPane = require('naturalcrit/splitPane/splitPane.jsx');
const Editor = require('../../editor/editor.jsx');
@@ -291,7 +291,7 @@ const NewPage = createClass({
{this.renderSaveButton()}
{this.renderLocalPrintButton()}
-
+
diff --git a/client/homebrew/pages/userPage/userPage.jsx b/client/homebrew/pages/userPage/userPage.jsx
index 700ca4131..a78ba11af 100644
--- a/client/homebrew/pages/userPage/userPage.jsx
+++ b/client/homebrew/pages/userPage/userPage.jsx
@@ -1,10 +1,9 @@
-require('./userPage.less');
const React = require('react');
const createClass = require('create-react-class');
const _ = require('lodash');
const cx = require('classnames');
-const moment = require('moment');
+const ListPage = require('../basePages/listPage/listPage.jsx');
const Nav = require('naturalcrit/nav/nav.jsx');
const Navbar = require('../../navbar/navbar.jsx');
@@ -12,16 +11,7 @@ const Navbar = require('../../navbar/navbar.jsx');
const RecentNavItem = require('../../navbar/recent.navitem.jsx').both;
const Account = require('../../navbar/account.navitem.jsx');
const NewBrew = require('../../navbar/newbrew.navitem.jsx');
-const BrewItem = require('./brewItem/brewItem.jsx');
-const ReportIssue = require('../../navbar/issue.navitem.jsx');
-
-// const brew = {
-// title : 'SUPER Long title woah now',
-// authors : []
-// };
-
-//const BREWS = _.times(25, ()=>{ return brew;});
-
+const HelpNavItem = require('../../navbar/help.navitem.jsx');
const UserPage = createClass({
displayName : 'UserPage',
@@ -32,160 +22,47 @@ const UserPage = createClass({
};
},
getInitialState : function() {
- return {
- sortType : 'alpha',
- sortDir : 'asc',
- filterString : ''
- };
- },
- getUsernameWithS : function() {
- if(this.props.username.endsWith('s'))
- return `${this.props.username}'`;
- return `${this.props.username}'s`;
- },
+ const usernameWithS = this.props.username + (this.props.username.endsWith('s') ? `'` : `'s`);
- renderBrews : function(brews){
- if(!brews || !brews.length) return No Brews.
;
-
- const sortedBrews = this.sortBrews(brews);
-
- return _.map(sortedBrews, (brew, idx)=>{
- return ;
- });
- },
-
- sortBrewOrder : function(brew){
- if(!brew.title){brew.title = 'No Title';}
- const mapping = {
- 'alpha' : _.deburr(brew.title.toLowerCase()),
- 'created' : moment(brew.createdAt).format(),
- 'updated' : moment(brew.updatedAt).format(),
- 'views' : brew.views,
- 'latest' : moment(brew.lastViewed).format()
- };
- return mapping[this.state.sortType];
- },
-
- sortBrews : function(brews){
- return _.orderBy(brews, (brew)=>{ return this.sortBrewOrder(brew); }, this.state.sortDir);
- },
-
- handleSortOptionChange : function(event){
- this.setState({
- sortType : event.target.value
- });
- },
-
- handleSortDirChange : function(event){
- this.setState({
- sortDir : `${(this.state.sortDir == 'asc' ? 'desc' : 'asc')}`
- });
- },
-
- renderSortOption : function(sortTitle, sortValue){
- return
-
- {`${sortTitle}`}
-
- ;
- },
-
- handleFilterTextChange : function(e){
- this.setState({
- filterString : e.target.value
- });
- return;
- },
-
- renderFilterOption : function(){
- return
-
-
-
-
- ;
- },
-
- renderSortOptions : function(){
- return
-
-
-
-
- Sort by :
-
- {this.renderSortOption('Title', 'alpha')}
- {this.renderSortOption('Created Date', 'created')}
- {this.renderSortOption('Updated Date', 'updated')}
- {this.renderSortOption('Views', 'views')}
- {/* {this.renderSortOption('Latest', 'latest')} */}
-
- Direction :
-
-
-
- {`${(this.state.sortDir == 'asc' ? '\u25B2 ASC' : '\u25BC DESC')}`}
-
-
- {this.renderFilterOption()}
-
-
-
-
;
- },
-
- getSortedBrews : function(){
- const testString = _.deburr(this.state.filterString).toLowerCase();
- const brewCollection = this.state.filterString ? _.filter(this.props.brews, (brew)=>{
- return (_.deburr(brew.title).toLowerCase().includes(testString)) ||
- (_.deburr(brew.description).toLowerCase().includes(testString));
- }) : this.props.brews;
- return _.groupBy(brewCollection, (brew)=>{
+ const brews = _.groupBy(this.props.brews, (brew)=>{
return (brew.published ? 'published' : 'private');
});
+
+ const brewCollection = [
+ {
+ title : `${usernameWithS} published brews`,
+ class : 'published',
+ brews : brews.published
+ }
+ ];
+ if(this.props.username == global.account?.username){
+ brewCollection.push(
+ {
+ title : `${usernameWithS} unpublished brews`,
+ class : 'unpublished',
+ brews : brews.private
+ }
+ );
+ }
+
+ return {
+ brewCollection : brewCollection
+ };
+ },
+
+ navItems : function() {
+ return
+
+
+
+
+
+
+ ;
},
render : function(){
- const brews = this.getSortedBrews();
-
- return
-
-
-
-
-
-
-
-
-
-
-
-
- {this.renderSortOptions()}
-
-
{this.getUsernameWithS()} published brews
- {this.renderBrews(brews.published)}
-
- {this.props.username == global.account?.username &&
-
-
{this.getUsernameWithS()} unpublished brews
- {this.renderBrews(brews.private)}
-
- }
-
-
-
;
+ return ;
}
});
diff --git a/package-lock.json b/package-lock.json
index baca1960a..13970f622 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,43 +1,41 @@
{
"name": "homebrewery",
- "version": "3.0.6",
+ "version": "3.0.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
- "name": "homebrewery",
- "version": "3.0.6",
+ "version": "3.0.7",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "@babel/core": "^7.16.7",
- "@babel/plugin-transform-runtime": "^7.16.7",
- "@babel/preset-env": "^7.16.7",
+ "@babel/core": "^7.17.2",
+ "@babel/plugin-transform-runtime": "^7.17.0",
+ "@babel/preset-env": "^7.16.11",
"@babel/preset-react": "^7.16.7",
"body-parser": "^1.19.1",
"classnames": "^2.3.1",
- "codemirror": "^5.65.0",
+ "codemirror": "^5.65.1",
"cookie-parser": "^1.4.6",
"create-react-class": "^15.7.0",
"dedent-tabs": "^0.10.1",
"express": "^4.17.2",
"express-async-handler": "^1.2.0",
- "express-static-gzip": "2.1.1",
+ "express-static-gzip": "2.1.3",
"fs-extra": "10.0.0",
- "googleapis": "92.0.0",
+ "googleapis": "95.0.0",
"js-yaml": "^4.1.0",
"jwt-simple": "^0.5.6",
"less": "^3.13.1",
"lodash": "^4.17.21",
- "marked": "4.0.9",
+ "marked": "4.0.12",
"marked-extended-tables": "^1.0.3",
"markedLegacy": "npm:marked@^0.3.19",
"moment": "^2.29.1",
- "mongoose": "^6.1.5",
- "nanoid": "3.1.30",
+ "mongoose": "^6.2.1",
+ "nanoid": "3.2.0",
"nconf": "^0.11.3",
- "prop-types": "15.8.0",
- "query-string": "7.1.0",
+ "query-string": "7.1.1",
"react": "^16.14.0",
"react-dom": "^16.14.0",
"react-frame-component": "4.1.3",
@@ -47,14 +45,28 @@
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
},
"devDependencies": {
- "eslint": "^8.6.0",
+ "eslint": "^8.8.0",
"eslint-plugin-react": "^7.28.0",
- "jest": "^27.4.5"
+ "jest": "^27.5.1",
+ "supertest": "^6.2.2"
},
"engines": {
"node": "16.11.x"
}
},
+ "node_modules/@ampproject/remapping": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.0.1.tgz",
+ "integrity": "sha512-EldHF4Ufj3NL9yCAmYrPzY+3/Yqrzxu24F4Mu4nRjK3w70AKYRmhuLwGZdA9JeoDsbIwkgGkbqUK2INuF582Og==",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/trace-mapping": "^0.2.2",
+ "sourcemap-codec": "1.4.8"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@babel/code-frame": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
@@ -67,33 +79,33 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
- "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz",
+ "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz",
- "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==",
+ "version": "7.17.2",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.2.tgz",
+ "integrity": "sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==",
"dependencies": {
+ "@ampproject/remapping": "^2.0.0",
"@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.16.7",
+ "@babel/generator": "^7.17.0",
"@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-module-transforms": "^7.16.7",
- "@babel/helpers": "^7.16.7",
- "@babel/parser": "^7.16.7",
+ "@babel/helpers": "^7.17.2",
+ "@babel/parser": "^7.17.0",
"@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7",
+ "@babel/traverse": "^7.17.0",
+ "@babel/types": "^7.17.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
@@ -140,20 +152,12 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@babel/core/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@babel/generator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.7.tgz",
- "integrity": "sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.0.tgz",
+ "integrity": "sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==",
"dependencies": {
- "@babel/types": "^7.16.7",
+ "@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -218,9 +222,9 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz",
- "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==",
+ "version": "7.16.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz",
+ "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.16.7",
"@babel/helper-environment-visitor": "^7.16.7",
@@ -416,13 +420,13 @@
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.7.tgz",
- "integrity": "sha512-C3o117GnP/j/N2OWo+oepeWbFEKRfNaay+F1Eo5Mj3A1SRjyx+qaFhm23nlipub7Cjv2azdUUiDH+VlpdwUFRg==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz",
+ "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-wrap-function": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/helper-wrap-function": "^7.16.8",
+ "@babel/types": "^7.16.8"
},
"engines": {
"node": ">=6.9.0"
@@ -493,27 +497,27 @@
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.7.tgz",
- "integrity": "sha512-7a9sABeVwcunnztZZ7WTgSw6jVYLzM1wua0Z4HIXm9S3/HC96WKQTkFgGEaj5W06SHHihPJ6Le6HzS5cGOQMNw==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz",
+ "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==",
"dependencies": {
"@babel/helper-function-name": "^7.16.7",
"@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/traverse": "^7.16.8",
+ "@babel/types": "^7.16.8"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz",
- "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==",
+ "version": "7.17.2",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz",
+ "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==",
"dependencies": {
"@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/traverse": "^7.17.0",
+ "@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
@@ -562,9 +566,9 @@
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"node_modules/@babel/parser": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.7.tgz",
- "integrity": "sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz",
+ "integrity": "sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -603,12 +607,12 @@
}
},
"node_modules/@babel/plugin-proposal-async-generator-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.7.tgz",
- "integrity": "sha512-TTXBT3A5c11eqRzaC6beO6rlFT3Mo9C2e8eB44tTr52ESXSK2CIc2fOp1ynpAwQA8HhBMho+WXhMHWlAe3xkpw==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz",
+ "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==",
"dependencies": {
"@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.7",
+ "@babel/helper-remap-async-to-generator": "^7.16.8",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
@@ -789,11 +793,11 @@
}
},
"node_modules/@babel/plugin-proposal-private-methods": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz",
- "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==",
+ "version": "7.16.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
+ "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
+ "@babel/helper-create-class-features-plugin": "^7.16.10",
"@babel/helper-plugin-utils": "^7.16.7"
},
"engines": {
@@ -1063,13 +1067,13 @@
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.7.tgz",
- "integrity": "sha512-pFEfjnK4DfXCfAlA5I98BYdDJD8NltMzx19gt6DAmfE+2lXRfPUoa0/5SUjT4+TDE1W/rcxU/1lgN55vpAjjdg==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz",
+ "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==",
"dependencies": {
"@babel/helper-module-imports": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.7"
+ "@babel/helper-remap-async-to-generator": "^7.16.8"
},
"engines": {
"node": ">=6.9.0"
@@ -1282,9 +1286,9 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.7.tgz",
- "integrity": "sha512-h2RP2kE7He1ZWKyAlanMZrAbdv+Acw1pA8dQZhE025WJZE2z0xzFADAinXA9fxd5bn7JnM+SdOGcndGx1ARs9w==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz",
+ "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==",
"dependencies": {
"@babel/helper-module-transforms": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7",
@@ -1332,9 +1336,9 @@
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.7.tgz",
- "integrity": "sha512-kFy35VwmwIQwCjwrAQhl3+c/kr292i4KdLPKp5lPH03Ltc51qnFlIADoyPxc/6Naz3ok3WdYKg+KK6AH+D4utg==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz",
+ "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.16.7"
},
@@ -1492,14 +1496,14 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.7.tgz",
- "integrity": "sha512-2FoHiSAWkdq4L06uaDN3rS43i6x28desUVxq+zAFuE6kbWYQeiLPJI5IC7Sg9xKYVcrBKSQkVUfH6aeQYbl9QA==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz",
+ "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==",
"dependencies": {
"@babel/helper-module-imports": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7",
"babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.4.0",
+ "babel-plugin-polyfill-corejs3": "^0.5.0",
"babel-plugin-polyfill-regenerator": "^0.3.0",
"semver": "^6.3.0"
},
@@ -1619,17 +1623,17 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.7.tgz",
- "integrity": "sha512-urX3Cee4aOZbRWOSa3mKPk0aqDikfILuo+C7qq7HY0InylGNZ1fekq9jmlr3pLWwZHF4yD7heQooc2Pow2KMyQ==",
+ "version": "7.16.11",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz",
+ "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==",
"dependencies": {
- "@babel/compat-data": "^7.16.4",
+ "@babel/compat-data": "^7.16.8",
"@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7",
"@babel/helper-validator-option": "^7.16.7",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-async-generator-functions": "^7.16.7",
+ "@babel/plugin-proposal-async-generator-functions": "^7.16.8",
"@babel/plugin-proposal-class-properties": "^7.16.7",
"@babel/plugin-proposal-class-static-block": "^7.16.7",
"@babel/plugin-proposal-dynamic-import": "^7.16.7",
@@ -1641,7 +1645,7 @@
"@babel/plugin-proposal-object-rest-spread": "^7.16.7",
"@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
"@babel/plugin-proposal-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-private-methods": "^7.16.7",
+ "@babel/plugin-proposal-private-methods": "^7.16.11",
"@babel/plugin-proposal-private-property-in-object": "^7.16.7",
"@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
"@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -1659,7 +1663,7 @@
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
"@babel/plugin-transform-arrow-functions": "^7.16.7",
- "@babel/plugin-transform-async-to-generator": "^7.16.7",
+ "@babel/plugin-transform-async-to-generator": "^7.16.8",
"@babel/plugin-transform-block-scoped-functions": "^7.16.7",
"@babel/plugin-transform-block-scoping": "^7.16.7",
"@babel/plugin-transform-classes": "^7.16.7",
@@ -1673,10 +1677,10 @@
"@babel/plugin-transform-literals": "^7.16.7",
"@babel/plugin-transform-member-expression-literals": "^7.16.7",
"@babel/plugin-transform-modules-amd": "^7.16.7",
- "@babel/plugin-transform-modules-commonjs": "^7.16.7",
+ "@babel/plugin-transform-modules-commonjs": "^7.16.8",
"@babel/plugin-transform-modules-systemjs": "^7.16.7",
"@babel/plugin-transform-modules-umd": "^7.16.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.7",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8",
"@babel/plugin-transform-new-target": "^7.16.7",
"@babel/plugin-transform-object-super": "^7.16.7",
"@babel/plugin-transform-parameters": "^7.16.7",
@@ -1691,11 +1695,11 @@
"@babel/plugin-transform-unicode-escapes": "^7.16.7",
"@babel/plugin-transform-unicode-regex": "^7.16.7",
"@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.16.7",
+ "@babel/types": "^7.16.8",
"babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.4.0",
+ "babel-plugin-polyfill-corejs3": "^0.5.0",
"babel-plugin-polyfill-regenerator": "^0.3.0",
- "core-js-compat": "^3.19.1",
+ "core-js-compat": "^3.20.2",
"semver": "^6.3.0"
},
"engines": {
@@ -1777,18 +1781,18 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.7.tgz",
- "integrity": "sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.0.tgz",
+ "integrity": "sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==",
"dependencies": {
"@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.16.7",
+ "@babel/generator": "^7.17.0",
"@babel/helper-environment-visitor": "^7.16.7",
"@babel/helper-function-name": "^7.16.7",
"@babel/helper-hoist-variables": "^7.16.7",
"@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7",
+ "@babel/parser": "^7.17.0",
+ "@babel/types": "^7.17.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -1821,9 +1825,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/@babel/types": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.7.tgz",
- "integrity": "sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
+ "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
"dependencies": {
"@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
@@ -1993,16 +1997,16 @@
}
},
"node_modules/@jest/console": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz",
- "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
+ "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^27.4.6",
- "jest-util": "^27.4.2",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
"slash": "^3.0.0"
},
"engines": {
@@ -2047,35 +2051,35 @@
}
},
"node_modules/@jest/core": {
- "version": "27.4.7",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz",
- "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
+ "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
"dev": true,
"dependencies": {
- "@jest/console": "^27.4.6",
- "@jest/reporters": "^27.4.6",
- "@jest/test-result": "^27.4.6",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/reporters": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
"emittery": "^0.8.1",
"exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.4.2",
- "jest-config": "^27.4.7",
- "jest-haste-map": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.6",
- "jest-resolve-dependencies": "^27.4.6",
- "jest-runner": "^27.4.6",
- "jest-runtime": "^27.4.6",
- "jest-snapshot": "^27.4.6",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.6",
- "jest-watcher": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^27.5.1",
+ "jest-config": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-resolve-dependencies": "^27.5.1",
+ "jest-runner": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "jest-watcher": "^27.5.1",
"micromatch": "^4.0.4",
"rimraf": "^3.0.0",
"slash": "^3.0.0",
@@ -2144,77 +2148,77 @@
}
},
"node_modules/@jest/environment": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz",
- "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
+ "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
"dev": true,
"dependencies": {
- "@jest/fake-timers": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.6"
+ "jest-mock": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/@jest/fake-timers": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz",
- "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
+ "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@sinonjs/fake-timers": "^8.0.1",
"@types/node": "*",
- "jest-message-util": "^27.4.6",
- "jest-mock": "^27.4.6",
- "jest-util": "^27.4.2"
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/@jest/globals": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz",
- "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
+ "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.6",
- "@jest/types": "^27.4.2",
- "expect": "^27.4.6"
+ "@jest/environment": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "expect": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/@jest/reporters": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz",
- "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
+ "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
"dev": true,
"dependencies": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.4.6",
- "@jest/test-result": "^27.4.6",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
"glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"istanbul-lib-coverage": "^3.0.0",
"istanbul-lib-instrument": "^5.1.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
"istanbul-reports": "^3.1.3",
- "jest-haste-map": "^27.4.6",
- "jest-resolve": "^27.4.6",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.6",
+ "jest-haste-map": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
"slash": "^3.0.0",
"source-map": "^0.6.0",
"string-length": "^4.0.1",
@@ -2271,13 +2275,13 @@
}
},
"node_modules/@jest/source-map": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz",
- "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
+ "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
"dev": true,
"dependencies": {
"callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"source-map": "^0.6.0"
},
"engines": {
@@ -2285,13 +2289,13 @@
}
},
"node_modules/@jest/test-result": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz",
- "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
+ "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
"dev": true,
"dependencies": {
- "@jest/console": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
},
@@ -2300,36 +2304,36 @@
}
},
"node_modules/@jest/test-sequencer": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz",
- "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
+ "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
"dev": true,
"dependencies": {
- "@jest/test-result": "^27.4.6",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.6",
- "jest-runtime": "^27.4.6"
+ "@jest/test-result": "^27.5.1",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-runtime": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/@jest/transform": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz",
- "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
+ "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
"dev": true,
"dependencies": {
"@babel/core": "^7.1.0",
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"babel-plugin-istanbul": "^6.1.1",
"chalk": "^4.0.0",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.6",
- "jest-regex-util": "^27.4.0",
- "jest-util": "^27.4.2",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-util": "^27.5.1",
"micromatch": "^4.0.4",
"pirates": "^4.0.4",
"slash": "^3.0.0",
@@ -2400,9 +2404,9 @@
}
},
"node_modules/@jest/types": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz",
- "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+ "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
"dev": true,
"dependencies": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -2452,6 +2456,23 @@
"node": ">=8"
}
},
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz",
+ "integrity": "sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.2.2.tgz",
+ "integrity": "sha512-I9AGQzMPEzQNJgib2YSqciYWazGsXSyu1rEEeaPeM1764ZtnfNTxA5bofzG/POMI3QcvpBUxwecOPZM6ZhkEpg==",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "sourcemap-codec": "1.4.8"
+ }
+ },
"node_modules/@sindresorhus/is": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
@@ -2583,9 +2604,9 @@
"integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q=="
},
"node_modules/@types/prettier": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz",
- "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==",
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz",
+ "integrity": "sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==",
"dev": true
},
"node_modules/@types/stack-utils": {
@@ -2657,25 +2678,6 @@
"node": ">= 0.6"
}
},
- "node_modules/accepts/node_modules/mime-db": {
- "version": "1.43.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
- "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/accepts/node_modules/mime-types": {
- "version": "2.1.26",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
- "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
- "dependencies": {
- "mime-db": "1.43.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/acorn": {
"version": "7.4.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
@@ -2820,15 +2822,6 @@
"node": ">=6"
}
},
- "node_modules/ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -2990,6 +2983,12 @@
"node": ">=8"
}
},
+ "node_modules/asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true
+ },
"node_modules/asn1.js": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
@@ -3071,18 +3070,18 @@
}
},
"node_modules/babel-jest": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz",
- "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
+ "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
"dev": true,
"dependencies": {
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/babel__core": "^7.1.14",
"babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^27.4.0",
+ "babel-preset-jest": "^27.5.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"slash": "^3.0.0"
},
"engines": {
@@ -3154,9 +3153,9 @@
}
},
"node_modules/babel-plugin-jest-hoist": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz",
- "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
+ "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
"dev": true,
"dependencies": {
"@babel/template": "^7.3.3",
@@ -3190,12 +3189,12 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz",
- "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz",
+ "integrity": "sha512-Hcrgnmkf+4JTj73GbK3bBhlVPiLL47owUAnoJIf69Hakl3q+KfodbDXiZWGMM7iqCZTxCG3Z2VRfPNYES4rXqQ==",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.0",
- "core-js-compat": "^3.18.0"
+ "core-js-compat": "^3.20.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
@@ -3236,12 +3235,12 @@
}
},
"node_modules/babel-preset-jest": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz",
- "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
+ "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
"dev": true,
"dependencies": {
- "babel-plugin-jest-hoist": "^27.4.0",
+ "babel-plugin-jest-hoist": "^27.5.1",
"babel-preset-current-node-syntax": "^1.0.0"
},
"engines": {
@@ -3599,12 +3598,12 @@
}
},
"node_modules/browserslist": {
- "version": "4.17.6",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz",
- "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==",
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
+ "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
"dependencies": {
- "caniuse-lite": "^1.0.30001274",
- "electron-to-chromium": "^1.3.886",
+ "caniuse-lite": "^1.0.30001286",
+ "electron-to-chromium": "^1.4.17",
"escalade": "^3.1.1",
"node-releases": "^2.0.1",
"picocolors": "^1.0.0"
@@ -3630,9 +3629,9 @@
}
},
"node_modules/bson": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.0.tgz",
- "integrity": "sha512-8jw1NU1hglS+Da1jDOUYuNcBJ4cNHCFIqzlwoFNnsTOg2R/ox0aTYcTiBN4dzRa9q7Cvy6XErh3L8ReTEb9AQQ==",
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.1.tgz",
+ "integrity": "sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==",
"dependencies": {
"buffer": "^5.6.0"
},
@@ -3759,9 +3758,9 @@
}
},
"node_modules/cached-path-relative": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz",
- "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg=="
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
+ "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
},
"node_modules/call-bind": {
"version": "1.0.2",
@@ -3790,9 +3789,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001275",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001275.tgz",
- "integrity": "sha512-ihJVvj8RX0kn9GgP43HKhb5q9s2XQn4nEQhdldEJvZhCsuiB2XOq6fAMYQZaN6FPWfsr2qU0cdL0CSbETwbJAg==",
+ "version": "1.0.30001298",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz",
+ "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
@@ -4013,9 +4012,9 @@
}
},
"node_modules/codemirror": {
- "version": "5.65.0",
- "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.0.tgz",
- "integrity": "sha512-gWEnHKEcz1Hyz7fsQWpK7P0sPI2/kSkRX2tc7DFA6TmZuDN75x/1ejnH/Pn8adYKrLEA1V2ww6L00GudHZbSKw=="
+ "version": "5.65.1",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.1.tgz",
+ "integrity": "sha512-s6aac+DD+4O2u1aBmdxhB7yz2XU7tG3snOyQ05Kxifahz7hoxnfxIRHxiCSEv3TUC38dIVH8G+lZH9UWSfGQxA=="
},
"node_modules/collect-v8-coverage": {
"version": "1.0.1",
@@ -4197,9 +4196,9 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"node_modules/cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
+ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ=="
},
"node_modules/copy-anything": {
"version": "2.0.1",
@@ -4218,11 +4217,11 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.19.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz",
- "integrity": "sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==",
+ "version": "3.20.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz",
+ "integrity": "sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==",
"dependencies": {
- "browserslist": "^4.17.6",
+ "browserslist": "^4.19.1",
"semver": "7.0.0"
},
"funding": {
@@ -4607,10 +4606,20 @@
"node": ">=0.8.0"
}
},
+ "node_modules/dezalgo": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
+ "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
+ "dev": true,
+ "dependencies": {
+ "asap": "^2.0.0",
+ "wrappy": "1"
+ }
+ },
"node_modules/diff-sequences": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz",
- "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+ "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
"dev": true,
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -4711,9 +4720,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/electron-to-chromium": {
- "version": "1.3.887",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.887.tgz",
- "integrity": "sha512-QQUumrEjFDKSVYVdaeBmFdyQGoaV+fCSMyWHvfx/u22bRHSTeBQYt6P4jMY+gFd4kgKB9nqk7RMtWkDB49OYPA=="
+ "version": "1.4.39",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.39.tgz",
+ "integrity": "sha512-bFH3gdRq/l7WlzSleiO6dwpZH3RhiJ8vlMq0tOJMfT+5nb+x397eJn2RHF6Ho/9GCKv+BkimNlUMHl9+Yh+Qcg=="
},
"node_modules/elliptic": {
"version": "6.5.4",
@@ -4772,18 +4781,6 @@
"once": "^1.4.0"
}
},
- "node_modules/enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/errno": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
@@ -4796,6 +4793,15 @@
"errno": "cli.js"
}
},
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
"node_modules/es-abstract": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
@@ -4950,9 +4956,9 @@
}
},
"node_modules/eslint": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz",
- "integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==",
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz",
+ "integrity": "sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==",
"dev": true,
"dependencies": {
"@eslint/eslintrc": "^1.0.5",
@@ -4962,11 +4968,10 @@
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
"doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
"eslint-scope": "^7.1.0",
"eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.1.0",
+ "eslint-visitor-keys": "^3.2.0",
"espree": "^9.3.0",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
@@ -4975,7 +4980,7 @@
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^6.0.1",
"globals": "^13.6.0",
- "ignore": "^4.0.6",
+ "ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
@@ -4986,9 +4991,7 @@
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "progress": "^2.0.0",
"regexpp": "^3.2.0",
- "semver": "^7.2.1",
"strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
"text-table": "^0.2.0",
@@ -5104,9 +5107,9 @@
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz",
+ "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -5172,27 +5175,21 @@
"node": ">=8"
}
},
+ "node_modules/eslint/node_modules/ignore": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/eslint/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "node_modules/eslint/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/eslint/node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -5484,15 +5481,15 @@
}
},
"node_modules/expect": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz",
- "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
+ "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
- "jest-get-type": "^27.4.0",
- "jest-matcher-utils": "^27.4.6",
- "jest-message-util": "^27.4.6"
+ "@jest/types": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -5544,9 +5541,9 @@
"integrity": "sha512-rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w=="
},
"node_modules/express-static-gzip": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/express-static-gzip/-/express-static-gzip-2.1.1.tgz",
- "integrity": "sha512-J+xSzdr5lj1cIuZey0ac6nUv22VE7GrdwTERqE8DsrqSXLm1zjeYWTVbK37t8exGwobxBXeWU2bM7eSMjBR4YA==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/express-static-gzip/-/express-static-gzip-2.1.3.tgz",
+ "integrity": "sha512-968gyrwqJXzBzx2gtmyBOj8hIlv/FpnvGM57AKWfaY4vqXHK7lsNQONSHeSdtat3+bhQ9db/sn4RPeoQigrzZA==",
"dependencies": {
"serve-static": "^1.14.1"
}
@@ -5654,9 +5651,9 @@
"dev": true
},
"node_modules/fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
+ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
},
"node_modules/fast-text-encoding": {
"version": "1.0.3",
@@ -6057,9 +6054,9 @@
}
},
"node_modules/googleapis": {
- "version": "92.0.0",
- "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-92.0.0.tgz",
- "integrity": "sha512-5HgJg7XvqEEJ+GO+2gvnzd5cAcDuSS/VB6nW7thoyj2GMq9nH4VvJwncSevinjLCnv06a+VSxrXNiL5vePHojA==",
+ "version": "95.0.0",
+ "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-95.0.0.tgz",
+ "integrity": "sha512-ZpFZW7FDwcjQa2+xZNS2SC5sK2s46iWKA5QSFVJSK3RELQec4PYHhzKwzbeCzt4urnjYp6udPif95zXTFxbtRA==",
"dependencies": {
"google-auth-library": "^7.0.2",
"googleapis-common": "^5.0.2"
@@ -6106,9 +6103,9 @@
}
},
"node_modules/graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
+ "version": "4.2.9",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ=="
},
"node_modules/gtoken": {
"version": "5.2.1",
@@ -6299,6 +6296,15 @@
"minimalistic-assert": "^1.0.1"
}
},
+ "node_modules/hexoid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
+ "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/history": {
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
@@ -6645,6 +6651,11 @@
"node": ">= 0.4"
}
},
+ "node_modules/ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ },
"node_modules/ipaddr.js": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@@ -6664,6 +6675,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
"node_modules/is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
@@ -7140,9 +7157,9 @@
"dev": true
},
"node_modules/istanbul-reports": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz",
- "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
+ "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
"dev": true,
"dependencies": {
"html-escaper": "^2.0.0",
@@ -7153,14 +7170,14 @@
}
},
"node_modules/jest": {
- "version": "27.4.7",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz",
- "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
+ "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==",
"dev": true,
"dependencies": {
- "@jest/core": "^27.4.7",
+ "@jest/core": "^27.5.1",
"import-local": "^3.0.2",
- "jest-cli": "^27.4.7"
+ "jest-cli": "^27.5.1"
},
"bin": {
"jest": "bin/jest.js"
@@ -7178,12 +7195,12 @@
}
},
"node_modules/jest-changed-files": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz",
- "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
+ "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"execa": "^5.0.0",
"throat": "^6.0.1"
},
@@ -7192,27 +7209,27 @@
}
},
"node_modules/jest-circus": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz",
- "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
+ "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.6",
- "@jest/test-result": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
"dedent": "^0.7.0",
- "expect": "^27.4.6",
+ "expect": "^27.5.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.6",
- "jest-matcher-utils": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-runtime": "^27.4.6",
- "jest-snapshot": "^27.4.6",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.6",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3",
"throat": "^6.0.1"
@@ -7259,21 +7276,21 @@
}
},
"node_modules/jest-cli": {
- "version": "27.4.7",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz",
- "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
+ "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
"dev": true,
"dependencies": {
- "@jest/core": "^27.4.7",
- "@jest/test-result": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/core": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
"exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"import-local": "^3.0.2",
- "jest-config": "^27.4.7",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.6",
+ "jest-config": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
"prompts": "^2.0.1",
"yargs": "^16.2.0"
},
@@ -7330,33 +7347,35 @@
}
},
"node_modules/jest-config": {
- "version": "27.4.7",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz",
- "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
+ "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
"dev": true,
"dependencies": {
"@babel/core": "^7.8.0",
- "@jest/test-sequencer": "^27.4.6",
- "@jest/types": "^27.4.2",
- "babel-jest": "^27.4.6",
+ "@jest/test-sequencer": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "babel-jest": "^27.5.1",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
"deepmerge": "^4.2.2",
"glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "jest-circus": "^27.4.6",
- "jest-environment-jsdom": "^27.4.6",
- "jest-environment-node": "^27.4.6",
- "jest-get-type": "^27.4.0",
- "jest-jasmine2": "^27.4.6",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.6",
- "jest-runner": "^27.4.6",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-jasmine2": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runner": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
"micromatch": "^4.0.4",
- "pretty-format": "^27.4.6",
- "slash": "^3.0.0"
+ "parse-json": "^5.2.0",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -7414,6 +7433,18 @@
"node": ">=8.6"
}
},
+ "node_modules/jest-config/node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/jest-config/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -7427,15 +7458,15 @@
}
},
"node_modules/jest-diff": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz",
- "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+ "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
- "diff-sequences": "^27.4.0",
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.6"
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -7479,9 +7510,9 @@
}
},
"node_modules/jest-docblock": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz",
- "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+ "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
"dev": true,
"dependencies": {
"detect-newline": "^3.0.0"
@@ -7491,16 +7522,16 @@
}
},
"node_modules/jest-each": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz",
- "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+ "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "jest-get-type": "^27.4.0",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.6"
+ "jest-get-type": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -7544,17 +7575,17 @@
}
},
"node_modules/jest-environment-jsdom": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz",
- "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+ "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.6",
- "@jest/fake-timers": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.6",
- "jest-util": "^27.4.2",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
"jsdom": "^16.6.0"
},
"engines": {
@@ -7562,47 +7593,47 @@
}
},
"node_modules/jest-environment-node": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz",
- "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
+ "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.6",
- "@jest/fake-timers": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.6",
- "jest-util": "^27.4.2"
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-get-type": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz",
- "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+ "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
"dev": true,
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-haste-map": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz",
- "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
+ "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/graceful-fs": "^4.1.2",
"@types/node": "*",
"anymatch": "^3.0.3",
"fb-watchman": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.4.0",
- "jest-serializer": "^27.4.0",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^27.5.1",
+ "jest-serializer": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
"micromatch": "^4.0.4",
"walker": "^1.0.7"
},
@@ -7627,27 +7658,27 @@
}
},
"node_modules/jest-jasmine2": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz",
- "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+ "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.6",
- "@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/source-map": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
- "expect": "^27.4.6",
+ "expect": "^27.5.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.6",
- "jest-matcher-utils": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-runtime": "^27.4.6",
- "jest-snapshot": "^27.4.6",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.6",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
"throat": "^6.0.1"
},
"engines": {
@@ -7692,28 +7723,28 @@
}
},
"node_modules/jest-leak-detector": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz",
- "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
+ "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
"dev": true,
"dependencies": {
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.6"
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-matcher-utils": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz",
- "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+ "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
- "jest-diff": "^27.4.6",
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.6"
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -7757,18 +7788,18 @@
}
},
"node_modules/jest-message-util": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz",
- "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+ "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^27.4.6",
+ "pretty-format": "^27.5.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -7827,12 +7858,12 @@
}
},
"node_modules/jest-mock": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz",
- "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+ "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*"
},
"engines": {
@@ -7857,27 +7888,27 @@
}
},
"node_modules/jest-regex-util": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz",
- "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
+ "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
"dev": true,
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-resolve": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz",
- "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
+ "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
"jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.6",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
"resolve": "^1.20.0",
"resolve.exports": "^1.1.0",
"slash": "^3.0.0"
@@ -7887,14 +7918,14 @@
}
},
"node_modules/jest-resolve-dependencies": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz",
- "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
+ "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
- "jest-regex-util": "^27.4.0",
- "jest-snapshot": "^27.4.6"
+ "@jest/types": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-snapshot": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -7938,31 +7969,30 @@
}
},
"node_modules/jest-runner": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz",
- "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
+ "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
"dev": true,
"dependencies": {
- "@jest/console": "^27.4.6",
- "@jest/environment": "^27.4.6",
- "@jest/test-result": "^27.4.6",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.4.0",
- "jest-environment-jsdom": "^27.4.6",
- "jest-environment-node": "^27.4.6",
- "jest-haste-map": "^27.4.6",
- "jest-leak-detector": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-resolve": "^27.4.6",
- "jest-runtime": "^27.4.6",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-leak-detector": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
"source-map-support": "^0.5.6",
"throat": "^6.0.1"
},
@@ -8008,31 +8038,31 @@
}
},
"node_modules/jest-runtime": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz",
- "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
+ "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
"dev": true,
"dependencies": {
- "@jest/environment": "^27.4.6",
- "@jest/fake-timers": "^27.4.6",
- "@jest/globals": "^27.4.6",
- "@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.6",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/globals": "^27.5.1",
+ "@jest/source-map": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
"cjs-module-lexer": "^1.0.0",
"collect-v8-coverage": "^1.0.0",
"execa": "^5.0.0",
"glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-mock": "^27.4.6",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.6",
- "jest-snapshot": "^27.4.6",
- "jest-util": "^27.4.2",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
"slash": "^3.0.0",
"strip-bom": "^4.0.0"
},
@@ -8078,22 +8108,22 @@
}
},
"node_modules/jest-serializer": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz",
- "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
+ "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
"dev": true,
"dependencies": {
"@types/node": "*",
- "graceful-fs": "^4.2.4"
+ "graceful-fs": "^4.2.9"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/jest-snapshot": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz",
- "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
+ "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
"dev": true,
"dependencies": {
"@babel/core": "^7.7.2",
@@ -8101,22 +8131,22 @@
"@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.0.0",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/babel__traverse": "^7.0.4",
"@types/prettier": "^2.1.5",
"babel-preset-current-node-syntax": "^1.0.0",
"chalk": "^4.0.0",
- "expect": "^27.4.6",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.4.6",
- "jest-get-type": "^27.4.0",
- "jest-haste-map": "^27.4.6",
- "jest-matcher-utils": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-util": "^27.4.2",
+ "expect": "^27.5.1",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
"natural-compare": "^1.4.0",
- "pretty-format": "^27.4.6",
+ "pretty-format": "^27.5.1",
"semver": "^7.3.2"
},
"engines": {
@@ -8176,16 +8206,16 @@
}
},
"node_modules/jest-util": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz",
- "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
+ "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"picomatch": "^2.2.3"
},
"engines": {
@@ -8236,17 +8266,17 @@
}
},
"node_modules/jest-validate": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz",
- "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
+ "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
"dev": true,
"dependencies": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
- "jest-get-type": "^27.4.0",
+ "jest-get-type": "^27.5.1",
"leven": "^3.1.0",
- "pretty-format": "^27.4.6"
+ "pretty-format": "^27.5.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -8302,17 +8332,17 @@
}
},
"node_modules/jest-watcher": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz",
- "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
+ "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
"dev": true,
"dependencies": {
- "@jest/test-result": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
- "jest-util": "^27.4.2",
+ "jest-util": "^27.5.1",
"string-length": "^4.0.1"
},
"engines": {
@@ -8357,9 +8387,9 @@
}
},
"node_modules/jest-worker": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz",
- "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
"dev": true,
"dependencies": {
"@types/node": "*",
@@ -8536,6 +8566,12 @@
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
"integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
},
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -8759,6 +8795,12 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
+ },
"node_modules/livereload": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz",
@@ -8895,9 +8937,9 @@
}
},
"node_modules/marked": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.9.tgz",
- "integrity": "sha512-HmoFvQwFLxNESeGupeOC+6CLb5WzcCWQmqvVetsErmrI3vrZ6gBumty5IP0ynLPR0zYSoVY7ITC1GffsYIGkog==",
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz",
+ "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==",
"bin": {
"marked": "bin/marked.js"
},
@@ -9242,13 +9284,14 @@
}
},
"node_modules/mongodb": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.2.2.tgz",
- "integrity": "sha512-zt8rCTnTKyMQppyt63qMnrLM5dbADgUk18ORPF1XbtHLIYCyc9hattaYHi0pqMvNxDpgGgUofSVzS+UQErgTug==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.3.1.tgz",
+ "integrity": "sha512-sNa8APSIk+r4x31ZwctKjuPSaeKuvUeNb/fu/3B6dRM02HpEgig7hTHM8A/PJQTlxuC/KFWlDlQjhsk/S43tBg==",
"dependencies": {
- "bson": "^4.6.0",
+ "bson": "^4.6.1",
"denque": "^2.0.1",
- "mongodb-connection-string-url": "^2.3.2"
+ "mongodb-connection-string-url": "^2.4.1",
+ "socks": "^2.6.1"
},
"engines": {
"node": ">=12.9.0"
@@ -9258,29 +9301,26 @@
}
},
"node_modules/mongodb-connection-string-url": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.3.2.tgz",
- "integrity": "sha512-2LkmS0ny7LamAyhEs2Q+zuFFxeGNSc2DaGHBevjqkoPt7bgh+67mg1sFU6awnMsdLKpdEt7zUy466K9x7RsYcQ==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.4.2.tgz",
+ "integrity": "sha512-mZUXF6nUzRWk5J3h41MsPv13ukWlH4jOMSk6astVeoZ1EbdTJyF5I3wxKkvqBAOoVtzLgyEYUvDjrGdcPlKjAw==",
"dependencies": {
"@types/whatwg-url": "^8.2.1",
"whatwg-url": "^11.0.0"
}
},
"node_modules/mongoose": {
- "version": "6.1.5",
- "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.1.5.tgz",
- "integrity": "sha512-0rRxTBoqMSuQF/YM3TEvbHn8Ybnd9dRjD7DItEjCXK0vwC/muLKXZ4rVCN4KAnWQAkwYzoWw2tXAy0YF6TUdEg==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.2.1.tgz",
+ "integrity": "sha512-VxY1wvlc4uBQKyKNVDoEkTU3/ayFOD//qVXYP+sFyvTRbAj9/M53UWTERd84pWogs2TqAC6DTvZbxCs2LoOd3Q==",
"dependencies": {
- "@types/node": "< 17.0.6",
"bson": "^4.2.2",
"kareem": "2.3.3",
- "mongodb": "4.2.2",
+ "mongodb": "4.3.1",
"mpath": "0.8.4",
- "mquery": "4.0.0",
+ "mquery": "4.0.2",
"ms": "2.1.2",
- "regexp-clone": "1.0.0",
- "sift": "13.5.2",
- "sliced": "1.0.1"
+ "sift": "13.5.2"
},
"engines": {
"node": ">=12.0.0"
@@ -9304,22 +9344,20 @@
}
},
"node_modules/mquery": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.0.tgz",
- "integrity": "sha512-nGjm89lHja+T/b8cybAby6H0YgA4qYC/lx6UlwvHGqvTq8bDaNeCwl1sY8uRELrNbVWJzIihxVd+vphGGn1vBw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz",
+ "integrity": "sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==",
"dependencies": {
- "debug": "4.x",
- "regexp-clone": "^1.0.0",
- "sliced": "1.0.1"
+ "debug": "4.x"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/mquery/node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dependencies": {
"ms": "2.1.2"
},
@@ -9349,9 +9387,9 @@
"optional": true
},
"node_modules/nanoid": {
- "version": "3.1.30",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
- "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
+ "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -9423,11 +9461,41 @@
}
},
"node_modules/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
"engines": {
"node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-fetch/node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ },
+ "node_modules/node-fetch/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ },
+ "node_modules/node-fetch/node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
}
},
"node_modules/node-forge": {
@@ -9910,6 +9978,24 @@
"safe-buffer": "^5.1.1"
}
},
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
@@ -10027,9 +10113,9 @@
}
},
"node_modules/pirates": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz",
- "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
"dev": true,
"engines": {
"node": ">= 6"
@@ -10073,9 +10159,9 @@
}
},
"node_modules/pretty-format": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz",
- "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+ "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
"dev": true,
"dependencies": {
"ansi-regex": "^5.0.1",
@@ -10117,15 +10203,6 @@
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/prompts": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
@@ -10140,9 +10217,9 @@
}
},
"node_modules/prop-types": {
- "version": "15.8.0",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.0.tgz",
- "integrity": "sha512-fDGekdaHh65eI3lMi5OnErU6a8Ighg2KjcjQxO7m8VHyWjcPyj5kiOgV1LQDOOOgVy3+5FgjXvdSSX7B8/5/4g==",
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -10244,9 +10321,9 @@
}
},
"node_modules/query-string": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.0.tgz",
- "integrity": "sha512-wnJ8covk+S9isYR5JIXPt93kFUmI2fQ4R/8130fuq+qwLiGVTurg7Klodgfw4NSz/oe7xnyi09y3lSrogUeM3g==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz",
+ "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==",
"dependencies": {
"decode-uri-component": "^0.2.0",
"filter-obj": "^1.1.0",
@@ -10508,11 +10585,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/regexp-clone": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
- "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
- },
"node_modules/regexp.prototype.flags": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
@@ -11012,10 +11084,14 @@
"node": ">=8"
}
},
- "node_modules/sliced": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
- "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
},
"node_modules/snapdragon": {
"version": "0.8.2",
@@ -11184,6 +11260,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/socks": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz",
+ "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==",
+ "dependencies": {
+ "ip": "^1.1.5",
+ "smart-buffer": "^4.1.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -11218,6 +11307,11 @@
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
"integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw=="
},
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+ },
"node_modules/sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
@@ -11634,6 +11728,161 @@
"node": ">=10"
}
},
+ "node_modules/supertest": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.2.tgz",
+ "integrity": "sha512-wCw9WhAtKJsBvh07RaS+/By91NNE0Wh0DN19/hWPlBOU8tAfOtbZoVSV4xXeoKoxgPx0rx2y+y+8660XtE7jzg==",
+ "dev": true,
+ "dependencies": {
+ "methods": "^1.1.2",
+ "superagent": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/supertest/node_modules/debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/supertest/node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/supertest/node_modules/formidable": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz",
+ "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==",
+ "dev": true,
+ "dependencies": {
+ "dezalgo": "1.0.3",
+ "hexoid": "1.0.0",
+ "once": "1.4.0",
+ "qs": "6.9.3"
+ },
+ "funding": {
+ "url": "https://ko-fi.com/tunnckoCore/commissions"
+ }
+ },
+ "node_modules/supertest/node_modules/formidable/node_modules/qs": {
+ "version": "6.9.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
+ "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/supertest/node_modules/mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "dev": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/supertest/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/supertest/node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dev": true,
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/supertest/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/supertest/node_modules/semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/supertest/node_modules/superagent": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz",
+ "integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==",
+ "dev": true,
+ "dependencies": {
+ "component-emitter": "^1.3.0",
+ "cookiejar": "^2.1.3",
+ "debug": "^4.3.3",
+ "fast-safe-stringify": "^2.1.1",
+ "form-data": "^4.0.0",
+ "formidable": "^2.0.1",
+ "methods": "^1.1.2",
+ "mime": "^2.5.0",
+ "qs": "^6.10.1",
+ "readable-stream": "^3.6.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">=6.4.0 <13 || >=14"
+ }
+ },
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -11984,25 +12233,6 @@
"node": ">= 0.6"
}
},
- "node_modules/type-is/node_modules/mime-db": {
- "version": "1.43.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
- "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/type-is/node_modules/mime-types": {
- "version": "2.1.26",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
- "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
- "dependencies": {
- "mime-db": "1.43.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -12871,6 +13101,16 @@
}
},
"dependencies": {
+ "@ampproject/remapping": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.0.1.tgz",
+ "integrity": "sha512-EldHF4Ufj3NL9yCAmYrPzY+3/Yqrzxu24F4Mu4nRjK3w70AKYRmhuLwGZdA9JeoDsbIwkgGkbqUK2INuF582Og==",
+ "requires": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/trace-mapping": "^0.2.2",
+ "sourcemap-codec": "1.4.8"
+ }
+ },
"@babel/code-frame": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
@@ -12880,30 +13120,30 @@
}
},
"@babel/compat-data": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
- "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q=="
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz",
+ "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q=="
},
"@babel/core": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz",
- "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==",
+ "version": "7.17.2",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.2.tgz",
+ "integrity": "sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==",
"requires": {
+ "@ampproject/remapping": "^2.0.0",
"@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.16.7",
+ "@babel/generator": "^7.17.0",
"@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-module-transforms": "^7.16.7",
- "@babel/helpers": "^7.16.7",
- "@babel/parser": "^7.16.7",
+ "@babel/helpers": "^7.17.2",
+ "@babel/parser": "^7.17.0",
"@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7",
+ "@babel/traverse": "^7.17.0",
+ "@babel/types": "^7.17.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
+ "semver": "^6.3.0"
},
"dependencies": {
"convert-source-map": {
@@ -12931,20 +13171,15 @@
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
}
}
},
"@babel/generator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.7.tgz",
- "integrity": "sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.0.tgz",
+ "integrity": "sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==",
"requires": {
- "@babel/types": "^7.16.7",
+ "@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -12992,9 +13227,9 @@
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz",
- "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==",
+ "version": "7.16.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz",
+ "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==",
"requires": {
"@babel/helper-annotate-as-pure": "^7.16.7",
"@babel/helper-environment-visitor": "^7.16.7",
@@ -13136,13 +13371,13 @@
"integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA=="
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.7.tgz",
- "integrity": "sha512-C3o117GnP/j/N2OWo+oepeWbFEKRfNaay+F1Eo5Mj3A1SRjyx+qaFhm23nlipub7Cjv2azdUUiDH+VlpdwUFRg==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz",
+ "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==",
"requires": {
"@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-wrap-function": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/helper-wrap-function": "^7.16.8",
+ "@babel/types": "^7.16.8"
}
},
"@babel/helper-replace-supers": {
@@ -13192,24 +13427,24 @@
"integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ=="
},
"@babel/helper-wrap-function": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.7.tgz",
- "integrity": "sha512-7a9sABeVwcunnztZZ7WTgSw6jVYLzM1wua0Z4HIXm9S3/HC96WKQTkFgGEaj5W06SHHihPJ6Le6HzS5cGOQMNw==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz",
+ "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==",
"requires": {
"@babel/helper-function-name": "^7.16.7",
"@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/traverse": "^7.16.8",
+ "@babel/types": "^7.16.8"
}
},
"@babel/helpers": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz",
- "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==",
+ "version": "7.17.2",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz",
+ "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==",
"requires": {
"@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/traverse": "^7.17.0",
+ "@babel/types": "^7.17.0"
}
},
"@babel/highlight": {
@@ -13248,9 +13483,9 @@
}
},
"@babel/parser": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.7.tgz",
- "integrity": "sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA=="
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz",
+ "integrity": "sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw=="
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
"version": "7.16.7",
@@ -13271,12 +13506,12 @@
}
},
"@babel/plugin-proposal-async-generator-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.7.tgz",
- "integrity": "sha512-TTXBT3A5c11eqRzaC6beO6rlFT3Mo9C2e8eB44tTr52ESXSK2CIc2fOp1ynpAwQA8HhBMho+WXhMHWlAe3xkpw==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz",
+ "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==",
"requires": {
"@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.7",
+ "@babel/helper-remap-async-to-generator": "^7.16.8",
"@babel/plugin-syntax-async-generators": "^7.8.4"
}
},
@@ -13385,11 +13620,11 @@
}
},
"@babel/plugin-proposal-private-methods": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz",
- "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==",
+ "version": "7.16.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
+ "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
+ "@babel/helper-create-class-features-plugin": "^7.16.10",
"@babel/helper-plugin-utils": "^7.16.7"
}
},
@@ -13569,13 +13804,13 @@
}
},
"@babel/plugin-transform-async-to-generator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.7.tgz",
- "integrity": "sha512-pFEfjnK4DfXCfAlA5I98BYdDJD8NltMzx19gt6DAmfE+2lXRfPUoa0/5SUjT4+TDE1W/rcxU/1lgN55vpAjjdg==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz",
+ "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==",
"requires": {
"@babel/helper-module-imports": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.7"
+ "@babel/helper-remap-async-to-generator": "^7.16.8"
}
},
"@babel/plugin-transform-block-scoped-functions": {
@@ -13703,9 +13938,9 @@
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.7.tgz",
- "integrity": "sha512-h2RP2kE7He1ZWKyAlanMZrAbdv+Acw1pA8dQZhE025WJZE2z0xzFADAinXA9fxd5bn7JnM+SdOGcndGx1ARs9w==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz",
+ "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==",
"requires": {
"@babel/helper-module-transforms": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7",
@@ -13735,9 +13970,9 @@
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.7.tgz",
- "integrity": "sha512-kFy35VwmwIQwCjwrAQhl3+c/kr292i4KdLPKp5lPH03Ltc51qnFlIADoyPxc/6Naz3ok3WdYKg+KK6AH+D4utg==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz",
+ "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==",
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.16.7"
}
@@ -13829,14 +14064,14 @@
}
},
"@babel/plugin-transform-runtime": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.7.tgz",
- "integrity": "sha512-2FoHiSAWkdq4L06uaDN3rS43i6x28desUVxq+zAFuE6kbWYQeiLPJI5IC7Sg9xKYVcrBKSQkVUfH6aeQYbl9QA==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz",
+ "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==",
"requires": {
"@babel/helper-module-imports": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7",
"babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.4.0",
+ "babel-plugin-polyfill-corejs3": "^0.5.0",
"babel-plugin-polyfill-regenerator": "^0.3.0",
"semver": "^6.3.0"
},
@@ -13907,17 +14142,17 @@
}
},
"@babel/preset-env": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.7.tgz",
- "integrity": "sha512-urX3Cee4aOZbRWOSa3mKPk0aqDikfILuo+C7qq7HY0InylGNZ1fekq9jmlr3pLWwZHF4yD7heQooc2Pow2KMyQ==",
+ "version": "7.16.11",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz",
+ "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==",
"requires": {
- "@babel/compat-data": "^7.16.4",
+ "@babel/compat-data": "^7.16.8",
"@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-plugin-utils": "^7.16.7",
"@babel/helper-validator-option": "^7.16.7",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-async-generator-functions": "^7.16.7",
+ "@babel/plugin-proposal-async-generator-functions": "^7.16.8",
"@babel/plugin-proposal-class-properties": "^7.16.7",
"@babel/plugin-proposal-class-static-block": "^7.16.7",
"@babel/plugin-proposal-dynamic-import": "^7.16.7",
@@ -13929,7 +14164,7 @@
"@babel/plugin-proposal-object-rest-spread": "^7.16.7",
"@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
"@babel/plugin-proposal-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-private-methods": "^7.16.7",
+ "@babel/plugin-proposal-private-methods": "^7.16.11",
"@babel/plugin-proposal-private-property-in-object": "^7.16.7",
"@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
"@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -13947,7 +14182,7 @@
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
"@babel/plugin-transform-arrow-functions": "^7.16.7",
- "@babel/plugin-transform-async-to-generator": "^7.16.7",
+ "@babel/plugin-transform-async-to-generator": "^7.16.8",
"@babel/plugin-transform-block-scoped-functions": "^7.16.7",
"@babel/plugin-transform-block-scoping": "^7.16.7",
"@babel/plugin-transform-classes": "^7.16.7",
@@ -13961,10 +14196,10 @@
"@babel/plugin-transform-literals": "^7.16.7",
"@babel/plugin-transform-member-expression-literals": "^7.16.7",
"@babel/plugin-transform-modules-amd": "^7.16.7",
- "@babel/plugin-transform-modules-commonjs": "^7.16.7",
+ "@babel/plugin-transform-modules-commonjs": "^7.16.8",
"@babel/plugin-transform-modules-systemjs": "^7.16.7",
"@babel/plugin-transform-modules-umd": "^7.16.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.7",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8",
"@babel/plugin-transform-new-target": "^7.16.7",
"@babel/plugin-transform-object-super": "^7.16.7",
"@babel/plugin-transform-parameters": "^7.16.7",
@@ -13979,11 +14214,11 @@
"@babel/plugin-transform-unicode-escapes": "^7.16.7",
"@babel/plugin-transform-unicode-regex": "^7.16.7",
"@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.16.7",
+ "@babel/types": "^7.16.8",
"babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.4.0",
+ "babel-plugin-polyfill-corejs3": "^0.5.0",
"babel-plugin-polyfill-regenerator": "^0.3.0",
- "core-js-compat": "^3.19.1",
+ "core-js-compat": "^3.20.2",
"semver": "^6.3.0"
},
"dependencies": {
@@ -14045,18 +14280,18 @@
}
},
"@babel/traverse": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.7.tgz",
- "integrity": "sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.0.tgz",
+ "integrity": "sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==",
"requires": {
"@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.16.7",
+ "@babel/generator": "^7.17.0",
"@babel/helper-environment-visitor": "^7.16.7",
"@babel/helper-function-name": "^7.16.7",
"@babel/helper-hoist-variables": "^7.16.7",
"@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7",
+ "@babel/parser": "^7.17.0",
+ "@babel/types": "^7.17.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -14082,9 +14317,9 @@
}
},
"@babel/types": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.7.tgz",
- "integrity": "sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
+ "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
"requires": {
"@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
@@ -14217,16 +14452,16 @@
"dev": true
},
"@jest/console": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz",
- "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
+ "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^27.4.6",
- "jest-util": "^27.4.2",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
"slash": "^3.0.0"
},
"dependencies": {
@@ -14258,35 +14493,35 @@
}
},
"@jest/core": {
- "version": "27.4.7",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz",
- "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
+ "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
"dev": true,
"requires": {
- "@jest/console": "^27.4.6",
- "@jest/reporters": "^27.4.6",
- "@jest/test-result": "^27.4.6",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/reporters": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
"emittery": "^0.8.1",
"exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.4.2",
- "jest-config": "^27.4.7",
- "jest-haste-map": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.6",
- "jest-resolve-dependencies": "^27.4.6",
- "jest-runner": "^27.4.6",
- "jest-runtime": "^27.4.6",
- "jest-snapshot": "^27.4.6",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.6",
- "jest-watcher": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^27.5.1",
+ "jest-config": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-resolve-dependencies": "^27.5.1",
+ "jest-runner": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "jest-watcher": "^27.5.1",
"micromatch": "^4.0.4",
"rimraf": "^3.0.0",
"slash": "^3.0.0",
@@ -14331,68 +14566,68 @@
}
},
"@jest/environment": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz",
- "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
+ "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.6"
+ "jest-mock": "^27.5.1"
}
},
"@jest/fake-timers": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz",
- "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
+ "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@sinonjs/fake-timers": "^8.0.1",
"@types/node": "*",
- "jest-message-util": "^27.4.6",
- "jest-mock": "^27.4.6",
- "jest-util": "^27.4.2"
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
}
},
"@jest/globals": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz",
- "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
+ "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.6",
- "@jest/types": "^27.4.2",
- "expect": "^27.4.6"
+ "@jest/environment": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "expect": "^27.5.1"
}
},
"@jest/reporters": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz",
- "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
+ "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
"dev": true,
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.4.6",
- "@jest/test-result": "^27.4.6",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
"glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"istanbul-lib-coverage": "^3.0.0",
"istanbul-lib-instrument": "^5.1.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
"istanbul-reports": "^3.1.3",
- "jest-haste-map": "^27.4.6",
- "jest-resolve": "^27.4.6",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.6",
+ "jest-haste-map": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
"slash": "^3.0.0",
"source-map": "^0.6.0",
"string-length": "^4.0.1",
@@ -14428,56 +14663,56 @@
}
},
"@jest/source-map": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz",
- "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
+ "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
"dev": true,
"requires": {
"callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"source-map": "^0.6.0"
}
},
"@jest/test-result": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz",
- "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
+ "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
"dev": true,
"requires": {
- "@jest/console": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
}
},
"@jest/test-sequencer": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz",
- "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
+ "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
"dev": true,
"requires": {
- "@jest/test-result": "^27.4.6",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.6",
- "jest-runtime": "^27.4.6"
+ "@jest/test-result": "^27.5.1",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-runtime": "^27.5.1"
}
},
"@jest/transform": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz",
- "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
+ "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"babel-plugin-istanbul": "^6.1.1",
"chalk": "^4.0.0",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.6",
- "jest-regex-util": "^27.4.0",
- "jest-util": "^27.4.2",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-util": "^27.5.1",
"micromatch": "^4.0.4",
"pirates": "^4.0.4",
"slash": "^3.0.0",
@@ -14532,9 +14767,9 @@
}
},
"@jest/types": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz",
- "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+ "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -14571,6 +14806,20 @@
}
}
},
+ "@jridgewell/resolve-uri": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz",
+ "integrity": "sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w=="
+ },
+ "@jridgewell/trace-mapping": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.2.2.tgz",
+ "integrity": "sha512-I9AGQzMPEzQNJgib2YSqciYWazGsXSyu1rEEeaPeM1764ZtnfNTxA5bofzG/POMI3QcvpBUxwecOPZM6ZhkEpg==",
+ "requires": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "sourcemap-codec": "1.4.8"
+ }
+ },
"@sindresorhus/is": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
@@ -14693,9 +14942,9 @@
"integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q=="
},
"@types/prettier": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz",
- "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==",
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz",
+ "integrity": "sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==",
"dev": true
},
"@types/stack-utils": {
@@ -14759,21 +15008,6 @@
"requires": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
- },
- "dependencies": {
- "mime-db": {
- "version": "1.43.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
- "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ=="
- },
- "mime-types": {
- "version": "2.1.26",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
- "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
- "requires": {
- "mime-db": "1.43.0"
- }
- }
}
},
"acorn": {
@@ -14891,12 +15125,6 @@
}
}
},
- "ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true
- },
"ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -15011,6 +15239,12 @@
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
},
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true
+ },
"asn1.js": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
@@ -15084,18 +15318,18 @@
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
"babel-jest": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz",
- "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
+ "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
"dev": true,
"requires": {
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/babel__core": "^7.1.14",
"babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^27.4.0",
+ "babel-preset-jest": "^27.5.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"slash": "^3.0.0"
},
"dependencies": {
@@ -15148,9 +15382,9 @@
}
},
"babel-plugin-jest-hoist": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz",
- "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
+ "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
"dev": true,
"requires": {
"@babel/template": "^7.3.3",
@@ -15177,12 +15411,12 @@
}
},
"babel-plugin-polyfill-corejs3": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz",
- "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz",
+ "integrity": "sha512-Hcrgnmkf+4JTj73GbK3bBhlVPiLL47owUAnoJIf69Hakl3q+KfodbDXiZWGMM7iqCZTxCG3Z2VRfPNYES4rXqQ==",
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.0",
- "core-js-compat": "^3.18.0"
+ "core-js-compat": "^3.20.0"
}
},
"babel-plugin-polyfill-regenerator": {
@@ -15214,12 +15448,12 @@
}
},
"babel-preset-jest": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz",
- "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
+ "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
"dev": true,
"requires": {
- "babel-plugin-jest-hoist": "^27.4.0",
+ "babel-plugin-jest-hoist": "^27.5.1",
"babel-preset-current-node-syntax": "^1.0.0"
}
},
@@ -15529,12 +15763,12 @@
}
},
"browserslist": {
- "version": "4.17.6",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz",
- "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==",
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
+ "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
"requires": {
- "caniuse-lite": "^1.0.30001274",
- "electron-to-chromium": "^1.3.886",
+ "caniuse-lite": "^1.0.30001286",
+ "electron-to-chromium": "^1.4.17",
"escalade": "^3.1.1",
"node-releases": "^2.0.1",
"picocolors": "^1.0.0"
@@ -15550,9 +15784,9 @@
}
},
"bson": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.0.tgz",
- "integrity": "sha512-8jw1NU1hglS+Da1jDOUYuNcBJ4cNHCFIqzlwoFNnsTOg2R/ox0aTYcTiBN4dzRa9q7Cvy6XErh3L8ReTEb9AQQ==",
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.1.tgz",
+ "integrity": "sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==",
"requires": {
"buffer": "^5.6.0"
},
@@ -15648,9 +15882,9 @@
}
},
"cached-path-relative": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz",
- "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg=="
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
+ "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
},
"call-bind": {
"version": "1.0.2",
@@ -15673,9 +15907,9 @@
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
},
"caniuse-lite": {
- "version": "1.0.30001275",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001275.tgz",
- "integrity": "sha512-ihJVvj8RX0kn9GgP43HKhb5q9s2XQn4nEQhdldEJvZhCsuiB2XOq6fAMYQZaN6FPWfsr2qU0cdL0CSbETwbJAg=="
+ "version": "1.0.30001298",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz",
+ "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ=="
},
"chalk": {
"version": "3.0.0",
@@ -15849,9 +16083,9 @@
"dev": true
},
"codemirror": {
- "version": "5.65.0",
- "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.0.tgz",
- "integrity": "sha512-gWEnHKEcz1Hyz7fsQWpK7P0sPI2/kSkRX2tc7DFA6TmZuDN75x/1ejnH/Pn8adYKrLEA1V2ww6L00GudHZbSKw=="
+ "version": "5.65.1",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.1.tgz",
+ "integrity": "sha512-s6aac+DD+4O2u1aBmdxhB7yz2XU7tG3snOyQ05Kxifahz7hoxnfxIRHxiCSEv3TUC38dIVH8G+lZH9UWSfGQxA=="
},
"collect-v8-coverage": {
"version": "1.0.1",
@@ -15996,9 +16230,9 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
+ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ=="
},
"copy-anything": {
"version": "2.0.1",
@@ -16014,11 +16248,11 @@
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
"core-js-compat": {
- "version": "3.19.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz",
- "integrity": "sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==",
+ "version": "3.20.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz",
+ "integrity": "sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==",
"requires": {
- "browserslist": "^4.17.6",
+ "browserslist": "^4.19.1",
"semver": "7.0.0"
},
"dependencies": {
@@ -16340,10 +16574,20 @@
"minimist": "^1.1.1"
}
},
+ "dezalgo": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
+ "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
+ "dev": true,
+ "requires": {
+ "asap": "^2.0.0",
+ "wrappy": "1"
+ }
+ },
"diff-sequences": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz",
- "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+ "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
"dev": true
},
"diffie-hellman": {
@@ -16429,9 +16673,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"electron-to-chromium": {
- "version": "1.3.887",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.887.tgz",
- "integrity": "sha512-QQUumrEjFDKSVYVdaeBmFdyQGoaV+fCSMyWHvfx/u22bRHSTeBQYt6P4jMY+gFd4kgKB9nqk7RMtWkDB49OYPA=="
+ "version": "1.4.39",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.39.tgz",
+ "integrity": "sha512-bFH3gdRq/l7WlzSleiO6dwpZH3RhiJ8vlMq0tOJMfT+5nb+x397eJn2RHF6Ho/9GCKv+BkimNlUMHl9+Yh+Qcg=="
},
"elliptic": {
"version": "6.5.4",
@@ -16483,15 +16727,6 @@
"once": "^1.4.0"
}
},
- "enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "requires": {
- "ansi-colors": "^4.1.1"
- }
- },
"errno": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
@@ -16501,6 +16736,15 @@
"prr": "~1.0.1"
}
},
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
"es-abstract": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
@@ -16615,9 +16859,9 @@
}
},
"eslint": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz",
- "integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==",
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz",
+ "integrity": "sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==",
"dev": true,
"requires": {
"@eslint/eslintrc": "^1.0.5",
@@ -16627,11 +16871,10 @@
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
"doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
"eslint-scope": "^7.1.0",
"eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.1.0",
+ "eslint-visitor-keys": "^3.2.0",
"espree": "^9.3.0",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
@@ -16640,7 +16883,7 @@
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^6.0.1",
"globals": "^13.6.0",
- "ignore": "^4.0.6",
+ "ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
@@ -16651,9 +16894,7 @@
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "progress": "^2.0.0",
"regexpp": "^3.2.0",
- "semver": "^7.2.1",
"strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
"text-table": "^0.2.0",
@@ -16700,21 +16941,18 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "ignore": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "dev": true
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
"strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -16809,9 +17047,9 @@
}
},
"eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz",
+ "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==",
"dev": true
},
"espree": {
@@ -17012,15 +17250,15 @@
}
},
"expect": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz",
- "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
+ "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
- "jest-get-type": "^27.4.0",
- "jest-matcher-utils": "^27.4.6",
- "jest-message-util": "^27.4.6"
+ "@jest/types": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1"
}
},
"express": {
@@ -17073,9 +17311,9 @@
"integrity": "sha512-rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w=="
},
"express-static-gzip": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/express-static-gzip/-/express-static-gzip-2.1.1.tgz",
- "integrity": "sha512-J+xSzdr5lj1cIuZey0ac6nUv22VE7GrdwTERqE8DsrqSXLm1zjeYWTVbK37t8exGwobxBXeWU2bM7eSMjBR4YA==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/express-static-gzip/-/express-static-gzip-2.1.3.tgz",
+ "integrity": "sha512-968gyrwqJXzBzx2gtmyBOj8hIlv/FpnvGM57AKWfaY4vqXHK7lsNQONSHeSdtat3+bhQ9db/sn4RPeoQigrzZA==",
"requires": {
"serve-static": "^1.14.1"
}
@@ -17151,9 +17389,9 @@
"dev": true
},
"fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
+ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
},
"fast-text-encoding": {
"version": "1.0.3",
@@ -17453,9 +17691,9 @@
}
},
"googleapis": {
- "version": "92.0.0",
- "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-92.0.0.tgz",
- "integrity": "sha512-5HgJg7XvqEEJ+GO+2gvnzd5cAcDuSS/VB6nW7thoyj2GMq9nH4VvJwncSevinjLCnv06a+VSxrXNiL5vePHojA==",
+ "version": "95.0.0",
+ "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-95.0.0.tgz",
+ "integrity": "sha512-ZpFZW7FDwcjQa2+xZNS2SC5sK2s46iWKA5QSFVJSK3RELQec4PYHhzKwzbeCzt4urnjYp6udPif95zXTFxbtRA==",
"requires": {
"google-auth-library": "^7.0.2",
"googleapis-common": "^5.0.2"
@@ -17493,9 +17731,9 @@
}
},
"graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
+ "version": "4.2.9",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ=="
},
"gtoken": {
"version": "5.2.1",
@@ -17633,6 +17871,12 @@
"minimalistic-assert": "^1.0.1"
}
},
+ "hexoid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
+ "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
+ "dev": true
+ },
"history": {
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
@@ -17904,6 +18148,11 @@
"side-channel": "^1.0.4"
}
},
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ },
"ipaddr.js": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@@ -17917,6 +18166,12 @@
"kind-of": "^6.0.0"
}
},
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
"is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
@@ -18256,9 +18511,9 @@
}
},
"istanbul-reports": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz",
- "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
+ "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
"dev": true,
"requires": {
"html-escaper": "^2.0.0",
@@ -18266,49 +18521,49 @@
}
},
"jest": {
- "version": "27.4.7",
- "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz",
- "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
+ "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==",
"dev": true,
"requires": {
- "@jest/core": "^27.4.7",
+ "@jest/core": "^27.5.1",
"import-local": "^3.0.2",
- "jest-cli": "^27.4.7"
+ "jest-cli": "^27.5.1"
}
},
"jest-changed-files": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz",
- "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
+ "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"execa": "^5.0.0",
"throat": "^6.0.1"
}
},
"jest-circus": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz",
- "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
+ "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.6",
- "@jest/test-result": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
"dedent": "^0.7.0",
- "expect": "^27.4.6",
+ "expect": "^27.5.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.6",
- "jest-matcher-utils": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-runtime": "^27.4.6",
- "jest-snapshot": "^27.4.6",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.6",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3",
"throat": "^6.0.1"
@@ -18342,21 +18597,21 @@
}
},
"jest-cli": {
- "version": "27.4.7",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz",
- "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
+ "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
"dev": true,
"requires": {
- "@jest/core": "^27.4.7",
- "@jest/test-result": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/core": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
"exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"import-local": "^3.0.2",
- "jest-config": "^27.4.7",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.6",
+ "jest-config": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
"prompts": "^2.0.1",
"yargs": "^16.2.0"
},
@@ -18389,33 +18644,35 @@
}
},
"jest-config": {
- "version": "27.4.7",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz",
- "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
+ "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
"dev": true,
"requires": {
"@babel/core": "^7.8.0",
- "@jest/test-sequencer": "^27.4.6",
- "@jest/types": "^27.4.2",
- "babel-jest": "^27.4.6",
+ "@jest/test-sequencer": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "babel-jest": "^27.5.1",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
"deepmerge": "^4.2.2",
"glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "jest-circus": "^27.4.6",
- "jest-environment-jsdom": "^27.4.6",
- "jest-environment-node": "^27.4.6",
- "jest-get-type": "^27.4.0",
- "jest-jasmine2": "^27.4.6",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.6",
- "jest-runner": "^27.4.6",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-jasmine2": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runner": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
"micromatch": "^4.0.4",
- "pretty-format": "^27.4.6",
- "slash": "^3.0.0"
+ "parse-json": "^5.2.0",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
},
"dependencies": {
"chalk": {
@@ -18450,6 +18707,12 @@
"picomatch": "^2.2.3"
}
},
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -18462,15 +18725,15 @@
}
},
"jest-diff": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz",
- "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+ "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "diff-sequences": "^27.4.0",
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.6"
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
},
"dependencies": {
"chalk": {
@@ -18501,25 +18764,25 @@
}
},
"jest-docblock": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz",
- "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+ "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
"dev": true,
"requires": {
"detect-newline": "^3.0.0"
}
},
"jest-each": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz",
- "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+ "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "jest-get-type": "^27.4.0",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.6"
+ "jest-get-type": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1"
},
"dependencies": {
"chalk": {
@@ -18550,57 +18813,57 @@
}
},
"jest-environment-jsdom": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz",
- "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+ "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.6",
- "@jest/fake-timers": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.6",
- "jest-util": "^27.4.2",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
"jsdom": "^16.6.0"
}
},
"jest-environment-node": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz",
- "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
+ "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.6",
- "@jest/fake-timers": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
- "jest-mock": "^27.4.6",
- "jest-util": "^27.4.2"
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
}
},
"jest-get-type": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz",
- "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+ "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
"dev": true
},
"jest-haste-map": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz",
- "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
+ "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/graceful-fs": "^4.1.2",
"@types/node": "*",
"anymatch": "^3.0.3",
"fb-watchman": "^2.0.0",
"fsevents": "^2.3.2",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.4.0",
- "jest-serializer": "^27.4.0",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^27.5.1",
+ "jest-serializer": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
"micromatch": "^4.0.4",
"walker": "^1.0.7"
},
@@ -18618,27 +18881,27 @@
}
},
"jest-jasmine2": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz",
- "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+ "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.6",
- "@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/source-map": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
- "expect": "^27.4.6",
+ "expect": "^27.5.1",
"is-generator-fn": "^2.0.0",
- "jest-each": "^27.4.6",
- "jest-matcher-utils": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-runtime": "^27.4.6",
- "jest-snapshot": "^27.4.6",
- "jest-util": "^27.4.2",
- "pretty-format": "^27.4.6",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
"throat": "^6.0.1"
},
"dependencies": {
@@ -18670,25 +18933,25 @@
}
},
"jest-leak-detector": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz",
- "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
+ "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
"dev": true,
"requires": {
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.6"
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
}
},
"jest-matcher-utils": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz",
- "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+ "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "jest-diff": "^27.4.6",
- "jest-get-type": "^27.4.0",
- "pretty-format": "^27.4.6"
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
},
"dependencies": {
"chalk": {
@@ -18719,18 +18982,18 @@
}
},
"jest-message-util": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz",
- "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+ "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^27.4.6",
+ "pretty-format": "^27.5.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -18773,12 +19036,12 @@
}
},
"jest-mock": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz",
- "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+ "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*"
}
},
@@ -18790,24 +19053,24 @@
"requires": {}
},
"jest-regex-util": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz",
- "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
+ "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
"dev": true
},
"jest-resolve": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz",
- "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
+ "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
"jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.4.2",
- "jest-validate": "^27.4.6",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
"resolve": "^1.20.0",
"resolve.exports": "^1.1.0",
"slash": "^3.0.0"
@@ -18841,42 +19104,41 @@
}
},
"jest-resolve-dependencies": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz",
- "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
+ "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
- "jest-regex-util": "^27.4.0",
- "jest-snapshot": "^27.4.6"
+ "@jest/types": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-snapshot": "^27.5.1"
}
},
"jest-runner": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz",
- "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
+ "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
"dev": true,
"requires": {
- "@jest/console": "^27.4.6",
- "@jest/environment": "^27.4.6",
- "@jest/test-result": "^27.4.6",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/console": "^27.5.1",
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.4.0",
- "jest-environment-jsdom": "^27.4.6",
- "jest-environment-node": "^27.4.6",
- "jest-haste-map": "^27.4.6",
- "jest-leak-detector": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-resolve": "^27.4.6",
- "jest-runtime": "^27.4.6",
- "jest-util": "^27.4.2",
- "jest-worker": "^27.4.6",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-leak-detector": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
"source-map-support": "^0.5.6",
"throat": "^6.0.1"
},
@@ -18909,31 +19171,31 @@
}
},
"jest-runtime": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz",
- "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
+ "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
"dev": true,
"requires": {
- "@jest/environment": "^27.4.6",
- "@jest/fake-timers": "^27.4.6",
- "@jest/globals": "^27.4.6",
- "@jest/source-map": "^27.4.0",
- "@jest/test-result": "^27.4.6",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/globals": "^27.5.1",
+ "@jest/source-map": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"chalk": "^4.0.0",
"cjs-module-lexer": "^1.0.0",
"collect-v8-coverage": "^1.0.0",
"execa": "^5.0.0",
"glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-mock": "^27.4.6",
- "jest-regex-util": "^27.4.0",
- "jest-resolve": "^27.4.6",
- "jest-snapshot": "^27.4.6",
- "jest-util": "^27.4.2",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
"slash": "^3.0.0",
"strip-bom": "^4.0.0"
},
@@ -18966,19 +19228,19 @@
}
},
"jest-serializer": {
- "version": "27.4.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz",
- "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
+ "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
"dev": true,
"requires": {
"@types/node": "*",
- "graceful-fs": "^4.2.4"
+ "graceful-fs": "^4.2.9"
}
},
"jest-snapshot": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz",
- "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
+ "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
"dev": true,
"requires": {
"@babel/core": "^7.7.2",
@@ -18986,22 +19248,22 @@
"@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.0.0",
- "@jest/transform": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/babel__traverse": "^7.0.4",
"@types/prettier": "^2.1.5",
"babel-preset-current-node-syntax": "^1.0.0",
"chalk": "^4.0.0",
- "expect": "^27.4.6",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.4.6",
- "jest-get-type": "^27.4.0",
- "jest-haste-map": "^27.4.6",
- "jest-matcher-utils": "^27.4.6",
- "jest-message-util": "^27.4.6",
- "jest-util": "^27.4.2",
+ "expect": "^27.5.1",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
"natural-compare": "^1.4.0",
- "pretty-format": "^27.4.6",
+ "pretty-format": "^27.5.1",
"semver": "^7.3.2"
},
"dependencies": {
@@ -19042,16 +19304,16 @@
}
},
"jest-util": {
- "version": "27.4.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz",
- "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
+ "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
- "graceful-fs": "^4.2.4",
+ "graceful-fs": "^4.2.9",
"picomatch": "^2.2.3"
},
"dependencies": {
@@ -19089,17 +19351,17 @@
}
},
"jest-validate": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz",
- "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
+ "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
"dev": true,
"requires": {
- "@jest/types": "^27.4.2",
+ "@jest/types": "^27.5.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
- "jest-get-type": "^27.4.0",
+ "jest-get-type": "^27.5.1",
"leven": "^3.1.0",
- "pretty-format": "^27.4.6"
+ "pretty-format": "^27.5.1"
},
"dependencies": {
"camelcase": {
@@ -19136,17 +19398,17 @@
}
},
"jest-watcher": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz",
- "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
+ "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
"dev": true,
"requires": {
- "@jest/test-result": "^27.4.6",
- "@jest/types": "^27.4.2",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
- "jest-util": "^27.4.2",
+ "jest-util": "^27.5.1",
"string-length": "^4.0.1"
},
"dependencies": {
@@ -19178,9 +19440,9 @@
}
},
"jest-worker": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz",
- "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -19311,6 +19573,12 @@
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
"integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
},
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -19486,6 +19754,12 @@
"type-check": "~0.4.0"
}
},
+ "lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
+ },
"livereload": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz",
@@ -19591,9 +19865,9 @@
}
},
"marked": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.9.tgz",
- "integrity": "sha512-HmoFvQwFLxNESeGupeOC+6CLb5WzcCWQmqvVetsErmrI3vrZ6gBumty5IP0ynLPR0zYSoVY7ITC1GffsYIGkog=="
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz",
+ "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ=="
},
"marked-extended-tables": {
"version": "1.0.3",
@@ -19866,40 +20140,38 @@
"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
},
"mongodb": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.2.2.tgz",
- "integrity": "sha512-zt8rCTnTKyMQppyt63qMnrLM5dbADgUk18ORPF1XbtHLIYCyc9hattaYHi0pqMvNxDpgGgUofSVzS+UQErgTug==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.3.1.tgz",
+ "integrity": "sha512-sNa8APSIk+r4x31ZwctKjuPSaeKuvUeNb/fu/3B6dRM02HpEgig7hTHM8A/PJQTlxuC/KFWlDlQjhsk/S43tBg==",
"requires": {
- "bson": "^4.6.0",
+ "bson": "^4.6.1",
"denque": "^2.0.1",
- "mongodb-connection-string-url": "^2.3.2",
- "saslprep": "^1.0.3"
+ "mongodb-connection-string-url": "^2.4.1",
+ "saslprep": "^1.0.3",
+ "socks": "^2.6.1"
}
},
"mongodb-connection-string-url": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.3.2.tgz",
- "integrity": "sha512-2LkmS0ny7LamAyhEs2Q+zuFFxeGNSc2DaGHBevjqkoPt7bgh+67mg1sFU6awnMsdLKpdEt7zUy466K9x7RsYcQ==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.4.2.tgz",
+ "integrity": "sha512-mZUXF6nUzRWk5J3h41MsPv13ukWlH4jOMSk6astVeoZ1EbdTJyF5I3wxKkvqBAOoVtzLgyEYUvDjrGdcPlKjAw==",
"requires": {
"@types/whatwg-url": "^8.2.1",
"whatwg-url": "^11.0.0"
}
},
"mongoose": {
- "version": "6.1.5",
- "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.1.5.tgz",
- "integrity": "sha512-0rRxTBoqMSuQF/YM3TEvbHn8Ybnd9dRjD7DItEjCXK0vwC/muLKXZ4rVCN4KAnWQAkwYzoWw2tXAy0YF6TUdEg==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.2.1.tgz",
+ "integrity": "sha512-VxY1wvlc4uBQKyKNVDoEkTU3/ayFOD//qVXYP+sFyvTRbAj9/M53UWTERd84pWogs2TqAC6DTvZbxCs2LoOd3Q==",
"requires": {
- "@types/node": "< 17.0.6",
"bson": "^4.2.2",
"kareem": "2.3.3",
- "mongodb": "4.2.2",
+ "mongodb": "4.3.1",
"mpath": "0.8.4",
- "mquery": "4.0.0",
+ "mquery": "4.0.2",
"ms": "2.1.2",
- "regexp-clone": "1.0.0",
- "sift": "13.5.2",
- "sliced": "1.0.1"
+ "sift": "13.5.2"
},
"dependencies": {
"ms": {
@@ -19915,19 +20187,17 @@
"integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g=="
},
"mquery": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.0.tgz",
- "integrity": "sha512-nGjm89lHja+T/b8cybAby6H0YgA4qYC/lx6UlwvHGqvTq8bDaNeCwl1sY8uRELrNbVWJzIihxVd+vphGGn1vBw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz",
+ "integrity": "sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==",
"requires": {
- "debug": "4.x",
- "regexp-clone": "^1.0.0",
- "sliced": "1.0.1"
+ "debug": "4.x"
},
"dependencies": {
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"requires": {
"ms": "2.1.2"
}
@@ -19951,9 +20221,9 @@
"optional": true
},
"nanoid": {
- "version": "3.1.30",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
- "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ=="
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
+ "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA=="
},
"nanomatch": {
"version": "1.2.13",
@@ -20009,9 +20279,33 @@
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
"node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ },
+ "dependencies": {
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ },
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "requires": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ }
+ }
},
"node-forge": {
"version": "0.10.0",
@@ -20379,6 +20673,18 @@
"safe-buffer": "^5.1.1"
}
},
+ "parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
"parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
@@ -20466,9 +20772,9 @@
"optional": true
},
"pirates": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz",
- "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
"dev": true
},
"pkg-dir": {
@@ -20497,9 +20803,9 @@
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
},
"pretty-format": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz",
- "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+ "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
"dev": true,
"requires": {
"ansi-regex": "^5.0.1",
@@ -20531,12 +20837,6 @@
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
- },
"prompts": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
@@ -20548,9 +20848,9 @@
}
},
"prop-types": {
- "version": "15.8.0",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.0.tgz",
- "integrity": "sha512-fDGekdaHh65eI3lMi5OnErU6a8Ighg2KjcjQxO7m8VHyWjcPyj5kiOgV1LQDOOOgVy3+5FgjXvdSSX7B8/5/4g==",
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"requires": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -20641,9 +20941,9 @@
"integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ=="
},
"query-string": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.0.tgz",
- "integrity": "sha512-wnJ8covk+S9isYR5JIXPt93kFUmI2fQ4R/8130fuq+qwLiGVTurg7Klodgfw4NSz/oe7xnyi09y3lSrogUeM3g==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz",
+ "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==",
"requires": {
"decode-uri-component": "^0.2.0",
"filter-obj": "^1.1.0",
@@ -20864,11 +21164,6 @@
"safe-regex": "^1.1.0"
}
},
- "regexp-clone": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
- "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
- },
"regexp.prototype.flags": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
@@ -21264,10 +21559,10 @@
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
- "sliced": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
- "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
+ "smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
},
"snapdragon": {
"version": "0.8.2",
@@ -21401,6 +21696,15 @@
}
}
},
+ "socks": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz",
+ "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==",
+ "requires": {
+ "ip": "^1.1.5",
+ "smart-buffer": "^4.1.0"
+ }
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -21432,6 +21736,11 @@
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
"integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw=="
},
+ "sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+ },
"sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
@@ -21769,6 +22078,118 @@
}
}
},
+ "supertest": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.2.tgz",
+ "integrity": "sha512-wCw9WhAtKJsBvh07RaS+/By91NNE0Wh0DN19/hWPlBOU8tAfOtbZoVSV4xXeoKoxgPx0rx2y+y+8660XtE7jzg==",
+ "dev": true,
+ "requires": {
+ "methods": "^1.1.2",
+ "superagent": "^7.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "formidable": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz",
+ "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==",
+ "dev": true,
+ "requires": {
+ "dezalgo": "1.0.3",
+ "hexoid": "1.0.0",
+ "once": "1.4.0",
+ "qs": "6.9.3"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.9.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
+ "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==",
+ "dev": true
+ }
+ }
+ },
+ "mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dev": true,
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "superagent": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz",
+ "integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==",
+ "dev": true,
+ "requires": {
+ "component-emitter": "^1.3.0",
+ "cookiejar": "^2.1.3",
+ "debug": "^4.3.3",
+ "fast-safe-stringify": "^2.1.1",
+ "form-data": "^4.0.0",
+ "formidable": "^2.0.1",
+ "methods": "^1.1.2",
+ "mime": "^2.5.0",
+ "qs": "^6.10.1",
+ "readable-stream": "^3.6.0",
+ "semver": "^7.3.5"
+ }
+ }
+ }
+ },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -22046,21 +22467,6 @@
"requires": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
- },
- "dependencies": {
- "mime-db": {
- "version": "1.43.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
- "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ=="
- },
- "mime-types": {
- "version": "2.1.26",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
- "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
- "requires": {
- "mime-db": "1.43.0"
- }
- }
}
},
"typedarray": {
diff --git a/package.json b/package.json
index 77fc99a47..3ab8c7b3a 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "homebrewery",
"description": "Create authentic looking D&D homebrews using only markdown",
- "version": "3.0.6",
+ "version": "3.0.7",
"engines": {
"node": "16.11.x"
},
@@ -33,44 +33,47 @@
"jest": {
"modulePaths": [
"mode_modules",
- "shared"
+ "shared",
+ "server"
]
},
"babel": {
"presets": [
"@babel/preset-env",
"@babel/preset-react"
+ ],
+ "plugins": [
+ "@babel/plugin-transform-runtime"
]
},
"dependencies": {
- "@babel/core": "^7.16.7",
- "@babel/plugin-transform-runtime": "^7.16.7",
- "@babel/preset-env": "^7.16.7",
+ "@babel/core": "^7.17.2",
+ "@babel/plugin-transform-runtime": "^7.17.0",
+ "@babel/preset-env": "^7.16.11",
"@babel/preset-react": "^7.16.7",
"body-parser": "^1.19.1",
"classnames": "^2.3.1",
- "codemirror": "^5.65.0",
+ "codemirror": "^5.65.1",
"cookie-parser": "^1.4.6",
"create-react-class": "^15.7.0",
"dedent-tabs": "^0.10.1",
"express": "^4.17.2",
"express-async-handler": "^1.2.0",
- "express-static-gzip": "2.1.1",
+ "express-static-gzip": "2.1.3",
"fs-extra": "10.0.0",
- "googleapis": "92.0.0",
+ "googleapis": "95.0.0",
"js-yaml": "^4.1.0",
"jwt-simple": "^0.5.6",
"less": "^3.13.1",
"lodash": "^4.17.21",
- "marked": "4.0.9",
+ "marked": "4.0.12",
"marked-extended-tables": "^1.0.3",
"markedLegacy": "npm:marked@^0.3.19",
"moment": "^2.29.1",
- "mongoose": "^6.1.5",
- "nanoid": "3.1.30",
+ "mongoose": "^6.2.1",
+ "nanoid": "3.2.0",
"nconf": "^0.11.3",
- "prop-types": "15.8.0",
- "query-string": "7.1.0",
+ "query-string": "7.1.1",
"react": "^16.14.0",
"react-dom": "^16.14.0",
"react-frame-component": "4.1.3",
@@ -80,8 +83,9 @@
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
},
"devDependencies": {
- "eslint": "^8.6.0",
+ "eslint": "^8.8.0",
"eslint-plugin-react": "^7.28.0",
- "jest": "^27.4.5"
+ "jest": "^27.5.1",
+ "supertest": "^6.2.2"
}
}
diff --git a/scripts/buildHomebrew.js b/scripts/buildHomebrew.js
index 17605e2a1..a45f0e803 100644
--- a/scripts/buildHomebrew.js
+++ b/scripts/buildHomebrew.js
@@ -24,6 +24,28 @@ const build = async ({ bundle, render, ssr })=>{
await fs.outputFile('./build/homebrew/bundle.css', css);
await fs.outputFile('./build/homebrew/bundle.js', bundle);
await fs.outputFile('./build/homebrew/ssr.js', ssr);
+ await fs.copy('./themes/fonts', './build/fonts');
+ await fs.copy('./themes/assets', './build/assets');
+ let src = './themes/5ePhbLegacy.style.less';
+ //Parse brew theme files
+ less.render(fs.readFileSync(src).toString(), {
+ compress : !isDev
+ }, function(e, output) {
+ fs.outputFile('./build/themes/5ePhbLegacy.style.css', output.css);
+ });
+ src = './themes/5ePhb.style.less';
+ less.render(fs.readFileSync(src).toString(), {
+ compress : !isDev
+ }, function(e, output) {
+ fs.outputFile('./build/themes/5ePhb.style.css', output.css);
+ });
+ // await less.render(lessCode, {
+ // compress : !dev,
+ // sourceMap : (dev ? {
+ // sourceMapFileInline: true,
+ // outputSourceFiles: true
+ // } : false),
+ // })
//compress files in production
if(!isDev){
@@ -132,6 +154,6 @@ fs.emptyDirSync('./build');
if(isDev){
livereload('./build');
watchFile('./server.js', {
- watch : ['./client'] // Watch additional folders if you want
+ watch : ['./client', './server'] // Watch additional folders if you want
});
}
diff --git a/server.js b/server.js
index 729eafe37..cb58f9bd3 100644
--- a/server.js
+++ b/server.js
@@ -1,303 +1,12 @@
-/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/
-const _ = require('lodash');
-const jwt = require('jwt-simple');
-const express = require('express');
-const yaml = require('js-yaml');
-const app = express();
-
-const homebrewApi = require('./server/homebrew.api.js');
-const GoogleActions = require('./server/googleActions.js');
-const serveCompressedStaticAssets = require('./server/static-assets.mv.js');
-const sanitizeFilename = require('sanitize-filename');
-const asyncHandler = require('express-async-handler');
-
-const brewAccessTypes = ['edit', 'share', 'raw'];
-
-//Get the brew object from the HB database or Google Drive
-const getBrewFromId = asyncHandler(async (id, accessType)=>{
- if(!brewAccessTypes.includes(accessType))
- throw ('Invalid Access Type when getting brew');
- let brew;
- if(id.length > 12) {
- const googleId = id.slice(0, -12);
- id = id.slice(-12);
- brew = await GoogleActions.readFileMetadata(config.get('google_api_key'), googleId, id, accessType);
- } else {
- brew = await HomebrewModel.get(accessType == 'edit' ? { editId: id } : { shareId: id });
- brew = brew.toObject(); // Convert MongoDB object to standard Javascript Object
- }
-
- brew = sanitizeBrew(brew, accessType === 'edit' ? false : true);
- //Split brew.text into text and style
- //unless the Access Type is RAW, in which case return immediately
- if(accessType == 'raw') {
- return brew;
- }
- splitTextStyleAndMetadata(brew);
- return brew;
-});
-
-const sanitizeBrew = (brew, full=false)=>{
- delete brew._id;
- delete brew.__v;
- if(full){
- delete brew.editId;
- }
- return brew;
-};
-
-const splitTextStyleAndMetadata = (brew)=>{
- brew.text = brew.text.replaceAll('\r\n', '\n');
- if(brew.text.startsWith('```metadata')) {
- const index = brew.text.indexOf('```\n\n');
- const metadataSection = brew.text.slice(12, index - 1);
- const metadata = yaml.load(metadataSection);
- Object.assign(brew, _.pick(metadata, ['title', 'description', 'tags', 'systems', 'renderer', 'theme']));
- brew.text = brew.text.slice(index + 5);
- }
- if(brew.text.startsWith('```css')) {
- const index = brew.text.indexOf('```\n\n');
- brew.style = brew.text.slice(7, index - 1);
- brew.text = brew.text.slice(index + 5);
- }
- _.defaults(brew, { 'renderer': 'legacy', 'theme': '5ePHB' });
-};
-
-app.use('/', serveCompressedStaticAssets(`${__dirname}/build`));
-
-process.chdir(__dirname);
-
-//app.use(express.static(`${__dirname}/build`));
-app.use(require('body-parser').json({ limit: '25mb' }));
-app.use(require('cookie-parser')());
-app.use(require('./server/forcessl.mw.js'));
-
-const config = require('nconf')
- .argv()
- .env({ lowerCase: true })
- .file('environment', { file: `config/${process.env.NODE_ENV}.json` })
- .file('defaults', { file: 'config/default.json' });
-
-// DB
const DB = require('./server/db.js');
-DB.connect(config);
+const server = require('./server/app.js');
+const config = require('./server/config.js');
-//Account Middleware
-app.use((req, res, next)=>{
- if(req.cookies && req.cookies.nc_session){
- try {
- req.account = jwt.decode(req.cookies.nc_session, config.get('secret'));
- //console.log("Just loaded up JWT from cookie:");
- //console.log(req.account);
- } catch (e){}
- }
-
- req.config = {
- google_client_id : config.get('google_client_id'),
- google_client_secret : config.get('google_client_secret')
- };
- return next();
-});
-
-app.use(homebrewApi);
-app.use(require('./server/admin.api.js'));
-
-const HomebrewModel = require('./server/homebrew.model.js').model;
-const welcomeText = require('fs').readFileSync('./client/homebrew/pages/homePage/welcome_msg.md', 'utf8');
-const welcomeTextV3 = require('fs').readFileSync('./client/homebrew/pages/homePage/welcome_msg_v3.md', 'utf8');
-const changelogText = require('fs').readFileSync('./changelog.md', 'utf8');
-const faqText = require('fs').readFileSync('./faq.md', 'utf8');
-
-String.prototype.replaceAll = function(s, r){return this.split(s).join(r);};
-
-//Robots.txt
-app.get('/robots.txt', (req, res)=>{
- return res.sendFile(`${__dirname}/robots.txt`);
-});
-
-//Home page
-app.get('/', async (req, res, next)=>{
- const brew = {
- text : welcomeText
- };
- req.brew = brew;
- return next();
-});
-
-//Home page v3
-app.get('/v3_preview', async (req, res, next)=>{
- const brew = {
- text : welcomeTextV3,
- renderer : 'V3'
- };
- splitTextStyleAndMetadata(brew);
- req.brew = brew;
- return next();
-});
-
-//Changelog page
-app.get('/changelog', async (req, res, next)=>{
- const brew = {
- title : 'Changelog',
- text : changelogText,
- renderer : 'V3'
- };
- splitTextStyleAndMetadata(brew);
- req.brew = brew;
- return next();
-});
-
-//FAQ page
-app.get('/faq', async (req, res, next)=>{
- const brew = {
- title : 'FAQ',
- text : faqText,
- renderer : 'V3'
- };
- splitTextStyleAndMetadata(brew);
- req.brew = brew;
- return next();
-});
-
-//Source page
-app.get('/source/:id', asyncHandler(async (req, res)=>{
- const brew = await getBrewFromId(req.params.id, 'raw');
-
- const replaceStrings = { '&': '&', '<': '<', '>': '>' };
- let text = brew.text;
- for (const replaceStr in replaceStrings) {
- text = text.replaceAll(replaceStr, replaceStrings[replaceStr]);
- }
- text = `${text} `;
- res.status(200).send(text);
-}));
-
-//Download brew source page
-app.get('/download/:id', asyncHandler(async (req, res)=>{
- const brew = await getBrewFromId(req.params.id, 'raw');
- const prefix = 'HB - ';
-
- let fileName = sanitizeFilename(`${prefix}${brew.title}`).replaceAll(' ', '');
- if(!fileName || !fileName.length) { fileName = `${prefix}-Untitled-Brew`; };
- res.set({
- 'Cache-Control' : 'no-cache',
- 'Content-Type' : 'text/plain',
- 'Content-Disposition' : `attachment; filename="${fileName}.txt"`
+DB.connect(config).then(()=>{
+ // Ensure that we have successfully connected to the database
+ // before launching server
+ const PORT = process.env.PORT || config.get('web_port') || 8000;
+ server.app.listen(PORT, ()=>{
+ console.log(`server on port: ${PORT}`);
});
- res.status(200).send(brew.text);
-}));
-
-//User Page
-app.get('/user/:username', async (req, res, next)=>{
- const ownAccount = req.account && (req.account.username == req.params.username);
-
- let brews = await HomebrewModel.getByUser(req.params.username, ownAccount)
- .catch((err)=>{
- console.log(err);
- });
-
- if(ownAccount && req?.account?.googleId){
- const googleBrews = await GoogleActions.listGoogleBrews(req, res)
- .catch((err)=>{
- console.error(err);
- });
-
- if(googleBrews)
- brews = _.concat(brews, googleBrews);
- }
-
- req.brews = _.map(brews, (brew)=>{
- return sanitizeBrew(brew, !ownAccount);
- });
-
- return next();
-});
-
-//Edit Page
-app.get('/edit/:id', asyncHandler(async (req, res, next)=>{
- res.header('Cache-Control', 'no-cache, no-store'); //reload the latest saved brew when pressing back button, not the cached version before save.
- const brew = await getBrewFromId(req.params.id, 'edit');
- req.brew = brew;
- return next();
-}));
-
-//New Page
-app.get('/new/:id', asyncHandler(async (req, res, next)=>{
- const brew = await getBrewFromId(req.params.id, 'share');
- brew.title = `CLONE - ${brew.title}`;
- req.brew = brew;
- return next();
-}));
-
-//Share Page
-app.get('/share/:id', asyncHandler(async (req, res, next)=>{
- const brew = await getBrewFromId(req.params.id, 'share');
-
- if(req.params.id.length > 12) {
- const googleId = req.params.id.slice(0, -12);
- const shareId = req.params.id.slice(-12);
- await GoogleActions.increaseView(googleId, shareId, 'share', brew)
- .catch((err)=>{next(err);});
- } else {
- await HomebrewModel.increaseView({ shareId: brew.shareId });
- }
-
- req.brew = brew;
- return next();
-}));
-
-//Print Page
-app.get('/print/:id', asyncHandler(async (req, res, next)=>{
- const brew = await getBrewFromId(req.params.id, 'share');
- req.brew = brew;
- return next();
-}));
-
-//Render the page
-const templateFn = require('./client/template.js');
-app.use((req, res)=>{
- const props = {
- version : require('./package.json').version,
- url : req.originalUrl,
- brew : req.brew,
- brews : req.brews,
- googleBrews : req.googleBrews,
- account : req.account,
- enable_v3 : config.get('enable_v3')
- };
- templateFn('homebrew', title = req.brew ? req.brew.title : '', props)
- .then((page)=>{ res.send(page); })
- .catch((err)=>{
- console.log(err);
- return res.sendStatus(500);
- });
-});
-
-//v=====----- Error-Handling Middleware -----=====v//
-//Format Errors so all fields will be sent
-const replaceErrors = (key, value)=>{
- if(value instanceof Error) {
- const error = {};
- Object.getOwnPropertyNames(value).forEach(function (key) {
- error[key] = value[key];
- });
- return error;
- }
- return value;
-};
-
-const getPureError = (error)=>{
- return JSON.parse(JSON.stringify(error, replaceErrors));
-};
-
-app.use((err, req, res, next)=>{
- const status = err.status || 500;
- console.error(err);
- res.status(status).send(getPureError(err));
-});
-//^=====--------------------------------------=====^//
-
-const PORT = process.env.PORT || config.get('web_port') || 8000;
-app.listen(PORT, ()=>{
- console.log(`server on port:${PORT}`);
});
diff --git a/server/app.js b/server/app.js
new file mode 100644
index 000000000..3bffb4ff9
--- /dev/null
+++ b/server/app.js
@@ -0,0 +1,306 @@
+/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/
+// Set working directory to project root
+process.chdir(`${__dirname}/..`);
+
+const _ = require('lodash');
+const jwt = require('jwt-simple');
+const express = require('express');
+const yaml = require('js-yaml');
+const app = express();
+const config = require('./config.js');
+
+const homebrewApi = require('./homebrew.api.js');
+const GoogleActions = require('./googleActions.js');
+const serveCompressedStaticAssets = require('./static-assets.mv.js');
+const sanitizeFilename = require('sanitize-filename');
+const asyncHandler = require('express-async-handler');
+
+const brewAccessTypes = ['edit', 'share', 'raw'];
+
+//Get the brew object from the HB database or Google Drive
+const getBrewFromId = asyncHandler(async (id, accessType)=>{
+ if(!brewAccessTypes.includes(accessType))
+ throw ('Invalid Access Type when getting brew');
+ let brew;
+ if(id.length > 12) {
+ const googleId = id.slice(0, -12);
+ id = id.slice(-12);
+ brew = await GoogleActions.readFileMetadata(config.get('google_api_key'), googleId, id, accessType);
+ } else {
+ brew = await HomebrewModel.get(accessType == 'edit' ? { editId: id } : { shareId: id });
+ brew = brew.toObject(); // Convert MongoDB object to standard Javascript Object
+ }
+
+ brew = sanitizeBrew(brew, accessType === 'edit' ? false : true);
+ //Split brew.text into text and style
+ //unless the Access Type is RAW, in which case return immediately
+ if(accessType == 'raw') {
+ return brew;
+ }
+ splitTextStyleAndMetadata(brew);
+ return brew;
+});
+
+const sanitizeBrew = (brew, full=false)=>{
+ delete brew._id;
+ delete brew.__v;
+ if(full){
+ delete brew.editId;
+ }
+ return brew;
+};
+
+const splitTextStyleAndMetadata = (brew)=>{
+ brew.text = brew.text.replaceAll('\r\n', '\n');
+ if(brew.text.startsWith('```metadata')) {
+ const index = brew.text.indexOf('```\n\n');
+ const metadataSection = brew.text.slice(12, index - 1);
+ const metadata = yaml.load(metadataSection);
+ Object.assign(brew, _.pick(metadata, ['title', 'description', 'tags', 'systems', 'renderer']));
+ brew.text = brew.text.slice(index + 5);
+ }
+ if(brew.text.startsWith('```css')) {
+ const index = brew.text.indexOf('```\n\n');
+ brew.style = brew.text.slice(7, index - 1);
+ brew.text = brew.text.slice(index + 5);
+ }
+};
+
+app.use('/', serveCompressedStaticAssets(`build`));
+
+//app.use(express.static(`${__dirname}/build`));
+app.use(require('body-parser').json({ limit: '25mb' }));
+app.use(require('cookie-parser')());
+app.use(require('./forcessl.mw.js'));
+
+//Account Middleware
+app.use((req, res, next)=>{
+ if(req.cookies && req.cookies.nc_session){
+ try {
+ req.account = jwt.decode(req.cookies.nc_session, config.get('secret'));
+ //console.log("Just loaded up JWT from cookie:");
+ //console.log(req.account);
+ } catch (e){}
+ }
+
+ req.config = {
+ google_client_id : config.get('google_client_id'),
+ google_client_secret : config.get('google_client_secret')
+ };
+ return next();
+});
+
+app.use(homebrewApi);
+app.use(require('./admin.api.js'));
+
+const HomebrewModel = require('./homebrew.model.js').model;
+const welcomeText = require('fs').readFileSync('client/homebrew/pages/homePage/welcome_msg.md', 'utf8');
+const welcomeTextV3 = require('fs').readFileSync('client/homebrew/pages/homePage/welcome_msg_v3.md', 'utf8');
+const migrateText = require('fs').readFileSync('client/homebrew/pages/homePage/migrate.md', 'utf8');
+const changelogText = require('fs').readFileSync('changelog.md', 'utf8');
+const faqText = require('fs').readFileSync('faq.md', 'utf8');
+
+String.prototype.replaceAll = function(s, r){return this.split(s).join(r);};
+
+//Robots.txt
+app.get('/robots.txt', (req, res)=>{
+ return res.sendFile(`robots.txt`, { root: process.cwd() });
+});
+
+//Home page
+app.get('/', async (req, res, next)=>{
+ const brew = {
+ text : welcomeText
+ };
+ req.brew = brew;
+ return next();
+});
+
+//Home page v3
+app.get('/v3_preview', async (req, res, next)=>{
+ const brew = {
+ text : welcomeTextV3,
+ renderer : 'V3'
+ };
+ splitTextStyleAndMetadata(brew);
+ req.brew = brew;
+ return next();
+});
+
+//Legacy/Other Document -> v3 Migration Guide
+app.get('/migrate', async (req, res, next)=>{
+ const brew = {
+ text : migrateText,
+ renderer : 'V3'
+ };
+ splitTextStyleAndMetadata(brew);
+ req.brew = brew;
+ return next();
+});
+
+//Changelog page
+app.get('/changelog', async (req, res, next)=>{
+ const brew = {
+ title : 'Changelog',
+ text : changelogText,
+ renderer : 'V3'
+ };
+ splitTextStyleAndMetadata(brew);
+ req.brew = brew;
+ return next();
+});
+
+//FAQ page
+app.get('/faq', async (req, res, next)=>{
+ const brew = {
+ title : 'FAQ',
+ text : faqText,
+ renderer : 'V3'
+ };
+ splitTextStyleAndMetadata(brew);
+ req.brew = brew;
+ return next();
+});
+
+//Source page
+app.get('/source/:id', asyncHandler(async (req, res)=>{
+ const brew = await getBrewFromId(req.params.id, 'raw');
+
+ const replaceStrings = { '&': '&', '<': '<', '>': '>' };
+ let text = brew.text;
+ for (const replaceStr in replaceStrings) {
+ text = text.replaceAll(replaceStr, replaceStrings[replaceStr]);
+ }
+ text = `${text} `;
+ res.status(200).send(text);
+}));
+
+//Download brew source page
+app.get('/download/:id', asyncHandler(async (req, res)=>{
+ const brew = await getBrewFromId(req.params.id, 'raw');
+ const prefix = 'HB - ';
+
+ let fileName = sanitizeFilename(`${prefix}${brew.title}`).replaceAll(' ', '');
+ if(!fileName || !fileName.length) { fileName = `${prefix}-Untitled-Brew`; };
+ res.set({
+ 'Cache-Control' : 'no-cache',
+ 'Content-Type' : 'text/plain',
+ 'Content-Disposition' : `attachment; filename="${fileName}.txt"`
+ });
+ res.status(200).send(brew.text);
+}));
+
+//User Page
+app.get('/user/:username', async (req, res, next)=>{
+ const ownAccount = req.account && (req.account.username == req.params.username);
+
+ let brews = await HomebrewModel.getByUser(req.params.username, ownAccount)
+ .catch((err)=>{
+ console.log(err);
+ });
+
+ if(ownAccount && req?.account?.googleId){
+ const googleBrews = await GoogleActions.listGoogleBrews(req, res)
+ .catch((err)=>{
+ console.error(err);
+ });
+
+ if(googleBrews)
+ brews = _.concat(brews, googleBrews);
+ }
+
+ req.brews = _.map(brews, (brew)=>{
+ return sanitizeBrew(brew, !ownAccount);
+ });
+
+ return next();
+});
+
+//Edit Page
+app.get('/edit/:id', asyncHandler(async (req, res, next)=>{
+ res.header('Cache-Control', 'no-cache, no-store'); //reload the latest saved brew when pressing back button, not the cached version before save.
+ const brew = await getBrewFromId(req.params.id, 'edit');
+ req.brew = brew;
+ return next();
+}));
+
+//New Page
+app.get('/new/:id', asyncHandler(async (req, res, next)=>{
+ const brew = await getBrewFromId(req.params.id, 'share');
+ brew.title = `CLONE - ${brew.title}`;
+ req.brew = brew;
+ return next();
+}));
+
+//Share Page
+app.get('/share/:id', asyncHandler(async (req, res, next)=>{
+ const brew = await getBrewFromId(req.params.id, 'share');
+
+ if(req.params.id.length > 12) {
+ const googleId = req.params.id.slice(0, -12);
+ const shareId = req.params.id.slice(-12);
+ await GoogleActions.increaseView(googleId, shareId, 'share', brew)
+ .catch((err)=>{next(err);});
+ } else {
+ await HomebrewModel.increaseView({ shareId: brew.shareId });
+ }
+
+ req.brew = brew;
+ return next();
+}));
+
+//Print Page
+app.get('/print/:id', asyncHandler(async (req, res, next)=>{
+ const brew = await getBrewFromId(req.params.id, 'share');
+ req.brew = brew;
+ return next();
+}));
+
+//Render the page
+const templateFn = require('./../client/template.js');
+app.use((req, res)=>{
+ const props = {
+ version : require('./../package.json').version,
+ url : req.originalUrl,
+ brew : req.brew,
+ brews : req.brews,
+ googleBrews : req.googleBrews,
+ account : req.account,
+ enable_v3 : config.get('enable_v3')
+ };
+ const title = req.brew ? req.brew.title : '';
+ templateFn('homebrew', title, props)
+ .then((page)=>{ res.send(page); })
+ .catch((err)=>{
+ console.log(err);
+ return res.sendStatus(500);
+ });
+});
+
+//v=====----- Error-Handling Middleware -----=====v//
+//Format Errors so all fields will be sent
+const replaceErrors = (key, value)=>{
+ if(value instanceof Error) {
+ const error = {};
+ Object.getOwnPropertyNames(value).forEach(function (key) {
+ error[key] = value[key];
+ });
+ return error;
+ }
+ return value;
+};
+
+const getPureError = (error)=>{
+ return JSON.parse(JSON.stringify(error, replaceErrors));
+};
+
+app.use((err, req, res, next)=>{
+ const status = err.status || 500;
+ console.error(err);
+ res.status(status).send(getPureError(err));
+});
+//^=====--------------------------------------=====^//
+
+module.exports = {
+ app : app
+};
diff --git a/server/config.js b/server/config.js
new file mode 100644
index 000000000..fc50e68ba
--- /dev/null
+++ b/server/config.js
@@ -0,0 +1,5 @@
+module.exports = require('nconf')
+ .argv()
+ .env({ lowerCase: true })
+ .file('environment', { file: `config/${process.env.NODE_ENV}.json` })
+ .file('defaults', { file: 'config/default.json' });
diff --git a/server/googleActions.js b/server/googleActions.js
index 0050cb81d..9d17abdce 100644
--- a/server/googleActions.js
+++ b/server/googleActions.js
@@ -3,15 +3,11 @@ const _ = require('lodash');
const { google } = require('googleapis');
const { nanoid } = require('nanoid');
const token = require('./token.js');
-const config = require('nconf')
- .argv()
- .env({ lowerCase: true }) // Load environment variables
- .file('environment', { file: `config/${process.env.NODE_ENV}.json` })
- .file('defaults', { file: 'config/default.json' });
+const config = require('./config.js');
//let oAuth2Client;
-GoogleActions = {
+const GoogleActions = {
authCheck : (account, res)=>{
if(!account || !account.googleId){ // If not signed into Google
diff --git a/server/token.js b/server/token.js
index 40d76a484..70d6e01c5 100644
--- a/server/token.js
+++ b/server/token.js
@@ -1,11 +1,7 @@
const jwt = require('jwt-simple');
// Load configuration values
-const config = require('nconf')
- .argv()
- .env({ lowerCase: true }) // Load environment variables
- .file('environment', { file: `config/${process.env.NODE_ENV}.json` })
- .file('defaults', { file: 'config/default.json' });
+const config = require('./config.js');
// Generate an Access Token for the given User ID
const generateAccessToken = (account)=>{
diff --git a/shared/naturalcrit/nav/nav.less b/shared/naturalcrit/nav/nav.less
index fea4c1c8b..f84d11733 100644
--- a/shared/naturalcrit/nav/nav.less
+++ b/shared/naturalcrit/nav/nav.less
@@ -1,3 +1,4 @@
+@import '../styles/colors';
@keyframes glideDropDown {
0% {transform : translate(0px, -100%);
opacity : 0;
@@ -49,6 +50,7 @@ nav{
}
}
.navItem{
+ #backgroundColors;
.animate(background-color);
padding : 8px 12px;
cursor : pointer;
@@ -58,30 +60,12 @@ nav{
color : white;
text-decoration : none;
text-transform : uppercase;
+ line-height : 13px;
i{
margin-left : 5px;
font-size : 13px;
+ float : right;
}
- &.tealLight:hover{ background-color : @tealLight };
- &.teal:hover{ background-color : @teal };
- &.greenLight:hover{ background-color : @greenLight };
- &.green:hover{ background-color : @green };
- &.blueLight:hover{ background-color : @blueLight };
- &.blue:hover{ background-color : @blue };
- &.purpleLight:hover{ background-color : @purpleLight };
- &.purple:hover{ background-color : @purple };
- &.steelLight:hover{ background-color : @steelLight };
- &.steel:hover{ background-color : @steel };
- &.yellowLight:hover{ background-color : @yellowLight };
- &.yellow:hover{ background-color : @yellow };
- &.orangeLight:hover{ background-color : @orangeLight };
- &.orange:hover{ background-color : @orange };
- &.redLight:hover{ background-color : @redLight };
- &.red:hover{ background-color : @red };
- &.silverLight:hover{ background-color : @silverLight };
- &.silver:hover{ background-color : @silver };
- &.greyLight:hover{ background-color : @greyLight };
- &.grey:hover{ background-color : @grey };
}
.navSection:last-child .navItem{
border-left : 1px solid #666;
diff --git a/shared/naturalcrit/styles/colors.less b/shared/naturalcrit/styles/colors.less
index 4fea42bc3..340fb38a7 100644
--- a/shared/naturalcrit/styles/colors.less
+++ b/shared/naturalcrit/styles/colors.less
@@ -20,4 +20,27 @@
@silverLight : #ECF0F1;
@silver : #BDC3C7;
@greyLight : #95A5A6;
-@grey : #7F8C8D;
\ No newline at end of file
+@grey : #7F8C8D;
+
+#backgroundColors {
+ &.tealLight:hover{ background-color : @tealLight };
+ &.teal:hover{ background-color : @teal };
+ &.greenLight:hover{ background-color : @greenLight };
+ &.green:hover{ background-color : @green };
+ &.blueLight:hover{ background-color : @blueLight };
+ &.blue:hover{ background-color : @blue };
+ &.purpleLight:hover{ background-color : @purpleLight };
+ &.purple:hover{ background-color : @purple };
+ &.steelLight:hover{ background-color : @steelLight };
+ &.steel:hover{ background-color : @steel };
+ &.yellowLight:hover{ background-color : @yellowLight };
+ &.yellow:hover{ background-color : @yellow };
+ &.orangeLight:hover{ background-color : @orangeLight };
+ &.orange:hover{ background-color : @orange };
+ &.redLight:hover{ background-color : @redLight };
+ &.red:hover{ background-color : @red };
+ &.silverLight:hover{ background-color : @silverLight };
+ &.silver:hover{ background-color : @silver };
+ &.greyLight:hover{ background-color : @greyLight };
+ &.grey:hover{ background-color : @grey };
+}
\ No newline at end of file
diff --git a/tests/routes/static-pages.test.js b/tests/routes/static-pages.test.js
new file mode 100644
index 000000000..e69706f56
--- /dev/null
+++ b/tests/routes/static-pages.test.js
@@ -0,0 +1,27 @@
+const supertest = require('supertest');
+
+// Mimic https responses to avoid being redirected all the time
+const app = supertest.agent(require('app.js').app)
+ .set('X-Forwarded-Proto', 'https');
+
+describe('Tests for static pages', ()=>{
+ it('Home page works', ()=>{
+ return app.get('/').expect(200);
+ });
+
+ it('Home page v3 works', ()=>{
+ return app.get('/v3_preview').expect(200);
+ });
+
+ it('Changelog page works', ()=>{
+ return app.get('/changelog').expect(200);
+ });
+
+ it('FAQ page works', ()=>{
+ return app.get('/faq').expect(200);
+ });
+
+ it('robots.txt works', ()=>{
+ return app.get('/robots.txt').expect(200);
+ });
+});
diff --git a/themes/assets/discord.png b/themes/assets/discord.png
new file mode 100644
index 000000000..736fcce1c
Binary files /dev/null and b/themes/assets/discord.png differ
diff --git a/themes/assets/discordOfManyThings.svg b/themes/assets/discordOfManyThings.svg
new file mode 100644
index 000000000..68e4501e2
--- /dev/null
+++ b/themes/assets/discordOfManyThings.svg
@@ -0,0 +1 @@
+Discord of Many Things blank
\ No newline at end of file
diff --git a/themes/assets/github.png b/themes/assets/github.png
new file mode 100644
index 000000000..9ba6d7768
Binary files /dev/null and b/themes/assets/github.png differ
diff --git a/themes/assets/patreon.png b/themes/assets/patreon.png
new file mode 100644
index 000000000..6c4c0a673
Binary files /dev/null and b/themes/assets/patreon.png differ
diff --git a/themes/assets/reddit.png b/themes/assets/reddit.png
new file mode 100644
index 000000000..6797746b6
Binary files /dev/null and b/themes/assets/reddit.png differ