diff --git a/.babelrc b/.babelrc
index 56999588..efcc41fd 100644
--- a/.babelrc
+++ b/.babelrc
@@ -3,16 +3,15 @@
[
"@babel/preset-env",
{
- debug: true,
- targets: {
- browsers: [
- ">0.25%",
- "not ie 10",
- "not op_mini all"
- ]
- }
+ useBuiltIns: "usage",
+ corejs: 3,
+ // debug: true, // outputs polyfills and browserlist
+ // targets: 'defaults' // allows .browserslistrc to work
}
],
"jest"
+ ],
+ "plugins": [
+ 'babel-plugin-angularjs-annotate'
]
}
diff --git a/.gitignore b/.gitignore
index 569fd8f4..ffd63c8f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ node_modules
coverage
**.DS_Store
*.*-e
+yarn-error.log
\ No newline at end of file
diff --git a/.npmignore b/.npmignore
index 812a8177..d1a4c69d 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,3 +1,4 @@
node_modules
coverage
*.*-e
+.yarn-error.log
\ No newline at end of file
diff --git a/package.json b/package.json
index 7a474268..3641aef2 100644
--- a/package.json
+++ b/package.json
@@ -1,10 +1,11 @@
{
"name": "materia-server-client-assets",
- "version": "2.1.1",
+ "version": "2.2.0",
"license": "AGPL-3.0",
"description": "Materia Server Client Assets contains all the javascript and css for Materia Server and the Materia Widget Development Kit.",
"author": "University of Central Florida, Center for Distributed Learning",
"homepage": "https://ucfopen.github.io/Materia-Docs",
+ "repository": "https://github.com/ucfopen/Materia-Server-Client-Assets.git",
"scripts": {
"test": "TZ=Etc/UTC jest --verbose",
"test:dev": "TZ=Etc/UTC jest --verbose --watch --coverage",
@@ -12,10 +13,10 @@
"build": "webpack -p",
"build-watch": "webpack --watch",
"build-dev": "webpack",
+ "prepare": "yarn build",
"prettier:run": "prettier --write 'src/**/*.{js,scss}'",
"prettier:debug": "prettier -l 'src/**/*.{js,scss}'",
- "prettier:detectchanges": "git diff --exit-code ./src || (echo '!! Prettier created files that need to be manually added.'; exit 1;)",
- "precommit": "yarn test && lint-staged"
+ "prettier:detectchanges": "git diff --exit-code ./src || (echo '!! Prettier created files that need to be manually added.'; exit 1;)"
},
"prettier": {
"printWidth": 100,
@@ -25,10 +26,19 @@
},
"lint-staged": {
"src/**/*.{js,scss}": [
- "yarn prettier --write",
- "git add"
+ "yarn prettier --write"
]
},
+ "husky": {
+ "hooks": {
+ "pre-commit": "yarn test:ci && yarn lint-staged"
+ }
+ },
+ "browserslist": [
+ "> 0.5%",
+ "not ie >= 0",
+ "not op_mini all"
+ ],
"jest": {
"transform": {
"ctrl-widget-catalog.js": "babel-jest"
@@ -46,41 +56,44 @@
],
"coverageThreshold": {
"global": {
- "statements": 44,
- "branches": 31,
+ "statements": 43,
+ "branches": 32,
"functions": 48,
"lines": 43
}
}
},
"dependencies": {
- "angular": "1.6.9",
+ "angular": "1.8.0",
"js-snakecase": "^1.2.0",
"ngmodal": "ucfcdl/ngModal#v1.2.2"
},
"devDependencies": {
- "@babel/core": "^7.4.5",
- "@babel/preset-env": "^7.4.5",
- "angular-animate": "1.6.9",
- "angular-mocks": "1.6.9",
- "babel-jest": "^24.6.0",
- "babel-loader": "^8.0.6",
+ "@babel/core": "^7.10.4",
+ "@babel/preset-env": "^7.10.4",
+ "angular-animate": "1.8.0",
+ "angular-mocks": "1.8.0",
+ "autoprefixer": "^9.7.6",
+ "babel-jest": "^26.1.0",
+ "babel-loader": "^8.1.0",
"babel-plugin-angularjs-annotate": "^0.10.0",
- "babel-polyfill": "^6.26.0",
- "clean-webpack-plugin": "^2.0.2",
- "css-loader": "^0.28.4",
- "extract-text-webpack-plugin": "^3.0.0",
+ "clean-webpack-plugin": "^3.0.0",
+ "core-js": "3",
+ "css-loader": "^3.6.0",
"hammerjs": "2.0.8",
- "husky": "^2.3.0",
- "jest": "^24.6.0",
- "lint-staged": "^8.1.7",
- "node-sass": "^4.12.0",
- "prettier": "^1.11.1",
- "sass-loader": "^6.0.6",
- "style-loader": "^0.20.2",
- "webpack": "3.12.0",
- "webpack-strip-block": "^0.2.0",
- "whatwg-fetch": "^3.0.0"
+ "husky": "^4.2.5",
+ "ignore-emit-webpack-plugin": "^2.0.2",
+ "jest": "^26.1.0",
+ "lint-staged": "^10.2.11",
+ "mini-css-extract-plugin": "^0.9.0",
+ "node-sass": "^4.14.1",
+ "postcss-loader": "^3.0.0",
+ "prettier": "^2.0.5",
+ "sass-loader": "^9.0.1",
+ "style-loader": "^1.2.1",
+ "webpack": "4.43.0",
+ "webpack-cli": "^3.3.12",
+ "webpack-strip-block": "^0.2.0"
},
"engines": {
"node": "^12.3.1",
diff --git a/src/css/login.scss b/src/css/login.scss
index ee73c2c0..542f850a 100644
--- a/src/css/login.scss
+++ b/src/css/login.scss
@@ -1,273 +1,273 @@
-.login label {
- cursor: text;
-}
-
-.login section.page,
-.login aside {
- background: #fff;
-}
-
-.login .container {
- margin: 15px auto 0px auto;
- width: 640px;
- position: relative;
-}
-
-.login section.page,
-.login aside {
- border: rgba(0, 0, 0, 0.11) 1px solid;
- box-shadow: 1px 3px 10px #888;
-}
-
-.login section.page {
- width: 600px;
- margin: 0 auto;
- top: 0;
- right: 0;
- z-index: 100;
- padding: 30px 10px;
-}
-
-.login .container.widget section.page {
- min-height: 400px;
- border-left: 0;
- border-right: 0;
- border-bottom: 0;
-}
-
-.login .container.widget .attempts.page {
- min-height: 280px;
-}
-
-.login .container.widget div.detail .unavailable-text {
- margin-top: 40px;
- margin-bottom: 5px;
-}
-
-.login .container.widget div.detail .unavailable-subtext {
- margin-bottom: 40px;
- font-size: 0.8em;
- font-weight: 600;
-}
-
-.login .container.widget.preview section.page {
- border-top: 4px #b944cc solid;
- margin-top: 55px;
-}
-
-.login .container.widget.preview section.page:before {
- content: 'Previewing';
- background: #b944cc;
-
- position: absolute;
- left: 0;
- top: -40px;
- width: 160px;
- height: 20px;
- padding: 8px 0 12px 0;
-
- font-family: 'Lato', 'Arial', sans-serif;
- font-size: 20px;
- font-weight: 900;
- color: #ffffff;
- text-align: center;
- vertical-align: middle;
-
- border-radius: 5px 5px 0 0;
-}
-
-.login .availability_message {
- padding: 1em 70px;
-}
-
-.login div.detail,
-div.detail {
- text-align: center;
- clear: both;
-}
-
-div.detail.icon-offset {
- margin-left: 110px;
-}
-
-.login .container.widget div.detail h3,
-.login .container.widget div.detail h3 {
- margin-top: 3px;
-}
-
-.login .form-content ul {
- margin: 0;
- position: relative;
- width: 500px;
- margin: 0 auto;
- margin-top: 30px;
- padding: 0;
-}
-
-.login .form-content ul li {
- position: relative;
- list-style-type: none;
- display: block;
- height: 46px;
- width: 350px;
- margin: 0 auto;
- margin-top: 13px;
-}
-
-.login .form-content ul li.submit_button {
- text-align: center;
-}
-
-.login .form-content ul li label,
-.login .form-content ul li input[type='text'],
-.login .form-content ul li input[type='password'] {
- position: absolute;
- top: 0;
- left: 0;
- display: block;
- width: 300px;
- font-size: 17px;
-}
-
-.login .form-content ul li label {
- z-index: 1000;
- height: 27px;
- margin-top: 13px;
- margin-left: 14px;
-}
-.login .form-content ul li input[type='text'],
-.login .form-content ul li input[type='password'] {
- z-index: 500;
- height: 40px;
- padding-left: 12px;
- padding-right: 12px;
- width: 326px;
- border: solid 1px #abadb3;
- background: #fff;
-}
-
-.login ul.help_links {
- text-align: center;
- padding: 0;
-}
-
-.login ul.help_links li {
- display: inline;
-}
-
-.login ul.help_links li a {
- margin: 0 5px 0 5px;
-}
-
-.login ul.help_links li:after {
- content: '|';
-}
-
-.login ul.help_links li:last-child:after {
- content: '';
-}
-
-.login .error {
- margin: -5px 0 -10px 0;
-}
-
-.login .error p {
- background: #ffcfcf;
- color: red;
- font-family: 'Lato';
- font-weight: 600;
- font-size: 17px;
- padding: 6px 10px;
- text-align: center;
- width: 340px;
- margin: 25px auto 0;
-}
-
-.login .additional_info {
- padding-bottom: 20px;
- padding-left: 20px;
- padding-right: 20px;
-}
-
-.login .widget_info {
- padding-left: 70px;
- padding-right: 15px;
- margin: 0;
- list-style: none;
- /*min-height: 155px;*/
- margin-bottom: 20px;
-}
-.login .widget_info li {
- list-style-type: none;
- margin-right: 10px;
- display: block;
-}
-
-.login .widget_icon {
- position: absolute;
- top: 25px;
- left: -25px;
- background: #0093e7;
- width: 115px;
- height: inherit;
- padding: 15px;
- text-align: right;
- color: #fff;
- font-size: 10px;
- line-height: 13px;
- box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
-}
-
-.login .widget_icon img {
- padding-bottom: 5px;
- padding-left: 10px;
- width: 100px;
- height: 100px;
-}
-
-.login .widget_info li.widget_tag {
- background: #f2f0d0;
- color: #48483e;
- border-radius: 3px;
- text-transform: uppercase;
- padding: 2px 6px;
- font-size: 12px;
- display: inline-block;
- vertical-align: top;
- margin-right: 3px;
-}
-
-.login .widget_info li.widget_availability {
- font-size: 13px;
- display: inline-block;
- padding: 0;
- width: 335px;
- padding-bottom: 15px;
-}
-
-.login .widget_info li.widget_availability .available_date,
-.login .widget_info li.widget_availability .available_time {
- font-weight: 100;
-}
-
-.login .widget_info li.widget_name {
- font-family: 'Lato', arial, serif;
- font-weight: 700;
- font-size: 38px;
- border-bottom: dotted black 1px;
- margin: 0;
- padding: 0 0 5px 0;
- margin-bottom: 10px;
- line-height: 37px;
-}
-
-.login .widget_type {
- font-size: 12px;
- text-transform: uppercase;
- color: #b2b2b2;
- display: block;
-}
-
-.login .server_date {
- display: none;
-}
+.login label {
+ cursor: text;
+}
+
+.login section.page,
+.login aside {
+ background: #fff;
+}
+
+.login .container {
+ margin: 15px auto 0px auto;
+ width: 640px;
+ position: relative;
+}
+
+.login section.page,
+.login aside {
+ border: rgba(0, 0, 0, 0.11) 1px solid;
+ box-shadow: 1px 3px 10px #888;
+}
+
+.login section.page {
+ width: 600px;
+ margin: 0 auto;
+ top: 0;
+ right: 0;
+ z-index: 100;
+ padding: 30px 10px;
+}
+
+.login .container.widget section.page {
+ min-height: 400px;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 0;
+}
+
+.login .container.widget .attempts.page {
+ min-height: 280px;
+}
+
+.login .container.widget div.detail .unavailable-text {
+ margin-top: 40px;
+ margin-bottom: 5px;
+}
+
+.login .container.widget div.detail .unavailable-subtext {
+ margin-bottom: 40px;
+ font-size: 0.8em;
+ font-weight: 600;
+}
+
+.login .container.widget.preview section.page {
+ border-top: 4px #b944cc solid;
+ margin-top: 55px;
+}
+
+.login .container.widget.preview section.page:before {
+ content: 'Previewing';
+ background: #b944cc;
+
+ position: absolute;
+ left: 0;
+ top: -40px;
+ width: 160px;
+ height: 20px;
+ padding: 8px 0 12px 0;
+
+ font-family: 'Lato', 'Arial', sans-serif;
+ font-size: 20px;
+ font-weight: 900;
+ color: #ffffff;
+ text-align: center;
+ vertical-align: middle;
+
+ border-radius: 5px 5px 0 0;
+}
+
+.login .availability_message {
+ padding: 1em 70px;
+}
+
+.login div.detail,
+div.detail {
+ text-align: center;
+ clear: both;
+}
+
+div.detail.icon-offset {
+ margin-left: 110px;
+}
+
+.login .container.widget div.detail h3,
+.login .container.widget div.detail h3 {
+ margin-top: 3px;
+}
+
+.login .form-content ul {
+ margin: 0;
+ position: relative;
+ width: 500px;
+ margin: 0 auto;
+ margin-top: 30px;
+ padding: 0;
+}
+
+.login .form-content ul li {
+ position: relative;
+ list-style-type: none;
+ display: block;
+ height: 46px;
+ width: 350px;
+ margin: 0 auto;
+ margin-top: 13px;
+}
+
+.login .form-content ul li.submit_button {
+ text-align: center;
+}
+
+.login .form-content ul li label,
+.login .form-content ul li input[type='text'],
+.login .form-content ul li input[type='password'] {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ width: 300px;
+ font-size: 17px;
+}
+
+.login .form-content ul li label {
+ z-index: 1000;
+ height: 27px;
+ margin-top: 13px;
+ margin-left: 14px;
+}
+.login .form-content ul li input[type='text'],
+.login .form-content ul li input[type='password'] {
+ z-index: 500;
+ height: 40px;
+ padding-left: 12px;
+ padding-right: 12px;
+ width: 326px;
+ border: solid 1px #abadb3;
+ background: #fff;
+}
+
+.login ul.help_links {
+ text-align: center;
+ padding: 0;
+}
+
+.login ul.help_links li {
+ display: inline;
+}
+
+.login ul.help_links li a {
+ margin: 0 5px 0 5px;
+}
+
+.login ul.help_links li:after {
+ content: '|';
+}
+
+.login ul.help_links li:last-child:after {
+ content: '';
+}
+
+.login .error {
+ margin: -5px 0 -10px 0;
+}
+
+.login .error p {
+ background: #ffcfcf;
+ color: red;
+ font-family: 'Lato';
+ font-weight: 600;
+ font-size: 17px;
+ padding: 6px 10px;
+ text-align: center;
+ width: 340px;
+ margin: 25px auto 0;
+}
+
+.login .additional_info {
+ padding-bottom: 20px;
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+.login .widget_info {
+ padding-left: 70px;
+ padding-right: 15px;
+ margin: 0;
+ list-style: none;
+ /*min-height: 155px;*/
+ margin-bottom: 20px;
+}
+.login .widget_info li {
+ list-style-type: none;
+ margin-right: 10px;
+ display: block;
+}
+
+.login .widget_icon {
+ position: absolute;
+ top: 25px;
+ left: -25px;
+ background: #0093e7;
+ width: 115px;
+ height: inherit;
+ padding: 15px;
+ text-align: right;
+ color: #fff;
+ font-size: 10px;
+ line-height: 13px;
+ box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
+}
+
+.login .widget_icon img {
+ padding-bottom: 5px;
+ padding-left: 10px;
+ width: 100px;
+ height: 100px;
+}
+
+.login .widget_info li.widget_tag {
+ background: #f2f0d0;
+ color: #48483e;
+ border-radius: 3px;
+ text-transform: uppercase;
+ padding: 2px 6px;
+ font-size: 12px;
+ display: inline-block;
+ vertical-align: top;
+ margin-right: 3px;
+}
+
+.login .widget_info li.widget_availability {
+ font-size: 13px;
+ display: inline-block;
+ padding: 0;
+ width: 335px;
+ padding-bottom: 15px;
+}
+
+.login .widget_info li.widget_availability .available_date,
+.login .widget_info li.widget_availability .available_time {
+ font-weight: 100;
+}
+
+.login .widget_info li.widget_name {
+ font-family: 'Lato', arial, serif;
+ font-weight: 700;
+ font-size: 38px;
+ border-bottom: dotted black 1px;
+ margin: 0;
+ padding: 0 0 5px 0;
+ margin-bottom: 10px;
+ line-height: 37px;
+}
+
+.login .widget_type {
+ font-size: 12px;
+ text-transform: uppercase;
+ color: #b2b2b2;
+ display: block;
+}
+
+.login .server_date {
+ display: none;
+}
diff --git a/src/css/my-widgets.scss b/src/css/my-widgets.scss
index df3b70e5..3350ccff 100644
--- a/src/css/my-widgets.scss
+++ b/src/css/my-widgets.scss
@@ -389,28 +389,55 @@
opacity: 0.5;
}
- .page .controls div.delete_dialogue {
- background: url(../../../img/delete-dialogue-bg.png) no-repeat center;
- padding: 20px 0;
- margin-bottom: 5px;
+ .page .controls .delete_dialogue {
text-align: center;
- }
+ width: 345px;
+ margin: 0;
+ position: absolute;
+ padding: 21px 10px 17px;
+ box-sizing: border-box;
+ background: white;
+ border-radius: 10px;
+ box-shadow: 3px 1px 6px rgba(0, 0, 0, 0.3);
+
+ // css triangle arrow to point at delete link
+ &:before {
+ content: ' ';
+ height: 0;
+ position: absolute;
+ width: 0;
+ top: -35px;
+ right: 20px;
+ border: 20px solid transparent;
+ border-bottom-color: white;
+ }
- .page .controls div.delete_dialogue .action_button {
- margin-top: 5px;
- }
+ .bottom_buttons {
+ margin-top: 18px;
+ }
- .page .controls div.delete_dialogue .red {
- background: #ca0000;
- background-image: linear-gradient(#e10000, #ca0000);
- border-color: #747474;
- color: #ffffff;
- }
+ .action_button {
+ margin-top: 5px;
+ }
- .page .controls div.delete_dialogue .red:hover {
- background: #ca0000;
- background-image: linear-gradient(#ca0000, #e10000);
- text-decoration: none;
+ .red {
+ background: #ca0000;
+ background-image: linear-gradient(#e10000, #ca0000);
+ border-color: #747474;
+ color: #ffffff;
+ }
+
+ .red:hover {
+ background: #ca0000;
+ background-image: linear-gradient(#ca0000, #e10000);
+ text-decoration: none;
+ }
+
+ .gray:hover {
+ background: #a2c129;
+ background-image: linear-gradient(#b8b8b8, #e4e4e4);
+ text-decoration: none;
+ }
}
.page .controls a.disabled,
@@ -425,12 +452,6 @@
opacity: 0.5;
}
- .page .controls div.delete_dialogue .gray:hover {
- background: #a2c129;
- background-image: linear-gradient(#b8b8b8, #e4e4e4);
- text-decoration: none;
- }
-
.page .controls div.additional_options {
border-top: #8e8e8e dotted 1px;
margin: 20px 10px 0px 5px;
diff --git a/src/css/ng-modal.scss b/src/css/ng-modal.scss
index eb965c37..8c931901 100644
--- a/src/css/ng-modal.scss
+++ b/src/css/ng-modal.scss
@@ -1 +1,2 @@
@import '~ngmodal/dist/ng-modal.css';
+// copy the ng-modal css to this file
diff --git a/src/css/partials/_widget_availability_modal.scss b/src/css/partials/_widget_availability_modal.scss
index 0a44d92e..09073faa 100644
--- a/src/css/partials/_widget_availability_modal.scss
+++ b/src/css/partials/_widget_availability_modal.scss
@@ -16,6 +16,16 @@
text-align: left;
}
+ .student-role-notice {
+ margin: 0 auto 15px auto;
+ padding: 10px;
+ font-size: 0.9em;
+ width: 90%;
+
+ background: rgb(238, 238, 238);
+ border-radius: 5px;
+ }
+
ul {
&.inline li {
list-style: none;
@@ -25,7 +35,7 @@
}
&.inline {
- margin: 50px auto 20px auto;
+ margin: 20px auto 20px auto;
padding: 0;
width: 255px;
}
@@ -83,7 +93,10 @@
.disabled {
pointer-events: none;
- opacity: 0.4;
+ label,
+ input {
+ opacity: 0.4;
+ }
}
h3 {
@@ -138,17 +151,20 @@
}
}
- .data_explanation {
- margin-left: 125px;
- width: 450px;
- font-size: 14px;
+ .input_desc {
+ padding: 10px;
+ margin-bottom: 0;
+ background: #f2f2f2;
+ border-radius: 5px;
+ margin: 0.5em 1em 1em;
+
+ .desc_notice {
+ margin-top: 1em;
+ }
}
- .access_explanation {
- margin-left: 15px;
- width: 450px;
- font-size: 14px;
- margin: 5px 20px;
+ .data_explanation {
+ margin-left: 125px;
}
.ui-slider-handle.ui-state-default.ui-corner-all {
diff --git a/src/css/partials/_widget_copy_modal.scss b/src/css/partials/_widget_copy_modal.scss
index a5834b05..76c6c4a2 100644
--- a/src/css/partials/_widget_copy_modal.scss
+++ b/src/css/partials/_widget_copy_modal.scss
@@ -1,103 +1,76 @@
.ng-modal.copy {
- text-align: center;
-}
+ // START MODAL PARTS
-.ng-modal.copy .adding_shadow {
- width: 640px;
- height: 480px;
- background-color: #000000;
- border-radius: 3px;
- position: absolute;
- top: -65px;
- left: -20px;
- z-index: 1;
- opacity: 0;
- filter: alpha(opacity=0);
-}
+ .ng-modal-dialog {
+ padding: 20px 20px 5px 20px;
+ min-width: 500px;
+ }
-.ng-modal.copy .container {
- position: absolute;
- left: 20px;
- top: 40px;
- width: 600px;
- padding-top: 15px;
-}
+ .ng-modal-title {
+ margin: 0;
+ padding: 0;
+ font-size: 1.3em;
+ color: #555;
+ border-bottom: #999 dotted 1px;
+ padding-bottom: 20px;
+ margin-bottom: 20px;
+ position: relative;
+ text-align: left;
+ }
-.ng-modal.copy .ng-modal-title {
- top: 3px;
- left: 12px;
-}
+ a.close {
+ display: block;
+ position: absolute;
+ right: 5px;
+ top: 4px;
+ margin: 4px;
+ background: url('../../../img/close.png') no-repeat;
+ text-indent: -10000px;
+ width: 19px;
+ height: 19px;
+ }
-.ng-modal.copy a.close {
- display: block;
- position: absolute;
- right: 5px;
- top: 4px;
- margin: 4px;
- background: url('../../../img/close.png') no-repeat;
- text-indent: -10000px;
- width: 19px;
- height: 19px;
-}
+ .container {
+ width: 100%;
+ }
-.ng-modal.copy .input_label {
- font-size: 16px;
- margin: 0 25px 0 0;
-}
+ // END MODAL PARTS
-.ng-modal.copy input.newtitle {
- width: 450px;
- height: 30px;
- padding-left: 10px;
- position: relative;
- z-index: 2;
-}
+ .input_desc {
+ padding: 10px;
+ margin-bottom: 0;
+ background: #f2f2f2;
+ border-radius: 5px;
+ margin: 0.5em 1em 1em;
+ }
-.ng-modal.copy .copy_button {
- margin-top: 20px;
-}
+ .title_container {
+ label {
+ margin: 0 25px 0 0;
+ }
-.ng-modal.copy .copy_error {
- display: none;
- color: #ee0000;
- margin-top: 5px;
-}
+ #copy_input_title {
+ width: 450px;
+ height: 30px;
+ padding-left: 10px;
+ position: relative;
+ z-index: 2;
+ }
+ }
-.share .perm-text {
- width: 100%;
- display: inline-block;
-}
-
-.share .exp-date {
- padding: 0;
- text-decoration: underline;
- color: #545454;
- font-size: 8pt;
- cursor: pointer;
- background: transparent;
- border: none;
- width: 85px;
-}
-.share .exp-date:hover {
- color: #969696;
-}
-.share .exp-date:disabled {
- cursor: default;
- color: #c5c5c5;
- text-decoration: none;
-}
-
-.share .exp-date:focus {
- outline: none;
- background: #fff;
- border: solid 1px #f7b64a;
-}
+ .options_container {
+ margin: 20px 0 0 0;
+ padding: 20px 0 0 0;
+ text-align: left;
-.share .expires {
- font-size: 8pt;
-}
+ input {
+ margin-right: 5px;
+ }
+ }
-.share .remove-expiration {
- font-size: 8pt;
- cursor: pointer;
+ .bottom_buttons {
+ margin-top: 20px;
+ text-align: center;
+ width: 100%;
+ }
}
diff --git a/src/css/partials/_widget_share_modal.scss b/src/css/partials/_widget_share_modal.scss
index b1e6386e..3f81d4ce 100644
--- a/src/css/partials/_widget_share_modal.scss
+++ b/src/css/partials/_widget_share_modal.scss
@@ -1,33 +1,556 @@
-.ng-modal.share .cancel_button {
- position: absolute;
- bottom: -35px;
- left: 200px;
-
- color: #555;
- text-decoration: underline;
- margin: 10px 15px;
- cursor: pointer;
-}
-
-.ng-modal.share .cancel_button.close_only {
- left: 250px;
+.ng-modal.share .avatar,
+.user_perm_name,
+.user-perm .options,
+.user_perm_select,
+.user_match_avatar,
+.user_match_name {
+ display: inline-block;
+ vertical-align: middle;
}
-.ng-modal.share .action_button.save_button {
- position: absolute;
- bottom: -35px;
- left: 285px;
-}
+.ng-modal.share {
+ text-align: center;
-.ng-modal.share .toggle_transfer {
- font-size: 12px;
- position: absolute;
- bottom: 20px;
- left: 20px;
- padding: 5px 10px;
-}
-.ng-modal.share .cancel_button .share_button {
- margin-top: 10px;
+ .cancel_button {
+ position: absolute;
+ bottom: -35px;
+ left: 200px;
+
+ color: #555;
+ text-decoration: underline;
+ margin: 10px 15px;
+ cursor: pointer;
+ }
+
+ .cancel_button.close_only {
+ left: 250px;
+ }
+
+ .search_container {
+ text-align: left;
+ position: relative;
+ margin-bottom: 20px;
+ }
+
+ .action_button.save_button {
+ position: absolute;
+ bottom: -35px;
+ left: 285px;
+ }
+
+ .toggle_transfer {
+ font-size: 12px;
+ position: absolute;
+ bottom: 20px;
+ left: 20px;
+ padding: 5px 10px;
+ }
+ .cancel_button .share_button {
+ margin-top: 10px;
+ }
+
+ #adding {
+ background-color: #f0f0f0;
+ border: none;
+ background: transparent;
+ position: absolute;
+ top: 0;
+ }
+
+ .container {
+ left: 0;
+ width: 580px;
+ height: 390px;
+ padding-top: 0;
+ }
+
+ .ng-modal-title {
+ margin: 0;
+ padding: 0;
+ font-size: 1.3em;
+ color: #555;
+ border-bottom: #999 dotted 1px;
+ padding-bottom: 20px;
+ margin-bottom: 20px;
+ position: relative;
+ text-align: left;
+ }
+
+ a.close {
+ display: block;
+ position: absolute;
+ right: 5px;
+ top: 4px;
+ margin: 4px;
+ background: url('../../../img/close.png') no-repeat;
+ text-indent: -10000px;
+ width: 19px;
+ height: 19px;
+ }
+ a.remove {
+ display: inline-block;
+ color: #bfbfbf;
+ text-decoration: none;
+ font-size: 15px;
+ position: absolute;
+ left: -30px;
+ top: 30px;
+ }
+ .name {
+ float: left;
+ font-weight: bold;
+ font-size: 15px;
+ margin-top: 8px;
+ text-align: left;
+ width: 160px;
+ }
+
+ .name span {
+ display: block;
+ font-weight: normal;
+ text-align: left;
+ }
+
+ .input_label {
+ font-size: 19px;
+ margin: 5px 25px 0 0;
+ }
+
+ #adding .input_label {
+ left: 20px;
+ top: 20px;
+ }
+
+ #access input.user_add,
+ #access .placeholder {
+ width: 445px;
+ height: 30px;
+ z-index: 2;
+ border: solid 1px #c9c9c9;
+ font-size: 16px;
+ }
+
+ #adding #input_holder {
+ width: 445px;
+ height: 30px;
+ padding-left: 10px;
+ z-index: 2;
+ border: solid 1px #c9c9c9;
+ font-size: 16px;
+ background: #fff;
+ position: absolute;
+ right: 0;
+ text-align: left;
+ top: 20px;
+ right: 20px;
+ }
+
+ #adding #input_area {
+ display: inline-block;
+ outline: none;
+ min-width: 15px;
+ min-height: 30px;
+ font-family: 'Lucida Grande', sans-serif;
+ font-size: 16px;
+ padding-top: 5px;
+ }
+ #adding #input_area input.user_add {
+ width: 460px;
+ height: 30px;
+ border: none;
+ margin: 0;
+ padding: 0;
+ display: inline-block;
+ }
+
+ #adding #input_area input.user_add::input-placeholder {
+ color: #343434;
+ }
+
+ #adding #expArea {
+ display: block;
+ }
+ #adding #expArea #expSet {
+ display: none;
+ padding: 0;
+ margin: 0;
+ }
+ .expElement {
+ padding: 0;
+ margin: 0 5px;
+ }
+
+ .changeRoleExpiration {
+ display: none;
+ }
+
+ #adding #expArea .exp_disclaimer {
+ padding: 0;
+ margin: 10px 0;
+ }
+ #adding #expArea #roleExpiration {
+ width: 100px;
+ }
+
+ .share_user_to_add {
+ display: inline-block;
+ font-size: 14px;
+ border-radius: 3px;
+ background-color: #fbfbfb;
+ border: 1px solid #aeaeae;
+ margin: 3px;
+ padding: 3px;
+ height: 30px;
+ }
+
+ .search_list {
+ width: 456px;
+ min-height: 130px;
+ height: 340px;
+ position: absolute;
+ background-color: #ffffff;
+ border: #bfbfbf 1px solid;
+ padding-bottom: 5px;
+ overflow: auto;
+ z-index: 3;
+ text-align: left;
+ top: 50px;
+ left: 120px;
+ }
+ .no_match_message,
+ .no_match_reason {
+ width: 60%;
+ text-align: center;
+ margin: 10px auto;
+ }
+
+ .no_match_reason {
+ color: #a0a0a0;
+ font-size: 14px;
+ }
+
+ .search_match {
+ width: 200px;
+ height: 56px;
+ margin: 5px 5px 0 5px;
+ padding: 0 5px 5px 0;
+ border-radius: 3px;
+ display: inline-block;
+ background-color: #ffffff;
+ }
+ .search_match:hover {
+ background-color: #c5e7fa;
+ cursor: pointer;
+ }
+ .search_match.focused {
+ background-color: #7fc9f3;
+ }
+ .access_list {
+ background-color: #f2f2f2;
+ width: 520px;
+ height: 250px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ padding: 0 30px;
+ text-align: right;
+ overflow: auto;
+ }
+
+ .access_list.no-add-access {
+ background-color: #f2f2f2;
+ height: 320px;
+ margin-top: 0px;
+ }
+
+ .access_heading {
+ margin: 5px 125px 0 0;
+ padding: 0;
+ }
+
+ .user_match_name {
+ font-size: 14px;
+ text-align: left;
+ width: 140px;
+ height: 40px;
+ font-family: 'Lucida Grande', sans-serif;
+ }
+ .user_match_student {
+ position: relative;
+ }
+ .user_match_student:after {
+ content: 'Student';
+ position: absolute;
+ top: -10px;
+ left: 0;
+ font-size: 10px;
+ }
+
+ .disclaimer {
+ color: #575757;
+ font-size: 14px;
+ margin-top: 10px;
+ }
+
+ .user_perm {
+ border-bottom: #e1e1e1 1px solid;
+ margin: 5px 0;
+ margin: 0;
+ }
+
+ .user_perm:last-child {
+ border: none;
+ }
+
+ .user_perm {
+ width: 420px;
+ min-height: 64px;
+ vertical-align: middle;
+ position: relative;
+ margin-left: auto;
+ margin-right: auto;
+ display: block;
+ padding: 15px 0 0 0;
+ }
+
+ .user_perm .options {
+ position: absolute;
+ right: 0;
+ width: 145px;
+ float: left;
+ text-align: left;
+ margin-top: 6px;
+ }
+
+ .user_perm .options select {
+ display: block;
+ }
+
+ .avatar {
+ margin-left: 40px;
+ }
+
+ .avatar,
+ .user_match_avatar {
+ width: 50px;
+ height: 50px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ display: inline-block;
+ float: left;
+ margin-right: 10px;
+ margin: 5px;
+ }
+
+ .user_perm_name {
+ width: 187px;
+ font-size: 15px;
+ text-align: left;
+ padding: 0 0 0 18px;
+ margin: 0;
+ font-weight: bold;
+ }
+
+ .user_perm_name span {
+ display: block;
+ font-weight: normal;
+ }
+
+ .user_perm_select {
+ width: 150px;
+ height: 20px;
+ margin-right: 33px;
+ text-align: left;
+ }
+
+ #adding .options {
+ width: 450px;
+ margin: 10px 25px 0 0;
+ float: right;
+ }
+ #adding .user_perm_select {
+ margin-left: 8px;
+ }
+
+ hr {
+ width: 100%;
+ border: 1px dotted;
+ margin: 10px 0;
+ }
+
+ .user_perm_check {
+ float: left;
+ margin-bottom: 10px;
+ }
+
+ .user_perm_message {
+ display: block;
+ text-align: left;
+ width: 426px;
+ }
+ #adding textarea {
+ resize: none;
+ }
+
+ .options {
+ text-align: right;
+ }
+
+ .owner {
+ display: none;
+ width: 145px;
+ text-align: left;
+ }
+
+ .owner a {
+ display: block;
+ font-size: 13px;
+ }
+
+ .transfer {
+ display: none;
+ }
+
+ a.cancel-transfer {
+ display: inline !important;
+ }
+
+ .transfer .do-transfer,
+ .transfer span {
+ display: none;
+ }
+
+ .transfer span {
+ font-size: 14px;
+ }
+
+ .owner .transfer-owner {
+ display: none;
+ }
+
+ .undo {
+ display: none;
+ width: 145px;
+ text-align: left;
+ }
+
+ .deleted .avatar {
+ opacity: 0.5;
+ }
+
+ .deleted .name {
+ color: #5f5f5f;
+ }
+
+ .user_perm .exp_change_view {
+ display: none;
+ text-align: right;
+ background: #f2f2f2;
+
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 64px;
+ font-size: 12px;
+ top: -15px;
+ width: 225px;
+ padding-left: 16px;
+
+ background: white;
+ border-radius: 1px;
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);
+ }
+
+ .user_perm .exp_change_view .access_expires {
+ text-align: left;
+ font-family: 'Lato';
+ font-size: 13px;
+ line-height: 0;
+ padding-top: 6px;
+ }
+
+ .user_perm label {
+ margin-right: 10px;
+ }
+
+ .exp_change_view .exp_button {
+ font-family: Lato, arial, serif;
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ }
+
+ .exp_change_view .gray_min {
+ background: #aeaeae;
+ color: #545454;
+ }
+ .exp_change_view .gray_min:hover {
+ background: #919191;
+ }
+ .exp_change_view .green_min {
+ background: #b2cd43;
+ color: #4d5822;
+ }
+ .exp_change_view .green_min:hover {
+ background: #a2c129;
+ }
+
+ .exp_change_view input[type='text'] {
+ display: none;
+ position: absolute;
+ width: 75px;
+ left: 145px;
+ }
+
+ .demote_dialogue {
+ border-radius: 4px;
+ box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
+ padding: 1em;
+ width: 310px;
+ font-family: 'Lucida Grande', sans-serif;
+ font-size: 9pt;
+ color: black;
+ text-align: center;
+ background: #fcdbdb;
+ height: 40px;
+ z-index: 10000;
+ position: absolute;
+ margin-left: 90px;
+ }
+
+ .demote_dialogue .arrow {
+ background: url('../../../img/pink-arrow-left.png') no-repeat 0 center;
+ width: 13px;
+ height: 23px;
+ display: inline-block;
+ top: 0;
+ left: -13px;
+ position: absolute;
+ height: 100%;
+ }
+
+ .demote_dialogue .warning {
+ display: block;
+ margin: -4px 0 6px 0;
+ text-align: center;
+ }
+
+ .demote_dialogue .button {
+ text-align: center;
+ margin: 0 10px 0 10px;
+ }
+
+ .demote_dialogue .red {
+ color: white;
+ font-size: 11pt;
+ padding: 5px 12px;
+ }
+
+ .demote_dialogue .no_button {
+ font-family: Lato, arial, serif;
+ color: #555;
+ text-decoration: underline;
+ font-size: 12pt;
+ }
}
.ng-modal .green {
@@ -53,528 +576,51 @@
text-decoration: none;
}
-.ng-modal.share {
- text-align: center;
-}
-
-.ng-modal.share #adding {
- background-color: #f0f0f0;
- border: none;
- background: transparent;
- position: absolute;
- top: 0;
-}
-
-.ng-modal.share .container {
- left: 0;
- top: 50px;
- width: 580px;
- height: 390px;
- padding-top: 15px;
-}
-
-.ng-modal.share .ng-modal-title {
- top: 15px;
- left: 27px;
-}
-
-.ng-modal.share a.close {
- display: block;
- position: absolute;
- right: 5px;
- top: 4px;
- margin: 4px;
- background: url('../../../img/close.png') no-repeat;
- text-indent: -10000px;
- width: 19px;
- height: 19px;
-}
-.ng-modal.share a.remove {
- display: inline-block;
- color: #bfbfbf;
- text-decoration: none;
- font-size: 15px;
- position: absolute;
- left: 5px;
- top: 30px;
-}
-.ng-modal.share .name {
- float: left;
- font-weight: bold;
- font-size: 15px;
- margin-top: 8px;
- text-align: left;
- width: 160px;
-}
-
-.ng-modal.share .name span {
- display: block;
- font-weight: normal;
- text-align: left;
-}
-
-.ng-modal.share .input_label {
- font-size: 19px;
- margin: 0 25px 0 0;
-
- position: absolute;
-}
-
-.ng-modal.share #adding .input_label {
- left: 20px;
- top: 20px;
-}
-
-.ng-modal.share #access input.user_add,
-.ng-modal.share #access .placeholder {
- width: 445px;
- height: 30px;
- padding-left: 10px;
- z-index: 2;
- border: solid 1px #c9c9c9;
- font-size: 16px;
-
- position: absolute;
- right: 0;
-}
-
-.ng-modal.share #adding #input_holder {
- width: 445px;
- height: 30px;
- padding-left: 10px;
- z-index: 2;
- border: solid 1px #c9c9c9;
- font-size: 16px;
- background: #fff;
- position: absolute;
- right: 0;
- text-align: left;
- top: 20px;
- right: 20px;
-}
-
-.ng-modal.share #adding #input_area {
- display: inline-block;
- outline: none;
- min-width: 15px;
- min-height: 30px;
- font-family: 'Lucida Grande', sans-serif;
- font-size: 16px;
- padding-top: 5px;
-}
-.ng-modal.share #adding #input_area input.user_add {
- width: 460px;
- height: 30px;
- border: none;
- margin: 0;
- padding: 0;
- display: inline-block;
-}
-
-.ng-modal.share #adding #input_area input.user_add::input-placeholder {
- color: #343434;
-}
-
-.ng-modal.share #adding #expArea {
- display: block;
-}
-.ng-modal.share #adding #expArea #expSet {
- display: none;
- padding: 0;
- margin: 0;
-}
-.ng-modal.share .expElement {
- padding: 0;
- margin: 0 5px;
-}
-
-.ng-modal.share .changeRoleExpiration {
- display: none;
-}
-
-.ng-modal.share #adding #expArea .exp_disclaimer {
- padding: 0;
- margin: 10px 0;
-}
-.ng-modal.share #adding #expArea #roleExpiration {
- width: 100px;
-}
-
-.ng-modal.share .share_user_to_add {
- display: inline-block;
- font-size: 14px;
- border-radius: 3px;
- background-color: #fbfbfb;
- border: 1px solid #aeaeae;
- margin: 3px;
- padding: 3px;
- height: 30px;
-}
-
.share_user_to_add_name {
vertical-align: middle;
padding: 0;
margin: 0;
}
-.ng-modal.share .search_list {
- width: 456px;
- min-height: 130px;
- height: 340px;
- position: absolute;
- background-color: #ffffff;
- border: #bfbfbf 1px solid;
- padding-bottom: 5px;
- overflow: auto;
- z-index: 3;
- text-align: left;
- top: 50px;
- left: 120px;
-}
-.ng-modal.share .no_match_message,
-.ng-modal.share .no_match_reason {
- width: 60%;
- text-align: center;
- margin: 10px auto;
-}
-
-.ng-modal.share .no_match_reason {
- color: #a0a0a0;
- font-size: 14px;
-}
-
-.ng-modal.share .search_match {
- width: 200px;
- height: 56px;
- margin: 5px 5px 0 5px;
- padding: 0 5px 5px 0;
- border-radius: 3px;
- display: inline-block;
- background-color: #ffffff;
-}
-.ng-modal.share .search_match:hover {
- background-color: #c5e7fa;
- cursor: pointer;
-}
-.ng-modal.share .search_match.focused {
- background-color: #7fc9f3;
-}
-.ng-modal.share .access_list {
- background-color: #f2f2f2;
- width: 520px;
- height: 250px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- margin-top: 50px;
- padding: 0 30px;
- text-align: right;
- overflow: auto;
-}
-
-.ng-modal.share .access_list.no-add-access {
- background-color: #f2f2f2;
- height: 320px;
- margin-top: 0px;
-}
-
-.ng-modal.share .access_heading {
- margin: 5px 125px 0 0;
- padding: 0;
-}
-.ng-modal.share .user_match_avatar {
- float: left;
- margin: 5px;
-}
-.ng-modal.share .user_match_name {
- font-size: 14px;
- text-align: left;
- width: 140px;
- height: 40px;
- font-family: 'Lucida Grande', sans-serif;
-}
-.ng-modal.share .user_match_student {
- position: relative;
-}
-.ng-modal.share .user_match_student:after {
- content: 'Student';
- position: absolute;
- top: -10px;
- left: 0;
- font-size: 10px;
-}
-
-.ng-modal.share .disclaimer {
- color: #575757;
- font-size: 14px;
- margin-top: 10px;
-}
-
-.ng-modal.share .user_perm {
- border-bottom: #e1e1e1 1px solid;
- margin: 5px 0;
- margin: 0;
-}
-
-.ng-modal.share .user_perm:last-child {
- border: none;
-}
-
-.ng-modal.share .user_perm {
- width: 420px;
- min-height: 64px;
- vertical-align: middle;
- position: relative;
- margin-left: auto;
- margin-right: auto;
- display: block;
- padding: 15px 0 0 0;
-}
-
-.ng-modal.share .user_perm .options {
- position: absolute;
- right: 0;
- width: 145px;
- float: left;
- text-align: left;
- margin-top: 6px;
-}
-
-.ng-modal.share .user_perm .options select {
- display: block;
-}
-
-.ng-modal.share .avatar,
-.user_perm_name,
-.user-perm .options,
-.user_perm_select,
-.user_match_avatar,
-.user_match_name {
- display: inline-block;
- vertical-align: middle;
-}
-
-.ng-modal.share .avatar {
- margin-left: 40px;
-}
-
-.ng-modal.share .avatar,
-.user_match_avatar {
- width: 50px;
- height: 50px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- display: inline-block;
- float: left;
- margin-right: 10px;
-}
-
-.ng-modal.share .user_perm_name {
- width: 187px;
- font-size: 15px;
- text-align: left;
- padding: 0 0 0 18px;
- margin: 0;
- font-weight: bold;
-}
-
-.ng-modal.share .user_perm_name span {
- display: block;
- font-weight: normal;
-}
-
-.ng-modal.share .user_perm_select {
- width: 150px;
- height: 20px;
- margin-right: 33px;
- text-align: left;
-}
-
-.ng-modal.share #adding .options {
- width: 450px;
- margin: 10px 25px 0 0;
- float: right;
-}
-.ng-modal.share #adding .user_perm_select {
- margin-left: 8px;
-}
-
-.ng-modal.share hr {
- width: 100%;
- border: 1px dotted;
- margin: 10px 0;
-}
-
-.ng-modal.share .user_perm_check {
- float: left;
- margin-bottom: 10px;
-}
-
-.ng-modal.share .user_perm_message {
- display: block;
- text-align: left;
- width: 426px;
-}
-.ng-modal.share #adding textarea {
- resize: none;
-}
-
-.ng-modal.share .options {
- text-align: right;
-}
-
-.ng-modal.share .owner {
- display: none;
- width: 145px;
- text-align: left;
-}
-
-.ng-modal.share .owner a {
- display: block;
- font-size: 13px;
-}
-
-.ng-modal.share .transfer {
- display: none;
-}
-
-.ng-modal.share a.cancel-transfer {
- display: inline !important;
-}
-
-.ng-modal.share .transfer .do-transfer,
-.ng-modal.share .transfer span {
- display: none;
-}
-
-.ng-modal.share .transfer span {
- font-size: 14px;
-}
-
-.ng-modal.share .owner .transfer-owner {
- display: none;
-}
-
-.ng-modal.share .undo {
- display: none;
- width: 145px;
- text-align: left;
-}
-
-.ng-modal.share .deleted .avatar {
- opacity: 0.5;
-}
-
-.ng-modal.share .deleted .name {
- color: #5f5f5f;
-}
-
-.ng-modal.share .user_perm .exp_change_view {
- display: none;
- text-align: right;
- background: #f2f2f2;
-
- position: absolute;
- top: 0;
- right: 0;
- height: 64px;
- font-size: 12px;
- top: -15px;
- width: 225px;
- padding-left: 16px;
-
- background: white;
- border-radius: 1px;
- box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);
-}
-
-.ng-modal.share .user_perm .exp_change_view .access_expires {
- text-align: left;
- font-family: 'Lato';
- font-size: 13px;
- line-height: 0;
- padding-top: 6px;
-}
-
-.ng-modal.share .user_perm label {
- margin-right: 10px;
-}
-
-.ng-modal.share .exp_change_view .exp_button {
- font-family: Lato, arial, serif;
- position: absolute;
- top: 10px;
- right: 10px;
-}
-
-.ng-modal.share .exp_change_view .gray_min {
- background: #aeaeae;
- color: #545454;
-}
-.ng-modal.share .exp_change_view .gray_min:hover {
- background: #919191;
-}
-.ng-modal.share .exp_change_view .green_min {
- background: #b2cd43;
- color: #4d5822;
-}
-.ng-modal.share .exp_change_view .green_min:hover {
- background: #a2c129;
-}
-
-.ng-modal.share .exp_change_view input[type='text'] {
- display: none;
- position: absolute;
- width: 75px;
- left: 145px;
-}
-
-.ng-modal.share .demote_dialogue {
- border-radius: 4px;
- box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
- padding: 1em;
- width: 310px;
- font-family: 'Lucida Grande', sans-serif;
- font-size: 9pt;
- color: black;
- text-align: center;
- background: #fcdbdb;
- height: 40px;
- z-index: 10000;
- position: absolute;
- margin-left: 90px;
-}
-
-.ng-modal.share .demote_dialogue .arrow {
- background: url('../../../img/pink-arrow-left.png') no-repeat 0 center;
- width: 13px;
- height: 23px;
- display: inline-block;
- top: 0;
- left: -13px;
- position: absolute;
- height: 100%;
-}
-
-.ng-modal.share .demote_dialogue .warning {
- display: block;
- margin: -4px 0 6px 0;
- text-align: center;
-}
-
-.ng-modal.share .demote_dialogue .button {
- text-align: center;
- margin: 0 10px 0 10px;
-}
-
-.ng-modal.share .demote_dialogue .red {
- color: white;
- font-size: 11pt;
- padding: 5px 12px;
-}
-
-.ng-modal.share .demote_dialogue .no_button {
- font-family: Lato, arial, serif;
- color: #555;
- text-decoration: underline;
- font-size: 12pt;
+.share {
+ .perm-text {
+ width: 100%;
+ display: inline-block;
+ }
+
+ .exp-date {
+ padding: 0;
+ text-decoration: underline;
+ color: #545454;
+ font-size: 8pt;
+ cursor: pointer;
+ background: transparent;
+ border: none;
+ width: 85px;
+
+ &:hover {
+ color: #969696;
+ }
+
+ &:disabled {
+ cursor: default;
+ color: #c5c5c5;
+ text-decoration: none;
+ }
+
+ &:focus {
+ outline: none;
+ background: #fff;
+ border: solid 1px #f7b64a;
+ }
+ }
+
+ .expires {
+ font-size: 8pt;
+ }
+
+ .remove-expiration {
+ font-size: 8pt;
+ cursor: pointer;
+ }
}
diff --git a/src/css/profile.scss b/src/css/profile.scss
index 55f26288..04f17812 100644
--- a/src/css/profile.scss
+++ b/src/css/profile.scss
@@ -1,456 +1,460 @@
-.user section.page,
-.user aside {
- background: #fff;
-}
-
-.user .container {
- margin: 0 auto;
- width: 970px;
- position: relative;
-}
-
-.user section.page,
-.user aside {
- border: rgba(0, 0, 0, 0.22) 1px solid;
- box-shadow: 1px 3px 10px #888;
-}
-
-.user section.page {
- margin: 0 auto;
- top: 0;
- right: 0;
- z-index: 100;
- width: 575px; /*625px*/
- padding: 30px 60px 30px 145px;
- background: url('../../../img/user_page_background.gif') 0 0 repeat-y;
- background-color: #fff;
- min-height: 400px;
-}
-
-.user.search section.page {
- margin: 0 auto;
- top: 0;
- right: 0;
- z-index: 100;
- width: 575px; /*625px*/
- padding: 30px 60px 30px 145px;
- background: url('../../../img/repeat_border_diag_bottom.png') 0 100% repeat-x;
- background-color: #fff;
- min-height: 400px;
-}
-
-.user h2 {
- font-family: 'Lato', arial, serif;
- font-weight: 700;
- font-size: 38px;
- border-bottom: dotted #000 1px;
- margin: 0;
- padding: 0 0 5px 0;
-}
-
-.user h2 span {
- font-size: 12px;
- text-transform: uppercase;
- color: #b2b2b2;
- display: block;
-}
-
-.user .avatar_big {
- position: absolute;
- top: 25px;
- left: -25px;
- background: #0093e7;
- width: 115px;
- height: inherit;
- padding: 15px;
- text-align: right;
- color: #fff;
- font-size: 10px;
- line-height: 13px;
-
- box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
-}
-
-.user .avatar_big img {
- padding-bottom: 5px;
- padding-left: 10px;
- width: 100px;
- height: 100px;
-}
-
-.user .avatar_big a:link,
-.user .avatar_big a:visited,
-.user .avatar_big a:active,
-.user .avatar_big a:hover {
- color: #fff;
- text-decoration: underline;
-}
-.user .avatar_big a:hover {
- color: #fff;
- text-decoration: none;
-}
-
-.user .avatar_big a.external {
- padding-right: 18px;
- background: url('../../../img/external_link_arrow.png') right center no-repeat;
-}
-
-.user .rank {
- position: absolute;
- top: 25px;
- right: 25px;
-
- font-size: 55px;
- padding: 0;
- margin: 0;
- font-family: 'Lato', arial, serif;
- font-weight: 600;
- color: #0093e7;
- line-height: 35px;
- text-align: right;
- margin-top: 5px;
-}
-
-.user .rank a {
- display: block;
- font-size: 13px;
- color: #969696;
- text-decoration: underline;
-}
-
-.user .rank a:hover {
- color: #969696;
- text-decoration: none;
-}
-
-.user ul.user_information {
- padding: 0;
- font-size: 13px;
- font-weight: bold;
- font-family: 'Lato', arial, serif;
-}
-
-.user ul.user_information li {
- list-style-type: none;
- display: inline-block;
- margin-right: 10px;
-}
-
-.user .user_type {
- background: #f2f0d0;
- color: #48483e;
- border-radius: 3px;
- text-transform: uppercase;
- padding: 2px 6px;
- font-size: 12px;
-}
-
-.user .user_type.staff {
- background: #ef0223;
- color: #ffc4cc;
-}
-
-.user h3 {
- color: #000;
- font-weight: 700;
- font-family: 'Lato', arial, serif;
- height: 25px;
-}
-
-.user h3.loading {
- background: transparent url('../../../img/loading_icon_black_on_white.gif') no-repeat bottom
- center;
-}
-
-.user .activity {
- width: 575px;
-}
-
-.user .no_logs {
- background: #f7f7f7;
- border-radius: 5px;
- padding: 15px 20px;
- text-align: center;
- font-size: 15px;
- color: #4a4a4a;
-}
-
-.activity_logs_template {
- display: none;
-}
-
-.user .message_loading {
- background: url('../../../img/profile_load_more_activity.gif');
- width: 16px;
- height: 16px;
- margin: 0 5px 0 0;
- overflow: hidden;
- text-indent: -99999px;
- display: inline-block;
-}
-
-.user .show_more_activity {
- background: linear-gradient(center top, #f9f9f9 5%, #dddddd 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#dddddd');
- background-color: #dddddd;
- border: 1px solid #cecece;
- color: #777777;
- font-family: 'Lato', arial, serif;
- font-size: 14px;
- font-weight: bold;
- padding: 12px 0px;
- text-align: center;
- width: 572px;
- display: block;
- height: 19px;
- text-shadow: 1px 1px 0px #ffffff;
- text-decoration: none;
- text-transform: uppercase;
-}
-.user .show_more_activity:hover {
- background: linear-gradient(center top, #ededed 5%, #dfdfdf 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
- background-color: #ededed;
- cursor: pointer;
-}
-.user .show_more_activity:active {
- background: -moz-linear-gradient(center top, #dddddd 5%, #f9f9f9 100%);
- background: -o-linear-gradient(center top, #dddddd 5%, #f9f9f9 100%);
- background: -ms-linear-gradient(center top, #dddddd 5%, #f9f9f9 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dddddd', endColorstr='#f9f9f9');
- background-color: #dddddd;
-}
-
-.user .activity,
-.user .activity ul {
- padding: 0;
-}
-.user .activity li {
- list-style-type: none;
-}
-
-.user .activity_log {
- margin: 0;
- padding: 0;
-}
-
-.user .activity_log:last-child a {
- border: 0;
-}
-
-.user .activity_log .score-link {
- display: block;
- min-height: 50px;
- padding: 5px;
- border-bottom: #d8d8d8 1px solid;
- position: relative;
-}
-
-.activity_log.complete .score-link:hover {
- background: #eee;
-}
-
-.user .activity_log .score {
- display: block;
- position: absolute;
- left: 5px;
- top: 10px;
- width: 40px;
-
- background: #0093e7;
- color: #fff;
- border-radius: 3px;
- font-size: 28px;
- min-height: 28px;
- font-weight: 700;
- font-family: 'Lato', arial, serif;
- text-align: center;
- overflow: hidden;
-
- padding-top: 2px;
- padding-bottom: 4px;
- height: inherit;
-}
-
-.activity_log.incomplete .score {
- background: #ccc;
-}
-
-.user .activity_log.perfect_score .score {
- font-size: 21px;
- padding-top: 6px;
- padding-bottom: 6px;
-}
-
-.user .activity_log .date {
- display: block;
- position: absolute;
- right: 5px;
- top: 5px;
- text-align: right;
-
- color: #a4a4a4;
-
- font-size: 11px;
- font-weight: 700;
- font-family: 'Lato', arial, serif;
-}
-
-.user .activity_log .widget {
- display: block;
- text-align: left;
- font-family: 'LatoBlack', arial, serif;
- color: #7b7b7b;
- font-size: 11px;
- font-weight: 700;
- font-family: 'Lato', arial, serif;
- text-transform: uppercase;
- position: absolute;
- left: 55px;
- top: 10px;
-}
-
-.user .activity_log .title {
- font-family: 'Lato', arial, serif;
- font-size: 17px;
- position: absolute;
- left: 55px;
- top: 22px;
-}
-
-.user .activity_log .status {
- position: absolute;
- top: 12px;
- right: 1px;
- color: #eee;
- font-size: 30px;
-}
-
-.user .main_navigation {
- display: block;
- position: absolute;
- left: 0;
- top: 175px;
- width: 83px;
- margin: 0;
- padding: 0;
- list-style-type: none;
-}
-
-.user .main_navigation li a {
- display: block;
- width: 83px;
- text-align: right;
- font-size: 12px;
- text-transform: uppercase;
- font-family: 'Lato', arial, serif;
- font-weight: 700;
- padding-top: 10px;
- padding-bottom: 10px;
- padding-right: 30px;
- color: #0093e7;
- text-decoration: underline;
- border: transparent 1px #fff;
-}
-
-.user .main_navigation li.selected a {
- background: #fff;
- border: solid 1px #e6e6e6;
- border-right: 0;
- border-left: 0;
- color: #333;
- text-decoration: none;
-}
-
-.user .main_navigation li a:hover {
- text-decoration: none;
-}
-.user .main_navigation li.selected a:hover {
- text-decoration: underline;
-}
-
-.user .main_navigation li.selected.settings a {
- background-image: url('../../../img/user_page_icons_sprite.png');
- background-repeat: no-repeat;
- background-position: 89px -18px;
-}
-
-.user .main_navigation li.selected.profile a {
- background-image: url('../../../img/user_page_icons_sprite.png');
- background-repeat: no-repeat;
- background-position: 89px 10px;
-}
-
-.user .main_navigation li.settings a {
- background-image: url('../../../img/user_page_icons_sprite.png');
- background-repeat: no-repeat;
- background-position: 89px -75px;
-}
-
-.user .main_navigation li.profile a {
- background-image: url('../../../img/user_page_icons_sprite.png');
- background-repeat: no-repeat;
- background-position: 89px -46px;
-}
-
-.user.settings h3 {
- margin-bottom: 0.5em;
-}
-.user.settings form label,
-.user.settings form input {
- cursor: pointer;
-}
-.user.settings form label {
- font-size: 14px;
-}
-
-.user.settings form ul {
- font-size: 14px;
- list-style-type: none;
- padding: 0;
- margin: 0;
- margin-bottom: 3em;
-}
-
-.user.settings form ul li {
- display: block;
- margin-bottom: 0.5em;
-}
-
-.user.settings form ul a {
- margin-left: 5px;
- font-size: 8pt;
-}
-
-.user.settings form .action_button {
- margin-top: 3em;
-}
-
-.user.settings form .action_button.disabled,
-.user.settings form .action_button:disabled,
-.user.settings form .action_button.disabled:hover {
- background: #aeaeae;
- background-image: linear-gradient(#e4e4e4, #b8b8b8);
- border-color: #747474;
- color: #545454;
- cursor: default;
- opacity: 0.5;
-}
-
-.user.settings .email_exp {
- color: #7f7f7f;
- font-family: 'Lato', arial, serif;
- font-size: 12px;
- padding: 0 0 0 20px;
- margin: 0;
-}
-.user.settings .email_exp .email_exp_addr {
- color: #3f3f3f;
-}
-
-.settingSaveAlert {
- display: inline-block;
- font-family: 'Lucida Grande', sans;
- margin: 0;
- padding: 0 0 0 20px;
-}
+.user section.page,
+.user aside {
+ background: #fff;
+}
+
+.user .container {
+ margin: 0 auto;
+ width: 970px;
+ position: relative;
+}
+
+.user section.page,
+.user aside {
+ border: rgba(0, 0, 0, 0.22) 1px solid;
+ box-shadow: 1px 3px 10px #888;
+}
+
+.user section.page {
+ margin: 0 auto;
+ top: 0;
+ right: 0;
+ z-index: 100;
+ width: 575px; /*625px*/
+ padding: 30px 60px 30px 145px;
+ background: url('../../../img/user_page_background.gif') 0 0 repeat-y;
+ background-color: #fff;
+ min-height: 400px;
+}
+
+.user.search section.page {
+ margin: 0 auto;
+ top: 0;
+ right: 0;
+ z-index: 100;
+ width: 575px; /*625px*/
+ padding: 30px 60px 30px 145px;
+ background: url('../../../img/repeat_border_diag_bottom.png') 0 100% repeat-x;
+ background-color: #fff;
+ min-height: 400px;
+}
+
+.user h2 {
+ font-family: 'Lato', arial, serif;
+ font-weight: 700;
+ font-size: 38px;
+ border-bottom: dotted #000 1px;
+ margin: 0;
+ padding: 0 0 5px 0;
+}
+
+.user h2 span {
+ font-size: 12px;
+ text-transform: uppercase;
+ color: #b2b2b2;
+ display: block;
+}
+
+.user .avatar_big {
+ position: absolute;
+ top: 25px;
+ left: -25px;
+ background: #0093e7;
+ width: 115px;
+ height: inherit;
+ padding: 15px;
+ text-align: right;
+ color: #fff;
+ font-size: 10px;
+ line-height: 13px;
+
+ box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
+}
+
+.user .avatar_big img {
+ padding-bottom: 5px;
+ padding-left: 10px;
+ width: 100px;
+ height: 100px;
+}
+
+.user .avatar_big a:link,
+.user .avatar_big a:visited,
+.user .avatar_big a:active,
+.user .avatar_big a:hover {
+ color: #fff;
+ text-decoration: underline;
+}
+.user .avatar_big a:hover {
+ color: #fff;
+ text-decoration: none;
+}
+
+.user .avatar_big a.external {
+ padding-right: 18px;
+ background: url('../../../img/external_link_arrow.png') right center no-repeat;
+}
+
+.user .rank {
+ position: absolute;
+ top: 25px;
+ right: 25px;
+
+ font-size: 55px;
+ padding: 0;
+ margin: 0;
+ font-family: 'Lato', arial, serif;
+ font-weight: 600;
+ color: #0093e7;
+ line-height: 35px;
+ text-align: right;
+ margin-top: 5px;
+}
+
+.user .rank a {
+ display: block;
+ font-size: 13px;
+ color: #969696;
+ text-decoration: underline;
+}
+
+.user .rank a:hover {
+ color: #969696;
+ text-decoration: none;
+}
+
+.user ul.user_information {
+ padding: 0;
+ font-size: 13px;
+ font-weight: bold;
+ font-family: 'Lato', arial, serif;
+}
+
+.user ul.user_information li {
+ list-style-type: none;
+ display: inline-block;
+ margin-right: 10px;
+}
+
+.user .user_type {
+ background: #f2f0d0;
+ color: #48483e;
+ border-radius: 3px;
+ text-transform: uppercase;
+ padding: 2px 6px;
+ font-size: 12px;
+}
+
+.user .user_type.staff {
+ background: #ef0223;
+ color: #ffc4cc;
+}
+
+.user h3 {
+ color: #000;
+ font-weight: 700;
+ font-family: 'Lato', arial, serif;
+ height: 25px;
+}
+
+.user h3.loading {
+ background: transparent url('../../../img/loading_icon_black_on_white.gif') no-repeat bottom
+ center;
+}
+
+.user .activity {
+ width: 575px;
+}
+
+.user .no_logs {
+ background: #f7f7f7;
+ border-radius: 5px;
+ padding: 15px 20px;
+ text-align: center;
+ font-size: 15px;
+ color: #4a4a4a;
+}
+
+.activity_logs_template {
+ display: none;
+}
+
+.user .message_loading {
+ background: url('../../../img/profile_load_more_activity.gif');
+ width: 16px;
+ height: 16px;
+ margin: 0 5px 0 0;
+ overflow: hidden;
+ text-indent: -99999px;
+ display: inline-block;
+}
+
+.user .show_more_activity {
+ background: linear-gradient(center top, #f9f9f9 5%, #dddddd 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#dddddd');
+ background-color: #dddddd;
+ border: 1px solid #cecece;
+ color: #777777;
+ font-family: 'Lato', arial, serif;
+ font-size: 14px;
+ font-weight: bold;
+ padding: 12px 0px;
+ text-align: center;
+ width: 572px;
+ display: block;
+ height: 19px;
+ text-shadow: 1px 1px 0px #ffffff;
+ text-decoration: none;
+ text-transform: uppercase;
+}
+.user .show_more_activity:hover {
+ background: linear-gradient(center top, #ededed 5%, #dfdfdf 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
+ background-color: #ededed;
+ cursor: pointer;
+}
+.user .show_more_activity:active {
+ background: -moz-linear-gradient(center top, #dddddd 5%, #f9f9f9 100%);
+ background: -o-linear-gradient(center top, #dddddd 5%, #f9f9f9 100%);
+ background: -ms-linear-gradient(center top, #dddddd 5%, #f9f9f9 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dddddd', endColorstr='#f9f9f9');
+ background-color: #dddddd;
+}
+
+.user .activity,
+.user .activity ul {
+ padding: 0;
+}
+.user .activity li {
+ list-style-type: none;
+}
+
+.user .activity_log {
+ margin: 0;
+ padding: 0;
+}
+
+.user .activity_log:last-child a {
+ border: 0;
+}
+
+.user .activity_log .score-link {
+ display: block;
+ min-height: 50px;
+ padding: 5px;
+ border-bottom: #d8d8d8 1px solid;
+ position: relative;
+}
+
+.activity_log.complete .score-link:hover {
+ background: #eee;
+}
+
+.user .activity_log .score {
+ display: block;
+ position: absolute;
+ left: 5px;
+ top: 10px;
+ width: 40px;
+
+ background: #0093e7;
+ color: #fff;
+ border-radius: 3px;
+ font-size: 28px;
+ min-height: 28px;
+ font-weight: 700;
+ font-family: 'Lato', arial, serif;
+ text-align: center;
+ overflow: hidden;
+
+ padding-top: 2px;
+ padding-bottom: 4px;
+ height: inherit;
+}
+
+.activity_log.incomplete .score {
+ background: #ccc;
+}
+
+.user .activity_log.perfect_score .score {
+ font-size: 21px;
+ padding-top: 6px;
+ padding-bottom: 6px;
+}
+
+.user .activity_log .date {
+ display: block;
+ position: absolute;
+ right: 5px;
+ top: 5px;
+ text-align: right;
+
+ color: #a4a4a4;
+
+ font-size: 11px;
+ font-weight: 700;
+ font-family: 'Lato', arial, serif;
+}
+
+.user .activity_log .widget {
+ display: block;
+ text-align: left;
+ font-family: 'LatoBlack', arial, serif;
+ color: #7b7b7b;
+ font-size: 11px;
+ font-weight: 700;
+ font-family: 'Lato', arial, serif;
+ text-transform: uppercase;
+ position: absolute;
+ left: 55px;
+ top: 10px;
+}
+
+.user .activity_log .title {
+ font-family: 'Lato', arial, serif;
+ font-size: 17px;
+ position: absolute;
+ left: 55px;
+ top: 22px;
+}
+
+.user .activity_log .status {
+ position: absolute;
+ top: 12px;
+ right: 1px;
+ color: #eee;
+ font-size: 30px;
+}
+
+.user .main_navigation {
+ display: block;
+ position: absolute;
+ left: 0;
+ top: 175px;
+ width: 83px;
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+}
+
+.user .main_navigation li a {
+ display: block;
+ width: 83px;
+ text-align: right;
+ font-size: 12px;
+ text-transform: uppercase;
+ font-family: 'Lato', arial, serif;
+ font-weight: 700;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ padding-right: 30px;
+ color: #0093e7;
+ text-decoration: underline;
+ border: transparent 1px #fff;
+}
+
+.user .main_navigation li.selected a {
+ background: #fff;
+ border: solid 1px #e6e6e6;
+ border-right: 0;
+ border-left: 0;
+ color: #333;
+ text-decoration: none;
+}
+
+.user .main_navigation li a:hover {
+ text-decoration: none;
+}
+.user .main_navigation li.selected a:hover {
+ text-decoration: underline;
+}
+
+.user .main_navigation li.selected.settings a {
+ background-image: url('../../../img/user_page_icons_sprite.png');
+ background-repeat: no-repeat;
+ background-position: 89px -18px;
+}
+
+.user .main_navigation li.selected.profile a {
+ background-image: url('../../../img/user_page_icons_sprite.png');
+ background-repeat: no-repeat;
+ background-position: 89px 10px;
+}
+
+.user .main_navigation li.settings a {
+ background-image: url('../../../img/user_page_icons_sprite.png');
+ background-repeat: no-repeat;
+ background-position: 89px -75px;
+}
+
+.user .main_navigation li.profile a {
+ background-image: url('../../../img/user_page_icons_sprite.png');
+ background-repeat: no-repeat;
+ background-position: 89px -46px;
+}
+
+.user.settings h3 {
+ margin-bottom: 0.5em;
+}
+.user.settings form label,
+.user.settings form input {
+ cursor: pointer;
+}
+.user.settings form label {
+ font-size: 14px;
+}
+
+.user.settings form ul {
+ font-size: 14px;
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
+ margin-bottom: 3em;
+}
+
+.user.settings form ul li {
+ display: block;
+ margin-bottom: 0.5em;
+}
+
+.user.settings form ul a {
+ margin-left: 5px;
+ font-size: 8pt;
+}
+
+.user.settings form .action_button {
+ margin-top: 3em;
+
+ &.no_top_margin {
+ margin-top: 0;
+ }
+}
+
+.user.settings form .action_button.disabled,
+.user.settings form .action_button:disabled,
+.user.settings form .action_button.disabled:hover {
+ background: #aeaeae;
+ background-image: linear-gradient(#e4e4e4, #b8b8b8);
+ border-color: #747474;
+ color: #545454;
+ cursor: default;
+ opacity: 0.5;
+}
+
+.user.settings .email_exp {
+ color: #7f7f7f;
+ font-family: 'Lato', arial, serif;
+ font-size: 12px;
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+.user.settings .email_exp .email_exp_addr {
+ color: #3f3f3f;
+}
+
+.settingSaveAlert {
+ display: inline-block;
+ font-family: 'Lucida Grande', sans;
+ margin: 0;
+ padding: 0 0 0 20px;
+}
diff --git a/src/css/util-lti-picker.scss b/src/css/util-lti-picker.scss
index c0cbe22d..33200c6a 100644
--- a/src/css/util-lti-picker.scss
+++ b/src/css/util-lti-picker.scss
@@ -42,6 +42,11 @@ header {
margin-bottom: 2em;
}
+.help-container {
+ margin: 0 auto;
+ width: 500px;
+}
+
.lti-error header,
.selectWidget header,
.widgetSelected header,
diff --git a/src/js/admin.js b/src/js/admin.js
new file mode 100644
index 00000000..e01ec636
--- /dev/null
+++ b/src/js/admin.js
@@ -0,0 +1,5 @@
+require('./controllers/ctrl-admin-user')
+require('./controllers/ctrl-admin-widget')
+require('./services/srv-admin')
+
+// Materia Server admin interface pages
diff --git a/src/js/author.js b/src/js/author.js
new file mode 100644
index 00000000..04e85029
--- /dev/null
+++ b/src/js/author.js
@@ -0,0 +1,27 @@
+require('./controllers/ctrl-widget-creator')
+require('./controllers/ctrl-my-widgets-export')
+require('./controllers/ctrl-lti-resource-selection')
+require('./controllers/ctrl-media-import')
+require('./controllers/ctrl-my-widgets')
+require('./controllers/ctrl-question-import')
+require('./controllers/ctrl-my-widgets-collaboration')
+require('./controllers/ctrl-my-widgets-selected')
+require('./controllers/ctrl-my-widgets-settings')
+require('./directives/dir-beardable')
+require('./directives/dir-datatable')
+require('./directives/dir-date-validation')
+require('./directives/dir-filedropper')
+require('./directives/dir-fileonchange')
+require('./directives/dir-ngenter')
+require('./directives/dir-scoredata')
+require('./directives/dir-scoregraph')
+require('./directives/dir-scoretable')
+require('./filters/filter-escape')
+require('./filters/filter-highlight')
+require('./filters/filter-multiword')
+require('./materia/materia.mywidgets.statistics')
+require('./services/srv-api')
+require('./services/srv-beard')
+require('./services/srv-scores')
+
+// Materia Server scripts for creating content: my widgets, widget authoring, lti picker
diff --git a/src/js/materia-constants.js b/src/js/common/materia-constants.js
similarity index 86%
rename from src/js/materia-constants.js
rename to src/js/common/materia-constants.js
index e24c4dc0..a9c37116 100644
--- a/src/js/materia-constants.js
+++ b/src/js/common/materia-constants.js
@@ -5,14 +5,14 @@ app.constant('PLAYER', {
RETRY_LIMIT: 15, // When the logs fail to send, retry how many times before switching to slow mode?
RETRY_FAST: 1000,
RETRY_SLOW: 10000,
- EMBED_TARGET: 'container'
+ EMBED_TARGET: 'container',
})
app.constant('OBJECT_TYPES', {
QUESTION: 1,
ASSET: 2,
WIDGET: 3,
- WIDGET_INSTANCE: 4
+ WIDGET_INSTANCE: 4,
})
app.constant('ACCESS', {
@@ -23,5 +23,6 @@ app.constant('ACCESS', {
EDIT: 20,
COPY: 25,
FULL: 30,
- SHARE: 35
+ SHARE: 35,
+ SU: 90,
})
diff --git a/src/js/materia-constants.test.js b/src/js/common/materia-constants.test.js
similarity index 86%
rename from src/js/materia-constants.test.js
rename to src/js/common/materia-constants.test.js
index 65b50fe6..aa2ba52e 100644
--- a/src/js/materia-constants.test.js
+++ b/src/js/common/materia-constants.test.js
@@ -8,15 +8,15 @@ describe('materia constants', () => {
QUESTION: 1,
ASSET: 2,
WIDGET: 3,
- WIDGET_INSTANCE: 4
+ WIDGET_INSTANCE: 4,
}
var _OBJECT_TYPES
inject([
'OBJECT_TYPES',
- OBJECT_TYPES => {
+ (OBJECT_TYPES) => {
_OBJECT_TYPES = OBJECT_TYPES
- }
+ },
])
expect(_OBJECT_TYPES).toMatchObject(ex)
})
@@ -30,15 +30,15 @@ describe('materia constants', () => {
EDIT: 20,
COPY: 25,
FULL: 30,
- SHARE: 35
+ SHARE: 35,
}
var _ACCESS
inject([
'ACCESS',
- ACCESS => {
+ (ACCESS) => {
_ACCESS = ACCESS
- }
+ },
])
expect(_ACCESS).toMatchObject(ex)
})
@@ -49,15 +49,15 @@ describe('materia constants', () => {
RETRY_LIMIT: 15,
RETRY_FAST: 1000,
RETRY_SLOW: 10000,
- EMBED_TARGET: 'container'
+ EMBED_TARGET: 'container',
}
var _PLAYER
inject([
'PLAYER',
- PLAYER => {
+ (PLAYER) => {
_PLAYER = PLAYER
- }
+ },
])
expect(_PLAYER).toMatchObject(ex)
})
@@ -69,9 +69,9 @@ describe('materia constants', () => {
expect(() => {
inject([
'FAKE',
- FAKE => {
+ (FAKE) => {
_FAKE = FAKE
- }
+ },
])
}).toThrowError(/\$injector:unpr/)
})
diff --git a/src/js/materia-namespace.js b/src/js/common/materia-namespace.js
similarity index 82%
rename from src/js/materia-namespace.js
rename to src/js/common/materia-namespace.js
index c674adbd..ed10d005 100644
--- a/src/js/materia-namespace.js
+++ b/src/js/common/materia-namespace.js
@@ -9,11 +9,11 @@
// }
// }
// }
-window.Namespace = ns => {
+window.Namespace = (ns) => {
let namespaces = ns.split('.')
let w = window
- namespaces.forEach(namespace => {
+ namespaces.forEach((namespace) => {
w[namespace] = w[namespace] || {}
w = w[namespace] // recurse down
})
diff --git a/src/js/materia-namespace.test.js b/src/js/common/materia-namespace.test.js
similarity index 100%
rename from src/js/materia-namespace.test.js
rename to src/js/common/materia-namespace.test.js
diff --git a/src/js/controllers/__snapshots__/ctrl-media-import.test.js.snap b/src/js/controllers/__snapshots__/ctrl-media-import.test.js.snap
index 2ed905c2..59a3ff57 100644
--- a/src/js/controllers/__snapshots__/ctrl-media-import.test.js.snap
+++ b/src/js/controllers/__snapshots__/ctrl-media-import.test.js.snap
@@ -1,13 +1,13 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-exports[`mediaImportCtrl announces readyForDirectUpload via postmessage before loading media 1`] = `
+exports[`MediaImportCtrl announces readyForDirectUpload via postmessage before loading media 1`] = `
Array [
"{\\"type\\":\\"readyForDirectUpload\\",\\"source\\":\\"media-importer\\",\\"data\\":\\"\\"}",
"*",
]
`;
-exports[`mediaImportCtrl grabs a list of valid image assets 1`] = `
+exports[`MediaImportCtrl grabs a list of valid image assets 1`] = `
Array [
Object {
"created": "6/14/2017",
diff --git a/src/js/controllers/__snapshots__/ctrl-widget-catalog.test.js.snap b/src/js/controllers/__snapshots__/ctrl-widget-catalog.test.js.snap
index 6d61f89d..8c65be8f 100644
--- a/src/js/controllers/__snapshots__/ctrl-widget-catalog.test.js.snap
+++ b/src/js/controllers/__snapshots__/ctrl-widget-catalog.test.js.snap
@@ -1,6 +1,6 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-exports[`widgetCatalogController defines expected scope vars 1`] = `
+exports[`WidgetCatalogCtrl defines expected scope vars 1`] = `
Array [
"$watch",
"$on",
@@ -23,7 +23,7 @@ Array [
]
`;
-exports[`widgetCatalogController implements url based filters and search on initial load 1`] = `
+exports[`WidgetCatalogCtrl implements url based filters and search on initial load 1`] = `
Array [
"$watch",
"$on",
@@ -46,7 +46,7 @@ Array [
]
`;
-exports[`widgetCatalogController implements url based filters and search on initial load 2`] = `
+exports[`WidgetCatalogCtrl implements url based filters and search on initial load 2`] = `
Object {
"SuPpOrTeD FoUr!!": Object {
"clean": "su_pp_or_te_d_fo_ur",
@@ -86,7 +86,7 @@ Object {
}
`;
-exports[`widgetCatalogController initializes with no filters and search on initial load 1`] = `
+exports[`WidgetCatalogCtrl initializes with no filters and search on initial load 1`] = `
Array [
"$watch",
"$on",
@@ -109,7 +109,7 @@ Array [
]
`;
-exports[`widgetCatalogController initializes with no filters and search on initial load 2`] = `
+exports[`WidgetCatalogCtrl initializes with no filters and search on initial load 2`] = `
Object {
"SuPpOrTeD FoUr!!": Object {
"clean": "su_pp_or_te_d_fo_ur",
@@ -149,7 +149,7 @@ Object {
}
`;
-exports[`widgetCatalogController properly generates clean filter names 1`] = `
+exports[`WidgetCatalogCtrl properly generates clean filter names 1`] = `
Array [
"feature1",
"feature3",
@@ -161,7 +161,7 @@ Array [
]
`;
-exports[`widgetCatalogController toggling on a filter updates scope 1`] = `
+exports[`WidgetCatalogCtrl toggling on a filter updates scope 1`] = `
Array [
Object {
"dir": "mockDir1",
diff --git a/src/js/controllers/ctrl-admin-user.js b/src/js/controllers/ctrl-admin-user.js
index 22bdabb6..e0034296 100644
--- a/src/js/controllers/ctrl-admin-user.js
+++ b/src/js/controllers/ctrl-admin-user.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.controller('adminUserController', function(Please, $scope, $window, adminSrv, userServ) {
+app.controller('AdminUserController', function (Please, $scope, $window, AdminSrv, UserServ) {
let lastSearch = ''
const _sortNames = (userA, userB) => {
@@ -8,13 +8,13 @@ app.controller('adminUserController', function(Please, $scope, $window, adminSrv
return nameA.localeCompare(nameB)
}
- const _getIconUrls = instances => {
- instances.forEach(i => {
+ const _getIconUrls = (instances) => {
+ instances.forEach((i) => {
i.icon = Materia.Image.iconUrl(i.widget.dir, 60)
})
}
- const _processPlayed = instances => {
+ const _processPlayed = (instances) => {
const _pre = []
for (let play of instances) {
@@ -24,17 +24,17 @@ app.controller('adminUserController', function(Please, $scope, $window, adminSrv
name: play.name,
widget: play.widget,
icon: Materia.Image.iconUrl(play.widget.dir, 60),
- plays: []
+ plays: [],
}
}
_pre[play.id].plays.push(play)
}
// convert to an array
- return Object.keys(_pre).map(i => _pre[i])
+ return Object.keys(_pre).map((i) => _pre[i])
}
- const search = nameOrFragment => {
+ const _searchFor = (nameOrFragment) => {
if (nameOrFragment === lastSearch) {
return
}
@@ -54,7 +54,7 @@ app.controller('adminUserController', function(Please, $scope, $window, adminSrv
const inputArray = nameOrFragment.split(',')
nameOrFragment = inputArray[inputArray.length - 1]
- adminSrv.searchUsers(nameOrFragment).then(result => {
+ AdminSrv.searchUsers(nameOrFragment).then((result) => {
$scope.searchResults.searching = false
if (result && result.halt) {
alert(result.msg)
@@ -67,8 +67,8 @@ app.controller('adminUserController', function(Please, $scope, $window, adminSrv
matches = result
}
- matches.forEach(user => {
- user.gravatar = userServ.getAvatar(user, 50)
+ matches.forEach((user) => {
+ user.gravatar = UserServ.getAvatar(user, 50)
})
matches = matches.sort(_sortNames)
@@ -79,8 +79,8 @@ app.controller('adminUserController', function(Please, $scope, $window, adminSrv
})
}
- const searchMatchClick = user => {
- adminSrv.lookupUser(user.id).then(data => {
+ const searchMatchClick = (user) => {
+ AdminSrv.lookupUser(user.id).then((data) => {
$scope.inputs.userSearchInput = ''
$scope.selectedUser = user
$scope.additionalData = data
@@ -97,10 +97,10 @@ app.controller('adminUserController', function(Please, $scope, $window, adminSrv
email: u.email,
is_student: u.is_student === 'true' || u.is_student === true,
notify: u.profile_fields.notify,
- useGravatar: u.profile_fields.useGravatar === 'true' || u.profile_fields.useGravatar === true
+ useGravatar: u.profile_fields.useGravatar === 'true' || u.profile_fields.useGravatar === true,
}
- adminSrv.saveUser(update).then(response => {
+ AdminSrv.saveUser(update).then((response) => {
let errors = []
for (let prop in response) {
const stat = response[prop]
@@ -125,14 +125,20 @@ app.controller('adminUserController', function(Please, $scope, $window, adminSrv
none: true,
show: false,
searching: false,
- matches: []
+ matches: [],
}
$scope.deselectUser = deselectUser
$scope.save = save
$scope.searchMatchClick = searchMatchClick
- $scope.search = search
+
+ /* develblock:start */
+ // these method are exposed for testing
+ $scope.jestTest = {
+ _searchFor,
+ }
+ /* develblock:end */
// initialize
deselectUser()
- $scope.$watch('inputs.userSearchInput', input => $scope.search(input))
+ $scope.$watch('inputs.userSearchInput', (input) => _searchFor(input))
})
diff --git a/src/js/controllers/ctrl-admin-user.test.js b/src/js/controllers/ctrl-admin-user.test.js
index b1ba6a8e..a8bced02 100644
--- a/src/js/controllers/ctrl-admin-user.test.js
+++ b/src/js/controllers/ctrl-admin-user.test.js
@@ -1,6 +1,6 @@
-describe('adminUserController', function() {
- var adminSrv
- var _userServ
+describe('AdminUserController', function () {
+ var AdminSrv
+ var _UserServ
var sendMock
var postMock
var getMock
@@ -19,32 +19,32 @@ describe('adminUserController', function() {
}
beforeEach(() => {
- _userServ = {
- getAvatar: jest.fn(() => 'avatar')
+ _UserServ = {
+ getAvatar: jest.fn(() => 'avatar'),
}
mockPlease = { $apply: jest.fn() }
let app = angular.module('materia')
app.factory('Please', () => mockPlease)
- app.factory('userServ', () => _userServ)
+ app.factory('UserServ', () => _UserServ)
// MOCK $window
$window = {
addEventListener: jest.fn(),
location: {
- reload: jest.fn()
- }
+ reload: jest.fn(),
+ },
}
app.factory('$window', () => $window)
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('../services/srv-admin')
require('./ctrl-admin-user')
- inject((_$controller_, _$q_, _adminSrv_, _$rootScope_) => {
+ inject((_$controller_, _$q_, _AdminSrv_, _$rootScope_) => {
$controller = _$controller_
$q = _$q_
- adminSrv = _adminSrv_
+ AdminSrv = _AdminSrv_
$rootScope = _$rootScope_
})
@@ -57,19 +57,18 @@ describe('adminUserController', function() {
it('defines expected scope vars', () => {
var $scope = { $watch: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
expect($scope.inputs).toMatchObject({ userSearchInput: '' })
expect($scope.searchResults).toMatchObject({
none: true,
show: false,
searching: false,
- matches: []
+ matches: [],
})
expect($scope.selectedUser).toBeNull()
expect($scope.additionalData).toBeNull()
expect($scope.errorMessage).toMatchObject([])
- expect(typeof $scope.search).toBe('function')
expect(typeof $scope.searchMatchClick).toBe('function')
expect(typeof $scope.save).toBe('function')
expect(typeof $scope.deselectUser).toBe('function')
@@ -77,14 +76,14 @@ describe('adminUserController', function() {
it('defines watches search input changes', () => {
var $scope = { $watch: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
expect($scope.$watch).toHaveBeenCalledWith('inputs.userSearchInput', expect.anything())
})
it('deselectUser resets scope vars', () => {
var $scope = { $watch: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
$scope.errorMessage = 'test'
$scope.selectedUser = 'test'
$scope.additionalData = 'test'
@@ -98,7 +97,7 @@ describe('adminUserController', function() {
it('searchMatchClick looks up a user and updates the scope', () => {
let lookupUser = {
instances_available: [{ icon: 3, widget: { dir: '999' } }],
- instances_played: [{ id: 9, name: 'test', widget: { dir: 'somedir' } }]
+ instances_played: [{ id: 9, name: 'test', widget: { dir: 'somedir' } }],
}
let instances_played = [
{
@@ -110,16 +109,16 @@ describe('adminUserController', function() {
id: 9,
name: 'test',
widget: {
- dir: 'somedir'
- }
- }
+ dir: 'somedir',
+ },
+ },
],
- widget: { dir: 'somedir' }
- }
+ widget: { dir: 'somedir' },
+ },
]
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
mockJsonPromiseOnce(getMock, lookupUser)
$scope.searchMatchClick({ id: 5 })
@@ -131,7 +130,7 @@ describe('adminUserController', function() {
it('save sends args to service and updates scope', () => {
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
$scope.selectedUser = {
id: 1,
@@ -139,8 +138,8 @@ describe('adminUserController', function() {
is_student: 'false',
profile_fields: {
notify: 'notify',
- useGravatar: 'true'
- }
+ useGravatar: 'true',
+ },
}
mockJsonPromiseOnce(postMock, { id: 1 })
@@ -151,7 +150,7 @@ describe('adminUserController', function() {
id: 1,
is_student: false,
notify: 'notify',
- useGravatar: true
+ useGravatar: true,
})
expect($scope.errorMessage).toMatchObject([1])
expect(mockPlease.$apply).toHaveBeenCalledTimes(1)
@@ -159,7 +158,7 @@ describe('adminUserController', function() {
it('save sets errors', () => {
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
$scope.selectedUser = {
id: 1,
@@ -167,8 +166,8 @@ describe('adminUserController', function() {
is_student: false,
profile_fields: {
notify: 'notify',
- useGravatar: 'true'
- }
+ useGravatar: 'true',
+ },
}
mockJsonPromiseOnce(postMock, { id: 'this was an error' })
@@ -180,38 +179,38 @@ describe('adminUserController', function() {
it('search sends args to service and updates scope', () => {
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
mockJsonPromiseOnce(getMock, { id: 1 })
- $scope.search('one')
+ $scope.jestTest._searchFor('one')
expect(getMock).toHaveBeenCalledTimes(1)
expect(getMock).toHaveBeenLastCalledWith('/api/admin/user_search/one')
mockJsonPromiseOnce(getMock, { id: 1 })
- $scope.search('one two three')
+ $scope.jestTest._searchFor('one two three')
expect(getMock).toHaveBeenCalledTimes(2)
expect(getMock).toHaveBeenLastCalledWith('/api/admin/user_search/one%20two%20three')
})
it('search sends doesnt search twice with the same input', () => {
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
mockJsonPromiseOnce(getMock, { id: 1 })
mockJsonPromiseOnce(getMock, { id: 1 })
- $scope.search('one')
- $scope.search('one')
+ $scope.jestTest._searchFor('one')
+ $scope.jestTest._searchFor('one')
expect(getMock).toHaveBeenCalledTimes(1)
})
it('search responds to api errors with an alert and a location change', () => {
global.alert = jest.fn()
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
mockJsonPromiseOnce(getMock, { halt: true, msg: 'oh no' })
- $scope.search('one')
+ $scope.jestTest._searchFor('one')
$rootScope.$digest() // processes promise
expect(alert).toHaveBeenCalledWith('oh no')
expect($window.location.reload).toHaveBeenCalledWith(true)
@@ -219,10 +218,10 @@ describe('adminUserController', function() {
it('search handles no matches', () => {
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
mockJsonPromiseOnce(getMock, [])
- $scope.search('one')
+ $scope.jestTest._searchFor('one')
$rootScope.$digest() // processes promise
expect($scope.searchResults.none).toBe(true)
expect($scope.searchResults.show).toBe(true)
@@ -231,11 +230,11 @@ describe('adminUserController', function() {
it('search short cuts empty string', () => {
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
mockJsonPromiseOnce(getMock, [])
- $scope.search('one')
- $scope.search('')
+ $scope.jestTest._searchFor('one')
+ $scope.jestTest._searchFor('')
$rootScope.$digest() // processes promise
expect($scope.searchResults.none).toBe(true)
expect($scope.searchResults.show).toBe(false)
@@ -244,23 +243,26 @@ describe('adminUserController', function() {
it('search shows sorted matches', () => {
var $scope = { $watch: jest.fn(), $apply: jest.fn() }
- var controller = $controller('adminUserController', { $scope })
+ var controller = $controller('AdminUserController', { $scope })
let expected = [
{
first: 'a',
gravatar: 'avatar',
- last: 'a'
+ last: 'a',
},
{
first: 'z',
gravatar: 'avatar',
- last: 'z'
- }
+ last: 'z',
+ },
]
- mockJsonPromiseOnce(getMock, [{ first: 'z', last: 'z' }, { first: 'a', last: 'a' }])
- $scope.search('one')
+ mockJsonPromiseOnce(getMock, [
+ { first: 'z', last: 'z' },
+ { first: 'a', last: 'a' },
+ ])
+ $scope.jestTest._searchFor('one')
$rootScope.$digest() // processes promise
expect($scope.searchResults.none).toBe(false)
expect($scope.searchResults.show).toBe(true)
diff --git a/src/js/controllers/ctrl-admin-widget.js b/src/js/controllers/ctrl-admin-widget.js
index 01845d06..35b8e05c 100644
--- a/src/js/controllers/ctrl-admin-widget.js
+++ b/src/js/controllers/ctrl-admin-widget.js
@@ -1,6 +1,6 @@
const app = angular.module('materia')
-app.controller('adminWidgetController', function($scope, Please, adminSrv) {
- const _save = widget => {
+app.controller('AdminWidgetController', function ($scope, Please, AdminSrv) {
+ const _save = (widget) => {
const update = {
id: widget.id,
clean_name: widget.clean_name,
@@ -11,10 +11,10 @@ app.controller('adminWidgetController', function($scope, Please, adminSrv) {
restrict_publish: widget.restrict_publish,
about: widget.meta_data.about,
excerpt: widget.meta_data.excerpt,
- demo: widget.meta_data.demo
+ demo: widget.meta_data.demo,
}
- adminSrv.saveWidget(update).then(response => {
+ AdminSrv.saveWidget(update).then((response) => {
widget.errorMessage = []
for (let prop in response) {
const stat = response[prop]
@@ -30,8 +30,8 @@ app.controller('adminWidgetController', function($scope, Please, adminSrv) {
}
const _displayWidgets = () =>
- adminSrv.getWidgets().then(widgets => {
- widgets.forEach(w => {
+ AdminSrv.getWidgets().then((widgets) => {
+ widgets.forEach((w) => {
w.icon = Materia.Image.iconUrl(w.dir, 60)
})
@@ -39,7 +39,7 @@ app.controller('adminWidgetController', function($scope, Please, adminSrv) {
Please.$apply()
})
- const _onUploaderChange = e => {
+ const _onUploaderChange = (e) => {
$scope.selectedFileName = 'No File Selected'
if (e.target.files && e.target.files.length > 0) {
$scope.selectedFileName = e.target.files[0].name
diff --git a/src/js/controllers/ctrl-admin-widget.test.js b/src/js/controllers/ctrl-admin-widget.test.js
index 8537acc9..4b863e23 100644
--- a/src/js/controllers/ctrl-admin-widget.test.js
+++ b/src/js/controllers/ctrl-admin-widget.test.js
@@ -1,5 +1,5 @@
-describe('adminWidgetController', () => {
- var adminSrv
+describe('AdminWidgetController', () => {
+ var AdminSrv
var $controller
var mockPlease
var $q
@@ -20,15 +20,15 @@ describe('adminWidgetController', () => {
let app = angular.module('materia')
app.factory('Please', () => mockPlease)
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('../services/srv-admin')
require('./ctrl-admin-widget')
- inject((_$controller_, _$q_, _adminSrv_, _$rootScope_) => {
+ inject((_$controller_, _$q_, _AdminSrv_, _$rootScope_) => {
$controller = _$controller_
$q = _$q_
- adminSrv = _adminSrv_
+ AdminSrv = _AdminSrv_
$rootScope = _$rootScope_
})
@@ -38,12 +38,12 @@ describe('adminWidgetController', () => {
let getElementById = jest.spyOn(document, 'getElementById')
widgetUploaderChangeListener = jest.fn()
getElementById.mockReturnValueOnce({
- addEventListener: widgetUploaderChangeListener
+ addEventListener: widgetUploaderChangeListener,
})
- jest.spyOn(adminSrv, 'getWidgets')
- mockPromiseOnce(adminSrv.getWidgets, ['sampleval'])
+ jest.spyOn(AdminSrv, 'getWidgets')
+ mockPromiseOnce(AdminSrv.getWidgets, ['sampleval'])
$scope = { $watch: jest.fn() }
- var controller = $controller('adminWidgetController', { $scope })
+ var controller = $controller('AdminWidgetController', { $scope })
})
it('defines expected scope vars', () => {
@@ -74,11 +74,11 @@ describe('adminWidgetController', () => {
meta_data: {
about: 'f',
excerpt: 'f',
- demo: 'f'
- }
+ demo: 'f',
+ },
}
// tests
- let saveWidget = jest.spyOn(adminSrv, 'saveWidget')
+ let saveWidget = jest.spyOn(AdminSrv, 'saveWidget')
mockPromiseOnce(saveWidget, { success: true })
$scope.save(w)
$rootScope.$digest()
diff --git a/src/js/controllers/ctrl-alert.js b/src/js/controllers/ctrl-alert.js
index d7b96661..44d6bd84 100644
--- a/src/js/controllers/ctrl-alert.js
+++ b/src/js/controllers/ctrl-alert.js
@@ -1,7 +1,7 @@
// Controller and accessory factory for Materia's modal alert dialog
const app = angular.module('materia')
app.requires.push('ngModal')
-app.controller('alertCtrl', function($scope, Alert, $window) {
+app.controller('AlertCtrl', function ($scope, Alert, $window) {
$scope.alert = Alert
$scope.reloadPage = () => {
$window.location.reload()
@@ -12,5 +12,5 @@ app.factory('Alert', () => ({
title: '',
msg: '',
fatal: false,
- enableLoginButton: false
+ enableLoginButton: false,
}))
diff --git a/src/js/controllers/ctrl-current-user.js b/src/js/controllers/ctrl-current-user.js
deleted file mode 100644
index 8d439548..00000000
--- a/src/js/controllers/ctrl-current-user.js
+++ /dev/null
@@ -1,4 +0,0 @@
-const app = angular.module('materia')
-app.controller('currentUserCtrl', ($scope, $sce, userServ, $http, $rootScope) => {
- $scope.currentUser = userServ.getCurrentUser()
-})
diff --git a/src/js/controllers/ctrl-help.js b/src/js/controllers/ctrl-help.js
deleted file mode 100644
index 97bd73a9..00000000
--- a/src/js/controllers/ctrl-help.js
+++ /dev/null
@@ -1,6 +0,0 @@
-const app = angular.module('materia')
-app.controller('helpCtrl', $scope => {
- Materia.Flashcheck.flashInstalled(version => {
- $scope.hasFlash = !(version === false || version.major <= 10)
- })
-})
diff --git a/src/js/controllers/ctrl-spotlight.js b/src/js/controllers/ctrl-home-page-spotlight.js
similarity index 79%
rename from src/js/controllers/ctrl-spotlight.js
rename to src/js/controllers/ctrl-home-page-spotlight.js
index 8cb7ee8d..95dc5dcd 100644
--- a/src/js/controllers/ctrl-spotlight.js
+++ b/src/js/controllers/ctrl-home-page-spotlight.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.controller('spotlightCtrl', function() {
+app.controller('HomePageSpotlightCtrl', function () {
// find all the spotlights, assign them an id, and make a radio button for them
Materia.Store.SlideShow.formatCycler(Array.from(document.querySelectorAll('.store_main')))
})
diff --git a/src/js/controllers/ctrl-lti.js b/src/js/controllers/ctrl-lti-resource-selection.js
similarity index 89%
rename from src/js/controllers/ctrl-lti.js
rename to src/js/controllers/ctrl-lti-resource-selection.js
index ef7959c9..96dd2a17 100644
--- a/src/js/controllers/ctrl-lti.js
+++ b/src/js/controllers/ctrl-lti-resource-selection.js
@@ -1,5 +1,12 @@
const app = angular.module('materia')
-app.controller('ltiCtrl', function(Please, $interval, $timeout, $scope, $sce, widgetSrv) {
+app.controller('LTIResourceSelectionCtrl', function (
+ Please,
+ $interval,
+ $timeout,
+ $scope,
+ $sce,
+ WidgetSrv
+) {
const REFRESH_FAKE_DELAY_MS = 500
const CHANGE_SECTION_FADE_DELAY_MS = 250
let selectedWidget = null
@@ -9,14 +16,14 @@ app.controller('ltiCtrl', function(Please, $interval, $timeout, $scope, $sce, wi
$scope.showRefreshArrow = true
}
- const loadWidgets = fakeDelay => {
+ const loadWidgets = (fakeDelay) => {
if (fakeDelay == null) {
fakeDelay = 1
}
$timeout(
() =>
- widgetSrv.getWidgets().then(widgets => {
+ WidgetSrv.getWidgets(true).then((widgets) => {
if (widgets != null ? widgets.halt : undefined) {
return
}
@@ -43,14 +50,14 @@ app.controller('ltiCtrl', function(Please, $interval, $timeout, $scope, $sce, wi
)
}
- const _highlight = widget => {
+ const _highlight = (widget) => {
for (let w of Array.from($scope.widgets)) {
w.selected = false
}
widget.selected = true
}
- const _embedWidget = widget => {
+ const _embedWidget = (widget) => {
if (selectedWidget && selectedWidget.state && selectedWidget.state === 'pending') {
return
}
@@ -80,7 +87,7 @@ app.controller('ltiCtrl', function(Please, $interval, $timeout, $scope, $sce, wi
}, 1000)
}
- const setDisplayState = newSection => {
+ const setDisplayState = (newSection) => {
$scope.section = newSection
$timeout(() => {
let body = document.querySelector('body')
@@ -130,7 +137,7 @@ app.controller('ltiCtrl', function(Please, $interval, $timeout, $scope, $sce, wi
}
}, 200)
- document.addEventListener('keyup', event => {
+ document.addEventListener('keyup', (event) => {
if (event.keyCode === 16) {
$scope.easterMode = true
Please.$apply()
@@ -139,7 +146,7 @@ app.controller('ltiCtrl', function(Please, $interval, $timeout, $scope, $sce, wi
}
const getAvailabilityStr = (startDate, endDate) => {
- const availability = widgetSrv.convertAvailibilityDates(startDate, endDate)
+ const availability = WidgetSrv.convertAvailibilityDates(startDate, endDate)
if (endDate < 0 && startDate < 0) {
return 'Anytime'
@@ -148,9 +155,7 @@ app.controller('ltiCtrl', function(Please, $interval, $timeout, $scope, $sce, wi
} else if (startDate > 0 && endDate < 0) {
return `Anytime after ${availability.start.date} at ${availability.start.time}`
} else {
- return `From ${availability.start.date} at ${availability.start.time} until ${
- availability.end.date
- } at ${availability.end.time}`
+ return `From ${availability.start.date} at ${availability.start.time} until ${availability.end.date} at ${availability.end.time}`
}
}
diff --git a/src/js/controllers/ctrl-media-import.js b/src/js/controllers/ctrl-media-import.js
index 2dc125ab..68dfabbb 100644
--- a/src/js/controllers/ctrl-media-import.js
+++ b/src/js/controllers/ctrl-media-import.js
@@ -1,6 +1,6 @@
const app = angular.module('materia')
-app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
+app.controller('MediaImportCtrl', function ($scope, $window, $timeout) {
const SORTING_NONE = false
const SORTING_ASC = 'asc'
const SORTING_DESC = 'desc'
@@ -13,20 +13,20 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
sortMethod: sortString.bind(null, 'name'), // bind the field name to the sort method
name: 'Title',
field: 'name',
- status: SORTING_ASC
+ status: SORTING_ASC,
},
{
sortMethod: sortString.bind(null, 'type'), // bind the field name to the sort method
name: 'Type',
field: 'type',
- status: SORTING_NONE
+ status: SORTING_NONE,
},
{
sortMethod: sortNumber.bind(null, 'timestamp'), // bind the field name to the sort method
name: 'Date',
field: 'timestamp',
- status: SORTING_NONE
- }
+ status: SORTING_NONE,
+ },
]
// generic media type definitions and substitutions for compatibility
@@ -40,7 +40,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
jpeg: ['image/jpeg'],
gif: ['image/gif'],
png: ['image/png'],
- mp3: ['audio/mp3', 'audio/mpeg', 'audio/mpeg3']
+ mp3: ['audio/mp3', 'audio/mpeg', 'audio/mpeg3'],
}
const REQUESTED_FILE_TYPES = $window.location.hash.substring(1).split(',')
@@ -51,7 +51,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
// all files before filtering
let _allFiles = []
- const onMediaSelect = media => {
+ const onMediaSelect = (media) => {
$window.parent.Materia.Creator.onMediaImportComplete([media])
}
@@ -59,13 +59,13 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
$window.parent.Materia.Creator.onMediaImportComplete(null)
}
- const toggleSortOrder = sortOption => {
+ const toggleSortOrder = (sortOption) => {
if (!sortOption) return
const currentStatus = sortOption.status
// reset all other sorting statusus
- $scope.sortOptions.forEach(option => {
+ $scope.sortOptions.forEach((option) => {
option.status = SORTING_NONE
})
@@ -104,10 +104,9 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
const search = $scope.filter.toLowerCase().trim()
if (!search) return
- const filtered = $scope.displayFiles.filter(file => {
+ const filtered = $scope.displayFiles.filter((file) => {
//combine file name and type for simplified filtering
const simplified = file.name.replace(/\s/g, '').toLowerCase() + file.type + file.created
- // @TODO: why is this returning?
return simplified.includes(search)
})
@@ -115,24 +114,24 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
}
// just picks the first selected image
- const uploadFile = e => {
+ const uploadFile = (e) => {
const file =
(e.target.files && e.target.files[0]) || (e.dataTransfer.files && e.dataTransfer.files[0])
if (file) _getFileData(file, _upload)
}
- const _loadAllMedia = file_id => {
+ const _loadAllMedia = (file_id) => {
// load and/or select file for labelling
- COMS.send('assets_get', []).then(result => {
+ COMS.send('assets_get', []).then((result) => {
if (!result || result.msg || result.length == 0) return
// convert REQUESTED_FILE_TYPES into Allowed Mime Types
let allowedFileExtensions = []
- REQUESTED_FILE_TYPES.forEach(type => {
+ REQUESTED_FILE_TYPES.forEach((type) => {
if (MIME_MAP[type]) {
//split the file type out of the full mime type for each allowed mime type
let extractedTypes = []
- MIME_MAP[type].forEach(subtype => {
+ MIME_MAP[type].forEach((subtype) => {
extractedTypes = [...extractedTypes, subtype.split('/')[1]]
})
@@ -141,7 +140,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
})
const allowedResult = []
- result.forEach(res => {
+ result.forEach((res) => {
if (
res.remote_url != null &&
res.status !== 'upload_success' &&
@@ -165,7 +164,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
const dateString = [
creationDate.getMonth(),
creationDate.getDate(),
- creationDate.getFullYear()
+ creationDate.getFullYear(),
].join('/')
allowedResult.push({
@@ -174,7 +173,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
name: fileName,
created: dateString,
timestamp: res.created_at,
- thumb: _thumbnailUrl(res.id, res.type)
+ thumb: _thumbnailUrl(res.id, res.type),
})
}
})
@@ -210,7 +209,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
return
}
- dataReader.onload = event => {
+ dataReader.onload = (event) => {
const src = event.target.result
const mime = _getMimeType(src)
if (mime == null) return
@@ -220,17 +219,17 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
mime,
ext: file.name.split('.').pop(),
size: file.size,
- src
+ src,
})
}
dataReader.readAsDataURL(file)
}
- const _getMimeType = dataUrl => {
+ const _getMimeType = (dataUrl) => {
let allowedFileExtensions = []
- REQUESTED_FILE_TYPES.forEach(type => {
+ REQUESTED_FILE_TYPES.forEach((type) => {
if (MIME_MAP[type]) {
allowedFileExtensions = [...allowedFileExtensions, ...MIME_MAP[type]]
}
@@ -267,7 +266,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
}
// upload to either local server or s3
- const _upload = fileData => {
+ const _upload = (fileData) => {
const fd = new FormData()
fd.append('name', fileData.name)
fd.append('Content-Type', fileData.mime)
@@ -275,7 +274,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
const request = new XMLHttpRequest()
- request.onload = oEvent => {
+ request.onload = (oEvent) => {
const res = JSON.parse(request.response) //parse response string
if (res.error) {
alert(`Error code ${res.error.code}: ${res.error.message}`)
@@ -292,7 +291,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
}
// creator can send a message with file data
- const _onPostMessage = event => {
+ const _onPostMessage = (event) => {
// does the event look like an image message?
let json = JSON.parse(event.data)
if (!json.name || !json.ext || !json.src) return
@@ -313,7 +312,7 @@ app.controller('mediaImportCtrl', function($scope, $window, $timeout) {
let msg = {
type: 'readyForDirectUpload',
source: 'media-importer',
- data: ''
+ data: '',
}
$window.parent.postMessage(JSON.stringify(msg), '*')
}
diff --git a/src/js/controllers/ctrl-media-import.test.js b/src/js/controllers/ctrl-media-import.test.js
index 9e09a07a..227d057c 100644
--- a/src/js/controllers/ctrl-media-import.test.js
+++ b/src/js/controllers/ctrl-media-import.test.js
@@ -1,4 +1,4 @@
-describe('mediaImportCtrl', function() {
+describe('MediaImportCtrl', function () {
var setGatewayMock
var sendMock
var postMock
@@ -20,14 +20,14 @@ describe('mediaImportCtrl', function() {
remote_url: remote_asset ? idString + '.' + fileType : null,
status: status,
title: title,
- type: fileType
+ type: fileType,
}
}
const XHR = {
open: jest.fn(),
send: jest.fn(),
- setRequestHeader: jest.fn()
+ setRequestHeader: jest.fn(),
}
XMLHttpRequest = jest.fn().mockImplementation(() => XHR)
@@ -42,7 +42,7 @@ describe('mediaImportCtrl', function() {
createAssetObject(6, 'invalid1.exe'),
createAssetObject(7, 'image4.gif'),
// used to test names w/o extensions
- createAssetObject(8, 'valid image without extension in title', 'jpg')
+ createAssetObject(8, 'valid image without extension in title', 'jpg'),
]
beforeEach(() => {
@@ -56,17 +56,17 @@ describe('mediaImportCtrl', function() {
location: {
reload: jest.fn(),
hash: {
- substring: jest.fn()
- }
+ substring: jest.fn(),
+ },
},
parent: {
- postMessage: jest.fn()
- }
+ postMessage: jest.fn(),
+ },
}
app.factory('$window', () => $window)
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('./ctrl-media-import')
global.MEDIA_UPLOAD_URL = 'https://mediauploadurl.com'
@@ -78,13 +78,13 @@ describe('mediaImportCtrl', function() {
})
Namespace('Materia.Coms.Json').setGateway = setGatewayMock = jest.fn()
- Namespace('Materia.Coms.Json').send = sendMock = jest.fn().mockImplementation(target => {
+ Namespace('Materia.Coms.Json').send = sendMock = jest.fn().mockImplementation((target) => {
switch (target) {
case 'assets_get':
return {
- then: jest.fn().mockImplementation(callback => {
+ then: jest.fn().mockImplementation((callback) => {
callback(useAssets)
- })
+ }),
}
default:
break
@@ -105,10 +105,10 @@ describe('mediaImportCtrl', function() {
$window.location.hash.substring.mockReturnValueOnce('image')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
expect($scope.displayFiles).toHaveLength(0)
})
@@ -119,10 +119,10 @@ describe('mediaImportCtrl', function() {
$window.location.hash.substring.mockReturnValue('image')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
$timeout.flush()
expect($scope.displayFiles).toHaveLength(5)
expect($scope.displayFiles).toMatchSnapshot()
@@ -134,10 +134,10 @@ describe('mediaImportCtrl', function() {
$window.location.hash.substring.mockReturnValueOnce('png,unk')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
$timeout.flush()
expect($scope.displayFiles).toHaveLength(1)
})
@@ -145,16 +145,16 @@ describe('mediaImportCtrl', function() {
it('ignores remote assets that were not successfully migrated', () => {
useAssets = [
createAssetObject(1, 'image1.png', null, true),
- createAssetObject(2, 'image2.png', null, true, 'migrated_asset')
+ createAssetObject(2, 'image2.png', null, true, 'migrated_asset'),
]
$window.location.hash.substring.mockReturnValueOnce('image')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
$timeout.flush()
expect($scope.displayFiles).toHaveLength(1)
})
@@ -164,10 +164,10 @@ describe('mediaImportCtrl', function() {
$window.location.hash.substring.mockReturnValueOnce('image,audio')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
$timeout.flush()
//case one - images should be MEDIA_URL/assetid/thumbnail
expect($scope.displayFiles[0].thumb).toEqual('https://mediaurl.com/00001/thumbnail')
@@ -178,16 +178,16 @@ describe('mediaImportCtrl', function() {
it('announces readyForDirectUpload via postmessage before loading media', () => {
useAssets = [
createAssetObject(1, 'image1.png', null, true),
- createAssetObject(2, 'image2.png', null, true, 'migrated_asset')
+ createAssetObject(2, 'image2.png', null, true, 'migrated_asset'),
]
$window.location.hash.substring.mockReturnValueOnce('image')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
expect($window.parent.postMessage).toHaveBeenCalledTimes(1)
expect($window.parent.postMessage.mock.calls[0]).toMatchSnapshot()
})
@@ -196,10 +196,10 @@ describe('mediaImportCtrl', function() {
$window.location.hash.substring.mockReturnValueOnce('image')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
expect($window.addEventListener).toHaveBeenCalledWith('message', expect.any(Function), false)
})
@@ -207,7 +207,7 @@ describe('mediaImportCtrl', function() {
$window.location.hash.substring.mockReturnValueOnce('image')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
// mock dom elements when diabling clicks
@@ -215,7 +215,7 @@ describe('mediaImportCtrl', function() {
.spyOn(document, 'getElementsByClassName')
.mockReturnValueOnce([{ setAttribute: jest.fn() }])
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
var _onPostMessage = $window.addEventListener.mock.calls[0][1]
// send a postmessage
@@ -224,8 +224,8 @@ describe('mediaImportCtrl', function() {
name: 'mock-file-name',
ext: '.png',
mime: 'image/png',
- src: 'mock-image-data'
- })
+ src: 'mock-image-data',
+ }),
})
expect(XHR.open).toHaveBeenCalledTimes(1)
@@ -244,7 +244,7 @@ describe('mediaImportCtrl', function() {
$window.location.hash.substring.mockReturnValueOnce('image')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
// mock dom elements when diabling clicks
@@ -252,15 +252,15 @@ describe('mediaImportCtrl', function() {
.spyOn(document, 'getElementsByClassName')
.mockReturnValueOnce([{ setAttribute: jest.fn() }])
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
var _onPostMessage = $window.addEventListener.mock.calls[0][1]
// send a postmessage
_onPostMessage({
data: JSON.stringify({
name: 'mock-file-name',
- ext: '.png'
- })
+ ext: '.png',
+ }),
})
expect(XHR.open).toHaveBeenCalledTimes(0)
@@ -270,19 +270,19 @@ describe('mediaImportCtrl', function() {
//jest starts malfunctioning in strange ways when it tries interacting with the upload code
//either it's an us issue or a jest issue, either way it's taking too long to figure out
//need to pick this back up at some point in the future
- it('should upload files successfully', done => {
+ it('should upload files successfully', (done) => {
$window.location.hash.substring.mockReturnValueOnce('image,audio')
var $scope = {
- $apply: jest.fn()
+ $apply: jest.fn(),
}
- var controller = $controller('mediaImportCtrl', { $scope })
+ var controller = $controller('MediaImportCtrl', { $scope })
//create an approximation of a file for testing
let uploadFile = new File([''], 'audio1.mp3', {
type: 'audio/mp3',
- lastModified: new Date(1500000000)
+ lastModified: new Date(1500000000),
})
//normally this would be handled by the browser
@@ -293,8 +293,8 @@ describe('mediaImportCtrl', function() {
//case one: a file was dropped on the interface
uploadEvent = {
target: {
- files: [uploadFile]
- }
+ files: [uploadFile],
+ },
}
$scope.uploadFile(uploadEvent)
diff --git a/src/js/controllers/ctrl-collaboration.js b/src/js/controllers/ctrl-my-widgets-collaboration.js
similarity index 88%
rename from src/js/controllers/ctrl-collaboration.js
rename to src/js/controllers/ctrl-my-widgets-collaboration.js
index 712b1b4b..0d3ccb22 100644
--- a/src/js/controllers/ctrl-collaboration.js
+++ b/src/js/controllers/ctrl-my-widgets-collaboration.js
@@ -1,11 +1,11 @@
const app = angular.module('materia')
-app.controller('CollaborationController', function(
+app.controller('MyWidgetsCollaborationController', function (
Please,
$scope,
$timeout,
- selectedWidgetSrv,
- widgetSrv,
- userServ,
+ SelectedWidgetSrv,
+ WidgetSrv,
+ UserServ,
ACCESS,
OBJECT_TYPES,
Alert
@@ -17,7 +17,7 @@ app.controller('CollaborationController', function(
const ESC = 27
let lastSearch = ''
- const _search = nameOrFragment => {
+ const _searchFor = (nameOrFragment) => {
if (nameOrFragment === lastSearch) {
return
}
@@ -37,7 +37,7 @@ app.controller('CollaborationController', function(
const inputArray = nameOrFragment.split(',')
nameOrFragment = inputArray[inputArray.length - 1]
- Materia.Coms.Json.send('users_search', [nameOrFragment]).then(matches => {
+ Materia.Coms.Json.send('users_search', [nameOrFragment]).then((matches) => {
if (matches != null ? matches.halt : undefined) {
$scope.alert.msg = matches.msg
$scope.alert.fatal = true
@@ -54,7 +54,7 @@ app.controller('CollaborationController', function(
$scope.searchResults.none = matches.length < 1
for (let user of Array.from(matches)) {
- user.gravatar = userServ.getAvatar(user, 50)
+ user.gravatar = UserServ.getAvatar(user, 50)
}
matches = matches.sort(sortNames)
@@ -72,7 +72,7 @@ app.controller('CollaborationController', function(
return nameA.localeCompare(nameB)
}
- const _searchKeyDown = event => {
+ const _searchKeyDown = (event) => {
switch (event.which) {
case RIGHT:
$scope.selectedIndex++
@@ -122,7 +122,7 @@ app.controller('CollaborationController', function(
})
}
- const _searchMatchClick = user => {
+ const _searchMatchClick = (user) => {
if (!user) {
return
}
@@ -132,9 +132,8 @@ app.controller('CollaborationController', function(
$scope.inputs.userSearchInput = ''
if ($scope.selected.widget.guest_access === false && user.is_student) {
- $scope.alert.msg =
- 'Students can not be given access to this widget unless Guest Mode is enabled!'
- $scope.alert.title = 'Unable to share with student'
+ $scope.alert.msg = 'Access must be set to "Guest Mode" to collaborate with students.'
+ $scope.alert.title = 'Share Not Allowed'
$scope.alert.fatal = false
return
}
@@ -164,7 +163,7 @@ app.controller('CollaborationController', function(
first: user.first,
last: user.last,
gravatar: user.gravatar,
- access: String(ACCESS.VISIBLE)
+ access: String(ACCESS.VISIBLE),
})
$timeout(() => {
@@ -172,7 +171,7 @@ app.controller('CollaborationController', function(
}, 1)
}
- const _removeAccess = user => {
+ const _removeAccess = (user) => {
user.remove = true
$scope.checkForWarning(user)
}
@@ -213,7 +212,7 @@ app.controller('CollaborationController', function(
permObj.push({
user_id: user.id,
expiration: user.expires,
- perms: access
+ perms: access,
})
}
@@ -221,13 +220,13 @@ app.controller('CollaborationController', function(
Materia.Coms.Json.send('permissions_set', [
OBJECT_TYPES.WIDGET_INSTANCE,
widget_id,
- permObj
- ]).then(returnData => {
+ permObj,
+ ]).then((returnData) => {
if (returnData === true) {
$scope.$emit('collaborators.update', '')
$scope.show.collaborationModal = false
if (remove_widget) {
- widgetSrv.removeWidget(widget_id)
+ WidgetSrv.removeWidget(widget_id)
}
if (students.length > 0) {
$scope.selected.widget.student_access = true
@@ -246,13 +245,13 @@ app.controller('CollaborationController', function(
})
}
- const _checkForWarning = user => {
+ const _checkForWarning = (user) => {
if (user.isCurrentUser && user.access <= ACCESS.FULL) {
return (user.warning = true)
}
}
- const _cancelDemote = user => {
+ const _cancelDemote = (user) => {
user.warning = false
user.remove = false
return (user.access = ACCESS.FULL)
@@ -262,18 +261,17 @@ app.controller('CollaborationController', function(
$scope.searchResults = {
show: false,
searching: false,
- matches: []
+ matches: [],
}
$scope.ACCESS = {
VISIBLE: ACCESS.VISIBLE,
- FULL: ACCESS.FULL
+ FULL: ACCESS.FULL,
}
$scope.accessLevels = {}
$scope.accessLevels[ACCESS.VISIBLE] = { value: ACCESS.VISIBLE, text: 'View Scores' }
$scope.accessLevels[ACCESS.FULL] = { value: ACCESS.FULL, text: 'Full' }
$scope.alert = Alert
- $scope.search = _search
$scope.updatePermissions = _updatePermissions
$scope.checkForWarning = _checkForWarning
$scope.cancelDemote = _cancelDemote
@@ -283,5 +281,5 @@ app.controller('CollaborationController', function(
// Initialize
- $scope.$watch('inputs.userSearchInput', input => $scope.search(input))
+ $scope.$watch('inputs.userSearchInput', (input) => _searchFor(input))
})
diff --git a/src/js/controllers/ctrl-collaboration.test.js b/src/js/controllers/ctrl-my-widgets-collaboration.test.js
similarity index 74%
rename from src/js/controllers/ctrl-collaboration.test.js
rename to src/js/controllers/ctrl-my-widgets-collaboration.test.js
index 039da5ff..879571a5 100644
--- a/src/js/controllers/ctrl-collaboration.test.js
+++ b/src/js/controllers/ctrl-my-widgets-collaboration.test.js
@@ -1,4 +1,4 @@
-describe('CollaborationController', () => {
+describe('MyWidgetsCollaborationController', () => {
let $controller
var mockPlease
let $scope
@@ -8,8 +8,8 @@ describe('CollaborationController', () => {
let app = angular.module('materia')
app.factory('Please', () => mockPlease)
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('../materia/materia.coms.json')
require('../services/srv-selectedwidget')
require('../services/srv-datetime')
@@ -18,20 +18,20 @@ describe('CollaborationController', () => {
require('ngmodal/dist/ng-modal')
require('hammerjs')
require('./ctrl-alert')
- require('./ctrl-collaboration')
+ require('./ctrl-my-widgets-collaboration')
- inject(_$controller_ => {
+ inject((_$controller_) => {
$controller = _$controller_
})
$scope = {
$watch: jest.fn(),
- $on: jest.fn()
+ $on: jest.fn(),
}
})
it('defines expected scope vars - accessLevels', () => {
- $controller('CollaborationController', { $scope })
+ $controller('MyWidgetsCollaborationController', { $scope })
expect($scope.accessLevels).toHaveProperty('1')
expect($scope.accessLevels).toHaveProperty('30')
expect($scope.accessLevels[1]).toHaveProperty('text')
diff --git a/src/js/controllers/ctrl-export-scores.js b/src/js/controllers/ctrl-my-widgets-export.js
similarity index 87%
rename from src/js/controllers/ctrl-export-scores.js
rename to src/js/controllers/ctrl-my-widgets-export.js
index 3e3f9d17..82edf9ce 100644
--- a/src/js/controllers/ctrl-export-scores.js
+++ b/src/js/controllers/ctrl-my-widgets-export.js
@@ -1,6 +1,6 @@
const app = angular.module('materia')
// The modal that exports score CSVs on My Widgets
-app.controller('ExportScoresController', function(Please, $scope, selectedWidgetSrv) {
+app.controller('MyWidgetsExportController', function (Please, $scope, SelectedWidgetSrv) {
// Builds the initial version of the popup window
const _buildPopup = () => {
const wgt = $scope.selected.widget
@@ -31,7 +31,7 @@ app.controller('ExportScoresController', function(Please, $scope, selectedWidget
// Finds all the scores with a given game instance id
const _getScores = () => {
- Materia.Coms.Json.send('score_summary_get', [$scope.selectedId]).then(summary => {
+ Materia.Coms.Json.send('score_summary_get', [$scope.selectedId]).then((summary) => {
// Show export modal in callback because otherwise the text changes once the
// callback is done
$scope.show.exportModal = true
@@ -43,7 +43,7 @@ app.controller('ExportScoresController', function(Please, $scope, selectedWidget
$scope.semesters.push({
label,
id,
- checked: false
+ checked: false,
})
}
@@ -58,9 +58,9 @@ app.controller('ExportScoresController', function(Please, $scope, selectedWidget
}
// Updates the header of the popup and the ids for the download button
- const _updateDownloadInfo = checkedSemesters => {
+ const _updateDownloadInfo = (checkedSemesters) => {
// Get the labels from the checked Semesters
- const labels = checkedSemesters.map(e => e.label)
+ const labels = checkedSemesters.map((e) => e.label)
$scope.header = labels.join(', ')
$scope.selectedSemesters = labels.join(',').replace(/\s/g, '-')
if (checkedSemesters.length >= 3) {
@@ -69,7 +69,7 @@ app.controller('ExportScoresController', function(Please, $scope, selectedWidget
}
// Updates the checkAll option depending on how many semesters are checked
- const _updateCheckAll = checkedSemesters => {
+ const _updateCheckAll = (checkedSemesters) => {
$scope.checkedAll = checkedSemesters.length === $scope.semesters.length
}
@@ -77,7 +77,7 @@ app.controller('ExportScoresController', function(Please, $scope, selectedWidget
// Gets the checked semesters for the download information and checkAll
const _onSelectedSemestersChange = () => {
// Get the objects that have checked: true
- const checked = $scope.semesters.filter(e => e.checked)
+ const checked = $scope.semesters.filter((e) => e.checked)
_updateDownloadInfo(checked)
_updateCheckAll(checked)
}
@@ -85,10 +85,10 @@ app.controller('ExportScoresController', function(Please, $scope, selectedWidget
// Check or uncheck all semesters
const _checkAll = () => {
// Grab all of the checked semesters
- const checked = $scope.semesters.filter(e => e.checked)
+ const checked = $scope.semesters.filter((e) => e.checked)
angular.forEach(
$scope.semesters,
- semester =>
+ (semester) =>
// If all of the semesters are checked, uncheck them all
(semester.checked = checked.length !== $scope.semesters.length)
)
diff --git a/src/js/controllers/ctrl-selectedwidget.js b/src/js/controllers/ctrl-my-widgets-selected.js
similarity index 83%
rename from src/js/controllers/ctrl-selectedwidget.js
rename to src/js/controllers/ctrl-my-widgets-selected.js
index 88e79bd7..0a3f2cdf 100644
--- a/src/js/controllers/ctrl-selectedwidget.js
+++ b/src/js/controllers/ctrl-my-widgets-selected.js
@@ -1,12 +1,12 @@
const app = angular.module('materia')
-app.controller('SelectedWidgetController', function(
+app.controller('MyWidgetsSelectedController', function (
Please,
$rootScope,
$scope,
$q,
- widgetSrv,
- selectedWidgetSrv,
- userServ,
+ WidgetSrv,
+ SelectedWidgetSrv,
+ UserServ,
$anchorScroll,
ACCESS,
Alert
@@ -18,7 +18,7 @@ app.controller('SelectedWidgetController', function(
}
// using 'function' here because this function is executed in another scope chain
- const _hideModal = function() {
+ const _hideModal = function () {
this.$parent.hideModal()
}
@@ -29,15 +29,18 @@ app.controller('SelectedWidgetController', function(
}
const _copyWidget = () => {
- widgetSrv
- .copyWidget($scope.selected.widget.id, $scope.selected.copy_title)
- .then(inst_id => {
+ WidgetSrv.copyWidget(
+ $scope.selected.widget.id,
+ $scope.selected.copy_title,
+ $scope.selected.copy_retain_access
+ )
+ .then((inst_id) => {
$scope.show.copyModal = false
- return widgetSrv.getWidget(inst_id)
+ return WidgetSrv.getWidget(inst_id)
})
- .then(widget => {
+ .then((widget) => {
$rootScope.$broadcast('widgetList.update')
- widgetSrv.updateHashUrl(widget.id)
+ WidgetSrv.updateHashUrl(widget.id)
})
.catch(() => {
// @TODO show an alert?
@@ -45,10 +48,10 @@ app.controller('SelectedWidgetController', function(
}
const _deleteWidget = () => {
- widgetSrv.deleteWidget($scope.selected.widget.id).then(results => {
+ WidgetSrv.deleteWidget($scope.selected.widget.id).then((results) => {
if (results) {
$scope.show.deleteDialog = false
- widgetSrv.removeWidget($scope.selected.widget.id)
+ WidgetSrv.removeWidget($scope.selected.widget.id)
Please.$apply()
}
})
@@ -56,8 +59,8 @@ app.controller('SelectedWidgetController', function(
const _editWidgetPromise = () => {
return Materia.Coms.Json.send('widget_instance_edit_perms_verify', [
- $scope.selected.widget.id
- ]).then(response => {
+ $scope.selected.widget.id,
+ ]).then((response) => {
if (response.is_locked) {
$scope.alert.msg =
'This widget is currently locked, you will be able to edit this widget when it is no longer being edited by somebody else.'
@@ -110,13 +113,13 @@ app.controller('SelectedWidgetController', function(
}
const _showCopyDialog = () => {
- if ($scope.selected.accessLevel != ACCESS.VISIBLE) {
+ if ($scope.selected.can.copy) {
$scope.show.copyModal = true
}
}
const _showDelete = () => {
- if ($scope.selected.accessLevel != ACCESS.VISIBLE) {
+ if ($scope.selected.can.delete) {
$scope.show.deleteDialog = !$scope.show.deleteDialog
}
}
@@ -134,7 +137,7 @@ app.controller('SelectedWidgetController', function(
$scope.perms.collaborators = []
$scope.show.collaborationModal = true
- Materia.Coms.Json.send('user_get', [user_ids]).then(users => {
+ Materia.Coms.Json.send('user_get', [user_ids]).then((users) => {
$scope.studentAccessible = false
if (users.length != null) {
@@ -159,7 +162,7 @@ app.controller('SelectedWidgetController', function(
const timestamp = parseInt($scope.perms.widget[user.id][1], 10)
user.expires = timestamp
user.expiresText = getExpiresText(timestamp)
- user.gravatar = userServ.getAvatar(user, 50)
+ user.gravatar = UserServ.getAvatar(user, 50)
}
$scope.perms.collaborators = users
@@ -172,19 +175,16 @@ app.controller('SelectedWidgetController', function(
const _setupPickers = () =>
// fill in the expiration link text & setup click event
- Array.from($scope.perms.collaborators).map(user =>
- (user => {
+ Array.from($scope.perms.collaborators).map((user) =>
+ ((user) => {
return $(`.exp-date.user${user.id}`).datepicker({
minDate: getDateForBeginningOfTomorrow(),
onSelect(dateText, inst) {
- const timestamp =
- $(this)
- .datepicker('getDate')
- .getTime() / 1000
+ const timestamp = $(this).datepicker('getDate').getTime() / 1000
user.expires = timestamp
user.expiresText = getExpiresText(timestamp)
Please.$apply()
- }
+ },
})
})(user)
)
@@ -195,7 +195,7 @@ app.controller('SelectedWidgetController', function(
return new Date(d.getFullYear(), d.getMonth(), d.getDate())
}
- const getExpiresText = timestamp => {
+ const getExpiresText = (timestamp) => {
timestamp = parseInt(timestamp, 10)
if (!timestamp) {
return 'Never'
@@ -204,7 +204,7 @@ app.controller('SelectedWidgetController', function(
}
}
- const _removeExpires = user => {
+ const _removeExpires = (user) => {
user.expires = null
user.expiresText = getExpiresText(user.expires)
}
@@ -236,7 +236,7 @@ app.controller('SelectedWidgetController', function(
/* develblock:start */
// these method are exposed for testing
$scope.jestTest = {
- _editWidgetPromise
+ _editWidgetPromise,
}
/* develblock:end */
})
diff --git a/src/js/controllers/ctrl-selectedwidget.test.js b/src/js/controllers/ctrl-my-widgets-selected.test.js
similarity index 84%
rename from src/js/controllers/ctrl-selectedwidget.test.js
rename to src/js/controllers/ctrl-my-widgets-selected.test.js
index 5cbf14e6..2f73e3e2 100644
--- a/src/js/controllers/ctrl-selectedwidget.test.js
+++ b/src/js/controllers/ctrl-my-widgets-selected.test.js
@@ -1,5 +1,5 @@
-describe('adminWidgetController', () => {
- var adminSrv
+describe('MyWidgetSelectedController', () => {
+ var AdminSrv
var $controller
var mockPlease
var $q
@@ -11,8 +11,8 @@ describe('adminWidgetController', () => {
let app = angular.module('materia')
app.factory('Please', () => mockPlease)
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('../services/srv-admin')
require('../services/srv-widget')
require('../services/srv-selectedwidget')
@@ -20,23 +20,23 @@ describe('adminWidgetController', () => {
require('../services/srv-user')
require('./ctrl-alert')
require('ngmodal/dist/ng-modal')
- require('./ctrl-selectedwidget')
+ require('./ctrl-my-widgets-selected')
- inject((_$controller_, _$q_, _adminSrv_, _$rootScope_) => {
+ inject((_$controller_, _$q_, _AdminSrv_, _$rootScope_) => {
$controller = _$controller_
$q = _$q_
- adminSrv = _adminSrv_
+ AdminSrv = _AdminSrv_
$rootScope = _$rootScope_
})
$scope = {
$watch: jest.fn(),
- $on: jest.fn()
+ $on: jest.fn(),
}
Namespace('Materia.Coms.Json').send = jest.fn()
- var controller = $controller('SelectedWidgetController', { $scope })
+ var controller = $controller('MyWidgetsSelectedController', { $scope })
})
it('defines expected scope vars', () => {
@@ -61,7 +61,7 @@ describe('adminWidgetController', () => {
expect($scope.hideModal).toBeDefined()
this.$parent = {
- hideModal: jest.fn()
+ hideModal: jest.fn(),
}
// calling hideModal should call the hideModal we provide in this scope
@@ -72,7 +72,7 @@ describe('adminWidgetController', () => {
it('does nothing if a widget is not editable', () => {
$scope.selected = {
- editable: false
+ editable: false,
}
$scope.editWidget()
@@ -84,13 +84,13 @@ describe('adminWidgetController', () => {
$scope.selected = {
editable: true,
widget: {
- id: 1
- }
+ id: 1,
+ },
}
Namespace('Materia.Coms.Json').send = jest.fn().mockResolvedValueOnce({
is_locked: true,
- can_publish: true
+ can_publish: true,
})
return $scope.jestTest._editWidgetPromise().then(() => {
diff --git a/src/js/controllers/ctrl-widget-settings.js b/src/js/controllers/ctrl-my-widgets-settings.js
similarity index 84%
rename from src/js/controllers/ctrl-widget-settings.js
rename to src/js/controllers/ctrl-my-widgets-settings.js
index 0a4b5c74..da1d45bf 100644
--- a/src/js/controllers/ctrl-widget-settings.js
+++ b/src/js/controllers/ctrl-my-widgets-settings.js
@@ -1,14 +1,14 @@
const app = angular.module('materia')
// The widget settings/availability modal on My Widgets
-app.controller('WidgetSettingsController', function(
+app.controller('MyWidgetsSettingsController', function (
Please,
$rootScope,
$scope,
$timeout,
$filter,
$window,
- selectedWidgetSrv,
- widgetSrv,
+ SelectedWidgetSrv,
+ WidgetSrv,
Alert
) {
let currentlySubmitting = false
@@ -31,7 +31,7 @@ app.controller('WidgetSettingsController', function(
},
stop(event, ui) {
$scope.updateSlider(ui.value)
- }
+ },
})
// Sets up the date pickers for the availability times
@@ -39,33 +39,48 @@ app.controller('WidgetSettingsController', function(
$('.date.from').datepicker({
onSelect(dateText) {
$scope.availability[0].date = dateText
- }
+ },
})
$('.date.to').datepicker({
onSelect(dateText) {
$scope.availability[1].date = dateText
- }
+ },
})
}
const _toggleNormalAccess = () => {
- if (($scope.guestAccess = true)) {
- $scope.guestAccess = false
- }
- if (($scope.embeddedOnly = true)) {
+ // disallow student made widgets from being toggled out of guest mode
+ if ($scope.studentMade) return
+
+ $scope.guestAccess = !$scope.guestAccess
+
+ if ($scope.embeddedOnly == true) {
$scope.embeddedOnly = false
}
+
+ // warn user that students will be removed if guest mode is disabled
+ if ($scope.selected.widget.student_access == true && $scope.guestAccess == false) {
+ $scope.alert.msg =
+ 'Warning: Disabling Guest Mode will automatically revoke access to this widget for any students it has been shared with!'
+ $scope.alert.title = 'Students with access will be removed'
+ $scope.alert.fatal = false
+ }
+
+ _updateSliderAfterChange()
}
const _toggleGuestAccess = () => {
+ // disallow student made widgets from being toggled out of guest mode
if ($scope.studentMade) return
$scope.guestAccess = !$scope.guestAccess
if ($scope.guestAccess) {
$scope.embeddedOnly = false
}
- if ($scope.selected.widget.student_access === true && $scope.guestAccess === false) {
+
+ // warn user that students will be removed if guest mode is disabled
+ if ($scope.selected.widget.student_access == true && $scope.guestAccess == false) {
$scope.alert.msg =
'Warning: Disabling Guest Mode will automatically revoke access to this widget for any students it has been shared with!'
$scope.alert.title = 'Students with access will be removed'
@@ -73,12 +88,8 @@ app.controller('WidgetSettingsController', function(
}
$scope.attemptsSliderValue = $scope.UNLIMITED_SLIDER_VALUE
- $timeout(() => {
- $('.selector').slider({
- value: $scope.attemptsSliderValue * 1000,
- disabled: $scope.guestAccess
- })
- })
+
+ _updateSliderAfterChange()
}
const _toggleEmbeddedOnly = () => {
@@ -88,6 +99,20 @@ app.controller('WidgetSettingsController', function(
if ($scope.embeddedOnly) {
$scope.guestAccess = false
}
+
+ _updateSliderAfterChange()
+ }
+
+ // this probably shouldn't have to be used
+ // because the toggles above should be just one
+ // function lilke _setAccess()
+ const _updateSliderAfterChange = () => {
+ $timeout(() => {
+ $('.selector').slider({
+ value: $scope.attemptsSliderValue * 1000,
+ disabled: $scope.guestAccess,
+ })
+ })
}
// Fills in the dates from the selected widget
@@ -96,7 +121,7 @@ app.controller('WidgetSettingsController', function(
const close = $scope.selected.widget.close_at
const dates = [
open > -1 ? new Date(open * 1000) : null,
- close > -1 ? new Date(close * 1000) : null
+ close > -1 ? new Date(close * 1000) : null,
]
dates.forEach((date, i) => {
@@ -115,7 +140,7 @@ app.controller('WidgetSettingsController', function(
}
// If the time is blurred without minutes set, add :00 (so 2 becomes 2:00)
- const _checkTime = index => {
+ const _checkTime = (index) => {
if (
$scope.availability[index].time.indexOf(':') === -1 &&
$scope.availability[index].time !== ''
@@ -129,7 +154,7 @@ app.controller('WidgetSettingsController', function(
// Moves the slider to the specified value and updates the attempts.
// From ng-click on the attempt numbers below the slider.
- const _changeSlider = number => {
+ const _changeSlider = (number) => {
let val
if ($scope.guestAccess) {
// always should be set to unlimited (-1)
@@ -147,7 +172,7 @@ app.controller('WidgetSettingsController', function(
// Updates the slider based on which value the slider is close to.
// It will "click" into place when in between the steps.
- const _updateSlider = value => {
+ const _updateSlider = (value) => {
let smaller = Math.round(value / 1000)
if (smaller > 5) {
smaller = 5 * Math.round(smaller / 5)
@@ -171,7 +196,7 @@ app.controller('WidgetSettingsController', function(
date: 0,
time: 0,
missing: 0,
- invalid: 0
+ invalid: 0,
}
$scope.error = ''
$scope.times = []
@@ -280,17 +305,16 @@ app.controller('WidgetSettingsController', function(
$scope.attemptsSliderValue < $scope.UNLIMITED_SLIDER_VALUE ? $scope.attemptsSliderValue : -1
// Update the widget instance.
- widgetSrv
- .saveWidget({
- inst_id: $scope.selected.widget.id,
- open_at: $scope.times[0],
- close_at: $scope.times[1],
- attempts,
- guest_access: $scope.guestAccess,
- embedded_only: $scope.embeddedOnly
- })
- .then(widget => {
- selectedWidgetSrv.set(widget)
+ WidgetSrv.saveWidget({
+ inst_id: $scope.selected.widget.id,
+ open_at: $scope.times[0],
+ close_at: $scope.times[1],
+ attempts,
+ guest_access: $scope.guestAccess,
+ embedded_only: $scope.embeddedOnly,
+ })
+ .then((widget) => {
+ SelectedWidgetSrv.set(widget)
$rootScope.$broadcast('widgetList.update')
currentlySubmitting = false
})
@@ -319,13 +343,13 @@ app.controller('WidgetSettingsController', function(
$scope.availability.push({
header: 'Available',
anytimeLabel: 'Now',
- anytime: true
+ anytime: true,
})
// To
$scope.availability.push({
header: 'Closes',
anytimeLabel: 'Never',
- anytime: true
+ anytime: true,
})
$scope.error = ''
diff --git a/src/js/controllers/ctrl-my-widgets.js b/src/js/controllers/ctrl-my-widgets.js
index 1cefb59c..2c9892d3 100644
--- a/src/js/controllers/ctrl-my-widgets.js
+++ b/src/js/controllers/ctrl-my-widgets.js
@@ -1,31 +1,31 @@
const app = angular.module('materia')
app.requires.push('ngModal')
-app.config(function($locationProvider) {
+app.config(function ($locationProvider) {
$locationProvider.hashPrefix('')
})
-app.controller('MyWidgetsController', function(
+app.controller('MyWidgetsController', function (
Please,
$rootScope,
$scope,
$q,
$window,
$timeout,
- widgetSrv,
- userServ,
- selectedWidgetSrv,
- beardServ,
+ WidgetSrv,
+ UserServ,
+ SelectedWidgetSrv,
+ BeardServ,
ACCESS,
Alert
) {
let firstRun = true
let loadScoresTimout = null
- const _prepareWidgetForDisplay = widget => {
+ const _prepareWidgetForDisplay = (widget) => {
widget.icon = Materia.Image.iconUrl(widget.widget.dir, 60)
- widget.beard = beardServ.getRandomBeard()
+ widget.beard = BeardServ.getRandomBeard()
}
- const updateWidgets = data => {
+ const updateWidgets = (data) => {
Materia.Set.Throbber.stopSpin('.courses')
// data is empty
@@ -38,7 +38,7 @@ app.controller('MyWidgetsController', function(
} else {
// we've got data
// build attribues for each widget
- angular.forEach(data, widget => {
+ angular.forEach(data, (widget) => {
_prepareWidgetForDisplay(widget)
})
@@ -49,9 +49,9 @@ app.controller('MyWidgetsController', function(
// on the first load, select the widget from the url
if (firstRun) {
- widgetSrv.selectWidgetFromHashUrl()
+ WidgetSrv.selectWidgetFromHashUrl()
firstRun = false
- $window.addEventListener('hashchange', widgetSrv.selectWidgetFromHashUrl, false)
+ $window.addEventListener('hashchange', WidgetSrv.selectWidgetFromHashUrl, false)
}
}
@@ -67,10 +67,10 @@ app.controller('MyWidgetsController', function(
populateDisplay()
$q.all([
- userServ.get(),
- selectedWidgetSrv.getUserPermissions(),
- selectedWidgetSrv.getDateRanges()
- ]).then(data => {
+ UserServ.get(),
+ SelectedWidgetSrv.getUserPermissions(),
+ SelectedWidgetSrv.getDateRanges(),
+ ]).then((data) => {
// don't render an old display if they user has clicked another widget
if ($scope.selected.widget.id !== currentId) {
return
@@ -84,7 +84,7 @@ app.controller('MyWidgetsController', function(
// load the scores a little later
loadScoresTimout = $timeout(() => {
- selectedWidgetSrv.getScoreSummaries().then(scores => {
+ SelectedWidgetSrv.getScoreSummaries().then((scores) => {
$scope.selected.scores = scores
populateScores()
})
@@ -92,13 +92,13 @@ app.controller('MyWidgetsController', function(
})
}
- const populateAttempts = attemptsAllowed => {
+ const populateAttempts = (attemptsAllowed) => {
attemptsAllowed = parseInt(attemptsAllowed, 10)
$scope.attemptText = attemptsAllowed > 0 ? attemptsAllowed : 'Unlimited'
}
const populateAvailability = (startDateInt, endDateInt) => {
- $scope.availability = widgetSrv.convertAvailibilityDates(startDateInt, endDateInt)
+ $scope.availability = WidgetSrv.convertAvailibilityDates(startDateInt, endDateInt)
$scope.availabilityStart = startDateInt
$scope.availabilityEnd = endDateInt
@@ -137,9 +137,7 @@ app.controller('MyWidgetsController', function(
// TODO
$scope.perms.error = false
- $scope.selected.preview = `preview/${$scope.selected.widget.id}/${
- $scope.selected.widget.clean_name
- }`
+ $scope.selected.preview = `preview/${$scope.selected.widget.id}/${$scope.selected.widget.clean_name}`
$scope.selected.copy_title = `${$scope.selected.widget.name} copy`
$scope.selected.widget.iconbig = Materia.Image.iconUrl($scope.selected.widget.widget.dir, 275)
}
@@ -161,33 +159,36 @@ app.controller('MyWidgetsController', function(
// Second half of populateDisplay
// This allows us to update the display before the callback of scores finishes, which speeds up UI
const populateAccess = () => {
- // accessLevel == ACCESS.VISIBLE is effectively read-only
- if (
- ($scope.perms.user[$scope.user.id] != null
- ? $scope.perms.user[$scope.user.id][0]
- : undefined) != null
- ) {
- $scope.selected.accessLevel = Number($scope.perms.user[$scope.user.id][0])
+ const sel = $scope.selected
+ const perms = $scope.perms
+ const userId = $scope.user.id
+ const perm = (perms.user[userId] && perms.user[userId][0]) || ACCESS.VISIBLE
+ sel.accessLevel = parseInt(perm, 10)
+ sel.can = {
+ view: [ACCESS.VISIBLE, ACCESS.COPY, ACCESS.SHARE, ACCESS.FULL, ACCESS.SU].includes(
+ sel.accessLevel
+ ),
+ copy: [ACCESS.COPY, ACCESS.SHARE, ACCESS.FULL, ACCESS.SU].includes(sel.accessLevel),
+ edit: [ACCESS.FULL, ACCESS.SU].includes(sel.accessLevel),
+ delete: [ACCESS.FULL, ACCESS.SU].includes(sel.accessLevel),
+ share: [ACCESS.SHARE, ACCESS.FULL, ACCESS.SU].includes(sel.accessLevel),
}
- $scope.selected.editable =
- $scope.selected.accessLevel > ACCESS.VISIBLE &&
- parseInt($scope.selected.widget.widget.is_editable) === 1
+ sel.editable =
+ $scope.selected.accessLevel > ACCESS.VISIBLE && parseInt(sel.widget.widget.is_editable) === 1
- if ($scope.selected.editable) {
- $scope.selected.edit = `/widgets/${$scope.selected.widget.widget.dir}create\#${
- $scope.selected.widget.id
- }`
+ if (sel.editable) {
+ sel.edit = `/widgets/${sel.widget.widget.dir}create\#${sel.widget.id}`
} else {
- $scope.selected.edit = '#'
+ sel.edit = '#'
}
_countCollaborators()
- $scope.selected.shareable = $scope.selected.accessLevel !== ACCESS.VISIBLE
+ sel.shareable = sel.accessLevel !== ACCESS.VISIBLE // old, but difficult to replace with sel.can.share :/
- populateAvailability($scope.selected.widget.open_at, $scope.selected.widget.close_at)
- populateAttempts($scope.selected.widget.attempts)
+ populateAvailability(sel.widget.open_at, sel.widget.close_at)
+ populateAttempts(sel.widget.attempts)
}
// count up the number of other users collaborating
@@ -216,7 +217,7 @@ app.controller('MyWidgetsController', function(
const _setScoreViewTab = (index, view) => {
// load storage data if needed
if (view === $scope.SCORE_TAB_STORAGE) {
- selectedWidgetSrv.getStorageData().then(data => {
+ SelectedWidgetSrv.getStorageData().then((data) => {
$rootScope.$broadcast('storageData.loaded')
Please.$apply()
})
@@ -226,9 +227,9 @@ app.controller('MyWidgetsController', function(
}
const _onSelectedWidgetUpdate = () => {
- $scope.selected.widget = selectedWidgetSrv.get()
- const sessionCheck = userServ.checkValidSession()
- sessionCheck.then(check => {
+ $scope.selected.widget = SelectedWidgetSrv.get()
+ const sessionCheck = UserServ.checkValidSession()
+ sessionCheck.then((check) => {
if (check) {
setSelectedWidget()
} else {
@@ -253,10 +254,10 @@ app.controller('MyWidgetsController', function(
hasScores: false,
preview: '',
guestAccess: false,
- embeddedOnly: false
+ embeddedOnly: false,
}
$scope.perms = {
- collaborators: []
+ collaborators: [],
}
$scope.show = {
collaborationModal: false,
@@ -267,27 +268,27 @@ app.controller('MyWidgetsController', function(
deleteDialog: false,
embedToggle: false,
editPublishedWarning: false,
- restrictedPublishWarning: false
+ restrictedPublishWarning: false,
}
$scope.SCORE_TAB_GRAPH = 0
$scope.SCORE_TAB_INDIVIDUAL = 1
$scope.SCORE_TAB_STORAGE = 2
$scope.selectedScoreView = [] // array of above (i.e. 0 = graph)
- $scope.setSelected = id => {
- widgetSrv.updateHashUrl(id)
+ $scope.setSelected = (id) => {
+ WidgetSrv.updateHashUrl(id)
}
// Initialize
$scope.$on('selectedWidget.update', _onSelectedWidgetUpdate)
$scope.$on('collaborators.update', _countCollaborators)
- $scope.$on('widgetList.update', evt => {
- updateWidgets(widgetSrv.getWidgets())
+ $scope.$on('widgetList.update', (evt) => {
+ updateWidgets(WidgetSrv.getWidgets())
})
- $scope.$on('user.update', evt => {
- $scope.user = userServ.get()
+ $scope.$on('user.update', (evt) => {
+ $scope.user = UserServ.get()
})
- widgetSrv.getWidgets().then(updateWidgets)
+ WidgetSrv.getWidgets().then(updateWidgets)
})
diff --git a/src/js/controllers/ctrl-question-import.js b/src/js/controllers/ctrl-question-import.js
index 4d0bca95..10f7e892 100644
--- a/src/js/controllers/ctrl-question-import.js
+++ b/src/js/controllers/ctrl-question-import.js
@@ -1,15 +1,13 @@
const app = angular.module('materia')
-app.controller('questionImporterCtrl', function($scope, $sce) {
+app.controller('QuestionImporterCtrl', function ($scope, $sce) {
let $selectedAssets = []
let $table = null
const _setupTable = () => {
// listener for selecting a question row
- $(document).on('click', '#question-table tbody tr', e => {
+ $(document).on('click', '#question-table tbody tr', (e) => {
const $checkbox = $(e.currentTarget).find(':checkbox')
- const $selected = $(e.currentTarget)
- .toggleClass('row_selected')
- .hasClass('row_selected')
+ const $selected = $(e.currentTarget).toggleClass('row_selected').hasClass('row_selected')
$checkbox.prop('checked', $selected) // update checkbox
// stop the bubbling to prevent the row's click event
@@ -25,13 +23,13 @@ app.controller('questionImporterCtrl', function($scope, $sce) {
}
})
- $('#submit-button').click(e => {
+ $('#submit-button').click((e) => {
e.stopPropagation()
_loadSelectedQuestions($selectedAssets)
return false
})
- $('#cancel-button').click(e => {
+ $('#cancel-button').click((e) => {
e.stopPropagation()
return window.parent.Materia.Creator.onQuestionImportComplete(null)
})
@@ -55,7 +53,7 @@ app.controller('questionImporterCtrl', function($scope, $sce) {
language: {
search: '',
infoFiltered: ' / _MAX_',
- info: 'showing: _TOTAL_'
+ info: 'showing: _TOTAL_',
},
// columsn to display
columns: [{ data: 'text' }, { data: 'type' }, { data: 'created_at' }, { data: 'uses' }],
@@ -69,18 +67,16 @@ app.controller('questionImporterCtrl', function($scope, $sce) {
const d = new Date(data * 1000)
return d.getMonth() + 1 + '/' + d.getDate() + '/' + d.getFullYear()
},
- targets: 2
+ targets: 2,
},
{
// select box
render(data, type, full, meta) {
- return ` ${data} `
+ return ` ${data} `
},
- targets: 0
- }
- ]
+ targets: 0,
+ },
+ ],
})
// re-fit the table now
@@ -89,21 +85,15 @@ app.controller('questionImporterCtrl', function($scope, $sce) {
const _loadAllQuestions = () => {
$selectedAssets = []
- $('#question-table')
- .dataTable()
- .fnClearTable() // clear the table
+ $('#question-table').dataTable().fnClearTable() // clear the table
// determine the types from the url hash string
const questionTypes = _getType()
// load
- _getQuestions(null, questionTypes).then(result => {
+ _getQuestions(null, questionTypes).then((result) => {
// to prevent error messages when result is null
if (result && result.length && result.length > 0) {
- $('#question-table')
- .dataTable()
- .fnClearTable()
- $('#question-table')
- .dataTable()
- .fnAddData(result)
+ $('#question-table').dataTable().fnClearTable()
+ $('#question-table').dataTable().fnAddData(result)
}
})
}
@@ -112,8 +102,8 @@ app.controller('questionImporterCtrl', function($scope, $sce) {
return Materia.Coms.Json.send('questions_get', [questionIds, questionTypes])
}
- const _loadSelectedQuestions = questionIds =>
- _getQuestions(questionIds).then(result => {
+ const _loadSelectedQuestions = (questionIds) =>
+ _getQuestions(questionIds).then((result) => {
if (result != null && !('msg' in result) && result.length > 0) {
window.parent.Materia.Creator.onQuestionImportComplete(JSON.stringify(result))
}
diff --git a/src/js/controllers/ctrl-scores.js b/src/js/controllers/ctrl-score-page.js
similarity index 92%
rename from src/js/controllers/ctrl-scores.js
rename to src/js/controllers/ctrl-score-page.js
index a809c57a..ba98c9c1 100644
--- a/src/js/controllers/ctrl-scores.js
+++ b/src/js/controllers/ctrl-score-page.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.controller('scorePageController', function(Please, $scope, $q, $timeout, widgetSrv, scoreSrv) {
+app.controller('ScorePageController', function (Please, $scope, $q, $timeout, WidgetSrv, ScoreSrv) {
const COMPARE_TEXT_CLOSE = 'Close Graph'
const COMPARE_TEXT_OPEN = 'Compare With Class'
// attempts is an array of attempts, [0] is the newest
@@ -40,9 +40,8 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
const _displayScoreData = (inst_id, play_id) => {
const deferred = $q.defer()
- widgetSrv
- .getWidget(inst_id)
- .then(instance => {
+ WidgetSrv.getWidget(inst_id)
+ .then((instance) => {
widgetInstance = instance
$scope.guestAccess = widgetInstance.guest_access
if (_checkCustomScoreScreen()) _embed()
@@ -92,7 +91,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
Please.$apply()
}
- const _onPostMessage = e => {
+ const _onPostMessage = (e) => {
const origin = `${e.origin}/`
if (origin === STATIC_CROSSDOMAIN || origin === BASE_URL) {
const msg = JSON.parse(e.data)
@@ -132,7 +131,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
}
}
- const _getInstanceScores = inst_id => {
+ const _getInstanceScores = (inst_id) => {
const dfd = $q.defer()
if (isPreview || single_id) {
$scope.attempts = [{ id: -1, created_at: 0, percent: 0 }]
@@ -142,14 +141,14 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
// support guests.
const send_token =
typeof LAUNCH_TOKEN !== 'undefined' && LAUNCH_TOKEN !== null ? LAUNCH_TOKEN : play_id
- scoreSrv.getWidgetInstanceScores(inst_id, send_token, result => {
+ ScoreSrv.getWidgetInstanceScores(inst_id, send_token, (result) => {
_populateScores(result.scores)
attemptsLeft = result.attempts_left
dfd.resolve()
})
} else {
// Only want score corresponding to play_id if guest widget
- scoreSrv.getGuestWidgetInstanceScores(inst_id, play_id, scores => {
+ ScoreSrv.getGuestWidgetInstanceScores(inst_id, play_id, (scores) => {
_populateScores(scores)
dfd.resolve()
})
@@ -157,7 +156,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
return dfd.promise
}
- const _populateScores = scores => {
+ const _populateScores = (scores) => {
if (scores === null || scores.length < 1) {
if (single_id) {
single_id = null
@@ -183,9 +182,9 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
scoresLoadPromise = $q.defer()
if (isPreview) {
currentAttempt = 1
- scoreSrv.getWidgetInstancePlayScores(null, widgetInstance.id, _displayDetails)
+ ScoreSrv.getWidgetInstancePlayScores(null, widgetInstance.id, _displayDetails)
} else if (single_id) {
- scoreSrv.getWidgetInstancePlayScores(single_id, null, _displayDetails)
+ ScoreSrv.getWidgetInstancePlayScores(single_id, null, _displayDetails)
} else {
// get the current attempt from the url
const hash = getAttemptNumberFromHash()
@@ -199,7 +198,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
if (details[$scope.attempts.length - currentAttempt] != null) {
_displayDetails(details[$scope.attempts.length - currentAttempt])
} else {
- scoreSrv.getWidgetInstancePlayScores(play_id, null, _displayDetails)
+ ScoreSrv.getWidgetInstancePlayScores(play_id, null, _displayDetails)
}
}
}
@@ -212,7 +211,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
// Build the data for the overview section, prep for display through Underscore
const widget = {
title: widgetInstance.name,
- dates: attempt_dates
+ dates: attempt_dates,
}
// show play again button?
@@ -263,7 +262,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
$scope.headerStyle = {
'font-size': textSize,
- 'padding-top': paddingSize
+ 'padding-top': paddingSize,
}
$scope.hidePlayAgain = hidePlayAgain
@@ -356,7 +355,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
.script(`${cdnBase}jqPlot/1.0.9/plugins/jqplot.highlighter.min.js`)
.wait(() =>
// ========== BUILD THE GRAPH =============
- scoreSrv.getWidgetInstanceScoreSummary(widgetInstance.id, data => {
+ ScoreSrv.getWidgetInstanceScoreSummary(widgetInstance.id, (data) => {
// add up all semesters data into one dataset
_graphData = [
['0-9%', 0],
@@ -368,7 +367,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
['60-69%', 0],
['70-79%', 0],
['80-89%', 0],
- ['90-100%', 0]
+ ['90-100%', 0],
]
for (let d of Array.from(data)) {
@@ -389,45 +388,45 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
color: '#1e91e1',
rendererOptions: {
animation: {
- speed: 500
- }
- }
- }
+ speed: 500,
+ },
+ },
+ },
],
seriesDefaults: {
showMarker: false,
pointLabels: {
show: true,
formatString: '%.0f',
- color: '#000'
- }
+ color: '#000',
+ },
},
title: {
text: "Compare Your Score With Everyone Else's",
- fontFamily: 'Lato, Lucida Grande, Arial, sans'
+ fontFamily: 'Lato, Lucida Grande, Arial, sans',
},
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
angle: 0,
fontSize: '8pt',
- color: '#000'
- }
+ color: '#000',
+ },
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
- label: 'Score Percent'
+ label: 'Score Percent',
},
yaxis: {
tickOptions: { formatString: '%.1f', angle: 45 },
label: 'Number of Scores',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
- color: '#000'
- }
+ color: '#000',
+ },
},
cursor: { show: false },
- grid: { shadow: false }
+ grid: { shadow: false },
}
// light the fuse
@@ -436,7 +435,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
)
}
- const _displayDetails = results => {
+ const _displayDetails = (results) => {
let score
if (!$scope.customScoreScreen) {
@@ -499,7 +498,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
scoreTable = deets.details[0].table
if ($scope.customScoreScreen) {
const created_at = ~~deets.overview.created_at
- scoreSrv.getWidgetInstanceQSet(play_id, widget_id, created_at, data => {
+ ScoreSrv.getWidgetInstanceQSet(play_id, widget_id, created_at, (data) => {
if (
(data != null ? data.title : undefined) === 'Permission Denied' ||
data.title === 'error'
@@ -517,7 +516,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
}
}
- const _addCircleToDetailTable = detail => {
+ const _addCircleToDetailTable = (detail) => {
detail.forEach((item, i) => {
if (item.table && item.table.length) {
item.table.forEach((table, j) => {
@@ -545,14 +544,14 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
// broadcasts a postMessage to inform Obojobo, or other platforms, about a score event
// Bypasses the LTI interface and provides an alternative for platforms that use embedded Materia to listen for a score
- const sendPostMessage = score => {
+ const sendPostMessage = (score) => {
if (parent.postMessage && JSON.stringify) {
parent.postMessage(
JSON.stringify({
type: 'materiaScoreRecorded',
source: 'score-controller',
widget: widgetInstance,
- score
+ score,
}),
'*'
)
@@ -572,7 +571,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
}
const _getScoreDistribution = () => {
- scoreSrv.getScoreDistribution(widgetInstance.id, data => {
+ ScoreSrv.getScoreDistribution(widgetInstance.id, (data) => {
_sendToWidget('scoreDistribution', [data])
})
}
@@ -597,7 +596,7 @@ app.controller('scorePageController', function(Please, $scope, $q, $timeout, wid
_sendToWidget('updateWidget', [qset, scoreTable])
}
- const _setHeight = h => {
+ const _setHeight = (h) => {
const min_h = widgetInstance.widget.height
let desiredHeight = Math.max(h, min_h)
scoreWidget.style.height = `${desiredHeight}px`
diff --git a/src/js/controllers/ctrl-user-current.js b/src/js/controllers/ctrl-user-current.js
new file mode 100644
index 00000000..7d9bddc2
--- /dev/null
+++ b/src/js/controllers/ctrl-user-current.js
@@ -0,0 +1,4 @@
+const app = angular.module('materia')
+app.controller('UserCurrentCtrl', ($scope, $sce, UserServ, $http, $rootScope) => {
+ $scope.currentUser = UserServ.getCurrentUser()
+})
diff --git a/src/js/controllers/ctrl-login.js b/src/js/controllers/ctrl-user-login.js
similarity index 51%
rename from src/js/controllers/ctrl-login.js
rename to src/js/controllers/ctrl-user-login.js
index 83c9127c..790b548e 100644
--- a/src/js/controllers/ctrl-login.js
+++ b/src/js/controllers/ctrl-user-login.js
@@ -1,7 +1,7 @@
const app = angular.module('materia')
app.controller(
- 'loginCtrl',
- ($scope, dateTimeServ) =>
+ 'UserLoginCtrl',
+ ($scope, DateTimeServ) =>
// Widget login partial has this on widgets with expiration
- ($scope.time = date => dateTimeServ.fixTime(date, $scope.date))
+ ($scope.time = (date) => DateTimeServ.fixTime(date, $scope.date))
)
diff --git a/src/js/controllers/ctrl-notification.js b/src/js/controllers/ctrl-user-notification.js
similarity index 68%
rename from src/js/controllers/ctrl-notification.js
rename to src/js/controllers/ctrl-user-notification.js
index a9013c82..88d409d3 100644
--- a/src/js/controllers/ctrl-notification.js
+++ b/src/js/controllers/ctrl-user-notification.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.controller('notificationCtrl', function(Please, $scope, $sce) {
+app.controller('UserNotificationCtrl', function (Please, $scope, $sce) {
let $notices = document.querySelector('#notices')
const _toggleOpen = () => {
$scope.isOpen = !$scope.isOpen
@@ -9,7 +9,7 @@ app.controller('notificationCtrl', function(Please, $scope, $sce) {
let note = $scope.notifications[index]
note.deleted = true
Please.$apply()
- Materia.Coms.Json.send('notification_delete', [id]).then(success => {
+ Materia.Coms.Json.send('notification_delete', [id]).then((success) => {
if (success) {
$scope.notifications.splice(index, 1)
} else {
@@ -22,10 +22,10 @@ app.controller('notificationCtrl', function(Please, $scope, $sce) {
$scope.notifications = []
$scope.isOpen = false
$scope.removeNotification = _removeNotification
- $scope.trust = notification => $sce.trustAsHtml(notification)
+ $scope.trust = (notification) => $sce.trustAsHtml(notification)
$scope.toggleOpen = _toggleOpen
- Materia.Coms.Json.send('notifications_get').then(notifications => {
+ Materia.Coms.Json.send('notifications_get').then((notifications) => {
$scope.notifications = notifications
Please.$apply()
})
diff --git a/src/js/controllers/ctrl-profile.js b/src/js/controllers/ctrl-user-profile.js
similarity index 68%
rename from src/js/controllers/ctrl-profile.js
rename to src/js/controllers/ctrl-user-profile.js
index 8d4ff254..b9812f87 100644
--- a/src/js/controllers/ctrl-profile.js
+++ b/src/js/controllers/ctrl-user-profile.js
@@ -1,10 +1,10 @@
const app = angular.module('materia')
-app.controller('profileCtrl', function(Please, $scope, userServ, apiServ, dateTimeServ, $log) {
+app.controller('UserProfileCtrl', function (Please, $scope, UserServ, APIServ, DateTimeServ, $log) {
let loaded_offset = 0
// Shows selected game information on the mainscreen.
// @param data Score data sent back from the server
- const _showPlayActivity = data => {
+ const _showPlayActivity = (data) => {
if (!$scope.activities) {
$scope.activities = []
}
@@ -20,40 +20,40 @@ app.controller('profileCtrl', function(Please, $scope, userServ, apiServ, dateTi
$scope.loading = true
Materia.Coms.Json.get(`/api/user/activity?range=10&start=${loaded_offset}`)
- .then(result => {
- apiServ.filterError(result)
+ .then((result) => {
+ APIServ.filterError(result)
_showPlayActivity(result)
})
- .catch(error => {
+ .catch((error) => {
$log.error('Error loading user activity')
})
}
- const _getLink = activity => {
+ const _getLink = (activity) => {
if (activity.is_complete === '1') {
return `/scores/${activity.inst_id}#play-${activity.play_id}`
}
return ''
}
- const _getScore = activity => {
+ const _getScore = (activity) => {
if (activity.is_complete === '1') {
return Math.round(parseFloat(activity.percent))
}
return '--'
}
- const _getStatus = activity => {
+ const _getStatus = (activity) => {
if (activity.is_complete === '1') {
return ''
}
return 'No Score Recorded'
}
- const _getDate = activity =>
- dateTimeServ.parseObjectToDateString(activity.created_at) +
+ const _getDate = (activity) =>
+ DateTimeServ.parseObjectToDateString(activity.created_at) +
' at ' +
- dateTimeServ.fixTime(parseInt(activity.created_at, 10) * 1000, DATE)
+ DateTimeServ.fixTime(parseInt(activity.created_at, 10) * 1000, DATE)
// expose on scope
@@ -66,8 +66,8 @@ app.controller('profileCtrl', function(Please, $scope, userServ, apiServ, dateTi
$scope.loading = false
$scope.user = {}
$scope.avatar = ''
- $scope.user = userServ.getCurrentUser()
- $scope.avatar = userServ.getCurrentUserAvatar(100)
+ $scope.user = UserServ.getCurrentUser()
+ $scope.avatar = UserServ.getCurrentUserAvatar(100)
// initialize
$scope.getLogs()
diff --git a/src/js/controllers/ctrl-settings.js b/src/js/controllers/ctrl-user-settings.js
similarity index 56%
rename from src/js/controllers/ctrl-settings.js
rename to src/js/controllers/ctrl-user-settings.js
index 755eeed8..a67643b6 100644
--- a/src/js/controllers/ctrl-settings.js
+++ b/src/js/controllers/ctrl-user-settings.js
@@ -1,28 +1,35 @@
const app = angular.module('materia')
-app.controller('settingsController', function($scope, Please, userServ, apiServ, $log) {
+app.controller('UserSettingsController', function (
+ $scope,
+ Please,
+ UserServ,
+ APIServ,
+ $log,
+ $window
+) {
const _saveSettings = () => {
Materia.Set.Throbber.startSpin('.page')
const newSettings = {
notify: $scope.user.notify,
- useGravatar: $scope.useGravatar
+ useGravatar: $scope.useGravatar,
}
Materia.Coms.Json.post('/api/user/settings', newSettings)
- .then(result => {
- apiServ.filterError(result)
+ .then((result) => {
+ APIServ.filterError(result)
Materia.Set.Throbber.stopSpin('.page')
$scope.settingsForm.$setPristine()
if (result.success) {
// update my scope object
for (let k in result.meta) {
- userServ.updateSettings(k, result.meta[k])
+ UserServ.updateSettings(k, result.meta[k])
}
// update the user avatar
if ((result.avatar != null ? result.avatar.length : undefined) > 0) {
- userServ.updateSettings('avatar', result.avatar)
- $scope.avatar = userServ.getCurrentUserAvatar(100)
+ UserServ.updateSettings('avatar', result.avatar)
+ $scope.avatar = UserServ.getCurrentUserAvatar(100)
}
}
@@ -35,8 +42,14 @@ app.controller('settingsController', function($scope, Please, userServ, apiServ,
})
}
- $scope.user = userServ.getCurrentUser()
- $scope.avatar = userServ.getCurrentUserAvatar(100)
+ $scope.user = UserServ.getCurrentUser()
+ $scope.avatar = UserServ.getCurrentUserAvatar(100)
$scope.useGravatar = $scope.user.avatar.indexOf('gravatar') > -1
$scope.saveSettings = _saveSettings
+
+ if (($scope.beardMode = $window.localStorage.beardMode)) {
+ $scope.disableBeardMode = () => {
+ $scope.beardMode = $window.localStorage.beardMode = false
+ }
+ }
})
diff --git a/src/js/controllers/ctrl-widget-details.js b/src/js/controllers/ctrl-widget-catalog-details.js
similarity index 91%
rename from src/js/controllers/ctrl-widget-details.js
rename to src/js/controllers/ctrl-widget-catalog-details.js
index fdc46126..b7412f24 100644
--- a/src/js/controllers/ctrl-widget-details.js
+++ b/src/js/controllers/ctrl-widget-catalog-details.js
@@ -1,19 +1,16 @@
const app = angular.module('materia')
-app.controller('widgetDetailsController', function(
+app.controller('WidgetCatalogDetailsController', function (
Please,
$scope,
$window,
$document,
$timeout,
- widgetSrv
+ WidgetSrv
) {
let _pics
let _offset
const nameArr = window.location.pathname.replace('/widgets/', '').split('/')
- const widgetID = nameArr
- .pop()
- .split('-')
- .shift()
+ const widgetID = nameArr.pop().split('-').shift()
const tooltipDescriptions = {
Customizable:
'As the widget creator, you supply the widget with data to make it relevant to your course.',
@@ -24,19 +21,19 @@ app.controller('widgetDetailsController', function(
'Multiple Choice':
'Users select a response from a collection of possible answers to questions provided by the widget.',
'Mobile Friendly': 'Designed with HTML5 to work on mobile devices like the iPad and iPhone.',
- Fullscreen: 'This widget may be allowed to temporarily take up your entire screen.'
+ Fullscreen: 'This widget may be allowed to temporarily take up your entire screen.',
}
- const _tooltipObject = text => ({
+ const _tooltipObject = (text) => ({
text,
show: false,
description:
- tooltipDescriptions[text] || 'This feature has no additional information associated with it.'
+ tooltipDescriptions[text] || 'This feature has no additional information associated with it.',
})
// Populates the details page with content
// @object The current widget.
- const _populateDefaults = widget => {
+ const _populateDefaults = (widget) => {
const date = new Date(widget['created_at'] * 1000)
$scope.widget = {
@@ -52,7 +49,7 @@ app.controller('widgetDetailsController', function(
players_guide: document.location.pathname + '/players-guide',
created: date.toLocaleDateString(),
width: ~~widget.width,
- height: ~~widget.height
+ height: ~~widget.height,
}
$scope.hasPlayerGuide = widget.player_guide != ''
@@ -71,7 +68,7 @@ app.controller('widgetDetailsController', function(
for (let i = 1; i <= $scope.numScreenshots; i++) {
$scope.widget.screenshots.push({
full: Materia.Image.screenshotUrl(widget.dir, i),
- thumb: Materia.Image.screenshotThumbUrl(widget.dir, i)
+ thumb: Materia.Image.screenshotThumbUrl(widget.dir, i),
})
}
$scope.demoScreenshot = `url(${$scope.widget.screenshots[0].full})`
@@ -94,7 +91,7 @@ app.controller('widgetDetailsController', function(
_pics = document.getElementById('pics-scroller')
const _hammer = new Hammer(_pics)
_offset = 0
- _hammer.on('pan', e => {
+ _hammer.on('pan', (e) => {
if (e.center.x == 0 && e.center.y == 0) {
// fixes hammer/chrome issue with touch vertical scrolling
// (see hammerjs issue #1050)
@@ -154,7 +151,7 @@ app.controller('widgetDetailsController', function(
const _showDemoClicked = () => {
if (isWideEnough()) {
$scope.demoLoading = true
- Materia.Coms.Json.send('session_play_create', [$scope.inst_id]).then(playId => {
+ Materia.Coms.Json.send('session_play_create', [$scope.inst_id]).then((playId) => {
$window.PLAY_ID = playId
$scope.demoHeight = $scope.widget.height + 48 + 'px'
$scope.demoWidth = $scope.widget.width + 10 + 'px'
@@ -178,11 +175,11 @@ app.controller('widgetDetailsController', function(
$scope.selectedImage = 0
$scope.showDemoClicked = _showDemoClicked
- $scope.selectImage = i => ($scope.selectedImage = i)
- $scope.nextImage = i => {
+ $scope.selectImage = (i) => ($scope.selectedImage = i)
+ $scope.nextImage = (i) => {
$scope.selectedImage = ($scope.selectedImage + 1) % ($scope.numScreenshots + 1)
}
- $scope.prevImage = i => {
+ $scope.prevImage = (i) => {
$scope.selectedImage =
($scope.selectedImage + $scope.numScreenshots) % ($scope.numScreenshots + 1)
}
@@ -193,7 +190,7 @@ app.controller('widgetDetailsController', function(
// initialize
initHammer()
- widgetSrv.getWidgetInfo(widgetID).then(widget => {
+ WidgetSrv.getWidgetInfo(widgetID).then((widget) => {
_populateDefaults(widget)
})
})
diff --git a/src/js/controllers/ctrl-widget-details.test.js b/src/js/controllers/ctrl-widget-catalog-details.test.js
similarity index 93%
rename from src/js/controllers/ctrl-widget-details.test.js
rename to src/js/controllers/ctrl-widget-catalog-details.test.js
index ec13109b..9bf94090 100644
--- a/src/js/controllers/ctrl-widget-details.test.js
+++ b/src/js/controllers/ctrl-widget-catalog-details.test.js
@@ -1,4 +1,4 @@
-describe('widgetDetailsController', () => {
+describe('WidgetCatalogDetailsController', () => {
var $controller
var mockPlease
var $q
@@ -22,10 +22,10 @@ describe('widgetDetailsController', () => {
about: 'about',
supported_data: ['supported1', 'supported2'],
features: ['feature1', 'feature2'],
- demo: 'abCD1'
+ demo: 'abCD1',
},
width: '700',
- height: '700'
+ height: '700',
}
beforeEach(() => {
@@ -35,11 +35,11 @@ describe('widgetDetailsController', () => {
// mock window.location
mockWindow = {}
- mockLocationSet = jest.fn(l => (location = l))
+ mockLocationSet = jest.fn((l) => (location = l))
mockLocationGet = jest.fn(() => location)
Object.defineProperty(mockWindow, 'location', {
get: mockLocationGet,
- set: mockLocationSet
+ set: mockLocationSet,
})
app.factory('$window', () => mockWindow)
@@ -50,15 +50,15 @@ describe('widgetDetailsController', () => {
`
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('../materia/materia.coms.json')
require('../services/srv-selectedwidget')
require('../services/srv-datetime')
require('../services/srv-widget')
require('ngmodal/dist/ng-modal')
require('hammerjs')
- require('./ctrl-widget-details')
+ require('./ctrl-widget-catalog-details')
inject((_$controller_, _$document_, _$window_, _$timeout_, _$q_, _$rootScope_) => {
$controller = _$controller_
@@ -95,10 +95,10 @@ describe('widgetDetailsController', () => {
$scope = {
$watch: jest.fn(),
- $on: jest.fn()
+ $on: jest.fn(),
}
- var controller = $controller('widgetDetailsController', { $scope })
+ var controller = $controller('WidgetCatalogDetailsController', { $scope })
})
const setup = (customWidget = false, pageWidth = 1000) => {
@@ -113,7 +113,7 @@ describe('widgetDetailsController', () => {
const mockSessionCreate = () => {
return (Namespace('Materia.Coms.Json').send = jest.fn(() => {
return {
- then: cb => cb('play-id')
+ then: (cb) => cb('play-id'),
}
}))
}
diff --git a/src/js/controllers/ctrl-widget-catalog.js b/src/js/controllers/ctrl-widget-catalog.js
index 5e87b1ed..b967b11a 100644
--- a/src/js/controllers/ctrl-widget-catalog.js
+++ b/src/js/controllers/ctrl-widget-catalog.js
@@ -5,19 +5,19 @@ const app = angular.module('materia')
// when the current url matches the widget catalog
// then use html5Mode to allow the filters and search to update the url
// and add ng-animate
-// ex: /widgets or /widgets/1-adventrue
+// ex: /widgets or /widgets/1-adventure
if (window.location.href.match(/\/widgets($|\/\D|\?)/g)) {
- app.config(function($locationProvider) {
+ app.config(function ($locationProvider) {
$locationProvider.html5Mode({
enabled: true,
- requireBase: false
+ requireBase: false,
})
})
app.requires.push('ngAnimate')
}
-app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location, widgetSrv) {
+app.controller('WidgetCatalogCtrl', function (Please, $scope, $window, $location, WidgetSrv) {
const filterList = {} // key is raw filter name, value is filter object
const mapCleanToFilter = {} // key is clean name, value is filter object
const displayedWidgets = []
@@ -47,7 +47,7 @@ app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location,
clearFilters(hideFilters)
}
- const toggleFilter = filterName => {
+ const toggleFilter = (filterName) => {
const filter = filterList[filterName]
setFilter(filter, !filter.isActive)
_updateWidgetDisplay()
@@ -65,22 +65,22 @@ app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location,
const filter = {
isActive: false,
text: `${name}${appendLabel}`,
- clean
+ clean,
}
filterList[name] = filter
mapCleanToFilter[clean] = filter
}
- const _getFiltersFromWidgets = widgets => {
- widgets.forEach(widget => {
+ const _getFiltersFromWidgets = (widgets) => {
+ widgets.forEach((widget) => {
if (widget.meta_data.hasOwnProperty('features')) {
- widget.meta_data.features.forEach(feature => {
+ widget.meta_data.features.forEach((feature) => {
if (!filterList.hasOwnProperty(feature)) _registerFilter(feature)
})
}
if (widget.meta_data.hasOwnProperty('supported_data')) {
- widget.meta_data.supported_data.forEach(data => {
+ widget.meta_data.supported_data.forEach((data) => {
if (!filterList.hasOwnProperty(data)) _registerFilter(data, ' Questions')
})
}
@@ -88,7 +88,7 @@ app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location,
}
// checks filters and returns true if the widget should be shown, false if filtered out
- const _isWidgetVisible = widget => {
+ const _isWidgetVisible = (widget) => {
const wFeatures = widget.meta_data.features
const wSupport = widget.meta_data.supported_data
@@ -116,9 +116,9 @@ app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location,
}
const _updateWidgetDisplay = () => {
- const widgets = allWidgets.filter(w => _isWidgetVisible(w))
+ const widgets = allWidgets.filter((w) => _isWidgetVisible(w))
$scope.count = widgets.length
- $scope.activeFilters = Object.keys(filterList).filter(key => filterList[key].isActive)
+ $scope.activeFilters = Object.keys(filterList).filter((key) => filterList[key].isActive)
$scope.isFiltered = widgets.length != allWidgets.length
if ($scope.isFiltered) {
@@ -126,7 +126,7 @@ app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location,
$scope.widgets = widgets
} else {
// no filters active - show the featured list
- $scope.widgets = widgets.filter(w => w.in_catalog != '1')
+ $scope.widgets = widgets.filter((w) => w.in_catalog != '1')
}
Please.$apply()
@@ -140,7 +140,7 @@ app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location,
const _loadWidgets = () => {
// load list of widgets
- widgetSrv.getWidgetsByType('all').then(loaded => {
+ WidgetSrv.getWidgetsByType('all').then((loaded) => {
if (!loaded || !loaded.length || !loaded.length > 0) {
resetFilters()
loaded = []
@@ -152,12 +152,12 @@ app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location,
_getFiltersFromWidgets(allWidgets)
// memoize icon paths
- allWidgets.forEach(widget => {
+ allWidgets.forEach((widget) => {
widget.icon = Materia.Image.iconUrl(widget.dir, 275)
})
$scope.totalWidgets = allWidgets.length
- $scope.featuredWidgets = allWidgets.filter(w => w.in_catalog == '1')
+ $scope.featuredWidgets = allWidgets.filter((w) => w.in_catalog == '1')
// start watching search input
$scope.$watch('search', _onSearch)
@@ -219,7 +219,7 @@ app.controller('widgetCatalogCtrl', function(Please, $scope, $window, $location,
/* develblock:start */
// these method are exposed for testing
$scope.jestTest = {
- getLocalVar: name => eval(name)
+ getLocalVar: (name) => eval(name),
}
/* develblock:end */
})
diff --git a/src/js/controllers/ctrl-widget-catalog.test.js b/src/js/controllers/ctrl-widget-catalog.test.js
index 3a45cb0c..db6c717a 100644
--- a/src/js/controllers/ctrl-widget-catalog.test.js
+++ b/src/js/controllers/ctrl-widget-catalog.test.js
@@ -1,4 +1,4 @@
-describe('widgetCatalogController', () => {
+describe('WidgetCatalogCtrl', () => {
let $controller
let $q
let $scope
@@ -19,9 +19,9 @@ describe('widgetCatalogController', () => {
demo: '1',
excerpt: 'more information about the widget',
features: ['feature1', 'feature3'],
- supported_data: ['supported1', 'supported_three', 'SuPpOrTeD FoUr!!']
+ supported_data: ['supported1', 'supported_three', 'SuPpOrTeD FoUr!!'],
},
- name: 'widget1'
+ name: 'widget1',
}
const widget2 = {
id: 2,
@@ -32,9 +32,9 @@ describe('widgetCatalogController', () => {
demo: '2',
excerpt: 'more information about the widget',
features: ['feature2', 'feature3'],
- supported_data: ['supported1', 'supported2']
+ supported_data: ['supported1', 'supported2'],
},
- name: 'widget2'
+ name: 'widget2',
}
const widget3 = {
id: 3,
@@ -45,9 +45,9 @@ describe('widgetCatalogController', () => {
demo: '3',
excerpt: 'more information about the widget',
features: [],
- supported_data: []
+ supported_data: [],
},
- name: 'widget3'
+ name: 'widget3',
}
const widgetWithoutFeatures = {
@@ -57,10 +57,10 @@ describe('widgetCatalogController', () => {
meta_data: {
about: 'information about the widget',
demo: '4',
- excerpt: 'more information about the widget'
+ excerpt: 'more information about the widget',
// features and supported_data are null!!
},
- name: 'widgetWithoutFeatures'
+ name: 'widgetWithoutFeatures',
}
beforeEach(() => {
@@ -69,17 +69,17 @@ describe('widgetCatalogController', () => {
// why? because it's an internal private method and getting a handle
// to wait for it to finish is difficult
let getWidgetsByTypeImmediately = jest.fn().mockReturnValue({
- then: cb => {
+ then: (cb) => {
cb(widgetsToReturn)
- }
+ },
})
// mock all the required services
mockWidgetSrv = { getWidgetsByType: getWidgetsByTypeImmediately }
let app = angular.module('materia')
app.factory('Please', () => ({ $apply: jest.fn() }))
- app.factory('selectedWidgetSrv', () => ({}))
- app.factory('dateTimeServ', () => ({}))
- app.factory('widgetSrv', () => mockWidgetSrv)
+ app.factory('SelectedWidgetSrv', () => ({}))
+ app.factory('DateTimeServ', () => ({}))
+ app.factory('WidgetSrv', () => mockWidgetSrv)
// mock Materia.Image.iconUrl
mockIconUrl = jest.fn().mockReturnValue('widget.jpg')
@@ -87,11 +87,11 @@ describe('widgetCatalogController', () => {
// mock window.location
let mockWindow = {}
- let mockLocationSet = jest.fn(l => (location = l))
+ let mockLocationSet = jest.fn((l) => (location = l))
let mockLocationGet = jest.fn(() => location)
Object.defineProperty(mockWindow, 'location', {
get: mockLocationGet,
- set: mockLocationSet
+ set: mockLocationSet,
})
app.factory('$window', () => mockWindow)
@@ -101,7 +101,7 @@ describe('widgetCatalogController', () => {
// build a mock $scope
$scope = {
$watch: jest.fn(),
- $on: jest.fn()
+ $on: jest.fn(),
}
mockLocationSearch = { search: '' }
@@ -120,25 +120,25 @@ describe('widgetCatalogController', () => {
return mockLocationSearch
}
return {
- replace: jest.fn()
+ replace: jest.fn(),
}
})
})
})
it('defines expected scope vars', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
expect(Object.keys($scope)).toMatchSnapshot()
})
it('loads widgets from the widget service', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
expect(mockWidgetSrv.getWidgetsByType).toHaveBeenCalledTimes(1)
expect(mockWidgetSrv.getWidgetsByType).toHaveBeenCalledWith('all')
})
it('uses Materia.Image.iconUrl to get each widget icon', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
expect(mockIconUrl).toHaveBeenCalledTimes(4)
expect(mockIconUrl).toHaveBeenCalledWith('mockDir1', 275)
expect(mockIconUrl).toHaveBeenCalledWith('mockDir2', 275)
@@ -148,7 +148,7 @@ describe('widgetCatalogController', () => {
it('handles no widgets', () => {
widgetsToReturn = []
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
expect($scope.widgets).toHaveLength(0)
expect($scope.featuredWidgets).toHaveLength(0)
@@ -159,7 +159,7 @@ describe('widgetCatalogController', () => {
})
it('initializes with no filters and search on initial load', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
expect(Object.keys($scope)).toMatchSnapshot()
expect($scope.search).toBe('')
@@ -185,9 +185,9 @@ describe('widgetCatalogController', () => {
feature1: true,
search: 'widget',
invalid_feature: true,
- supported_three: true
+ supported_three: true,
}
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
expect(Object.keys($scope)).toMatchSnapshot()
expect($scope.search).toBe('widget')
@@ -209,13 +209,13 @@ describe('widgetCatalogController', () => {
})
it('properly generates clean filter names', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
const mapCleanToFilter = $scope.jestTest.getLocalVar('mapCleanToFilter')
expect(Object.keys(mapCleanToFilter)).toMatchSnapshot()
})
it('toggling on a filter updates scope', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
expect($scope.isFiltered).toBe(false)
expect($scope.activeFilters).toHaveLength(0)
expect($scope.filters['feature1'].isActive).toBe(false)
@@ -233,7 +233,7 @@ describe('widgetCatalogController', () => {
})
it('will filter widgets based on a search query', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
const _onSearch = $scope.jestTest.getLocalVar('_onSearch')
expect($scope.count).toBe(4)
@@ -256,7 +256,7 @@ describe('widgetCatalogController', () => {
})
it('can toggle whether the filters are showing', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
$scope.showFilters()
expect($scope.isShowingFilters).toBe(true)
$scope.clearFilters()
@@ -264,7 +264,7 @@ describe('widgetCatalogController', () => {
})
it('can clear filters and search', () => {
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
const _onSearch = $scope.jestTest.getLocalVar('_onSearch')
$scope.search = 'widget1'
_onSearch() // enable search
@@ -285,14 +285,14 @@ describe('widgetCatalogController', () => {
it('handles no widgets having features', () => {
widgetsToReturn = [widgetWithoutFeatures]
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
// $scope.toggleFilter('feature1') // toggle on
expect($scope.count).toEqual(1)
})
it('omits widgets with null features when a feature filter is enabled', () => {
widgetsToReturn = [widget1, widgetWithoutFeatures]
- $controller('widgetCatalogCtrl', { $scope })
+ $controller('WidgetCatalogCtrl', { $scope })
expect($scope.count).toEqual(2)
$scope.toggleFilter('feature1') // toggle on
expect($scope.count).toEqual(1)
diff --git a/src/js/controllers/ctrl-create.js b/src/js/controllers/ctrl-widget-creator.js
similarity index 92%
rename from src/js/controllers/ctrl-create.js
rename to src/js/controllers/ctrl-widget-creator.js
index b9ed3516..46830e5f 100644
--- a/src/js/controllers/ctrl-create.js
+++ b/src/js/controllers/ctrl-widget-creator.js
@@ -1,12 +1,12 @@
const app = angular.module('materia')
-app.controller('createCtrl', function(
+app.controller('WidgetCreatorCtrl', function (
Please,
$scope,
$q,
$sce,
$timeout,
$interval,
- widgetSrv,
+ WidgetSrv,
Alert
) {
$scope.alert = Alert
@@ -30,7 +30,7 @@ app.controller('createCtrl', function(
let widgetType = null
let mediaFile = null
- const _requestSave = mode => {
+ const _requestSave = (mode) => {
// hide dialogs
$scope.popup = ''
@@ -68,16 +68,16 @@ app.controller('createCtrl', function(
}
}
- const _cancelPublish = e => {
+ const _cancelPublish = (e) => {
$scope.popup = ''
}
- const _cancelPreview = e => {
+ const _cancelPreview = (e) => {
$scope.popup = ''
}
// If Initialization Fails
- const onInitFail = msg => {
+ const onInitFail = (msg) => {
stopHeartBeat()
if (msg.toLowerCase() !== 'flash player required.') {
_alert(msg, 'Failure', true, false)
@@ -88,7 +88,7 @@ app.controller('createCtrl', function(
const startHeartBeat = () => {
const deferred = $q.defer()
heartbeat = $interval(() => {
- Materia.Coms.Json.send('session_author_verify', [null, false]).then(data => {
+ Materia.Coms.Json.send('session_author_verify', [null, false]).then((data) => {
if (data !== true) {
_alert('You have been logged out due to inactivity', 'Invalid Login', true, true)
Please.$apply()
@@ -107,7 +107,7 @@ app.controller('createCtrl', function(
// Gets the qset of a loaded instance
const getQset = () => {
- return Materia.Coms.Json.send('question_set_get', [inst_id]).then(data => {
+ return Materia.Coms.Json.send('question_set_get', [inst_id]).then((data) => {
if (
(data != null ? data.title : undefined) === 'Permission Denied' ||
data.title === 'error'
@@ -158,7 +158,7 @@ app.controller('createCtrl', function(
}
}
- const prePublishPermsCheck = widgetData => {
+ const prePublishPermsCheck = (widgetData) => {
const deferred = $q.defer()
checkUserPublishPerms(widgetData, true).then(() => deferred.resolve(widgetData))
return deferred.promise
@@ -166,7 +166,7 @@ app.controller('createCtrl', function(
const checkUserPublishPerms = (widgetData, newInstance) => {
const deferred = $q.defer()
- widgetSrv.canBePublishedByCurrentUser(widget_id).then(canPublish => {
+ WidgetSrv.canBePublishedByCurrentUser(widget_id).then((canPublish) => {
$scope.canPublish = canPublish
// if the widget is published and the current user can not publish it, then they can not edit it
@@ -180,10 +180,10 @@ app.controller('createCtrl', function(
}
// build a my-widgets url to a specific widget
- const getMyWidgetsUrl = instid => `${BASE_URL}my-widgets#${instid}`
+ const getMyWidgetsUrl = (instid) => `${BASE_URL}my-widgets#${instid}`
// Embeds the creator
- const embed = widgetData => {
+ const embed = (widgetData) => {
const deferred = $q.defer()
let creatorPath
@@ -227,11 +227,11 @@ app.controller('createCtrl', function(
return deferred.promise
}
- const embedHTML = htmlPath => {
+ const embedHTML = (htmlPath) => {
$scope.htmlPath = htmlPath + '?' + widget_info.created_at
Please.$apply()
- const onPostMessage = e => {
+ const onPostMessage = (e) => {
const origin = `${e.origin}/`
if (origin === STATIC_CROSSDOMAIN || origin === BASE_URL) {
const msg = JSON.parse(e.data)
@@ -298,13 +298,13 @@ app.controller('createCtrl', function(
URL_WEB: BASE_URL,
URL_GET_ASSET: MEDIA_URL,
widget_id,
- inst_id
+ inst_id,
}
const params = {
menu: 'false',
allowFullScreen: 'true',
- AllowScriptAccess: 'always'
+ AllowScriptAccess: 'always',
}
const attributes = { id: EMBED_TARGET, wmode: 'opaque' }
const expressSwf = `${STATIC_CROSSDOMAIN}js/vendor/swfobject/expressInstall.swf`
@@ -357,7 +357,7 @@ app.controller('createCtrl', function(
Please.$apply()
}
- const onPreviewPopupBlocked = url => {
+ const onPreviewPopupBlocked = (url) => {
$scope.popup = 'blocked'
$scope.previewUrl = url
Please.$apply()
@@ -373,7 +373,7 @@ app.controller('createCtrl', function(
}
// Show an embedded dialog, as opposed to a popup
- const showEmbedDialog = url => ($scope.iframeUrl = url)
+ const showEmbedDialog = (url) => ($scope.iframeUrl = url)
// move the embed dialog off to invisibility
const hideEmbedDialog = () => {
@@ -385,7 +385,7 @@ app.controller('createCtrl', function(
}
// Note this is psuedo public as it's exposed to flash
- const showMediaImporter = types => {
+ const showMediaImporter = (types) => {
showEmbedDialog(`${BASE_URL}media/import#${types.join(',')}`)
$scope.modal = true
$timeout(() => {
@@ -396,7 +396,7 @@ app.controller('createCtrl', function(
// Called by the creator when a direct upload of media is requested - instead of asking user to select one themselves
// Displays the media importer (which dispatches 'readyForDirectUpload') and pre-selects the mediaFile to be uploaded
- const directUploadMedia = media => {
+ const directUploadMedia = (media) => {
showMediaImporter(['jpg', 'gif', 'png', 'mp3'])
mediaFile = media
}
@@ -412,10 +412,10 @@ app.controller('createCtrl', function(
name: instanceName,
qset: { version, data: qset },
is_draft: saveMode !== 'publish',
- inst_id
+ inst_id,
}
- return widgetSrv.saveWidget(w).then(inst => {
+ return WidgetSrv.saveWidget(w).then((inst) => {
// did we get back an error message?
if ((inst != null ? inst.msg : undefined) != null) {
onSaveCanceled(inst)
@@ -451,7 +451,7 @@ app.controller('createCtrl', function(
inst.name,
inst.widget,
inst.qset.data,
- inst.qset.version
+ inst.qset.version,
])
inst_id = inst.id
instance = inst
@@ -471,7 +471,7 @@ app.controller('createCtrl', function(
// When the Creator cancels a save request
// Note this is psuedo public as it's exposed to flash
- const onSaveCanceled = msg => {
+ const onSaveCanceled = (msg) => {
$scope.saveText = 'Can Not Save!'
if ((msg != null ? msg.msg : undefined) != null) {
@@ -498,7 +498,7 @@ ${msg.toLowerCase()}`,
}
}
- const setHeight = h => {
+ const setHeight = (h) => {
creator.style.height = `${h}px`
}
@@ -522,9 +522,9 @@ ${msg.toLowerCase()}`,
questions = JSON.parse(questions)
//strip id from all imported questions and answers to avoid collisions
- questions.forEach(question => {
+ questions.forEach((question) => {
if (question.answers && question.answers.length > 0) {
- question.answers.forEach(answer => {
+ question.answers.forEach((answer) => {
answer.id = null
})
}
@@ -546,7 +546,7 @@ ${msg.toLowerCase()}`,
}
return sendToCreator('onMediaImportComplete', [anArray])
}
- }
+ },
}
// expose to scope
@@ -576,9 +576,9 @@ ${msg.toLowerCase()}`,
// load an existing widget
getQset().then(() => {
if (!$scope.invalid) {
- $q(resolve => resolve(inst_id))
- .then(widgetSrv.lockWidget)
- .then(widgetSrv.getWidget)
+ $q((resolve) => resolve(inst_id))
+ .then(WidgetSrv.lockWidget)
+ .then(WidgetSrv.getWidget)
.then(checkUserPublishPerms)
.then(embed)
.then(initCreator)
@@ -589,8 +589,8 @@ ${msg.toLowerCase()}`,
})
} else {
// initialize a new creator
- $q(resolve => resolve(widget_id))
- .then(widgetSrv.getWidgetInfo)
+ $q((resolve) => resolve(widget_id))
+ .then(WidgetSrv.getWidgetInfo)
.then(prePublishPermsCheck)
.then(embed)
.then(initCreator)
diff --git a/src/js/controllers/ctrl-player.js b/src/js/controllers/ctrl-widget-player.js
similarity index 93%
rename from src/js/controllers/ctrl-player.js
rename to src/js/controllers/ctrl-widget-player.js
index 22d85a1e..f71b3bf1 100644
--- a/src/js/controllers/ctrl-player.js
+++ b/src/js/controllers/ctrl-widget-player.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.controller('playerCtrl', function(
+app.controller('WidgetPlayerCtrl', function (
Please,
$scope,
$location,
@@ -7,8 +7,8 @@ app.controller('playerCtrl', function(
$interval,
$window,
$timeout,
- widgetSrv,
- userServ,
+ WidgetSrv,
+ UserServ,
PLAYER,
Alert
) {
@@ -36,7 +36,7 @@ app.controller('playerCtrl', function(
let scoreScreenPending = false
// Keep track of the timer id for the heartbeat so we can clear the timeout
let heartbeatInterval = -1
- // Calculates which screen to show (preview, embed, or normal)
+ // Calculates which screen UserServ to show (preview, embed, or normal)
let scoreScreenURL = null
// Queue of requests
const pendingQueue = []
@@ -54,12 +54,12 @@ app.controller('playerCtrl', function(
Please.$apply()
}
- const _sendAllPendingLogs = callback => {
+ const _sendAllPendingLogs = (callback) => {
if (callback == null) {
callback = () => {}
}
- $q(resolve => resolve())
+ $q((resolve) => resolve())
.then(_sendPendingStorageLogs())
.then(_sendPendingPlayLogs)
.then(callback)
@@ -80,13 +80,13 @@ app.controller('playerCtrl', function(
}
}
- const _addLog = log => {
+ const _addLog = (log) => {
// add to pending logs
log['game_time'] = (new Date().getTime() - startTime) / 1000 // log time in seconds
pendingLogs.play.push(log)
}
- const _sendStorage = log => {
+ const _sendStorage = (log) => {
if (!$scope.isPreview) {
pendingLogs.storage.push(log)
}
@@ -107,7 +107,10 @@ app.controller('playerCtrl', function(
default:
endState = 'pending'
// kill the heartbeat
- $interval.cancel(heartbeatInterval)
+ if (heartbeatInterval !== -1) {
+ $interval.cancel(heartbeatInterval)
+ heartbeatInterval = -1
+ }
// required to end a play
_addLog({ type: 2, item_id: 0, text: '', value: null })
// send anything remaining
@@ -125,7 +128,7 @@ app.controller('playerCtrl', function(
const _startHeartBeat = () => {
const deferred = $q.defer()
$interval(() => {
- Materia.Coms.Json.send('session_play_verify', [play_id]).then(result => {
+ Materia.Coms.Json.send('session_play_verify', [play_id]).then((result) => {
if (result !== true && instance.guest_access === false) {
_alert(
"Your play session is no longer valid. You'll need to reload the page and start over.",
@@ -170,7 +173,7 @@ app.controller('playerCtrl', function(
}
}
- const _onLoadFail = msg => _alert(`Failure: ${msg}`, null, true)
+ const _onLoadFail = (msg) => _alert(`Failure: ${msg}`, null, true)
const _embed = () => {
embedDonePromise = $q.defer()
@@ -219,15 +222,15 @@ app.controller('playerCtrl', function(
inst_id: $scope.inst_id,
GIID: $scope.inst_id,
URL_WEB: BASE_URL,
- URL_GET_ASSET: 'media/'
+ URL_GET_ASSET: 'media/',
}
const params = {
menu: 'false',
allowFullScreen: 'true',
- AllowScriptAccess: 'always'
+ AllowScriptAccess: 'always',
}
const attributes = {
- id: PLAYER.EMBED_TARGET
+ id: PLAYER.EMBED_TARGET,
}
$scope.type = 'flash'
@@ -247,7 +250,7 @@ app.controller('playerCtrl', function(
embedTargetEl = document.getElementById(PLAYER.EMBED_TARGET)
}
- const _onPostMessage = e => {
+ const _onPostMessage = (e) => {
if (e.origin === expectedOrigin) {
const msg = JSON.parse(e.data)
switch (msg.type) {
@@ -279,7 +282,7 @@ app.controller('playerCtrl', function(
}
}
- const _embedHTML = enginePath => {
+ const _embedHTML = (enginePath) => {
$scope.type = 'html'
$scope.htmlPath = enginePath + '?' + instance.widget.created_at
Please.$apply()
@@ -309,7 +312,7 @@ app.controller('playerCtrl', function(
deferred.reject('Flash Player required.')
}
- widgetSrv.getWidget($scope.inst_id).then(inst => {
+ WidgetSrv.getWidget($scope.inst_id).then((inst) => {
if (!inst.hasOwnProperty('id')) {
return deferred.reject('Unable to get widget info.')
}
@@ -319,7 +322,7 @@ app.controller('playerCtrl', function(
// Fullscreen flag set as an optional parameter in widget install.yaml; have to dig into instance widget's meta_data object to find it
// can't use array.includes() since it's necessary to ensure comparison is case insensitive
- let fullscreen = inst.widget.meta_data.features.find(f => f.toLowerCase() === 'fullscreen')
+ let fullscreen = inst.widget.meta_data.features.find((f) => f.toLowerCase() === 'fullscreen')
$scope.allowFullScreen = fullscreen != undefined
if (type === 'swf' && swfobject.hasFlashPlayerVersion(String(version)) === false) {
@@ -369,7 +372,7 @@ app.controller('playerCtrl', function(
const _getQuestionSet = () => {
// TODO: if bad qSet : deferred.reject('Unable to load questions.')
- return Materia.Coms.Json.send('question_set_get', [$scope.inst_id, play_id]).then(result => {
+ return Materia.Coms.Json.send('question_set_get', [$scope.inst_id, play_id]).then((result) => {
qset = result
})
}
@@ -387,7 +390,7 @@ app.controller('playerCtrl', function(
}
return Materia.Coms.Json.send('play_logs_save', pendingQueue[0].request)
- .then(result => {
+ .then((result) => {
retryCount = 0 // reset on success
if ($scope.alert.fatal) {
$scope.alert.fatal = false
@@ -473,7 +476,7 @@ app.controller('playerCtrl', function(
}
// converts current widget/instance structure to the one expected by the player
- const _translateForApiVersion = inst => {
+ const _translateForApiVersion = (inst) => {
// switch based on version expected by the widget
let output
switch (parseInt(inst.widget.api_version)) {
@@ -508,7 +511,7 @@ app.controller('playerCtrl', function(
editable: inst.widget.is_editable,
previewUrl: inst.preview_url,
userID: inst.user_id,
- scoreModule: inst.widget.score_module
+ scoreModule: inst.widget.score_module,
}
break
case 2:
@@ -520,14 +523,14 @@ app.controller('playerCtrl', function(
return output
}
- const _setHeight = h => {
+ const _setHeight = (h) => {
const min_h = instance.widget.height
let el = document.getElementsByClassName('center')[0]
let desiredHeight = Math.max(h, min_h)
el.style.height = `${desiredHeight}px`
}
- const _setVerticalScroll = location => {
+ const _setVerticalScroll = (location) => {
const containerElement = document.getElementById('container')
const calculatedLocation =
window.scrollY + containerElement.getBoundingClientRect().y + location
@@ -551,7 +554,7 @@ app.controller('playerCtrl', function(
}
}
- const _beforeUnload = e => {
+ const _beforeUnload = (e) => {
if (instance.widget.is_scorable === '1' && !$scope.isPreview && endState !== 'sent') {
return 'Wait! Leaving now will forfeit this attempt. To save your score you must complete the widget.'
} else {
@@ -609,7 +612,7 @@ app.controller('playerCtrl', function(
_translateForApiVersion,
_setHeight,
_showScoreScreen,
- getLocalVar: name => eval(name),
+ getLocalVar: (name) => eval(name),
/* istanbul ignore next */
setLocalVar: (name, value) => {
/* istanbul ignore next */
@@ -617,16 +620,16 @@ app.controller('playerCtrl', function(
/* istanbul ignore next */
x = value
},
- setEmbedTargetEl: el => {
+ setEmbedTargetEl: (el) => {
embedTargetEl = el
},
- setQset: obj => {
+ setQset: (obj) => {
qset = obj
},
getEmbedDonePromise: () => embedDonePromise,
- setEndState: state => {
+ setEndState: (state) => {
endState = state
- }
+ },
}
/* develblock:end */
})
diff --git a/src/js/controllers/ctrl-player.test.js b/src/js/controllers/ctrl-widget-player.test.js
similarity index 92%
rename from src/js/controllers/ctrl-player.test.js
rename to src/js/controllers/ctrl-widget-player.test.js
index 3c2b6e03..ec20bfc5 100644
--- a/src/js/controllers/ctrl-player.test.js
+++ b/src/js/controllers/ctrl-widget-player.test.js
@@ -1,6 +1,6 @@
-describe('playerCtrl', () => {
- let _widgetSrv
- let _userServ
+describe('WidgetPlayerCtrl', () => {
+ let _WidgetSrv
+ let _UserServ
let _scope
let sendMock
let $q
@@ -11,6 +11,7 @@ describe('playerCtrl', () => {
let $interval
let $location
let mockPlease
+ const { location } = window
let buildPostMessage = (type, data) => {
let e = new Event('message')
@@ -18,12 +19,12 @@ describe('playerCtrl', () => {
(e.currentTarget = 'whaaaat'),
(e.data = JSON.stringify({
type: type,
- data: data
+ data: data,
}))
return e
}
- let mockSendPromiseOnce = result => {
+ let mockSendPromiseOnce = (result) => {
sendMock.mockImplementationOnce((n, arg, cb) => {
const deferred = $q.defer()
deferred.resolve(result)
@@ -36,24 +37,24 @@ describe('playerCtrl', () => {
// mock dom elements
let centerStyle = {
width: -1,
- height: -1
+ height: -1,
}
let widgetStyle = {
- display: 'none'
+ display: 'none',
}
let previewStyle = {
- width: -1
+ width: -1,
}
let embedStyle = {
width: -1,
- height: -1
+ height: -1,
}
let mockHref = {
- href: null
+ href: null,
}
let mockGetEl = jest
@@ -66,8 +67,8 @@ describe('playerCtrl', () => {
let mockEmbedTargetEl = {
style: embedStyle,
contentWindow: {
- postMessage: mockPostMessageFromWidget
- }
+ postMessage: mockPostMessageFromWidget,
+ },
}
// mock the getElementsById needed for the widget
@@ -79,10 +80,10 @@ describe('playerCtrl', () => {
let mockCreateElement = jest.spyOn(document, 'createElement').mockReturnValueOnce(mockHref)
// mock getting the instance from the api
- _widgetSrv.getWidget.mockImplementationOnce(inst_id => ({
- then: jest.fn(cb => {
+ _WidgetSrv.getWidget.mockImplementationOnce((inst_id) => ({
+ then: jest.fn((cb) => {
cb(widgetInstance)
- })
+ }),
}))
global.PLAY_ID = 'ff88gg'
@@ -94,7 +95,7 @@ describe('playerCtrl', () => {
let mockWindowAddEventListener = jest.spyOn(window, 'addEventListener')
// start the controller
var $scope = { $watch: jest.fn(), inst_id: 'bb8', $apply: jest.fn() }
- var controller = $controller('playerCtrl', { $scope })
+ var controller = $controller('WidgetPlayerCtrl', { $scope })
let mockPostMessage = $scope.jestTest.getLocalVar('_onPostMessage')
@@ -113,31 +114,30 @@ describe('playerCtrl', () => {
widgetInstance,
mockGetEl,
mockGetElByID,
- mockPostMessage
+ mockPostMessage,
}
}
beforeEach(() => {
+ delete window.location
+ window.location = { assign: jest.fn() }
mockPlease = { $apply: jest.fn() }
let app = angular.module('materia')
app.factory('Please', () => mockPlease)
- jest.spyOn(window.location, 'assign').mockImplementation(() => {
- true
- })
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
- _userServ = { getAvatar: jest.fn(() => 'avatar') }
- _widgetSrv = {
- getWidget: jest.fn()
+ _UserServ = { getAvatar: jest.fn(() => 'avatar') }
+ _WidgetSrv = {
+ getWidget: jest.fn(),
}
_alert = {}
- app.factory('widgetSrv', () => _widgetSrv)
- app.factory('userServ', () => _userServ)
+ app.factory('WidgetSrv', () => _WidgetSrv)
+ app.factory('UserServ', () => _UserServ)
app.factory('Alert', () => _alert)
- require('./ctrl-player')
+ require('./ctrl-widget-player')
inject((_$window_, $rootScope, _$q_, _$controller_, _$timeout_, _$interval_, _$location_) => {
_scope = $rootScope.$new()
@@ -155,18 +155,14 @@ describe('playerCtrl', () => {
})
afterEach(() => {
+ window.location = location
jest.clearAllMocks()
- try {
- window.location.assign.mockRestore()
- document.getElementsByClassName.mockRestore()
- document.getElementById.mockRestore()
- document.createElement.mockRestore()
- } catch (e) {}
+ jest.restoreAllMocks()
})
it('defines expected scope vars', () => {
var $scope = { $watch: jest.fn() }
- var controller = $controller('playerCtrl', { $scope })
+ var controller = $controller('WidgetPlayerCtrl', { $scope })
expect($scope.isPreview).toBe(false)
expect($scope.allowFullScreen).toBe(false)
@@ -190,12 +186,12 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// check all the widget initialization
expect(mockPlease.$apply).toHaveBeenCalledTimes(3)
- expect(_widgetSrv.getWidget).toHaveBeenLastCalledWith('bb8')
+ expect(_WidgetSrv.getWidget).toHaveBeenLastCalledWith('bb8')
expect($scope.allowFullScreen).toBe(false)
expect(centerStyle.width).toBe('800px')
expect(centerStyle.height).toBe('600px')
@@ -218,7 +214,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// varify the heartbeat request is sent after 30 seconds of initialization
@@ -240,7 +236,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// mock widget start
@@ -270,7 +266,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// mock widget start
@@ -299,9 +295,9 @@ describe('playerCtrl', () => {
{
testStorage: true,
value: 10,
- whatever: 'yep'
- }
- ]
+ whatever: 'yep',
+ },
+ ],
])
let expectedLogs = expect.objectContaining([
@@ -311,9 +307,9 @@ describe('playerCtrl', () => {
game_time: expect.any(Number),
testLog: true,
value: 10,
- whatever: 'yep'
- }
- ]
+ whatever: 'yep',
+ },
+ ],
])
expect(sendMock).toHaveBeenCalledWith('play_storage_data_save', expectedStorage)
@@ -333,7 +329,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// mock widget start
@@ -365,7 +361,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// mock widget start
@@ -375,8 +371,8 @@ describe('playerCtrl', () => {
//
let mockEmbedTargetEl = {
getBoundingClientRect: jest.fn().mockReturnValueOnce({
- y: 0
- })
+ y: 0,
+ }),
}
jest.spyOn(document, 'getElementById').mockReturnValueOnce(mockEmbedTargetEl)
@@ -405,7 +401,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// mock widget start
@@ -434,7 +430,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// mock widget start
@@ -463,7 +459,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// test alert
@@ -494,7 +490,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
// test initialize post message
@@ -516,7 +512,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
mockSendPromiseOnce()
@@ -545,12 +541,12 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
mockSendPromiseOnce({
score_url: 'http:/localhost/score/screen/url',
- type: 'success'
+ type: 'success',
})
mockPostMessage(buildPostMessage('start', ''))
@@ -574,7 +570,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
mockSendPromiseOnce()
@@ -603,7 +599,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
$scope.isPreview = true
@@ -635,7 +631,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
$scope.isEmbedded = true
@@ -665,7 +661,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
expect(() => {
@@ -673,8 +669,8 @@ describe('playerCtrl', () => {
origin: 'this-doesnt-match',
data: JSON.stringify({
type: 'start',
- data: ''
- })
+ data: '',
+ }),
})
}).toThrow()
})
@@ -691,7 +687,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
$scope.jestTest._sendAllPendingLogs(() => {
@@ -719,7 +715,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
$scope.jestTest.setQset(null)
@@ -742,7 +738,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
$scope.jestTest.setEmbedTargetEl(null)
@@ -765,7 +761,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
jest.spyOn($location, 'replace')
@@ -794,7 +790,7 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff()
jest.spyOn($location, 'replace')
@@ -815,7 +811,7 @@ describe('playerCtrl', () => {
it('embeds flash correctly', () => {
global.swfobject = {
hasFlashPlayerVersion: jest.fn(),
- embedSWF: jest.fn()
+ embedSWF: jest.fn(),
}
let {
@@ -829,12 +825,12 @@ describe('playerCtrl', () => {
widgetStyle,
centerStyle,
widgetInstance,
- mockGetEl
+ mockGetEl,
} = setupDomStuff(true, getMockApiData('widget_instances_get')[4])
// check all the widget initialization
expect(mockPlease.$apply).toHaveBeenCalledTimes(2)
- expect(_widgetSrv.getWidget).toHaveBeenLastCalledWith('bb8')
+ expect(_WidgetSrv.getWidget).toHaveBeenLastCalledWith('bb8')
expect($scope.allowFullScreen).toBe(false)
expect(centerStyle.width).toBe('800px')
expect(centerStyle.height).toBe('593px')
@@ -857,7 +853,7 @@ describe('playerCtrl', () => {
GIID: 'bb8',
URL_GET_ASSET: 'media/',
URL_WEB: 'https://test_base_url.com/',
- inst_id: 'bb8'
+ inst_id: 'bb8',
},
{ AllowScriptAccess: 'always', allowFullScreen: 'true', menu: 'false' },
{ id: 'container' }
diff --git a/src/js/directives/dir-beardable.js b/src/js/directives/dir-beardable.js
index 6475da14..a85a2790 100644
--- a/src/js/directives/dir-beardable.js
+++ b/src/js/directives/dir-beardable.js
@@ -1,7 +1,7 @@
'use strict'
const app = angular.module('materia')
-app.directive('beardable', function() {
+app.directive('beardable', function () {
return {
restrict: 'A',
controller($window) {
@@ -24,7 +24,7 @@ app.directive('beardable', function() {
}
}
- const konamiListener = event => {
+ const konamiListener = (event) => {
switch (event.which || event.keyCode) {
case 38:
if (konami !== 'u') {
@@ -62,6 +62,6 @@ app.directive('beardable', function() {
$window.addEventListener('keydown', konamiListener)
updateBeardCss()
- }
+ },
}
})
diff --git a/src/js/directives/dir-beardable.test.js b/src/js/directives/dir-beardable.test.js
index e0c77301..46263c0d 100644
--- a/src/js/directives/dir-beardable.test.js
+++ b/src/js/directives/dir-beardable.test.js
@@ -1,4 +1,4 @@
-describe('beardable Directive', function() {
+describe('beardable Directive', function () {
let $scope
let $compile
let createElementSpy
diff --git a/src/js/directives/dir-datatable.js b/src/js/directives/dir-datatable.js
index e30b255a..1bd81ae0 100644
--- a/src/js/directives/dir-datatable.js
+++ b/src/js/directives/dir-datatable.js
@@ -1,13 +1,13 @@
'use strict'
const app = angular.module('materia')
-app.directive('datatable', function($compile, $timeout) {
+app.directive('datatable', function ($compile, $timeout) {
return {
restrict: 'A',
link($scope, $element, $attrs) {
$timeout(() => {
$($element).DataTable()
})
- }
+ },
}
})
diff --git a/src/js/directives/dir-datatable.test.js b/src/js/directives/dir-datatable.test.js
index dd3b4098..6f082e34 100644
--- a/src/js/directives/dir-datatable.test.js
+++ b/src/js/directives/dir-datatable.test.js
@@ -1,4 +1,4 @@
-describe('datatable Directive', function() {
+describe('datatable Directive', function () {
let $scope
let $compile
let $timeout
diff --git a/src/js/directives/dir-date-validation.js b/src/js/directives/dir-date-validation.js
index f81d9f43..867a2b10 100644
--- a/src/js/directives/dir-date-validation.js
+++ b/src/js/directives/dir-date-validation.js
@@ -4,10 +4,10 @@ const app = angular.module('materia')
app.directive('dateValidation', () => ({
require: 'ngModel',
scope: {
- validate: '&'
+ validate: '&',
},
link(scope, element, attrs, modelCtrl) {
- modelCtrl.$parsers.push(inputValue => {
+ modelCtrl.$parsers.push((inputValue) => {
// Dates can do 0-9 and '/'
let transformed
if (attrs.validate === 'date') {
@@ -23,5 +23,5 @@ app.directive('dateValidation', () => ({
}
return transformed
})
- }
+ },
}))
diff --git a/src/js/directives/dir-date-validation.test.js b/src/js/directives/dir-date-validation.test.js
index 046594ca..e974b67c 100644
--- a/src/js/directives/dir-date-validation.test.js
+++ b/src/js/directives/dir-date-validation.test.js
@@ -1,4 +1,4 @@
-describe('dateValidation Directive', function() {
+describe('dateValidation Directive', function () {
let $scope
let $compile
diff --git a/src/js/directives/dir-filedropper.js b/src/js/directives/dir-filedropper.js
index 2dc46de2..98c33e74 100644
--- a/src/js/directives/dir-filedropper.js
+++ b/src/js/directives/dir-filedropper.js
@@ -3,7 +3,7 @@ const app = angular.module('materia')
app.directive('fileDropper', () => ({
restrict: 'AE',
link(scope, element) {
- element.bind('drag dragstart dragend dragover dragenter dragleave drop', event => {
+ element.bind('drag dragstart dragend dragover dragenter dragleave drop', (event) => {
event.preventDefault()
switch (event.type) {
case 'dragover': // intentional case fall-through
@@ -19,5 +19,5 @@ app.directive('fileDropper', () => ({
break
}
})
- }
+ },
}))
diff --git a/src/js/directives/dir-fileonchange.js b/src/js/directives/dir-fileonchange.js
index 6d3fa858..71b09859 100644
--- a/src/js/directives/dir-fileonchange.js
+++ b/src/js/directives/dir-fileonchange.js
@@ -5,5 +5,5 @@ app.directive('fileOnChange', () => ({
const onChangeHandler = scope.$eval(attrs.fileOnChange)
element.bind('change', onChangeHandler)
element.bind('drop', onChangeHandler)
- }
+ },
}))
diff --git a/src/js/directives/dir-fullscreen.js b/src/js/directives/dir-fullscreen.js
index 4b754e43..a9ce531a 100644
--- a/src/js/directives/dir-fullscreen.js
+++ b/src/js/directives/dir-fullscreen.js
@@ -5,10 +5,10 @@ const app = angular.module('materia')
app.directive('fullscreenDir', () => ({
restrict: 'A',
link($scope, $element, $attrs) {
- $scope.$watch('allowFullScreen', newVal => {
+ $scope.$watch('allowFullScreen', (newVal) => {
if (newVal === true) {
$attrs.$set('allowfullscreen', '')
}
})
- }
+ },
}))
diff --git a/src/js/directives/dir-ngenter.js b/src/js/directives/dir-ngenter.js
index ba326be9..91102b63 100644
--- a/src/js/directives/dir-ngenter.js
+++ b/src/js/directives/dir-ngenter.js
@@ -1,6 +1,6 @@
const app = angular.module('materia')
app.directive('ngEnter', () => (scope, element, attrs) => {
- element.bind('keydown keypress', event => {
+ element.bind('keydown keypress', (event) => {
if (event.which === 13) {
scope.$apply(() => scope.$eval(attrs.ngEnter))
}
diff --git a/src/js/directives/dir-ngenter.test.js b/src/js/directives/dir-ngenter.test.js
index 35fbc114..e034feda 100644
--- a/src/js/directives/dir-ngenter.test.js
+++ b/src/js/directives/dir-ngenter.test.js
@@ -1,4 +1,4 @@
-describe('ngEnter Directive', function() {
+describe('ngEnter Directive', function () {
let $scope
let $compile
diff --git a/src/js/directives/dir-scoredata.js b/src/js/directives/dir-scoredata.js
index bd711491..4035a949 100644
--- a/src/js/directives/dir-scoredata.js
+++ b/src/js/directives/dir-scoredata.js
@@ -1,7 +1,7 @@
'use strict'
const app = angular.module('materia')
-app.directive('scoreData', function(selectedWidgetSrv, $window) {
+app.directive('scoreData', function (SelectedWidgetSrv, $window) {
return {
restrict: 'A',
link($scope, $element, $attrs) {
@@ -13,10 +13,10 @@ app.directive('scoreData', function(selectedWidgetSrv, $window) {
const updateDisplay = () => {
// load the storageData from cache (if we have it)
- selectedWidgetSrv.getStorageData(false).then(data => {
+ SelectedWidgetSrv.getStorageData(false).then((data) => {
if (!data) return
$scope.tables = data[semester]
- $scope.MAX_ROWS = selectedWidgetSrv.getMaxRows()
+ $scope.MAX_ROWS = SelectedWidgetSrv.getMaxRows()
$scope.tableNames = Object.keys($scope.tables)
$scope.selectedTable = $scope.tableNames[0]
})
@@ -29,6 +29,6 @@ app.directive('scoreData', function(selectedWidgetSrv, $window) {
// try to load it now
updateDisplay()
- }
+ },
}
})
diff --git a/src/js/directives/dir-scoredata.test.js b/src/js/directives/dir-scoredata.test.js
index 9aaa2781..16ea9576 100644
--- a/src/js/directives/dir-scoredata.test.js
+++ b/src/js/directives/dir-scoredata.test.js
@@ -1,29 +1,29 @@
-describe('scoreData Directive', function() {
+describe('scoreData Directive', function () {
let $scope
let $compile
let $q
- let $selectedWidgetSrv
+ let $SelectedWidgetSrv
beforeEach(() => {
- require('../materia-constants')
+ require('../common/materia-constants')
require('../services/srv-selectedwidget')
require('./dir-scoredata.js')
- inject(function(_$compile_, _$rootScope_, _selectedWidgetSrv_, _$q_) {
- $selectedWidgetSrv = _selectedWidgetSrv_
+ inject(function (_$compile_, _$rootScope_, _SelectedWidgetSrv_, _$q_) {
+ $SelectedWidgetSrv = _SelectedWidgetSrv_
$compile = _$compile_
$scope = _$rootScope_.$new()
$q = _$q_
})
})
- it('is initialized on the element', function() {
+ it('is initialized on the element', function () {
let data = { '2050 Summer': { table1: null, table2: null } }
let deferred = $q.defer()
- jest.spyOn($selectedWidgetSrv, 'getStorageData').mockImplementation(() => deferred.promise)
+ jest.spyOn($SelectedWidgetSrv, 'getStorageData').mockImplementation(() => deferred.promise)
- jest.spyOn($selectedWidgetSrv, 'getMaxRows').mockImplementation(() => 777)
+ jest.spyOn($SelectedWidgetSrv, 'getMaxRows').mockImplementation(() => 777)
let html = '
'
let element = angular.element(html)
@@ -39,7 +39,7 @@ describe('scoreData Directive', function() {
expect($scope.selectedTable).toBe('table1')
})
- it('is short circuited when there is no storage', function() {
+ it('is short circuited when there is no storage', function () {
let html = '
'
let element = angular.element(html)
let compiled = $compile(element)($scope)
diff --git a/src/js/directives/dir-scoregraph.js b/src/js/directives/dir-scoregraph.js
index 22724388..0c60f7e7 100644
--- a/src/js/directives/dir-scoregraph.js
+++ b/src/js/directives/dir-scoregraph.js
@@ -1,14 +1,14 @@
'use strict'
const app = angular.module('materia')
-app.directive('scoreGraph', function($timeout, selectedWidgetSrv) {
+app.directive('scoreGraph', function ($timeout, SelectedWidgetSrv) {
return {
restrict: 'A',
link($scope, $element, $attrs) {
const id = $attrs.id.split('_')[1]
- const scores = selectedWidgetSrv.getScoreSummaries()
- scores.then(function(data) {
+ const scores = SelectedWidgetSrv.getScoreSummaries()
+ scores.then(function (data) {
const brackets = data.map[id].distribution
// Don't try creating a graph if there's nothing to put in it
@@ -19,6 +19,6 @@ app.directive('scoreGraph', function($timeout, selectedWidgetSrv) {
})
}
})
- }
+ },
}
})
diff --git a/src/js/directives/dir-scoregraph.test.js b/src/js/directives/dir-scoregraph.test.js
index 2a71ce6a..0765f6d6 100644
--- a/src/js/directives/dir-scoregraph.test.js
+++ b/src/js/directives/dir-scoregraph.test.js
@@ -1,22 +1,22 @@
-describe('scoreGraph Directive', function() {
+describe('scoreGraph Directive', function () {
let $rootScope
let $compile
let $timeout
- let mock1 = jest.fn(cb => {
+ let mock1 = jest.fn((cb) => {
cb({ map: { '6': { distribution: true } } })
})
let mock2 = jest.fn(() => ({ then: mock1 }))
let mock3 = jest.fn()
beforeEach(() => {
- angular.module('materia').service('selectedWidgetSrv', function() {
+ angular.module('materia').service('SelectedWidgetSrv', function () {
return { getScoreSummaries: mock2 }
})
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./dir-scoregraph.js')
- inject(function(_$compile_, _$rootScope_, _$timeout_) {
+ inject(function (_$compile_, _$rootScope_, _$timeout_) {
$compile = _$compile_
$rootScope = _$rootScope_
$timeout = _$timeout_
@@ -25,7 +25,7 @@ describe('scoreGraph Directive', function() {
Namespace('Materia.MyWidgets.Statistics').createGraph = mock3
})
- it('is initialized on the element', function() {
+ it('is initialized on the element', function () {
let html = '
text
'
let compiled = $compile('
text
')($rootScope)
$rootScope.$digest()
diff --git a/src/js/directives/dir-scoretable.js b/src/js/directives/dir-scoretable.js
index 9a00224d..27d699a5 100644
--- a/src/js/directives/dir-scoretable.js
+++ b/src/js/directives/dir-scoretable.js
@@ -1,11 +1,11 @@
'use strict'
const app = angular.module('materia')
-app.directive('scoreTable', function(selectedWidgetSrv, $window) {
+app.directive('scoreTable', function (SelectedWidgetSrv, $window) {
return {
restrict: 'A',
link($scope, $element, $attrs) {
- const widgetId = selectedWidgetSrv.getSelectedId()
+ const widgetId = SelectedWidgetSrv.getSelectedId()
const tableSort = 'desc'
const userCount = []
const users = {}
@@ -15,7 +15,7 @@ app.directive('scoreTable', function(selectedWidgetSrv, $window) {
$scope.users = {}
$scope.selectedUser = null
- selectedWidgetSrv.getPlayLogsForSemester(term, year).then(data => {
+ SelectedWidgetSrv.getPlayLogsForSemester(term, year).then((data) => {
// process play logs into records for each user
angular.forEach(data, (log, index) => {
const uid = log.user_id
@@ -25,16 +25,14 @@ app.directive('scoreTable', function(selectedWidgetSrv, $window) {
users[uid] = {
uid,
name,
- scores: {}
+ scores: {},
}
}
// make the score percentage readable
let percent = 0
if (log.done === '1') {
- percent = parseFloat(log.perc)
- .toFixed(2)
- .replace('.00', '')
+ percent = parseFloat(log.perc).toFixed(2).replace('.00', '')
}
// make the play duration readable
@@ -53,23 +51,23 @@ app.directive('scoreTable', function(selectedWidgetSrv, $window) {
percent,
elapsed: duration,
complete: log.done,
- id: log.id
+ id: log.id,
}
})
masterUserList = $scope.users = users
})
- $scope.setSelectedUser = id => {
+ $scope.setSelectedUser = (id) => {
$scope.selectedUser = $scope.users[id]
}
- $scope.showScorePage = function(scoreId) {
+ $scope.showScorePage = function (scoreId) {
$window.open(`${BASE_URL}scores/${widgetId}/#single-${scoreId}`)
return true
}
- $scope.searchStudentActivity = function(query) {
+ $scope.searchStudentActivity = function (query) {
if (query === '') {
$scope.users = masterUserList
return
@@ -81,9 +79,9 @@ app.directive('scoreTable', function(selectedWidgetSrv, $window) {
const terms = sanitized.split(' ')
// loop over mast users to check if any search word matches the user name
- angular.forEach(masterUserList, user => {
+ angular.forEach(masterUserList, (user) => {
let name = user.name.toLowerCase()
- terms.forEach(term => {
+ terms.forEach((term) => {
if (name.includes(term)) {
hits[user.uid] = user
}
@@ -92,6 +90,6 @@ app.directive('scoreTable', function(selectedWidgetSrv, $window) {
$scope.users = hits
}
- }
+ },
}
})
diff --git a/src/js/directives/dir-scoretable.test.js b/src/js/directives/dir-scoretable.test.js
index 74c3a1c3..098ee340 100644
--- a/src/js/directives/dir-scoretable.test.js
+++ b/src/js/directives/dir-scoretable.test.js
@@ -1,9 +1,9 @@
-describe('scoreTable Directive', function() {
+describe('scoreTable Directive', function () {
let $scope
let $compile
let $window
let $q
- let selectedWidgetSrv
+ let SelectedWidgetSrv
let data = [
{
id: 'one',
@@ -15,7 +15,7 @@ describe('scoreTable Directive', function() {
user_id: '2',
first: 'Ian',
last: 'Turgeon',
- username: '~author'
+ username: '~author',
},
{
id: 'two',
@@ -27,17 +27,17 @@ describe('scoreTable Directive', function() {
user_id: '5',
first: 'Corey',
last: 'Peterson',
- username: '~author2'
- }
+ username: '~author2',
+ },
]
beforeEach(() => {
- require('../materia-constants')
+ require('../common/materia-constants')
require('../services/srv-selectedwidget')
require('./dir-scoretable')
- inject(function(_$compile_, _$rootScope_, _selectedWidgetSrv_, _$q_, _$window_) {
- selectedWidgetSrv = _selectedWidgetSrv_
+ inject(function (_$compile_, _$rootScope_, _SelectedWidgetSrv_, _$q_, _$window_) {
+ SelectedWidgetSrv = _SelectedWidgetSrv_
$compile = _$compile_
$scope = _$rootScope_.$new()
$q = _$q_
@@ -45,9 +45,9 @@ describe('scoreTable Directive', function() {
})
let deferred = $q.defer()
- jest.spyOn(selectedWidgetSrv, 'getSelectedId').mockImplementation(() => 6)
+ jest.spyOn(SelectedWidgetSrv, 'getSelectedId').mockImplementation(() => 6)
jest
- .spyOn(selectedWidgetSrv, 'getPlayLogsForSemester')
+ .spyOn(SelectedWidgetSrv, 'getPlayLogsForSemester')
.mockImplementation(() => deferred.promise)
expect($scope.selectedUser).not.toBeDefined()
@@ -63,7 +63,7 @@ describe('scoreTable Directive', function() {
$scope.$apply()
})
- it('is initialized on the element', function() {
+ it('is initialized on the element', function () {
expect($scope.selectedUser).toBeNull()
expect($scope.users).toMatchSnapshot()
expect($scope.setSelectedUser).toBeDefined()
@@ -71,20 +71,20 @@ describe('scoreTable Directive', function() {
expect($scope.searchStudentActivity).toBeDefined()
})
- it('setSelectedUser sets selectedUser object as expected', function() {
+ it('setSelectedUser sets selectedUser object as expected', function () {
expect($scope.selectedUser).toBeNull()
$scope.setSelectedUser(5)
expect($scope.selectedUser).toMatchSnapshot()
})
- it('showScorePage opens the expected url', function() {
+ it('showScorePage opens the expected url', function () {
$window.open = jest.fn()
global.BASE_URL = 'some_url'
$scope.showScorePage('two')
expect($window.open).toHaveBeenLastCalledWith('some_urlscores/6/#single-two')
})
- it('searchStudentActivity locates users', function() {
+ it('searchStudentActivity locates users', function () {
$scope.searchStudentActivity('Ian')
expect($scope.users).toMatchSnapshot()
@@ -100,7 +100,7 @@ describe('scoreTable Directive', function() {
expect($scope.users).toMatchSnapshot()
})
- it('searchStudentActivity resets selecteUser', function() {
+ it('searchStudentActivity resets selecteUser', function () {
$scope.setSelectedUser(5)
expect($scope.selectedUser).toMatchSnapshot()
$scope.searchStudentActivity('Ian')
diff --git a/src/js/filters/filter-escape.test.js b/src/js/filters/filter-escape.test.js
index 1af5aaad..ebeee0ed 100644
--- a/src/js/filters/filter-escape.test.js
+++ b/src/js/filters/filter-escape.test.js
@@ -1,4 +1,4 @@
-describe('escape filter', function() {
+describe('escape filter', function () {
var filter
beforeEach(() => {
diff --git a/src/js/filters/filter-highlight.js b/src/js/filters/filter-highlight.js
index f02550b2..527cc853 100644
--- a/src/js/filters/filter-highlight.js
+++ b/src/js/filters/filter-highlight.js
@@ -6,19 +6,19 @@ const entityMap = {
'>': '>',
'"': '"',
"'": ''',
- '/': '/'
+ '/': '/',
}
-const escapeHtml = string => String(string).replace(/[&<>"'\/]/g, s => entityMap[s])
+const escapeHtml = (string) => String(string).replace(/[&<>"'\/]/g, (s) => entityMap[s])
// Highlights search matches, used on My Widgets sidebar
-app.filter('highlight', function($sce) {
+app.filter('highlight', function ($sce) {
return (text, search) => {
// escape special characters from the source text
text = escapeHtml(text)
if (search) {
const searchTerms = search.split(' ')
- searchTerms.forEach(term => {
+ searchTerms.forEach((term) => {
// find term in text and wrap it with a span
text = text.replace(new RegExp(`${term}`, 'gi'), (match, offset) => {
// @TODO: no comments left for this by previous dev
diff --git a/src/js/filters/filter-highlight.test.js b/src/js/filters/filter-highlight.test.js
index bbb44f39..d14b4a38 100644
--- a/src/js/filters/filter-highlight.test.js
+++ b/src/js/filters/filter-highlight.test.js
@@ -1,10 +1,10 @@
-describe('hightlight filter', function() {
+describe('hightlight filter', function () {
var filter
var _$sce
beforeEach(() => {
filter = testGetFilter('highlight')
- inject(function($sce) {
+ inject(function ($sce) {
_$sce = $sce
})
})
diff --git a/src/js/filters/filter-multiword.js b/src/js/filters/filter-multiword.js
index 2384e3af..875b4341 100644
--- a/src/js/filters/filter-multiword.js
+++ b/src/js/filters/filter-multiword.js
@@ -1,12 +1,25 @@
const app = angular.module('materia')
-app.filter('multiword', () => (input, searchText) => {
- searchText = searchText || ''
- if (searchText === '') return input
+// Search items for searchText
+// items must be an array of objects containing a key: searchCache
+// returns array of matched items in items
+// supports multiple words in searchText
+// searchText word order has no impact on matches
+// searchCache: "a slow sloth walks down a lazy tree path"
+// searchText match: "a path"
+// searchText match: "path sloth"
+// searchText miss: "slowsloth"
+
+app.filter('multiword', () => (items, searchText = '') => {
+ if (searchText === '') return items
+
+ // split up the items into words
const splitted = searchText.toLowerCase().split(/\s+/)
+
+ // create a regex that'll match the words with anything between them
const regexp_and = `(?=.*${splitted.join(')(?=.*')})`
const re = new RegExp(regexp_and, 'i')
- return input.filter(item => re.test(item.searchCache))
+ return items.filter((item) => re.test(item.searchCache))
})
diff --git a/src/js/filters/filter-multiword.test.js b/src/js/filters/filter-multiword.test.js
index f3cda87b..0ea08b79 100644
--- a/src/js/filters/filter-multiword.test.js
+++ b/src/js/filters/filter-multiword.test.js
@@ -1,4 +1,4 @@
-describe('multiword filter', function() {
+describe('multiword filter', function () {
var filter
let widgetList = [{ searchCache: 'text to search' }, { searchCache: 'other stuff to search' }]
diff --git a/src/js/materia.creatorcore.js b/src/js/materia.creatorcore.js
new file mode 100644
index 00000000..d1f840e1
--- /dev/null
+++ b/src/js/materia.creatorcore.js
@@ -0,0 +1,4 @@
+require('./common/materia-namespace')
+require('./materia/materia.creatorcore')
+
+// Materia Widget Creator Core - required by all widgets to create and customize widget contetent
diff --git a/src/js/materia.enginecore.js b/src/js/materia.enginecore.js
new file mode 100644
index 00000000..da7f7303
--- /dev/null
+++ b/src/js/materia.enginecore.js
@@ -0,0 +1,7 @@
+require('./common/materia-namespace')
+require('./materia/materia.enginecore')
+require('./materia/materia.score')
+require('./materia/materia.storage.manager')
+require('./materia/materia.storage.table')
+
+// Materia Widget Engine Core - core js file required by all widgets to play
diff --git a/src/js/materia.js b/src/js/materia.js
new file mode 100644
index 00000000..42f5dabf
--- /dev/null
+++ b/src/js/materia.js
@@ -0,0 +1,26 @@
+require('./common/materia-namespace')
+require('./materia/materia.coms.json')
+require('./materia/materia.flashcheck')
+require('./materia/materia.image')
+require('./materia/materia.page.default')
+require('./materia/materia.set.throbber')
+require('./materia/materia.store.slideshow')
+require('./materia/materia.user')
+require('./materia/materia.util')
+require('./materia/materia.validate.textfield')
+require('./common/materia-constants')
+require('./controllers/ctrl-alert')
+require('./controllers/ctrl-user-current')
+require('./controllers/ctrl-user-login')
+require('./controllers/ctrl-user-notification')
+require('./controllers/ctrl-home-page-spotlight')
+require('./controllers/ctrl-widget-catalog')
+require('./controllers/ctrl-widget-catalog-details')
+require('./services/srv-datetime')
+require('./services/srv-please')
+require('./services/srv-selectedwidget')
+require('./services/srv-user')
+require('./services/srv-widget')
+require('ngmodal/dist/ng-modal.min.js')
+
+// Materia Server common file used on all pages
diff --git a/src/js/materia.scorecore.js b/src/js/materia.scorecore.js
new file mode 100644
index 00000000..e9b43e6d
--- /dev/null
+++ b/src/js/materia.scorecore.js
@@ -0,0 +1,4 @@
+require('./common/materia-namespace')
+require('./materia/materia.scorecore')
+
+// Materia Score Core - required by widgets with custom score screens
diff --git a/src/js/materia/materia.coms.json.js b/src/js/materia/materia.coms.json.js
index 3efa2111..ddd64ac8 100644
--- a/src/js/materia/materia.coms.json.js
+++ b/src/js/materia/materia.coms.json.js
@@ -5,12 +5,12 @@ Namespace('Materia.Coms').Json = (() => {
// need to use the annotated angular method because webpack doesn't protect it for us
angular.injector(['ng']).invoke([
'$q',
- function($q) {
+ function ($q) {
_$q = $q
- }
+ },
])
- const _showError = data => {
+ const _showError = (data) => {
if (data.title === 'Invalid Login') {
// redirect to login page
window.location = BASE_URL + 'login'
@@ -40,17 +40,17 @@ Namespace('Materia.Coms').Json = (() => {
cache: 'no-cache',
headers: {
accept: 'application/json;',
- 'content-type': 'application/json; charset=utf-8'
- }
+ 'content-type': 'application/json; charset=utf-8',
+ },
}
fetch(url, options)
- .then(res => res.json())
- .then(json => {
+ .then((res) => res.json())
+ .then((json) => {
_resposeErrorChecker(json, false)
deferred.resolve(json)
})
- .catch(error => {
+ .catch((error) => {
deferred.reject()
_showError('Error Sending request to ' + url)
})
@@ -58,7 +58,7 @@ Namespace('Materia.Coms').Json = (() => {
return deferred.promise
}
- const setGateway = newGateway => {
+ const setGateway = (newGateway) => {
_gatewayURL = newGateway
}
@@ -80,18 +80,18 @@ Namespace('Materia.Coms').Json = (() => {
body: `data=${encodeURIComponent(JSON.stringify(args))}`,
headers: {
accept: 'application/json, text/javascript, */*; q=0.01',
- 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
- }
+ 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
+ },
}
// returns deferred
fetch(_gatewayURL + method + '/', options)
- .then(res => res.text())
- .then(body => {
+ .then((res) => res.text())
+ .then((body) => {
if (body) body = JSON.parse(body)
_resposeErrorChecker(body, false)
deferred.resolve(body)
})
- .catch(error => {
+ .catch((error) => {
deferred.reject(error)
})
@@ -99,12 +99,12 @@ Namespace('Materia.Coms').Json = (() => {
}
// newer XMLHttpRequest json api
- const get = url => {
+ const get = (url) => {
return _sendRequest('GET', url)
}
// newer XMLHttpRequest json api
- const post = function(url, dataObject) {
+ const post = function (url, dataObject) {
if (dataObject == null) {
dataObject = {}
}
@@ -112,7 +112,7 @@ Namespace('Materia.Coms').Json = (() => {
}
// return true if jsonResult is an error object
- const isError = jsonResult => jsonResult != null && typeof jsonResult.errorID !== 'undefined'
+ const isError = (jsonResult) => jsonResult != null && typeof jsonResult.errorID !== 'undefined'
// public methods
return {
@@ -120,6 +120,6 @@ Namespace('Materia.Coms').Json = (() => {
isError,
post,
get,
- setGateway
+ setGateway,
}
})()
diff --git a/src/js/materia/materia.coms.json.test.js b/src/js/materia/materia.coms.json.test.js
index 3a0ca0ac..24dd1d53 100644
--- a/src/js/materia/materia.coms.json.test.js
+++ b/src/js/materia/materia.coms.json.test.js
@@ -2,7 +2,7 @@ describe('Materia.Coms.Json', () => {
let coms
let $q
- let mockFetchOnce = result => {
+ let mockFetchOnce = (result) => {
fetch.mockImplementationOnce((n, arg, cb) => {
const deferred = $q.defer()
deferred.resolve(result)
@@ -12,11 +12,11 @@ describe('Materia.Coms.Json', () => {
beforeEach(() => {
let app = angular.module('materia')
- inject(function(_$q_) {
+ inject(function (_$q_) {
$q = _$q_
})
global.API_LINK = 'my_api_url'
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./materia.coms.json.js')
coms = Namespace('Materia.Coms').Json
global.fetch = jest.fn()
@@ -40,11 +40,11 @@ describe('Materia.Coms.Json', () => {
cache: 'no-cache',
headers: {
accept: 'application/json, text/javascript, */*; q=0.01',
- 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
+ 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
},
//this corresponds to the arguments we're sending above
//we'll verify later that they're encoded properly
- body: 'data=%5B1%2C%22two%22%5D'
+ body: 'data=%5B1%2C%22two%22%5D',
}
expect(global.fetch).toHaveBeenCalledWith('my_api_url/what/is/this/', a)
@@ -99,9 +99,9 @@ describe('Materia.Coms.Json', () => {
cache: 'no-cache',
headers: {
accept: 'application/json;',
- 'content-type': 'application/json; charset=utf-8'
+ 'content-type': 'application/json; charset=utf-8',
},
- body: undefined
+ body: undefined,
}
expect(global.fetch).toHaveBeenCalledWith('test', a)
})
@@ -121,9 +121,9 @@ describe('Materia.Coms.Json', () => {
cache: 'no-cache',
headers: {
accept: 'application/json;',
- 'content-type': 'application/json; charset=utf-8'
+ 'content-type': 'application/json; charset=utf-8',
},
- body: '{"data":true}'
+ body: '{"data":true}',
}
expect(global.fetch).toHaveBeenCalledWith('test', a)
})
diff --git a/src/js/materia/materia.creatorcore.js b/src/js/materia/materia.creatorcore.js
index c7fa1b23..c0408858 100644
--- a/src/js/materia/materia.creatorcore.js
+++ b/src/js/materia/materia.creatorcore.js
@@ -5,7 +5,7 @@ Namespace('Materia').CreatorCore = (() => {
let _mediaUrl = null
let _resizeInterval = null
- const _onPostMessage = e => {
+ const _onPostMessage = (e) => {
if (typeof e.data !== 'string') return
const msg = JSON.parse(e.data)
switch (msg.type) {
@@ -67,7 +67,7 @@ Namespace('Materia').CreatorCore = (() => {
_tellCreator('initExistingWidget', [widget, title, qset, qsetVersion])
}
- const start = creatorClass => {
+ const start = (creatorClass) => {
// setup the postmessage listener
window.addEventListener('message', _onPostMessage, false)
@@ -85,16 +85,16 @@ Namespace('Materia').CreatorCore = (() => {
_sendPostMessage('alert', { msg, title, fatal })
}
- const getMediaUrl = mediaId => `${_mediaUrl}/${mediaId}`
+ const getMediaUrl = (mediaId) => `${_mediaUrl}/${mediaId}`
- const showMediaImporter = types => {
+ const showMediaImporter = (types) => {
if (types == null) {
types = ['image']
}
_sendPostMessage('showMediaImporter', types)
}
- const directUploadMedia = mediaData => {
+ const directUploadMedia = (mediaData) => {
_sendPostMessage('directUploadMedia', mediaData)
}
@@ -106,9 +106,9 @@ Namespace('Materia').CreatorCore = (() => {
_sendPostMessage('save', [sanitizedTitle, qset, version])
}
- const cancelSave = msg => _sendPostMessage('cancelSave', [msg])
+ const cancelSave = (msg) => _sendPostMessage('cancelSave', [msg])
- const setHeight = h => {
+ const setHeight = (h) => {
if (!h) {
h = document.getElementsByTagName('html')[0].height()
}
@@ -118,7 +118,7 @@ Namespace('Materia').CreatorCore = (() => {
}
}
- const escapeScriptTags = text => text.replace(//g, '>')
+ const escapeScriptTags = (text) => text.replace(//g, '>')
const disableResizeInterval = () => {
clearInterval(_resizeInterval)
@@ -135,6 +135,6 @@ Namespace('Materia').CreatorCore = (() => {
save,
disableResizeInterval,
setHeight, // allows the creator to resize its iframe container to fit the height of its contents
- escapeScriptTags
+ escapeScriptTags,
}
})()
diff --git a/src/js/materia/materia.creatorcore.test.js b/src/js/materia/materia.creatorcore.test.js
index 9329554b..12aace44 100644
--- a/src/js/materia/materia.creatorcore.test.js
+++ b/src/js/materia/materia.creatorcore.test.js
@@ -1,7 +1,6 @@
describe('creatorcore', () => {
let creatorCore
let $q
-
let mockCreator
let _onPostMessage
@@ -11,8 +10,8 @@ describe('creatorcore', () => {
}
//iterates all mocked creator methods to ensure only the target method is called
- const expectOnlyCreatorMethodCalledToBe = targetMethod => {
- Object.keys(mockCreator).forEach(method => {
+ const expectOnlyCreatorMethodCalledToBe = (targetMethod) => {
+ Object.keys(mockCreator).forEach((method) => {
if (method == targetMethod) {
expect(mockCreator[method]).toHaveBeenCalledTimes(1)
} else {
@@ -25,32 +24,34 @@ describe('creatorcore', () => {
let payload = JSON.stringify({
type: type,
source: source,
- data: data
+ data: data,
})
_onPostMessage({
- data: payload
+ data: payload,
})
return payload
}
- const mockCreatorCoreAlert = message =>
+ const mockCreatorCoreAlert = (message) =>
JSON.stringify({
type: 'alert',
source: 'creator-core',
data: {
msg: message,
title: null,
- fatal: false
- }
+ fatal: false,
+ },
})
beforeEach(() => {
+ jest.spyOn(console, 'warn')
+ console.warn.mockReturnValue()
let app = angular.module('materia')
- inject(function(_$q_) {
+ inject(function (_$q_) {
$q = _$q_
})
global.API_LINK = 'my_api_url'
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./materia.creatorcore')
creatorCore = Namespace('Materia.CreatorCore')
global.fetch = jest.fn()
@@ -63,7 +64,7 @@ describe('creatorcore', () => {
onMediaImportComplete: jest.fn(),
onQuestionImportComplete: jest.fn(),
initNewWidget: jest.fn(),
- initExistingWidget: jest.fn()
+ initExistingWidget: jest.fn(),
}
//prior to each test, run creatorCore.start to prime the _onPostMessage event listener
@@ -75,7 +76,7 @@ describe('creatorcore', () => {
})
afterEach(() => {
- jest.clearAllMocks()
+ jest.resetAllMocks()
})
it('defines expected public methods', () => {
@@ -112,7 +113,7 @@ describe('creatorcore', () => {
'qsetObj',
'qsetVersion',
'baseUrl',
- 'mediaUrl'
+ 'mediaUrl',
])
expect(mockCreator.initExistingWidget).toHaveBeenCalledWith(
'widgetObj',
@@ -154,12 +155,10 @@ describe('creatorcore', () => {
it('reacts properly to post messages with non-string data', () => {
mockPostMessageFromWidget('', '', undefined)
- console.log(window.addEventListener)
expect(window.addEventListener).toHaveLastReturnedWith(undefined)
})
it('reacts properly to unknown post messages', () => {
- jest.spyOn(console, 'warn')
mockPostMessageFromWidget('undefinedMessageType', 'unknown-source', ['payload'])
expect(console.warn).toHaveBeenCalledWith(
'Error, unknown message sent to creator core: undefinedMessageType'
@@ -173,8 +172,8 @@ describe('creatorcore', () => {
_onPostMessage({
data: JSON.stringify({
type: 'initNewWidget',
- data: ['widgetObj', 'baseUrl', 'mediaUrl']
- })
+ data: ['widgetObj', 'baseUrl', 'mediaUrl'],
+ }),
})
expect(parent.postMessage).toHaveBeenCalledWith(
mockCreatorCoreAlert('Error, missing creator initNewWidget called.'),
@@ -200,7 +199,7 @@ describe('creatorcore', () => {
let ex = JSON.stringify({
type: 'showMediaImporter',
source: 'creator-core',
- data: ['image']
+ data: ['image'],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -210,7 +209,7 @@ describe('creatorcore', () => {
let ex = JSON.stringify({
type: 'showMediaImporter',
source: 'creator-core',
- data: ['mp3']
+ data: ['mp3'],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -220,7 +219,7 @@ describe('creatorcore', () => {
let ex = JSON.stringify({
type: 'cancelSave',
source: 'creator-core',
- data: ['message']
+ data: ['message'],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -230,7 +229,7 @@ describe('creatorcore', () => {
let ex = JSON.stringify({
type: 'save',
source: 'creator-core',
- data: ['title', { one: 1, two: 2 }, 1]
+ data: ['title', { one: 1, two: 2 }, 1],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -240,7 +239,7 @@ describe('creatorcore', () => {
let ex = JSON.stringify({
type: 'save',
source: 'creator-core',
- data: ['title', { one: 1, two: 2 }, '1']
+ data: ['title', { one: 1, two: 2 }, '1'],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -250,7 +249,7 @@ describe('creatorcore', () => {
let ex = JSON.stringify({
type: 'save',
source: 'creator-core',
- data: ['title <script></script>', {}, '1']
+ data: ['title <script></script>', {}, '1'],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -260,7 +259,7 @@ describe('creatorcore', () => {
let ex = JSON.stringify({
type: 'setHeight',
source: 'creator-core',
- data: [200]
+ data: [200],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
diff --git a/src/js/materia/materia.enginecore.js b/src/js/materia/materia.enginecore.js
index 3a718a3d..5852fe2d 100644
--- a/src/js/materia/materia.enginecore.js
+++ b/src/js/materia/materia.enginecore.js
@@ -6,7 +6,7 @@ Namespace('Materia').Engine = (() => {
let _resizeInterval = null
let _widgetClass = null
- const _onPostMessage = e => {
+ const _onPostMessage = (e) => {
if (typeof e.data !== 'string') return
const msg = JSON.parse(e.data)
switch (msg.type) {
@@ -31,7 +31,7 @@ Namespace('Materia').Engine = (() => {
_instance = instance
}
- const start = widgetClass => {
+ const start = (widgetClass) => {
// setup the postmessage listener
addEventListener('message', _onPostMessage, false)
@@ -46,7 +46,7 @@ Namespace('Materia').Engine = (() => {
_sendPostMessage('start', null)
}
- const sendStorage = args => {
+ const sendStorage = (args) => {
_sendPostMessage('sendStorage', args)
}
@@ -67,9 +67,9 @@ Namespace('Materia').Engine = (() => {
_sendPostMessage('alert', { title, msg, fatal })
}
- const getMediaUrl = mediaId => `${_mediaUrl}/${mediaId}`
+ const getMediaUrl = (mediaId) => `${_mediaUrl}/${mediaId}`
- const end = showScoreScreenAfter => {
+ const end = (showScoreScreenAfter) => {
if (showScoreScreenAfter == null) {
showScoreScreenAfter = true
}
@@ -80,7 +80,7 @@ Namespace('Materia').Engine = (() => {
_sendPostMessage('sendPendingLogs', {})
}
- const setHeight = h => {
+ const setHeight = (h) => {
if (!h) {
h = parseInt(window.getComputedStyle(document.documentElement).height, 10)
}
@@ -90,7 +90,7 @@ Namespace('Materia').Engine = (() => {
}
}
- const setVerticalScroll = location => {
+ const setVerticalScroll = (location) => {
_sendPostMessage('setVerticalScroll', [location])
}
@@ -98,7 +98,7 @@ Namespace('Materia').Engine = (() => {
clearInterval(_resizeInterval)
}
- const escapeScriptTags = text => text.replace(//g, '>')
+ const escapeScriptTags = (text) => text.replace(//g, '>')
return {
start,
@@ -112,6 +112,6 @@ Namespace('Materia').Engine = (() => {
disableResizeInterval,
setHeight, // allows the widget to resize its iframe container to fit the height of its contents
setVerticalScroll, // allows the widget to scroll the page to a specific location
- escapeScriptTags
+ escapeScriptTags,
}
})()
diff --git a/src/js/materia/materia.enginecore.test.js b/src/js/materia/materia.enginecore.test.js
index 48f95c27..fc8841fc 100644
--- a/src/js/materia/materia.enginecore.test.js
+++ b/src/js/materia/materia.enginecore.test.js
@@ -2,7 +2,7 @@ describe('enginecore', () => {
let Engine
let $q
- let mockFetchOnce = result => {
+ let mockFetchOnce = (result) => {
fetch.mockImplementationOnce((n, arg, cb) => {
const deferred = $q.defer()
deferred.resolve(result)
@@ -12,11 +12,11 @@ describe('enginecore', () => {
beforeEach(() => {
let app = angular.module('materia')
- inject(function(_$q_) {
+ inject(function (_$q_) {
$q = _$q_
})
global.API_LINK = 'my_api_url'
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./materia.enginecore')
Engine = Namespace('Materia').Engine
global.fetch = jest.fn()
@@ -81,8 +81,8 @@ describe('enginecore', () => {
_onPostMessage({
data: JSON.stringify({
type: 'initWidget',
- data: ['qset', 'instance', 'baseUrl', 'mediaUrl']
- })
+ data: ['qset', 'instance', 'baseUrl', 'mediaUrl'],
+ }),
})
expect(Engine.getImageAssetUrl('fR93X')).toBe('mediaUrl/fR93X')
@@ -94,8 +94,8 @@ describe('enginecore', () => {
_onPostMessage({
data: JSON.stringify({
type: 'initWidget',
- data: ['qset', 'instance', 'baseUrl', 'mediaUrl']
- })
+ data: ['qset', 'instance', 'baseUrl', 'mediaUrl'],
+ }),
})
expect(Engine.getMediaUrl('fR93X')).toBe('mediaUrl/fR93X')
@@ -105,7 +105,7 @@ describe('enginecore', () => {
Engine.start({ start: jest.fn() })
let _onPostMessage = window.addEventListener.mock.calls[0][1]
_onPostMessage({
- data: undefined
+ data: undefined,
})
expect(parent.postMessage).toHaveLastReturnedWith(undefined)
})
@@ -114,7 +114,7 @@ describe('enginecore', () => {
Engine.end()
let ex = JSON.stringify({
type: 'end',
- data: true
+ data: true,
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -123,7 +123,7 @@ describe('enginecore', () => {
Engine.end(false)
let ex = JSON.stringify({
type: 'end',
- data: false
+ data: false,
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -132,7 +132,7 @@ describe('enginecore', () => {
Engine.sendPendingLogs()
let ex = JSON.stringify({
type: 'sendPendingLogs',
- data: {}
+ data: {},
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -141,7 +141,7 @@ describe('enginecore', () => {
Engine.sendStorage('message')
let ex = JSON.stringify({
type: 'sendStorage',
- data: 'message'
+ data: 'message',
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -150,7 +150,7 @@ describe('enginecore', () => {
Engine.setHeight(200)
let ex = JSON.stringify({
type: 'setHeight',
- data: [200]
+ data: [200],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
@@ -159,7 +159,7 @@ describe('enginecore', () => {
Engine.setVerticalScroll(0)
let ex = JSON.stringify({
type: 'setVerticalScroll',
- data: [0]
+ data: [0],
})
expect(parent.postMessage).toHaveBeenLastCalledWith(ex, '*')
})
diff --git a/src/js/materia/materia.flashcheck.js b/src/js/materia/materia.flashcheck.js
index 35f8d167..f942d850 100644
--- a/src/js/materia/materia.flashcheck.js
+++ b/src/js/materia/materia.flashcheck.js
@@ -2,7 +2,7 @@
Namespace('Materia').Flashcheck = (() => {
let _flashVersionObj = null
// Returns the flash version, false if not installed.
- const getFlashVersion = callback => {
+ const getFlashVersion = (callback) => {
let return_val
_flashVersionObj = swfobject.getFlashPlayerVersion()
diff --git a/src/js/materia/materia.image.js b/src/js/materia/materia.image.js
index 2d9a4a67..e86267de 100644
--- a/src/js/materia/materia.image.js
+++ b/src/js/materia/materia.image.js
@@ -16,6 +16,6 @@ Namespace('Materia').Image = (() => {
return {
iconUrl,
screenshotUrl,
- screenshotThumbUrl
+ screenshotThumbUrl,
}
})()
diff --git a/src/js/materia/materia.mywidgets.statistics.js b/src/js/materia/materia.mywidgets.statistics.js
index 13e79e10..04c10739 100644
--- a/src/js/materia/materia.mywidgets.statistics.js
+++ b/src/js/materia/materia.mywidgets.statistics.js
@@ -14,21 +14,21 @@ Namespace('Materia.MyWidgets').Statistics = (() => {
shadow: false,
rendererOptions: {
animation: {
- speed: 500
- }
- }
- }
+ speed: 500,
+ },
+ },
+ },
],
title: {
text: 'Score Distribution',
- fontFamily: 'Lato, Lucida Grande, Arial, sans'
+ fontFamily: 'Lato, Lucida Grande, Arial, sans',
},
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
angle: 0,
- fontSize: '8pt'
- }
+ fontSize: '8pt',
+ },
},
axes: {
xaxis: {
@@ -43,31 +43,31 @@ Namespace('Materia.MyWidgets').Statistics = (() => {
'60-69',
'70-79',
'80-89',
- '90-100'
- ]
- }
+ '90-100',
+ ],
+ },
},
highlighter: {
show: true,
showMarker: false,
sizeAdjust: 7.5,
tooltipAxes: 'y',
- formatString: '%s scores'
+ formatString: '%s scores',
},
cursor: {
- show: false
+ show: false,
},
grid: {
background: '#FFFFFF',
- shadow: false
+ shadow: false,
},
- seriesColors: ['#1e91e1']
+ seriesColors: ['#1e91e1'],
}
$.jqplot(elementId, [data], jqOptions)
}
return {
- createGraph
+ createGraph,
}
})()
diff --git a/src/js/materia/materia.page.default.js b/src/js/materia/materia.page.default.js
index 60f656d8..5c53f0af 100644
--- a/src/js/materia/materia.page.default.js
+++ b/src/js/materia/materia.page.default.js
@@ -1,5 +1,5 @@
const app = angular.module('materia', [])
-app.config($sceDelegateProvider =>
+app.config(($sceDelegateProvider) =>
$sceDelegateProvider.resourceUrlWhitelist(['self', STATIC_CROSSDOMAIN + '**', BASE_URL + '**'])
)
@@ -29,7 +29,7 @@ window.isMobile = {
isMobile.Opera() ||
isMobile.Windows()
)
- }
+ },
}
// this code ensures that Opera runs onload/ready js events when navigating foward/back.
diff --git a/src/js/materia/materia.score.js b/src/js/materia/materia.score.js
index d44f0e55..8e388fb8 100644
--- a/src/js/materia/materia.score.js
+++ b/src/js/materia/materia.score.js
@@ -43,9 +43,9 @@ Namespace('Materia').Score = (() => {
Materia.Engine.addLog(SCORE_PARTICIPATION, -1, 'Participation', value)
// Adds a message/feedback to the overall score screen
- const addGlobalScoreFeedback = msg => Materia.Engine.addLog(SCORE_FEEDBACK, '0', msg)
+ const addGlobalScoreFeedback = (msg) => Materia.Engine.addLog(SCORE_FEEDBACK, '0', msg)
- const addScoreData = data => Materia.Engine.addLog(DATA, null, JSON.stringify(data), null)
+ const addScoreData = (data) => Materia.Engine.addLog(DATA, null, JSON.stringify(data), null)
return {
submitInteractionForScoring,
@@ -53,6 +53,6 @@ Namespace('Materia').Score = (() => {
submitQuestionForScoring,
submitScoreForParticipation,
addGlobalScoreFeedback,
- addScoreData
+ addScoreData,
}
})()
diff --git a/src/js/materia/materia.score.test.js b/src/js/materia/materia.score.test.js
index a83cd416..63bca1cc 100644
--- a/src/js/materia/materia.score.test.js
+++ b/src/js/materia/materia.score.test.js
@@ -3,7 +3,7 @@ describe('Materia.Score', () => {
let mockAddLog
beforeEach(() => {
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./materia.score')
Score = Materia.Score
Namespace('Materia.Engine').addLog = mockAddLog = jest.fn()
diff --git a/src/js/materia/materia.scorecore.js b/src/js/materia/materia.scorecore.js
index ec10a344..7c5f9fff 100644
--- a/src/js/materia/materia.scorecore.js
+++ b/src/js/materia/materia.scorecore.js
@@ -3,7 +3,8 @@ Namespace('Materia').ScoreCore = (() => {
let _mediaUrl = null
let _widgetClass = null
- const _onPostMessage = e => {
+ const _onPostMessage = (e) => {
+ if (typeof e.data !== 'string') return
const msg = JSON.parse(e.data)
switch (msg.type) {
case 'initWidget':
@@ -43,13 +44,13 @@ Namespace('Materia').ScoreCore = (() => {
_sendPostMessage('hideScoresOverview')
}
- const getMediaUrl = mediaId => `${_mediaUrl}/${mediaId}`
+ const getMediaUrl = (mediaId) => `${_mediaUrl}/${mediaId}`
const requestScoreDistribution = () => {
_sendPostMessage('requestScoreDistribution')
}
- const start = widgetClass => {
+ const start = (widgetClass) => {
// setup the postmessage listener
addEventListener('message', _onPostMessage, false)
@@ -57,7 +58,7 @@ Namespace('Materia').ScoreCore = (() => {
_sendPostMessage('start', null)
}
- const setHeight = h => {
+ const setHeight = (h) => {
if (!h) {
h = parseInt(window.getComputedStyle(document.documentElement).height, 10)
}
@@ -73,6 +74,6 @@ Namespace('Materia').ScoreCore = (() => {
hideScoresOverview,
requestScoreDistribution,
setHeight,
- start
+ start,
}
})()
diff --git a/src/js/materia/materia.scorecore.test.js b/src/js/materia/materia.scorecore.test.js
index ad6dc705..3dfd950c 100644
--- a/src/js/materia/materia.scorecore.test.js
+++ b/src/js/materia/materia.scorecore.test.js
@@ -7,7 +7,7 @@ describe('Materia.ScoreCore', () => {
beforeEach(() => {
let app = angular.module('materia')
global.API_LINK = 'my_api_url'
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./materia.scorecore')
ScoreCore = Namespace('Materia').ScoreCore
jest.spyOn(window, 'addEventListener')
@@ -17,7 +17,7 @@ describe('Materia.ScoreCore', () => {
mockWidget = {
start: jest.fn(),
update: jest.fn(),
- handleScoreDistribution: jest.fn()
+ handleScoreDistribution: jest.fn(),
}
//prior to each test, run ScoreCore.start to prime the _onPostMessage event listener
ScoreCore.start(mockWidget)
@@ -27,7 +27,7 @@ describe('Materia.ScoreCore', () => {
_onPostMessage = window.addEventListener.mock.calls[0][1]
})
afterEach(() => {
- jest.clearAllMocks()
+ jest.resetAllMocks()
})
it('defines expected public methods', () => {
@@ -92,8 +92,8 @@ describe('Materia.ScoreCore', () => {
_onPostMessage({
data: JSON.stringify({
type: 'initWidget',
- data: ['qset', 'scoreTable', 'widgetInstance', 'isPreview', 'mediaUrl']
- })
+ data: ['qset', 'scoreTable', 'widgetInstance', 'isPreview', 'mediaUrl'],
+ }),
})
expect(ScoreCore.getMediaUrl('fR93X')).toBe('mediaUrl/fR93X')
@@ -114,18 +114,18 @@ describe('Materia.ScoreCore', () => {
let initData = [
{
data: [{ qset: 'data' }],
- version: 0
+ version: 0,
},
{ score: 'table' },
{ widget: 'instance' },
- false
+ false,
]
_onPostMessage({
data: JSON.stringify({
type: 'initWidget',
source: 'score-core',
- data: initData
- })
+ data: initData,
+ }),
})
expect(mockWidget.start).toHaveBeenCalledWith(
{ widget: 'instance' }, //instance
@@ -142,15 +142,15 @@ describe('Materia.ScoreCore', () => {
let updateData = [
{
data: [{ qset: 'updated_data' }],
- version: 0
+ version: 0,
},
- { score: 'updated_table' }
+ { score: 'updated_table' },
]
_onPostMessage({
data: JSON.stringify({
type: 'updateWidget',
- data: updateData
- })
+ data: updateData,
+ }),
})
expect(mockWidget.update).toHaveBeenCalledWith(
[{ qset: 'updated_data' }], //qset.data
@@ -164,8 +164,8 @@ describe('Materia.ScoreCore', () => {
_onPostMessage({
data: JSON.stringify({
type: 'scoreDistribution',
- data: [{ score: 'distribution' }]
- })
+ data: [{ score: 'distribution' }],
+ }),
})
expect(mockWidget.handleScoreDistribution).toHaveBeenCalledWith({ score: 'distribution' })
})
@@ -174,8 +174,8 @@ describe('Materia.ScoreCore', () => {
_onPostMessage({
data: JSON.stringify({
type: 'unknownMessageType',
- data: [null]
- })
+ data: [null],
+ }),
})
expect(console.warn).toHaveBeenCalledWith(
diff --git a/src/js/materia/materia.scores.scoregraphics.js b/src/js/materia/materia.scores.scoregraphics.js
index 50d24073..c988824f 100644
--- a/src/js/materia/materia.scores.scoregraphics.js
+++ b/src/js/materia/materia.scores.scoregraphics.js
@@ -122,6 +122,6 @@ Namespace('Materia.Scores').Scoregraphics = (() => {
return {
drawScoreCircle,
drawModifierCircle,
- drawFinalScoreCircle
+ drawFinalScoreCircle,
}
})()
diff --git a/src/js/materia/materia.set.throbber.js b/src/js/materia/materia.set.throbber.js
index e9739301..0f445b13 100644
--- a/src/js/materia/materia.set.throbber.js
+++ b/src/js/materia/materia.set.throbber.js
@@ -5,7 +5,7 @@ Namespace('Materia.Set').Throbber = (() => {
}
}
- const stopSpin = element => {
+ const stopSpin = (element) => {
if (typeof $ !== 'undefined' && $ !== null && $(element).spin != null) {
$(element).spin(false)
}
@@ -13,6 +13,6 @@ Namespace('Materia.Set').Throbber = (() => {
return {
startSpin,
- stopSpin
+ stopSpin,
}
})()
diff --git a/src/js/materia/materia.storage.manager.js b/src/js/materia/materia.storage.manager.js
index 6006c824..98dd7134 100644
--- a/src/js/materia/materia.storage.manager.js
+++ b/src/js/materia/materia.storage.manager.js
@@ -40,7 +40,7 @@ Namespace('Materia.Storage').Manager = (() => {
Materia.Engine.sendStorage(result)
}
- var getTable = tableId => {
+ var getTable = (tableId) => {
tableId = clean(tableId)
// Search for the Table
// can't use array.find here due to IE11
@@ -55,7 +55,7 @@ Namespace('Materia.Storage').Manager = (() => {
return null
}
- var clean = name => {
+ var clean = (name) => {
name = String(name)
let cleanName = name
.replace(/^([ ]+)/, '')
@@ -74,6 +74,6 @@ Namespace('Materia.Storage').Manager = (() => {
addTable,
clean,
insert,
- getTable
+ getTable,
}
})()
diff --git a/src/js/materia/materia.storage.manager.test.js b/src/js/materia/materia.storage.manager.test.js
index ecfececd..e45f4133 100644
--- a/src/js/materia/materia.storage.manager.test.js
+++ b/src/js/materia/materia.storage.manager.test.js
@@ -4,7 +4,7 @@ describe('Materia.Storage.Manager', () => {
let mockSendStorage
beforeEach(() => {
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./materia.storage.manager')
Storage = Materia.Storage.Manager
Namespace('Materia.Storage').Table = mockTable = jest.fn()
@@ -53,7 +53,7 @@ describe('Materia.Storage.Manager', () => {
let table = {
init: jest.fn(),
getId: () => 'table_name',
- insert: jest.fn().mockReturnValue('res')
+ insert: jest.fn().mockReturnValue('res'),
}
mockTable.mockReturnValueOnce(table)
Storage.addTable('table_name', 'col1', 'col2')
diff --git a/src/js/materia/materia.storage.table.js b/src/js/materia/materia.storage.table.js
index 14407492..ff890d65 100644
--- a/src/js/materia/materia.storage.table.js
+++ b/src/js/materia/materia.storage.table.js
@@ -11,7 +11,7 @@ Namespace('Materia.Storage').Table = () => {
_id = Materia.Storage.Manager.clean(id)
_columns = []
_rows = []
- columns.forEach(c => {
+ columns.forEach((c) => {
_columns.push(Materia.Storage.Manager.clean(c))
})
}
@@ -19,7 +19,7 @@ Namespace('Materia.Storage').Table = () => {
// Inserts a new row into this table.
// @param values The values to insert into the table. Make sure the number
// of arguments passed match the number of columns pertaining to this table.
- const insert = values => {
+ const insert = (values) => {
// Make sure arguments match number of columns
if (values.length !== _columns.length) {
throw new Error(
@@ -40,7 +40,7 @@ Namespace('Materia.Storage').Table = () => {
// Send this row to the server
return {
name: _id,
- data: result
+ data: result,
}
}
@@ -54,6 +54,6 @@ Namespace('Materia.Storage').Table = () => {
getId,
init,
insert,
- getValues
+ getValues,
}
}
diff --git a/src/js/materia/materia.storage.table.test.js b/src/js/materia/materia.storage.table.test.js
index 696383c9..56de6f31 100644
--- a/src/js/materia/materia.storage.table.test.js
+++ b/src/js/materia/materia.storage.table.test.js
@@ -4,7 +4,7 @@ describe('Materia.Storage.Table', () => {
let mockSendStorage
beforeEach(() => {
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./materia.storage.manager')
require('./materia.storage.table')
Table = Materia.Storage.Table()
diff --git a/src/js/materia/materia.store.slideshow.js b/src/js/materia/materia.store.slideshow.js
index 0115d04c..6d790369 100644
--- a/src/js/materia/materia.store.slideshow.js
+++ b/src/js/materia/materia.store.slideshow.js
@@ -4,7 +4,7 @@ Namespace('Materia.Store').SlideShow = (() => {
let cycler
let intervalID
- const formatCycler = spotlights => {
+ const formatCycler = (spotlights) => {
cycler = document.querySelector('.cycler')
spotlightCount = spotlights.length
@@ -34,7 +34,7 @@ Namespace('Materia.Store').SlideShow = (() => {
span.classList.add('span_next')
span.dataset.index = i
if (i === 0) span.classList.add('spotlight_selected')
- span.onclick = e => {
+ span.onclick = (e) => {
if (e.target.classList.contains('spotlight_selected')) {
return false
}
@@ -51,7 +51,7 @@ Namespace('Materia.Store').SlideShow = (() => {
}, 12000)
}
- const goToSlide = slideNo => {
+ const goToSlide = (slideNo) => {
slideNo = parseInt(slideNo, 10)
if (slideNo >= spotlightCount) {
slideNo = 0
@@ -70,10 +70,10 @@ Namespace('Materia.Store').SlideShow = (() => {
}
// Cycles thorough the buttons to remove all selected clases, then adds the selected class to the button specified and checks that buttons input.
- const spotlightSelected = index => {
+ const spotlightSelected = (index) => {
// clear previously selected
let spans = Array.from(document.querySelectorAll('.spotlight_selected'))
- spans.forEach(s => {
+ spans.forEach((s) => {
s.classList.remove('spotlight_selected')
})
diff --git a/src/js/materia/materia.user.js b/src/js/materia/materia.user.js
index 673ca2cc..ce604881 100644
--- a/src/js/materia/materia.user.js
+++ b/src/js/materia/materia.user.js
@@ -1,12 +1,12 @@
Namespace('Materia').User = (() => {
let currentUser = null
- const getCurrentUser = callback => {
+ const getCurrentUser = (callback) => {
if (currentUser != null) {
callback(currentUser)
} else {
// if we are unable to retrieve it then we need to pull it from the server:
- Materia.Coms.Json.send('user_get', null).then(user => {
+ Materia.Coms.Json.send('user_get', null).then((user) => {
currentUser = user
callback(currentUser)
})
diff --git a/src/js/materia/materia.util.js b/src/js/materia/materia.util.js
index a9e9cfb3..f87d45c0 100644
--- a/src/js/materia/materia.util.js
+++ b/src/js/materia/materia.util.js
@@ -1,6 +1,6 @@
Namespace('Materia').Util = (() => {
// Use for cross side scripting prevention.
- const escapeUntrustedContent = text =>
+ const escapeUntrustedContent = (text) =>
text
.replace(//g, '>')
diff --git a/src/js/materia/materia.validate.textfield.js b/src/js/materia/materia.validate.textfield.js
index 3f3cfaa4..6f535f03 100644
--- a/src/js/materia/materia.validate.textfield.js
+++ b/src/js/materia/materia.validate.textfield.js
@@ -25,12 +25,12 @@ Namespace('Materia.Validate').Textfield = (() => {
return false
}
- const numericOnly = event => resctrict('numeric', event)
+ const numericOnly = (event) => resctrict('numeric', event)
- const timeOnly = event => resctrict('time', event)
+ const timeOnly = (event) => resctrict('time', event)
return {
numericOnly,
- timeOnly
+ timeOnly,
}
})()
diff --git a/src/js/services/srv-admin.js b/src/js/services/srv-admin.js
index cc193d0b..b7cde26f 100644
--- a/src/js/services/srv-admin.js
+++ b/src/js/services/srv-admin.js
@@ -1,13 +1,13 @@
const app = angular.module('materia')
-app.service('adminSrv', function() {
+app.service('AdminSrv', function () {
const getWidgets = () => Materia.Coms.Json.get('/api/admin/widgets')
- const saveWidget = widget =>
+ const saveWidget = (widget) =>
Materia.Coms.Json.post(`/api/admin/widget/${encodeURIComponent(widget.id)}`, widget)
- const searchUsers = str =>
+ const searchUsers = (str) =>
Materia.Coms.Json.get(`/api/admin/user_search/${encodeURIComponent(str)}`)
- const lookupUser = userId =>
+ const lookupUser = (userId) =>
Materia.Coms.Json.get(`/api/admin/user/${encodeURIComponent(userId)}`)
- const saveUser = obj =>
+ const saveUser = (obj) =>
Materia.Coms.Json.post(`/api/admin/user/${encodeURIComponent(obj.id)}`, obj)
return {
@@ -15,6 +15,6 @@ app.service('adminSrv', function() {
saveWidget,
searchUsers,
lookupUser,
- saveUser
+ saveUser,
}
})
diff --git a/src/js/services/srv-admin.test.js b/src/js/services/srv-admin.test.js
index e4fa69da..51d42c0d 100644
--- a/src/js/services/srv-admin.test.js
+++ b/src/js/services/srv-admin.test.js
@@ -1,4 +1,4 @@
-describe('adminSrv', () => {
+describe('AdminSrv', () => {
var $rootScope
var _service
var postMock
@@ -18,11 +18,11 @@ describe('adminSrv', () => {
mockPlease = { $apply: jest.fn() }
let app = angular.module('materia')
app.factory('Please', () => mockPlease)
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./srv-admin')
- inject(function(adminSrv, _$q_, _$rootScope_) {
- _service = adminSrv
+ inject(function (AdminSrv, _$q_, _$rootScope_) {
+ _service = AdminSrv
$q = _$q_
$rootScope = _$rootScope_
})
diff --git a/src/js/services/srv-api.js b/src/js/services/srv-api.js
index 7a81d991..332e2548 100644
--- a/src/js/services/srv-api.js
+++ b/src/js/services/srv-api.js
@@ -1,14 +1,14 @@
const app = angular.module('materia')
-app.service('apiServ', function($window) {
+app.service('APIServ', function ($window) {
const gatewayURL = API_LINK
- const filterError = data => {
+ const filterError = (data) => {
if (data != null && data.msg != null && data.title != null && data.type != null) {
showErorr(data)
}
}
- var showErorr = data => {
+ var showErorr = (data) => {
if (data.title === 'Invalid Login') {
$window.location = BASE_URL + 'login'
}
@@ -17,6 +17,6 @@ app.service('apiServ', function($window) {
// public methods
return {
showErorr,
- filterError
+ filterError,
}
})
diff --git a/src/js/services/srv-api.test.js b/src/js/services/srv-api.test.js
index ebeedf70..f1d73748 100644
--- a/src/js/services/srv-api.test.js
+++ b/src/js/services/srv-api.test.js
@@ -1,4 +1,4 @@
-describe('apiServ', () => {
+describe('APIServ', () => {
var _service
var mockWindow
var mockLocationSet
@@ -12,15 +12,15 @@ describe('apiServ', () => {
mockLocationGet = jest.fn(() => 'mock')
Object.defineProperty(mockWindow, 'location', {
get: mockLocationGet,
- set: mockLocationSet
+ set: mockLocationSet,
})
let app = angular.module('materia')
app.factory('$window', () => mockWindow)
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./srv-api')
- inject(function(apiServ) {
- _service = apiServ
+ inject(function (APIServ) {
+ _service = APIServ
})
})
diff --git a/src/js/services/srv-beard.js b/src/js/services/srv-beard.js
index c9805bb4..06e5315b 100644
--- a/src/js/services/srv-beard.js
+++ b/src/js/services/srv-beard.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.service('beardServ', function() {
+app.service('BeardServ', function () {
const beards = ['dusty_full', 'black_chops', 'grey_gandalf', 'red_soul']
const getRandomBeard = () => beards[Math.floor(Math.random() * beards.length)]
diff --git a/src/js/services/srv-beard.test.js b/src/js/services/srv-beard.test.js
index bf46c8e0..25678260 100644
--- a/src/js/services/srv-beard.test.js
+++ b/src/js/services/srv-beard.test.js
@@ -1,11 +1,11 @@
-describe('beardServ', () => {
+describe('BeardServ', () => {
var _service
beforeEach(() => {
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./srv-beard')
- inject(function(beardServ) {
- _service = beardServ
+ inject(function (BeardServ) {
+ _service = BeardServ
})
})
diff --git a/src/js/services/srv-datetime.js b/src/js/services/srv-datetime.js
index 81552c3e..ffcd3810 100644
--- a/src/js/services/srv-datetime.js
+++ b/src/js/services/srv-datetime.js
@@ -1,12 +1,12 @@
const app = angular.module('materia')
-app.service('dateTimeServ', function() {
- const parseObjectToDateString = time => {
+app.service('DateTimeServ', function () {
+ const parseObjectToDateString = (time) => {
const timeObj = new Date(time * 1000)
const year = String(timeObj.getFullYear())
return timeObj.getMonth() + 1 + '/' + timeObj.getDate() + '/' + year.substr(2)
}
- const parseTime = time => {
+ const parseTime = (time) => {
const timeObj = new Date(time * 1000)
let amPm = 'am'
let hour = timeObj.getHours()
@@ -67,6 +67,6 @@ app.service('dateTimeServ', function() {
return {
parseObjectToDateString,
parseTime,
- fixTime
+ fixTime,
}
})
diff --git a/src/js/services/srv-datetime.test.js b/src/js/services/srv-datetime.test.js
index 4323c8c8..7a3a802e 100644
--- a/src/js/services/srv-datetime.test.js
+++ b/src/js/services/srv-datetime.test.js
@@ -1,14 +1,14 @@
-describe('dateTimeServ', () => {
+describe('DateTimeServ', () => {
var _service
var mockWindow
var mockLocationSet
var mockLocationGet
beforeEach(() => {
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./srv-datetime')
- inject(function(dateTimeServ) {
- _service = dateTimeServ
+ inject(function (DateTimeServ) {
+ _service = DateTimeServ
})
})
diff --git a/src/js/services/srv-please.js b/src/js/services/srv-please.js
index 9d88afb4..cbb9c5cd 100644
--- a/src/js/services/srv-please.js
+++ b/src/js/services/srv-please.js
@@ -1,8 +1,8 @@
const app = angular.module('materia')
-app.service('Please', function($rootScope) {
+app.service('Please', function ($rootScope) {
return {
$apply: () => {
if (!$rootScope.$$phase) $rootScope.$apply()
- }
+ },
}
})
diff --git a/src/js/services/srv-scores.js b/src/js/services/srv-scores.js
index 7bacc705..c68e47d9 100644
--- a/src/js/services/srv-scores.js
+++ b/src/js/services/srv-scores.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.service('scoreSrv', function() {
+app.service('ScoreSrv', function () {
return {
getWidgetInstanceScores(inst_id, token, callback) {
Materia.Coms.Json.send('widget_instance_scores_get', [inst_id, token]).then(callback)
@@ -25,6 +25,6 @@ app.service('scoreSrv', function() {
getScoreDistribution(inst_id, callback) {
Materia.Coms.Json.send('score_raw_distribution_get', [inst_id]).then(callback)
- }
+ },
}
})
diff --git a/src/js/services/srv-scores.test.js b/src/js/services/srv-scores.test.js
index 287eef73..542e8529 100644
--- a/src/js/services/srv-scores.test.js
+++ b/src/js/services/srv-scores.test.js
@@ -1,4 +1,4 @@
-describe('scoreSrv', () => {
+describe('ScoreSrv', () => {
var _service
var postMock
var sendMock
@@ -15,11 +15,11 @@ describe('scoreSrv', () => {
}
beforeEach(() => {
- require('../materia-namespace')
+ require('../common/materia-namespace')
require('./srv-scores')
- inject(function(scoreSrv, _$q_, _$rootScope_) {
- _service = scoreSrv
+ inject(function (ScoreSrv, _$q_, _$rootScope_) {
+ _service = ScoreSrv
$q = _$q_
$rootScope = _$rootScope_
})
diff --git a/src/js/services/srv-selectedwidget.js b/src/js/services/srv-selectedwidget.js
index d4020dd2..557f2977 100644
--- a/src/js/services/srv-selectedwidget.js
+++ b/src/js/services/srv-selectedwidget.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
+app.service('SelectedWidgetSrv', function ($rootScope, $q, OBJECT_TYPES) {
const STORAGE_TABLE_MAX_ROWS_SHOWN = 100
const selectedData = null
@@ -13,7 +13,7 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
let _storageData = null
// get and set _widget
- const set = widget => {
+ const set = (widget) => {
_scoreData = null
_storageData = null
_widget = widget
@@ -31,7 +31,7 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
deferred.resolve(_scoreData)
} else {
let loadingId = _widget.id
- Materia.Coms.Json.send('score_summary_get', [loadingId, true]).then(data => {
+ Materia.Coms.Json.send('score_summary_get', [loadingId, true]).then((data) => {
if (loadingId !== _widget.id) {
return deferred.reject()
}
@@ -39,19 +39,19 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
_scoreData = {
list: [],
map: {},
- last: undefined
+ last: undefined,
}
if (data !== null && data.length > 0) {
const map = {}
- data.forEach(d => {
+ data.forEach((d) => {
map[d.id] = d
})
_scoreData = {
list: data,
map,
- last: data[0]
+ last: data[0],
}
}
@@ -65,11 +65,11 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
const getUserPermissions = () => {
return Materia.Coms.Json.send('permissions_get', [
OBJECT_TYPES.WIDGET_INSTANCE,
- _widget.id
- ]).then(perms => {
+ _widget.id,
+ ]).then((perms) => {
const permsObject = {
user: perms.user_perms,
- widget: perms.widget_user_perms
+ widget: perms.widget_user_perms,
}
return permsObject
@@ -79,7 +79,7 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
const getPlayLogsForSemester = (term, year) => {
const deferred = $q.defer()
- Materia.Coms.Json.send('play_logs_get', [_widget.id, term, year]).then(logs => {
+ Materia.Coms.Json.send('play_logs_get', [_widget.id, term, year]).then((logs) => {
const semesterKey = `${year}${term.toLowerCase()}`
const logsForSemester = []
angular.forEach(logs, (log, key) => {
@@ -101,7 +101,7 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
const getDateRanges = () => {
const deferred = $q.defer()
if (_dateRanges == null) {
- Materia.Coms.Json.send('semester_date_ranges_get', []).then(data => {
+ Materia.Coms.Json.send('semester_date_ranges_get', []).then((data) => {
_dateRanges = data
deferred.resolve(data)
})
@@ -111,9 +111,9 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
return deferred.promise
}
- const getSemesterFromTimestamp = timestamp => {
+ const getSemesterFromTimestamp = (timestamp) => {
return _dateRanges.find(
- r => timestamp >= parseInt(r.start, 10) && timestamp <= parseInt(r.end, 10)
+ (r) => timestamp >= parseInt(r.start, 10) && timestamp <= parseInt(r.end, 10)
)
}
@@ -123,7 +123,7 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
if (_storageData != null) {
deferred.resolve(_storageData)
} else if (loadIfNotCached) {
- Materia.Coms.Json.send('play_storage_get', [_widget.id]).then(data => {
+ Materia.Coms.Json.send('play_storage_get', [_widget.id]).then((data) => {
_storageData = {}
const temp = {}
@@ -146,7 +146,7 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
_storageData[semesterId][tableName] = {
truncated: true,
total: semesterData.length,
- data: semesterData.slice(0, STORAGE_TABLE_MAX_ROWS_SHOWN)
+ data: semesterData.slice(0, STORAGE_TABLE_MAX_ROWS_SHOWN),
}
} else {
_storageData[semesterId][tableName] = { truncated: false, data: semesterData }
@@ -166,7 +166,7 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
return deferred.promise
}
- const _processDataIntoSemesters = logs => {
+ const _processDataIntoSemesters = (logs) => {
const semesters = {}
let timestamp = null
@@ -187,7 +187,7 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
// storage data doesn't really enforce a schema.
// this function determines every field used throughout the
// storage data and then applies that schema to each item.
- const _normalizeStorageDataColumns = rows => {
+ const _normalizeStorageDataColumns = (rows) => {
// go through all the rows and collect the fields used:
const fields = {}
for (var r of rows) {
@@ -223,6 +223,6 @@ app.service('selectedWidgetSrv', function($rootScope, $q, OBJECT_TYPES) {
getSemesterFromTimestamp,
getStorageData,
getMaxRows,
- notifyAccessDenied
+ notifyAccessDenied,
}
})
diff --git a/src/js/services/srv-selectedwidget.test.js b/src/js/services/srv-selectedwidget.test.js
index b5288f37..8a84697c 100644
--- a/src/js/services/srv-selectedwidget.test.js
+++ b/src/js/services/srv-selectedwidget.test.js
@@ -1,11 +1,11 @@
-describe('selectedWidgetSrv', () => {
+describe('SelectedWidgetSrv', () => {
var _service
var _compile
var $scope
var sendMock
var $q
- let mockSendPromiseOnce = result => {
+ let mockSendPromiseOnce = (result) => {
sendMock.mockImplementationOnce((n, arg, cb) => {
const deferred = $q.defer()
deferred.resolve(result)
@@ -14,13 +14,13 @@ describe('selectedWidgetSrv', () => {
}
beforeEach(() => {
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('./srv-selectedwidget')
- inject(function(_$rootScope_, selectedWidgetSrv, _$q_) {
+ inject(function (_$rootScope_, SelectedWidgetSrv, _$q_) {
$scope = _$rootScope_
- _service = selectedWidgetSrv
+ _service = SelectedWidgetSrv
$q = _$q_
})
@@ -87,7 +87,7 @@ describe('selectedWidgetSrv', () => {
expect(promiseSpy).toHaveBeenCalledWith({
last: { id: 5 },
list: [{ id: 5 }, { id: 9 }],
- map: { '5': { id: 5 }, '9': { id: 9 } }
+ map: { '5': { id: 5 }, '9': { id: 9 } },
})
let promiseSpy2 = jest.fn()
@@ -98,7 +98,7 @@ describe('selectedWidgetSrv', () => {
expect(promiseSpy2).toHaveBeenCalledWith({
last: { id: 5 },
list: [{ id: 5 }, { id: 9 }],
- map: { '5': { id: 5 }, '9': { id: 9 } }
+ map: { '5': { id: 5 }, '9': { id: 9 } },
})
})
@@ -232,14 +232,14 @@ describe('selectedWidgetSrv', () => {
year: '2016',
semester: 'Summer',
start: '1462233601',
- end: '1470528000'
+ end: '1470528000',
}
let expectedSemseterB = {
year: '2028',
semester: 'Summer',
start: '1840939201',
- end: '1849233600'
+ end: '1849233600',
}
let semsterA = _service.getSemesterFromTimestamp(1462233601)
diff --git a/src/js/services/srv-user.js b/src/js/services/srv-user.js
index d2ceebf5..f46817d1 100644
--- a/src/js/services/srv-user.js
+++ b/src/js/services/srv-user.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.service('userServ', function($q, $rootScope) {
+app.service('UserServ', function ($q, $rootScope) {
let _me = null
let _user = null
@@ -29,7 +29,7 @@ app.service('userServ', function($q, $rootScope) {
avatar,
loggedIn,
role,
- notify
+ notify,
}
}
@@ -40,7 +40,7 @@ app.service('userServ', function($q, $rootScope) {
avatar: user.getAttribute('data-avatar'),
loggedIn: user.getAttribute('data-logged-in'),
role: user.getAttribute('data-role'),
- notify: user.getAttribute('data-notify')
+ notify: user.getAttribute('data-notify'),
}
return buildUser(
userData.name,
@@ -73,7 +73,7 @@ app.service('userServ', function($q, $rootScope) {
return _me
}
- const getCurrentUserAvatar = size => {
+ const getCurrentUserAvatar = (size) => {
if (size == null) {
size = 24
}
@@ -92,7 +92,7 @@ app.service('userServ', function($q, $rootScope) {
return deferred.promise
}
- const set = userToSet => {
+ const set = (userToSet) => {
_user = userToSet
return $rootScope.$broadcast('user.update')
}
@@ -101,7 +101,7 @@ app.service('userServ', function($q, $rootScope) {
var _getCurrentUserFromAPI = () => {
const deferred = $q.defer()
- Materia.User.getCurrentUser(user => {
+ Materia.User.getCurrentUser((user) => {
set(user)
deferred.resolve(_user)
})
@@ -109,14 +109,14 @@ app.service('userServ', function($q, $rootScope) {
return deferred.promise
}
- const checkValidSession = role => {
+ const checkValidSession = (role) => {
const deferred = $q.defer()
let now = new Date().getTime()
if (validLastValue && now - validLastCheck < threshold) {
deferred.resolve(validLastValue)
} else {
- Materia.Coms.Json.send('session_author_verify', [role]).then(data => {
+ Materia.Coms.Json.send('session_author_verify', [role]).then((data) => {
validLastCheck = now
validLastValue = data
deferred.resolve(data)
@@ -134,6 +134,6 @@ app.service('userServ', function($q, $rootScope) {
updateSettings,
get,
set,
- checkValidSession
+ checkValidSession,
}
})
diff --git a/src/js/services/srv-user.test.js b/src/js/services/srv-user.test.js
index 8f6cde3b..aaa92e94 100644
--- a/src/js/services/srv-user.test.js
+++ b/src/js/services/srv-user.test.js
@@ -1,11 +1,11 @@
-describe('userServ', () => {
+describe('UserServ', () => {
var _service
var $scope
var sendMock
var getCurrentUserMock
var $q
- let mockSendPromiseOnce = result => {
+ let mockSendPromiseOnce = (result) => {
sendMock.mockImplementationOnce((n, arg, cb) => {
const deferred = $q.defer()
deferred.resolve(result)
@@ -14,13 +14,13 @@ describe('userServ', () => {
}
beforeEach(() => {
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('./srv-user')
- inject(function(_$rootScope_, userServ, _$q_) {
+ inject(function (_$rootScope_, UserServ, _$q_) {
$scope = _$rootScope_
- _service = userServ
+ _service = UserServ
$q = _$q_
})
@@ -44,12 +44,12 @@ describe('userServ', () => {
loggedIn: false,
name: '',
notify: false,
- role: 'Student'
+ role: 'Student',
})
})
it('getCurrentUser returns a user from the dom', () => {
- jest.spyOn(global.document, 'getElementById').mockImplementationOnce(arg => {
+ jest.spyOn(global.document, 'getElementById').mockImplementationOnce((arg) => {
return {
getAttribute: jest
.fn()
@@ -57,7 +57,7 @@ describe('userServ', () => {
.mockImplementationOnce(() => 'avatar')
.mockImplementationOnce(() => 'true')
.mockImplementationOnce(() => 'role')
- .mockImplementationOnce(() => 'notify')
+ .mockImplementationOnce(() => 'notify'),
}
})
expect(_service.getCurrentUser('dom')).toMatchObject({
@@ -65,13 +65,13 @@ describe('userServ', () => {
loggedIn: true,
name: 'name',
notify: false,
- role: 'role'
+ role: 'role',
})
global.document.getElementById.mockRestore()
})
it('getCurrentUser returns a user from the dom with no argument', () => {
- jest.spyOn(global.document, 'getElementById').mockImplementationOnce(arg => {
+ jest.spyOn(global.document, 'getElementById').mockImplementationOnce((arg) => {
return { getAttribute: jest.fn(() => '') }
})
expect(_service.getCurrentUser()).toMatchObject({
@@ -79,13 +79,13 @@ describe('userServ', () => {
loggedIn: false,
name: '',
notify: false,
- role: ''
+ role: '',
})
global.document.getElementById.mockRestore()
})
it('getCurrentUser caches the current user', () => {
- jest.spyOn(global.document, 'getElementById').mockImplementationOnce(arg => {
+ jest.spyOn(global.document, 'getElementById').mockImplementationOnce((arg) => {
return { getAttribute: jest.fn(() => '') }
})
expect(_service.getCurrentUser()).toMatchObject({
@@ -93,7 +93,7 @@ describe('userServ', () => {
loggedIn: false,
name: '',
notify: false,
- role: ''
+ role: '',
})
expect(global.document.getElementById).toHaveBeenCalledTimes(1)
@@ -102,7 +102,7 @@ describe('userServ', () => {
loggedIn: false,
name: '',
notify: false,
- role: ''
+ role: '',
})
expect(global.document.getElementById).toHaveBeenCalledTimes(1)
@@ -140,7 +140,7 @@ describe('userServ', () => {
loggedIn: true,
name: 'name',
notify: false,
- role: 'role'
+ role: 'role',
})
expect(_service.updateSettings('name', 'newname')).toBe('newname')
expect(_service.getCurrentUser()).toMatchObject({
@@ -148,7 +148,7 @@ describe('userServ', () => {
loggedIn: true,
name: 'newname',
notify: false,
- role: 'role'
+ role: 'role',
})
expect(_service.updateSettings('avatar', 'newavatar')).toBe('newavatar')
expect(_service.getCurrentUser()).toMatchObject({
@@ -156,7 +156,7 @@ describe('userServ', () => {
loggedIn: true,
name: 'newname',
notify: false,
- role: 'role'
+ role: 'role',
})
expect(_service.updateSettings('loggedIn', 'weirdvalue')).toBe('weirdvalue')
expect(_service.getCurrentUser()).toMatchObject({
@@ -164,12 +164,12 @@ describe('userServ', () => {
loggedIn: 'weirdvalue',
name: 'newname',
notify: false,
- role: 'role'
+ role: 'role',
})
})
it('get returns a promise', () => {
- getCurrentUserMock.mockImplementationOnce(cb => {
+ getCurrentUserMock.mockImplementationOnce((cb) => {
cb({ avatar: '', loggedIn: false, name: '', notify: false, role: '' })
})
// when there's no cache
@@ -180,7 +180,7 @@ describe('userServ', () => {
it('get resolves after getting the current user', () => {
let user = { avatar: '', loggedIn: false, name: '', notify: false, role: '' }
- getCurrentUserMock.mockImplementationOnce(cb => {
+ getCurrentUserMock.mockImplementationOnce((cb) => {
cb(user)
})
diff --git a/src/js/services/srv-widget.js b/src/js/services/srv-widget.js
index de75a677..f8feb189 100644
--- a/src/js/services/srv-widget.js
+++ b/src/js/services/srv-widget.js
@@ -1,5 +1,5 @@
const app = angular.module('materia')
-app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScope, $window) {
+app.service('WidgetSrv', function (SelectedWidgetSrv, DateTimeServ, $q, $rootScope, $window) {
const deferred = $q.defer()
let _widgets = []
let _widgetIds = {}
@@ -7,12 +7,12 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
const sortWidgets = () => _widgets.sort((a, b) => b.created_at - a.created_at)
- const getWidgets = () => {
+ const getWidgets = (force = false) => {
const deferred = $q.defer()
- if (_widgets.length === 0 || !gotAll) {
+ if (_widgets.length === 0 || !gotAll || force) {
gotAll = true
- _getMultipleFromServer().then(widgets => {
+ _getMultipleFromServer().then((widgets) => {
_widgets = widgets.slice(0) // save a copy
sortWidgets()
deferred.resolve(_widgets)
@@ -35,7 +35,7 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
} else {
// we dont have any widgets or the requested one, get it/them
_getSingleWidgetFromServer(id)
- .then(widget => {
+ .then((widget) => {
_widgets.push(widget)
_widgetIds[widget.id] = widget
sortWidgets()
@@ -50,12 +50,12 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
}
const getWidgetInfo = (id = null) => {
- return Materia.Coms.Json.send('widgets_get', [[id]]).then(widgets => widgets[0])
+ return Materia.Coms.Json.send('widgets_get', [[id]]).then((widgets) => widgets[0])
}
const lockWidget = (id = null) => {
const deferred = $q.defer()
- Materia.Coms.Json.send('widget_instance_lock', [id]).then(success => {
+ Materia.Coms.Json.send('widget_instance_lock', [id]).then((success) => {
if (success) {
deferred.resolve(id)
} else {
@@ -71,15 +71,15 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
return Materia.Coms.Json.send('widgets_get_by_type', [type])
}
- const copyWidget = (inst_id, newName) => {
- return Materia.Coms.Json.send('widget_instance_copy', [inst_id, newName])
+ const copyWidget = (inst_id, newName, retainAccess = false) => {
+ return Materia.Coms.Json.send('widget_instance_copy', [inst_id, newName, retainAccess])
}
- const deleteWidget = inst_id => {
+ const deleteWidget = (inst_id) => {
return Materia.Coms.Json.send('widget_instance_delete', [inst_id])
}
- const saveWidget = _params => {
+ const saveWidget = (_params) => {
const deferred = $q.defer()
const defaults = {
qset: null,
@@ -88,7 +88,7 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
close_at: null,
attempts: null,
guest_access: null,
- embedded_only: null
+ embedded_only: null,
}
let params = Object.assign({}, defaults, _params)
@@ -104,13 +104,13 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
params.close_at,
params.attempts,
params.guest_access,
- params.embedded_only
+ params.embedded_only,
]
- Materia.Coms.Json.send('widget_instance_update', args).then(widget => {
+ Materia.Coms.Json.send('widget_instance_update', args).then((widget) => {
if (widget != null) {
_initSearchCache(widget)
// replace our widget in place
- let match = _widgets.findIndex(w => w.id === widget.id)
+ let match = _widgets.findIndex((w) => w.id === widget.id)
if (match !== -1) {
_widgets[match] = widget
_widgetIds[widget.id] = widget
@@ -120,7 +120,7 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
})
} else {
let args = [params.widget_id, params.name, params.qset, params.is_draft]
- Materia.Coms.Json.send('widget_instance_new', args).then(widget => {
+ Materia.Coms.Json.send('widget_instance_new', args).then((widget) => {
if (widget != null) {
// add to widgets
_initSearchCache(widget)
@@ -134,7 +134,7 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
return deferred.promise
}
- const removeWidget = inst_id => {
+ const removeWidget = (inst_id) => {
let selectedIndex
let index = -1
_widgets = _widgets.filter((widget, i) => {
@@ -165,12 +165,12 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
$rootScope.$broadcast('widgetList.update')
}
- const _initSearchCache = widget => {
+ const _initSearchCache = (widget) => {
widget.searchCache = `${widget.id} ${widget.widget.name} ${widget.name}`.toLowerCase()
}
- const _getSingleWidgetFromServer = id => {
- return Materia.Coms.Json.send('widget_instances_get', [[id]]).then(widgets => {
+ const _getSingleWidgetFromServer = (id) => {
+ return Materia.Coms.Json.send('widget_instances_get', [[id]]).then((widgets) => {
if (!widgets || !widgets.length) {
let d = $q.defer()
d.reject()
@@ -184,22 +184,29 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
const _getMultipleFromServer = () => {
const deferred = $q.defer()
- Materia.Coms.Json.send('widget_instances_get', null).then(widgets => {
- if (widgets && widgets.length > 0) {
- widgets.forEach(w => {
- _widgetIds[w.id] = w
+ Materia.Coms.Json.send('widget_instances_get', null).then((widgets) => {
+ if (widgets && widgets.length > 0 && widgets.length >= _widgets.length) {
+ let index = 0
+
+ widgets.forEach((w) => {
_initSearchCache(w)
- _widgets.push(w)
+ _widgetIds[w.id] = w
+ _widgets.splice(index, 1, w)
+ index++
})
}
+ if (widgets.length < _widgets.length) {
+ _widgets = widgets
+ }
+
deferred.resolve(_widgets)
})
return deferred.promise
}
- const updateHashUrl = widgetId => ($window.location.hash = `/${widgetId}`)
+ const updateHashUrl = (widgetId) => ($window.location.hash = `/${widgetId}`)
const convertAvailibilityDates = (startDateInt, endDateInt) => {
let endDate, endTime, open_at, startTime
@@ -209,24 +216,24 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
open_at = startTime = 0
if (endDateInt > 0) {
- endDate = dateTimeServ.parseObjectToDateString(endDateInt)
- endTime = dateTimeServ.parseTime(endDateInt)
+ endDate = DateTimeServ.parseObjectToDateString(endDateInt)
+ endTime = DateTimeServ.parseTime(endDateInt)
}
if (startDateInt > 0) {
- open_at = dateTimeServ.parseObjectToDateString(startDateInt)
- startTime = dateTimeServ.parseTime(startDateInt)
+ open_at = DateTimeServ.parseObjectToDateString(startDateInt)
+ startTime = DateTimeServ.parseTime(startDateInt)
}
return {
start: {
date: open_at,
- time: startTime
+ time: startTime,
},
end: {
date: endDate,
- time: endTime
- }
+ time: endTime,
+ },
}
}
@@ -238,18 +245,18 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
selID = selID.substr(1)
}
getWidget(selID)
- .then(widget => {
- selectedWidgetSrv.set(widget)
+ .then((widget) => {
+ SelectedWidgetSrv.set(widget)
})
.catch(() => {
- selectedWidgetSrv.notifyAccessDenied()
+ SelectedWidgetSrv.notifyAccessDenied()
})
}
}
- const canBePublishedByCurrentUser = widget_id => {
+ const canBePublishedByCurrentUser = (widget_id) => {
const deferred = $q.defer()
- Materia.Coms.Json.send('widget_publish_perms_verify', [widget_id]).then(response => {
+ Materia.Coms.Json.send('widget_publish_perms_verify', [widget_id]).then((response) => {
deferred.resolve(response)
})
@@ -270,6 +277,6 @@ app.service('widgetSrv', function(selectedWidgetSrv, dateTimeServ, $q, $rootScop
convertAvailibilityDates,
copyWidget,
deleteWidget,
- canBePublishedByCurrentUser
+ canBePublishedByCurrentUser,
}
})
diff --git a/src/js/services/srv-widget.test.js b/src/js/services/srv-widget.test.js
index f78d2fce..663b34ea 100644
--- a/src/js/services/srv-widget.test.js
+++ b/src/js/services/srv-widget.test.js
@@ -1,15 +1,15 @@
-describe('widgetSrv', () => {
+describe('WidgetSrv', () => {
var _service
var $scope
var sendMock
- var _selectedWidgetSrv
+ var _SelectedWidgetSrv
var _dateTimeServ
var mockWindow
var mockHashGet
var mockHashSet
var $q
- let mockSendPromiseOnce = result => {
+ let mockSendPromiseOnce = (result) => {
sendMock.mockImplementationOnce((n, arg, cb) => {
const deferred = $q.defer()
deferred.resolve(result)
@@ -19,38 +19,38 @@ describe('widgetSrv', () => {
beforeEach(() => {
// MOCK some services
- _selectedWidgetSrv = {
+ _SelectedWidgetSrv = {
set: jest.fn(),
- notifyAccessDenied: jest.fn()
+ notifyAccessDenied: jest.fn(),
}
_dateTimeServ = {
parseObjectToDateString: jest.fn(() => 'dateString'),
- parseTime: jest.fn(() => 'timeString')
+ parseTime: jest.fn(() => 'timeString'),
}
let app = angular.module('materia')
- app.factory('selectedWidgetSrv', () => _selectedWidgetSrv)
- app.factory('dateTimeServ', () => _dateTimeServ)
+ app.factory('SelectedWidgetSrv', () => _SelectedWidgetSrv)
+ app.factory('DateTimeServ', () => _dateTimeServ)
// MOCK $window
mockWindow = {
addEventListener: jest.fn(),
- location: {}
+ location: {},
}
mockHashGet = jest.fn()
mockHashSet = jest.fn()
Object.defineProperty(mockWindow.location, 'hash', {
get: mockHashGet,
- set: mockHashSet
+ set: mockHashSet,
})
app.factory('$window', () => mockWindow)
- require('../materia-namespace')
- require('../materia-constants')
+ require('../common/materia-namespace')
+ require('../common/materia-constants')
require('./srv-widget')
- inject(function(_$rootScope_, widgetSrv, _$q_) {
+ inject(function (_$rootScope_, WidgetSrv, _$q_) {
$scope = _$rootScope_
- _service = widgetSrv
+ _service = WidgetSrv
$q = _$q_
})
@@ -127,10 +127,7 @@ describe('widgetSrv', () => {
let promiseSpy = jest.fn()
let promiseCatch = jest.fn()
- _service
- .getWidget()
- .then(promiseSpy)
- .catch(promiseCatch)
+ _service.getWidget().then(promiseSpy).catch(promiseCatch)
$scope.$digest() // processes promise
expect(promiseSpy).not.toHaveBeenCalled()
@@ -205,7 +202,7 @@ describe('widgetSrv', () => {
expect(
_service
.sortWidgets()
- .map(i => i.id)
+ .map((i) => i.id)
.join('')
).toBe(finalOrder)
})
@@ -225,7 +222,7 @@ describe('widgetSrv', () => {
mockSendPromiseOnce('mock_result')
let result
- _service.getWidgetsByType('type').then(d => {
+ _service.getWidgetsByType('type').then((d) => {
result = d
})
$scope.$digest() // processes promise
@@ -248,7 +245,7 @@ describe('widgetSrv', () => {
attempts: 5,
guest_access: 6,
embedded_only: 7,
- widget_id: 8
+ widget_id: 8,
}
mockSendPromiseOnce()
_service.saveWidget(params)
@@ -287,7 +284,7 @@ describe('widgetSrv', () => {
attempts: 5,
guest_access: 6,
embedded_only: 7,
- inst_id: 8
+ inst_id: 8,
}
mockSendPromiseOnce()
_service.saveWidget(params)
@@ -298,7 +295,7 @@ describe('widgetSrv', () => {
mockSendPromiseOnce(getMockApiData('widget_instances_get')[4])
let result
- _service.saveWidget('type').then(d => {
+ _service.saveWidget('type').then((d) => {
result = d
})
$scope.$digest() // processes promise
@@ -356,7 +353,7 @@ describe('widgetSrv', () => {
let res = _service.convertAvailibilityDates(1519232808, 1519405200)
expect(res).toMatchObject({
end: { date: 'dateString', time: 'timeString' },
- start: { date: 'dateString', time: 'timeString' }
+ start: { date: 'dateString', time: 'timeString' },
})
})
@@ -364,7 +361,7 @@ describe('widgetSrv', () => {
let res = _service.convertAvailibilityDates(1519232808)
expect(res).toMatchObject({
end: { date: 0, time: 0 },
- start: { date: 'dateString', time: 'timeString' }
+ start: { date: 'dateString', time: 'timeString' },
})
})
@@ -372,7 +369,7 @@ describe('widgetSrv', () => {
let res = _service.convertAvailibilityDates(null, 1519232808)
expect(res).toMatchObject({
end: { date: 'dateString', time: 'timeString' },
- start: { date: 0, time: 0 }
+ start: { date: 0, time: 0 },
})
})
@@ -387,8 +384,8 @@ describe('widgetSrv', () => {
_service.selectWidgetFromHashUrl()
$scope.$digest() // processes promise
- expect(_selectedWidgetSrv.set).toHaveBeenCalled()
- expect(_selectedWidgetSrv.set.mock.calls[0][0].id).toBe('0UNM0')
+ expect(_SelectedWidgetSrv.set).toHaveBeenCalled()
+ expect(_SelectedWidgetSrv.set.mock.calls[0][0].id).toBe('0UNM0')
})
it('selectWidgetFromHashUrl warns about not having access', () => {
@@ -400,7 +397,7 @@ describe('widgetSrv', () => {
mockSendPromiseOnce()
_service.selectWidgetFromHashUrl()
$scope.$digest() // processes promise
- expect(_selectedWidgetSrv.notifyAccessDenied).toHaveBeenCalled()
+ expect(_SelectedWidgetSrv.notifyAccessDenied).toHaveBeenCalled()
})
it('rejects with a message when a widget is already locked', () => {
@@ -408,10 +405,7 @@ describe('widgetSrv', () => {
let promiseSpy = jest.fn()
let promiseCatch = jest.fn()
- _service
- .lockWidget(1)
- .then(promiseSpy)
- .catch(promiseCatch)
+ _service.lockWidget(1).then(promiseSpy).catch(promiseCatch)
$scope.$digest() // processes promise
expect(Materia.Coms.Json.send).toHaveBeenCalledWith('widget_instance_lock', [1])
@@ -426,10 +420,7 @@ describe('widgetSrv', () => {
let promiseSpy = jest.fn()
let promiseCatch = jest.fn()
- _service
- .lockWidget(1)
- .then(promiseSpy)
- .catch(promiseCatch)
+ _service.lockWidget(1).then(promiseSpy).catch(promiseCatch)
$scope.$digest() // processes promise
expect(Materia.Coms.Json.send).toHaveBeenCalledWith('widget_instance_lock', [1])
diff --git a/src/js/student.js b/src/js/student.js
new file mode 100644
index 00000000..8a4b1c22
--- /dev/null
+++ b/src/js/student.js
@@ -0,0 +1,16 @@
+require('./controllers/ctrl-widget-player')
+require('./controllers/ctrl-user-profile')
+require('./controllers/ctrl-score-page')
+require('./controllers/ctrl-user-settings')
+require('./directives/dir-beardable')
+require('./directives/dir-datatable')
+require('./directives/dir-date-validation')
+require('./directives/dir-fullscreen')
+require('./directives/dir-ngenter')
+require('./directives/dir-scoregraph')
+require('./directives/dir-scoretable')
+require('./materia/materia.scores.scoregraphics')
+require('./services/srv-api')
+require('./services/srv-scores')
+
+// Materia Server scripts used on all player or student pages
diff --git a/testSetup.js b/testSetup.js
index c3499e60..b0bff4ac 100644
--- a/testSetup.js
+++ b/testSetup.js
@@ -35,6 +35,4 @@ global.getMockApiData = (type) => {
return require(`./__test__/mockapi/${type}.json`)
}
-// global.$ = require('jquery');
-
beforeEach(() => { testResetAngular(); resetNamespace(); });
diff --git a/webpack.config.js b/webpack.config.js
index d3f42871..2c066cc8 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,185 +1,94 @@
const glob = require('glob');
const path = require('path');
-const ExtractTextPlugin = require("extract-text-webpack-plugin");
-const CleanWebpackPlugin = require('clean-webpack-plugin')
+const IgnoreEmitPlugin = require('ignore-emit-webpack-plugin');
+const MiniCssExtractPlugin = require('mini-css-extract-plugin')
+const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const jsPath = path.join(__dirname, 'src', 'js')
const cssPath = path.join(__dirname, 'src', 'css')
const outPath = path.join(__dirname, 'dist')
+const entry = {}
+// Webpack Entry Point Registration Overview
// Create object with:
-// Key = output name, Value = sass file
-// for every scss file in the directory
+// Key = output name, Value = source sass file
+// for every scss file in the cssPath directory
// EX: { 'css/
.css' : './src/css/filename.scss', ...}
-let cssEntries = {}
-glob.sync(path.join(cssPath, '*.scss')).forEach(function(file){
- cssEntries['css/'+path.basename(file, '.scss')+'.css'] = file
+
+// SASS/CSS webpack entry point registration
+glob.sync(path.join(cssPath, '*.scss')).forEach(file => {
+ entry['css/'+path.basename(file, '.scss')] = file
+})
+
+// JS webpack entry point registration
+// locates all `js/*.js` files
+glob.sync(path.join(jsPath, '*.js')).map(file => {
+ entry['js/'+path.basename(file)] = file
})
module.exports = {
- stats: { children: false, modules: false }, // reduce noising webpack print output
- entry: {...cssEntries, ...{
- // materia.js present on every page on the server except inside widget iframe & error pages
- // contains common libs used by other scripts
- // contains everything needed by all pages that don't require a login
- 'js/materia.js':[
- // polyfills
- "core-js/es6/array",
- "core-js/fn/array/includes",
- "core-js/es6/symbol",
- "core-js/es6/promise",
- "core-js/fn/object/assign",
- "core-js/fn/string/includes",
- "core-js/web/dom-collections",
- "whatwg-fetch",
- // end polyfills
- jsPath+'/materia-namespace.js',
- jsPath+'/materia/materia.coms.json.js',
- jsPath+'/materia/materia.flashcheck.js',
- jsPath+'/materia/materia.image.js',
- jsPath+'/materia/materia.page.default.js',
- jsPath+'/materia/materia.set.throbber.js',
- jsPath+'/materia/materia.store.slideshow.js',
- jsPath+'/materia/materia.user.js',
- jsPath+'/materia/materia.util.js',
- jsPath+'/materia/materia.validate.textfield.js',
- jsPath+'/materia-constants.js',
- jsPath+'/controllers/ctrl-alert.js',
- jsPath+'/controllers/ctrl-current-user.js',
- jsPath+'/controllers/ctrl-help.js',
- jsPath+'/controllers/ctrl-login.js',
- jsPath+'/controllers/ctrl-notification.js',
- jsPath+'/controllers/ctrl-spotlight.js',
- jsPath+'/controllers/ctrl-widget-catalog.js',
- jsPath+'/controllers/ctrl-widget-details.js',
- jsPath+'/services/srv-datetime.js',
- jsPath+'/services/srv-please.js',
- jsPath+'/services/srv-selectedwidget.js',
- jsPath+'/services/srv-user.js',
- jsPath+'/services/srv-widget.js',
- 'ngmodal/dist/ng-modal.min.js'
- ],
- // student.js - all the stuff needed to be a student. play, view scores, profile
- 'js/student.js': [
- jsPath+'/controllers/ctrl-player.js',
- jsPath+'/controllers/ctrl-profile.js',
- jsPath+'/controllers/ctrl-scores.js',
- jsPath+'/controllers/ctrl-settings.js',
- jsPath+'/directives/dir-beardable.js',
- jsPath+'/directives/dir-datatable.js',
- jsPath+'/directives/dir-date-validation.js',
- jsPath+'/directives/dir-fullscreen.js',
- jsPath+'/directives/dir-ngenter.js',
- jsPath+'/directives/dir-scoregraph.js',
- jsPath+'/directives/dir-scoretable.js',
- jsPath+'/materia/materia.scores.scoregraphics.js',
- jsPath+'/services/srv-api.js',
- jsPath+'/services/srv-scores.js',
- ],
- // author.js - all scripts for creating content: my widgets, widget authoring, lti picker
- 'js/author.js': [
- jsPath+'/controllers/ctrl-collaboration.js',
- jsPath+'/controllers/ctrl-create.js',
- jsPath+'/controllers/ctrl-export-scores.js',
- jsPath+'/controllers/ctrl-lti.js',
- jsPath+'/controllers/ctrl-media-import.js',
- jsPath+'/controllers/ctrl-my-widgets.js',
- jsPath+'/controllers/ctrl-question-import.js',
- jsPath+'/controllers/ctrl-selectedwidget.js',
- jsPath+'/controllers/ctrl-widget-settings.js',
- jsPath+'/directives/dir-beardable.js',
- jsPath+'/directives/dir-datatable.js',
- jsPath+'/directives/dir-date-validation.js',
- jsPath+'/directives/dir-filedropper.js',
- jsPath+'/directives/dir-fileonchange.js',
- jsPath+'/directives/dir-ngenter.js',
- jsPath+'/directives/dir-scoredata.js',
- jsPath+'/directives/dir-scoregraph.js',
- jsPath+'/directives/dir-scoretable.js',
- jsPath+'/filters/filter-escape.js',
- jsPath+'/filters/filter-highlight.js',
- jsPath+'/filters/filter-multiword.js',
- jsPath+'/materia/materia.mywidgets.statistics.js',
- jsPath+'/services/srv-api.js',
- jsPath+'/services/srv-beard.js',
- jsPath+'/services/srv-scores.js',
- ],
- // only used on admin interface pages
- 'js/admin.js':[
- jsPath+'/controllers/ctrl-admin-user.js',
- jsPath+'/controllers/ctrl-admin-widget.js',
- jsPath+'/services/srv-admin.js',
- ],
- 'js/materia.creatorcore.js': [
- jsPath+'/materia-namespace.js',
- jsPath+'/materia/materia.creatorcore.js',
- ],
- 'js/materia.enginecore.js': [
- jsPath+'/materia-namespace.js',
- jsPath+'/materia/materia.enginecore.js',
- jsPath+'/materia/materia.score.js',
- jsPath+'/materia/materia.storage.manager.js',
- jsPath+'/materia/materia.storage.table.js',
- ],
- 'js/materia.scorecore.js': [
- jsPath+'/materia-namespace.js',
- jsPath+'/materia/materia.scorecore.js',
- ]
- }},
- module: {
- rules: [
- {
- test: /\.js$/,
- enforce: 'pre',
- use: ['webpack-strip-block']
- },
- {
- test: /\.js$/,
- use: {
- loader: 'babel-loader',
- options: {
- presets: [
- [
- '@babel/preset-env',
- {
- targets: {
- browsers: [
- ">0.25%",
- "not ie 10",
- "not op_mini all"
- ]
- },
- }
- ]
- ],
- plugins: [
- require('babel-plugin-angularjs-annotate'),]
- }
- }
- },
- // SASS files
- {
- test: /\.scss$/,
- use: ExtractTextPlugin.extract({
- use: [
- 'css-loader?url=false', // disable the css-loaders' function of locating image urls
- 'sass-loader'
- ]
- })
- }
- ]
- },
- output: {
- path: outPath,
- filename: '[name]'
- },
- plugins: [
- new CleanWebpackPlugin(), // clear the dist folder before build
- new ExtractTextPlugin('[name]'), // pull the css out of webpack
- ],
- resolve: {
- alias: {
- // allow the code to require from node_modules
- 'node_modules': path.join(__dirname, 'node_modules')
- }
- }
-};
+ stats: {
+ assetsSort: '!size',
+ entrypoints: false,
+ builtAt: false,
+ children: false,
+ modules: false
+ },
+ entry,
+ module: {
+ rules: [
+ {
+ test: /\.js$/,
+ enforce: 'pre',
+ use: [
+ // Strips out code used for dev and testing.
+ // Look for `develblock:start` comments.
+ 'webpack-strip-block'
+ ]
+ },
+ {
+ test: /\.js$/,
+ use: [
+ 'babel-loader' // configuration in .babelrc
+ ]
+ },
+ // SASS files
+ {
+ test: /\.scss$/,
+ use: [
+ MiniCssExtractPlugin.loader,
+ {
+ loader: 'css-loader',
+ options: {
+ url: false, // don't process css urls
+ }
+ },
+ {
+ loader: 'postcss-loader',
+ options: {
+ ident: 'postcss',
+ plugins: [require('autoprefixer')]
+ }
+ },
+ {
+ loader: 'sass-loader'
+ }
+ ]
+ }
+ ]
+ },
+ output: {
+ path: outPath,
+ filename: '[name]'
+ },
+ plugins: [
+ new CleanWebpackPlugin(), // clear the dist folder before build
+ new MiniCssExtractPlugin({filename: '[name].css'}),
+ new IgnoreEmitPlugin(/^(?!.*\.).*$/) // omit all files with no '.' in their name, webpack wasn't designed to have css entrypoints :/
+ ],
+ resolve: {
+ alias: {
+ // allow the code to require from node_modules
+ 'node_modules': path.join(__dirname, 'node_modules')
+ }
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index a8abfe25..20d96b2c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9,7 +9,23 @@
dependencies:
"@babel/highlight" "^7.0.0"
-"@babel/core@^7.1.0", "@babel/core@^7.4.5":
+"@babel/code-frame@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
+ integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
+"@babel/compat-data@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.4.tgz#706a6484ee6f910b719b696a9194f8da7d7ac241"
+ integrity sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw==
+ dependencies:
+ browserslist "^4.12.0"
+ invariant "^2.2.4"
+ semver "^5.5.0"
+
+"@babel/core@^7.1.0":
version "7.4.5"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a"
integrity sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==
@@ -29,7 +45,39 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.4.0", "@babel/generator@^7.4.4":
+"@babel/core@^7.10.4", "@babel/core@^7.7.5":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.4.tgz#780e8b83e496152f8dd7df63892b2e052bf1d51d"
+ integrity sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/generator" "^7.10.4"
+ "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helpers" "^7.10.4"
+ "@babel/parser" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.1"
+ json5 "^2.1.2"
+ lodash "^4.17.13"
+ resolve "^1.3.2"
+ semver "^5.4.1"
+ source-map "^0.5.0"
+
+"@babel/generator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.4.tgz#e49eeed9fe114b62fa5b181856a43a5e32f5f243"
+ integrity sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==
+ dependencies:
+ "@babel/types" "^7.10.4"
+ jsesc "^2.5.1"
+ lodash "^4.17.13"
+ source-map "^0.5.0"
+
+"@babel/generator@^7.4.4":
version "7.4.4"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041"
integrity sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==
@@ -40,46 +88,69 @@
source-map "^0.5.0"
trim-right "^1.0.1"
-"@babel/helper-annotate-as-pure@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
- integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==
+"@babel/helper-annotate-as-pure@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
+ integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.10.4"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
- integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3"
+ integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==
dependencies:
- "@babel/helper-explode-assignable-expression" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/helper-explode-assignable-expression" "^7.10.4"
+ "@babel/types" "^7.10.4"
-"@babel/helper-call-delegate@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43"
- integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==
+"@babel/helper-compilation-targets@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2"
+ integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==
dependencies:
- "@babel/helper-hoist-variables" "^7.4.4"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/compat-data" "^7.10.4"
+ browserslist "^4.12.0"
+ invariant "^2.2.4"
+ levenary "^1.1.1"
+ semver "^5.5.0"
-"@babel/helper-define-map@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a"
- integrity sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==
+"@babel/helper-create-class-features-plugin@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.4.tgz#2d4015d0136bd314103a70d84a7183e4b344a355"
+ integrity sha512-9raUiOsXPxzzLjCXeosApJItoMnX3uyT4QdM2UldffuGApNrF8e938MwNpDCK9CPoyxrEoCgT+hObJc3mZa6lQ==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/types" "^7.4.4"
- lodash "^4.17.11"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-member-expression-to-functions" "^7.10.4"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.10.4"
-"@babel/helper-explode-assignable-expression@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
- integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==
+"@babel/helper-create-regexp-features-plugin@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8"
+ integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==
dependencies:
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-regex" "^7.10.4"
+ regexpu-core "^4.7.0"
+
+"@babel/helper-define-map@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz#f037ad794264f729eda1889f4ee210b870999092"
+ integrity sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==
+ dependencies:
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/types" "^7.10.4"
+ lodash "^4.17.13"
+
+"@babel/helper-explode-assignable-expression@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c"
+ integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==
+ dependencies:
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
"@babel/helper-function-name@^7.1.0":
version "7.1.0"
@@ -90,6 +161,15 @@
"@babel/template" "^7.1.0"
"@babel/types" "^7.0.0"
+"@babel/helper-function-name@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
+ integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
"@babel/helper-get-function-arity@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
@@ -97,86 +177,113 @@
dependencies:
"@babel/types" "^7.0.0"
-"@babel/helper-hoist-variables@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a"
- integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==
+"@babel/helper-get-function-arity@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
+ integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==
dependencies:
- "@babel/types" "^7.4.4"
+ "@babel/types" "^7.10.4"
-"@babel/helper-member-expression-to-functions@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"
- integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==
+"@babel/helper-hoist-variables@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e"
+ integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.10.4"
-"@babel/helper-module-imports@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
- integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==
+"@babel/helper-member-expression-to-functions@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz#7cd04b57dfcf82fce9aeae7d4e4452fa31b8c7c4"
+ integrity sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.10.4"
-"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8"
- integrity sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==
+"@babel/helper-module-imports@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
+ integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==
dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-simple-access" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/template" "^7.4.4"
- "@babel/types" "^7.4.4"
- lodash "^4.17.11"
+ "@babel/types" "^7.10.4"
-"@babel/helper-optimise-call-expression@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
- integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==
+"@babel/helper-module-transforms@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz#ca1f01fdb84e48c24d7506bb818c961f1da8805d"
+ integrity sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-simple-access" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.10.4"
+ lodash "^4.17.13"
+
+"@babel/helper-optimise-call-expression@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
+ integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
+ dependencies:
+ "@babel/types" "^7.10.4"
"@babel/helper-plugin-utils@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
-"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4":
+"@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
+ integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
+
+"@babel/helper-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.4.tgz#59b373daaf3458e5747dece71bbaf45f9676af6d"
+ integrity sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==
+ dependencies:
+ lodash "^4.17.13"
+
+"@babel/helper-regex@^7.4.4":
version "7.4.4"
resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2"
integrity sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==
dependencies:
lodash "^4.17.11"
-"@babel/helper-remap-async-to-generator@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
- integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==
+"@babel/helper-remap-async-to-generator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5"
+ integrity sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-wrap-function" "^7.1.0"
- "@babel/template" "^7.1.0"
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-wrap-function" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
-"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27"
- integrity sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==
+"@babel/helper-replace-supers@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
+ integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==
dependencies:
- "@babel/helper-member-expression-to-functions" "^7.0.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/helper-member-expression-to-functions" "^7.10.4"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
-"@babel/helper-simple-access@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
- integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==
+"@babel/helper-simple-access@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
+ integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==
dependencies:
- "@babel/template" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-split-export-declaration@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1"
+ integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==
+ dependencies:
+ "@babel/types" "^7.10.4"
"@babel/helper-split-export-declaration@^7.4.4":
version "7.4.4"
@@ -185,15 +292,29 @@
dependencies:
"@babel/types" "^7.4.4"
-"@babel/helper-wrap-function@^7.1.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa"
- integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==
+"@babel/helper-validator-identifier@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
+ integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+
+"@babel/helper-wrap-function@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87"
+ integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/template" "^7.1.0"
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.2.0"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helpers@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
+ integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==
+ dependencies:
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
"@babel/helpers@^7.4.4":
version "7.4.4"
@@ -213,43 +334,114 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.4.5":
+"@babel/highlight@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
+ integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.4"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
+"@babel/parser@^7.1.0", "@babel/parser@^7.4.4", "@babel/parser@^7.4.5":
version "7.4.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872"
integrity sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==
-"@babel/plugin-proposal-async-generator-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e"
- integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==
+"@babel/parser@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.4.tgz#9eedf27e1998d87739fb5028a5120557c06a1a64"
+ integrity sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==
+
+"@babel/plugin-proposal-async-generator-functions@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz#4b65abb3d9bacc6c657aaa413e56696f9f170fc6"
+ integrity sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-remap-async-to-generator" "^7.1.0"
- "@babel/plugin-syntax-async-generators" "^7.2.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-remap-async-to-generator" "^7.10.4"
+ "@babel/plugin-syntax-async-generators" "^7.8.0"
-"@babel/plugin-proposal-json-strings@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317"
- integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==
+"@babel/plugin-proposal-class-properties@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807"
+ integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-json-strings" "^7.2.0"
+ "@babel/helper-create-class-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-proposal-object-rest-spread@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005"
- integrity sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==
+"@babel/plugin-proposal-dynamic-import@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e"
+ integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.0"
-"@babel/plugin-proposal-optional-catch-binding@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5"
- integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==
+"@babel/plugin-proposal-json-strings@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db"
+ integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-json-strings" "^7.8.0"
+
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a"
+ integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+
+"@babel/plugin-proposal-numeric-separator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06"
+ integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
+"@babel/plugin-proposal-object-rest-spread@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz#50129ac216b9a6a55b3853fdd923e74bf553a4c0"
+ integrity sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
+ "@babel/plugin-transform-parameters" "^7.10.4"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd"
+ integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
+
+"@babel/plugin-proposal-optional-chaining@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz#750f1255e930a1f82d8cdde45031f81a0d0adff7"
+ integrity sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+
+"@babel/plugin-proposal-private-methods@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909"
+ integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d"
+ integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-proposal-unicode-property-regex@^7.4.4":
version "7.4.4"
@@ -260,339 +452,454 @@
"@babel/helper-regex" "^7.4.4"
regexpu-core "^4.5.4"
-"@babel/plugin-syntax-async-generators@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f"
- integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==
+"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
+ integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-json-strings@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470"
- integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==
+"@babel/plugin-syntax-bigint@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
+ integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
- integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==
+"@babel/plugin-syntax-class-properties@^7.10.4", "@babel/plugin-syntax-class-properties@^7.8.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c"
+ integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-optional-catch-binding@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c"
- integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==
+"@babel/plugin-syntax-dynamic-import@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
+ integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-transform-arrow-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550"
- integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==
+"@babel/plugin-syntax-import-meta@^7.8.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
+ integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-async-to-generator@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894"
- integrity sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==
+"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
+ integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-remap-async-to-generator" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-transform-block-scoped-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190"
- integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==
+"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
+ integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-block-scoping@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d"
- integrity sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
+ integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- lodash "^4.17.11"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-transform-classes@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6"
- integrity sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==
+"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
+ integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-define-map" "^7.4.4"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.4.4"
- "@babel/helper-split-export-declaration" "^7.4.4"
- globals "^11.1.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-computed-properties@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da"
- integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==
+"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
+ integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-transform-destructuring@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f"
- integrity sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==
+"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
+ integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3"
- integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==
+"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
+ integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-transform-duplicate-keys@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3"
- integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==
+"@babel/plugin-syntax-top-level-await@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d"
+ integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-exponentiation-operator@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008"
- integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==
+"@babel/plugin-transform-arrow-functions@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd"
+ integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-for-of@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556"
- integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==
+"@babel/plugin-transform-async-to-generator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37"
+ integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-remap-async-to-generator" "^7.10.4"
-"@babel/plugin-transform-function-name@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad"
- integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==
+"@babel/plugin-transform-block-scoped-functions@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8"
+ integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1"
- integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==
+"@babel/plugin-transform-block-scoping@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz#a670d1364bb5019a621b9ea2001482876d734787"
+ integrity sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ lodash "^4.17.13"
-"@babel/plugin-transform-member-expression-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d"
- integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==
+"@babel/plugin-transform-classes@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7"
+ integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-define-map" "^7.10.4"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.10.4"
+ globals "^11.1.0"
-"@babel/plugin-transform-modules-amd@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6"
- integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==
+"@babel/plugin-transform-computed-properties@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb"
+ integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==
dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-modules-commonjs@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e"
- integrity sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==
+"@babel/plugin-transform-destructuring@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5"
+ integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==
dependencies:
- "@babel/helper-module-transforms" "^7.4.4"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-simple-access" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-modules-systemjs@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405"
- integrity sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==
+"@babel/plugin-transform-dotall-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee"
+ integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==
dependencies:
- "@babel/helper-hoist-variables" "^7.4.4"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-modules-umd@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae"
- integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==
+"@babel/plugin-transform-dotall-regex@^7.4.4":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3"
+ integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==
dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
"@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.4.4"
+ regexpu-core "^4.5.4"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106"
- integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==
+"@babel/plugin-transform-duplicate-keys@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47"
+ integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==
dependencies:
- regexp-tree "^0.1.6"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-new-target@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5"
- integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==
+"@babel/plugin-transform-exponentiation-operator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e"
+ integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-object-super@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598"
- integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==
+"@babel/plugin-transform-for-of@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9"
+ integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-parameters@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16"
- integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==
+"@babel/plugin-transform-function-name@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7"
+ integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==
dependencies:
- "@babel/helper-call-delegate" "^7.4.4"
- "@babel/helper-get-function-arity" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-property-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905"
- integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==
+"@babel/plugin-transform-literals@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c"
+ integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-regenerator@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f"
- integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==
+"@babel/plugin-transform-member-expression-literals@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7"
+ integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==
dependencies:
- regenerator-transform "^0.14.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-reserved-words@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634"
- integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==
+"@babel/plugin-transform-modules-amd@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz#cb407c68b862e4c1d13a2fc738c7ec5ed75fc520"
+ integrity sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-shorthand-properties@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0"
- integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==
+"@babel/plugin-transform-modules-commonjs@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0"
+ integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-simple-access" "^7.10.4"
+ babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-spread@^7.2.0":
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406"
- integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==
+"@babel/plugin-transform-modules-systemjs@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz#8f576afd943ac2f789b35ded0a6312f929c633f9"
+ integrity sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-hoist-variables" "^7.10.4"
+ "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-sticky-regex@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1"
- integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==
+"@babel/plugin-transform-modules-umd@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e"
+ integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.0.0"
+ "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-template-literals@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0"
- integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6"
+ integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-"@babel/plugin-transform-typeof-symbol@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2"
- integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==
+"@babel/plugin-transform-new-target@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888"
+ integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-unicode-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f"
- integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==
+"@babel/plugin-transform-object-super@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894"
+ integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+
+"@babel/plugin-transform-parameters@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz#7b4d137c87ea7adc2a0f3ebf53266871daa6fced"
+ integrity sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-property-literals@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0"
+ integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-regenerator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63"
+ integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==
+ dependencies:
+ regenerator-transform "^0.14.2"
+
+"@babel/plugin-transform-reserved-words@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd"
+ integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-shorthand-properties@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6"
+ integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-spread@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz#4e2c85ea0d6abaee1b24dcfbbae426fe8d674cff"
+ integrity sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-sticky-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d"
+ integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-regex" "^7.10.4"
+
+"@babel/plugin-transform-template-literals@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz#e6375407b30fcb7fcfdbba3bb98ef3e9d36df7bc"
+ integrity sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-typeof-symbol@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc"
+ integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-unicode-escapes@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007"
+ integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-unicode-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8"
+ integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/preset-env@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.10.4.tgz#fbf57f9a803afd97f4f32e4f798bb62e4b2bef5f"
+ integrity sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==
+ dependencies:
+ "@babel/compat-data" "^7.10.4"
+ "@babel/helper-compilation-targets" "^7.10.4"
+ "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-proposal-async-generator-functions" "^7.10.4"
+ "@babel/plugin-proposal-class-properties" "^7.10.4"
+ "@babel/plugin-proposal-dynamic-import" "^7.10.4"
+ "@babel/plugin-proposal-json-strings" "^7.10.4"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4"
+ "@babel/plugin-proposal-numeric-separator" "^7.10.4"
+ "@babel/plugin-proposal-object-rest-spread" "^7.10.4"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.10.4"
+ "@babel/plugin-proposal-optional-chaining" "^7.10.4"
+ "@babel/plugin-proposal-private-methods" "^7.10.4"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.10.4"
+ "@babel/plugin-syntax-async-generators" "^7.8.0"
+ "@babel/plugin-syntax-class-properties" "^7.10.4"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+ "@babel/plugin-syntax-json-strings" "^7.8.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+ "@babel/plugin-syntax-top-level-await" "^7.10.4"
+ "@babel/plugin-transform-arrow-functions" "^7.10.4"
+ "@babel/plugin-transform-async-to-generator" "^7.10.4"
+ "@babel/plugin-transform-block-scoped-functions" "^7.10.4"
+ "@babel/plugin-transform-block-scoping" "^7.10.4"
+ "@babel/plugin-transform-classes" "^7.10.4"
+ "@babel/plugin-transform-computed-properties" "^7.10.4"
+ "@babel/plugin-transform-destructuring" "^7.10.4"
+ "@babel/plugin-transform-dotall-regex" "^7.10.4"
+ "@babel/plugin-transform-duplicate-keys" "^7.10.4"
+ "@babel/plugin-transform-exponentiation-operator" "^7.10.4"
+ "@babel/plugin-transform-for-of" "^7.10.4"
+ "@babel/plugin-transform-function-name" "^7.10.4"
+ "@babel/plugin-transform-literals" "^7.10.4"
+ "@babel/plugin-transform-member-expression-literals" "^7.10.4"
+ "@babel/plugin-transform-modules-amd" "^7.10.4"
+ "@babel/plugin-transform-modules-commonjs" "^7.10.4"
+ "@babel/plugin-transform-modules-systemjs" "^7.10.4"
+ "@babel/plugin-transform-modules-umd" "^7.10.4"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4"
+ "@babel/plugin-transform-new-target" "^7.10.4"
+ "@babel/plugin-transform-object-super" "^7.10.4"
+ "@babel/plugin-transform-parameters" "^7.10.4"
+ "@babel/plugin-transform-property-literals" "^7.10.4"
+ "@babel/plugin-transform-regenerator" "^7.10.4"
+ "@babel/plugin-transform-reserved-words" "^7.10.4"
+ "@babel/plugin-transform-shorthand-properties" "^7.10.4"
+ "@babel/plugin-transform-spread" "^7.10.4"
+ "@babel/plugin-transform-sticky-regex" "^7.10.4"
+ "@babel/plugin-transform-template-literals" "^7.10.4"
+ "@babel/plugin-transform-typeof-symbol" "^7.10.4"
+ "@babel/plugin-transform-unicode-escapes" "^7.10.4"
+ "@babel/plugin-transform-unicode-regex" "^7.10.4"
+ "@babel/preset-modules" "^0.1.3"
+ "@babel/types" "^7.10.4"
+ browserslist "^4.12.0"
+ core-js-compat "^3.6.2"
+ invariant "^2.2.2"
+ levenary "^1.1.1"
+ semver "^5.5.0"
-"@babel/preset-env@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58"
- integrity sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w==
+"@babel/preset-modules@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"
+ integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==
dependencies:
- "@babel/helper-module-imports" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-proposal-async-generator-functions" "^7.2.0"
- "@babel/plugin-proposal-json-strings" "^7.2.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.4.4"
- "@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
"@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
- "@babel/plugin-syntax-async-generators" "^7.2.0"
- "@babel/plugin-syntax-json-strings" "^7.2.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
- "@babel/plugin-transform-arrow-functions" "^7.2.0"
- "@babel/plugin-transform-async-to-generator" "^7.4.4"
- "@babel/plugin-transform-block-scoped-functions" "^7.2.0"
- "@babel/plugin-transform-block-scoping" "^7.4.4"
- "@babel/plugin-transform-classes" "^7.4.4"
- "@babel/plugin-transform-computed-properties" "^7.2.0"
- "@babel/plugin-transform-destructuring" "^7.4.4"
"@babel/plugin-transform-dotall-regex" "^7.4.4"
- "@babel/plugin-transform-duplicate-keys" "^7.2.0"
- "@babel/plugin-transform-exponentiation-operator" "^7.2.0"
- "@babel/plugin-transform-for-of" "^7.4.4"
- "@babel/plugin-transform-function-name" "^7.4.4"
- "@babel/plugin-transform-literals" "^7.2.0"
- "@babel/plugin-transform-member-expression-literals" "^7.2.0"
- "@babel/plugin-transform-modules-amd" "^7.2.0"
- "@babel/plugin-transform-modules-commonjs" "^7.4.4"
- "@babel/plugin-transform-modules-systemjs" "^7.4.4"
- "@babel/plugin-transform-modules-umd" "^7.2.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5"
- "@babel/plugin-transform-new-target" "^7.4.4"
- "@babel/plugin-transform-object-super" "^7.2.0"
- "@babel/plugin-transform-parameters" "^7.4.4"
- "@babel/plugin-transform-property-literals" "^7.2.0"
- "@babel/plugin-transform-regenerator" "^7.4.5"
- "@babel/plugin-transform-reserved-words" "^7.2.0"
- "@babel/plugin-transform-shorthand-properties" "^7.2.0"
- "@babel/plugin-transform-spread" "^7.2.0"
- "@babel/plugin-transform-sticky-regex" "^7.2.0"
- "@babel/plugin-transform-template-literals" "^7.4.4"
- "@babel/plugin-transform-typeof-symbol" "^7.2.0"
- "@babel/plugin-transform-unicode-regex" "^7.4.4"
"@babel/types" "^7.4.4"
- browserslist "^4.6.0"
- core-js-compat "^3.1.1"
- invariant "^2.2.2"
- js-levenshtein "^1.1.3"
- semver "^5.5.0"
+ esutils "^2.0.2"
-"@babel/runtime@^7.0.0":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12"
- integrity sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==
+"@babel/runtime-corejs3@^7.8.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.4.tgz#f29fc1990307c4c57b10dbd6ce667b27159d9e0d"
+ integrity sha512-BFlgP2SoLO9HJX9WBwN67gHWMBhDX/eDz64Jajd6mR/UAUzqrNMm99d4qHnVaKscAElZoFiPv+JpR/Siud5lXw==
dependencies:
- regenerator-runtime "^0.13.2"
+ core-js-pure "^3.0.0"
+ regenerator-runtime "^0.13.4"
-"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4":
+"@babel/runtime@^7.8.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.4.tgz#a6724f1a6b8d2f6ea5236dbfe58c7d7ea9c5eb99"
+ integrity sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
+"@babel/template@^7.1.0", "@babel/template@^7.4.4":
version "7.4.4"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237"
integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==
@@ -601,7 +908,16 @@
"@babel/parser" "^7.4.4"
"@babel/types" "^7.4.4"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5":
+"@babel/template@^7.10.4", "@babel/template@^7.3.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
+ integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/parser" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5":
version "7.4.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.5.tgz#4e92d1728fd2f1897dafdd321efbff92156c3216"
integrity sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==
@@ -616,7 +932,22 @@
globals "^11.1.0"
lodash "^4.17.11"
-"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4":
+"@babel/traverse@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.4.tgz#e642e5395a3b09cc95c8e74a27432b484b697818"
+ integrity sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/generator" "^7.10.4"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.10.4"
+ "@babel/parser" "^7.10.4"
+ "@babel/types" "^7.10.4"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.13"
+
+"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4":
version "7.4.4"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0"
integrity sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==
@@ -625,6 +956,20 @@
lodash "^4.17.11"
to-fast-properties "^2.0.0"
+"@babel/types@^7.10.4", "@babel/types@^7.3.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.4.tgz#369517188352e18219981efd156bfdb199fff1ee"
+ integrity sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.4"
+ lodash "^4.17.13"
+ to-fast-properties "^2.0.0"
+
+"@bcoe/v8-coverage@^0.2.3":
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
+ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+
"@cnakazawa/watch@^1.0.3":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef"
@@ -633,163 +978,211 @@
exec-sh "^0.3.2"
minimist "^1.2.0"
-"@jest/console@^24.7.1":
- version "24.7.1"
- resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545"
- integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg==
- dependencies:
- "@jest/source-map" "^24.3.0"
- chalk "^2.0.1"
- slash "^2.0.0"
-
-"@jest/core@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.8.0.tgz#fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b"
- integrity sha512-R9rhAJwCBQzaRnrRgAdVfnglUuATXdwTRsYqs6NMdVcAl5euG8LtWDe+fVkN27YfKVBW61IojVsXKaOmSnqd/A==
- dependencies:
- "@jest/console" "^24.7.1"
- "@jest/reporters" "^24.8.0"
- "@jest/test-result" "^24.8.0"
- "@jest/transform" "^24.8.0"
- "@jest/types" "^24.8.0"
- ansi-escapes "^3.0.0"
- chalk "^2.0.1"
- exit "^0.1.2"
- graceful-fs "^4.1.15"
- jest-changed-files "^24.8.0"
- jest-config "^24.8.0"
- jest-haste-map "^24.8.0"
- jest-message-util "^24.8.0"
- jest-regex-util "^24.3.0"
- jest-resolve-dependencies "^24.8.0"
- jest-runner "^24.8.0"
- jest-runtime "^24.8.0"
- jest-snapshot "^24.8.0"
- jest-util "^24.8.0"
- jest-validate "^24.8.0"
- jest-watcher "^24.8.0"
- micromatch "^3.1.10"
- p-each-series "^1.0.0"
- pirates "^4.0.1"
- realpath-native "^1.1.0"
- rimraf "^2.5.4"
- strip-ansi "^5.0.0"
+"@istanbuljs/load-nyc-config@^1.0.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
+ integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
+ dependencies:
+ camelcase "^5.3.1"
+ find-up "^4.1.0"
+ get-package-type "^0.1.0"
+ js-yaml "^3.13.1"
+ resolve-from "^5.0.0"
-"@jest/environment@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.8.0.tgz#0342261383c776bdd652168f68065ef144af0eac"
- integrity sha512-vlGt2HLg7qM+vtBrSkjDxk9K0YtRBi7HfRFaDxoRtyi+DyVChzhF20duvpdAnKVBV6W5tym8jm0U9EfXbDk1tw==
- dependencies:
- "@jest/fake-timers" "^24.8.0"
- "@jest/transform" "^24.8.0"
- "@jest/types" "^24.8.0"
- jest-mock "^24.8.0"
-
-"@jest/fake-timers@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1"
- integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw==
- dependencies:
- "@jest/types" "^24.8.0"
- jest-message-util "^24.8.0"
- jest-mock "^24.8.0"
-
-"@jest/reporters@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.8.0.tgz#075169cd029bddec54b8f2c0fc489fd0b9e05729"
- integrity sha512-eZ9TyUYpyIIXfYCrw0UHUWUvE35vx5I92HGMgS93Pv7du+GHIzl+/vh8Qj9MCWFK/4TqyttVBPakWMOfZRIfxw==
- dependencies:
- "@jest/environment" "^24.8.0"
- "@jest/test-result" "^24.8.0"
- "@jest/transform" "^24.8.0"
- "@jest/types" "^24.8.0"
- chalk "^2.0.1"
+"@istanbuljs/schema@^0.1.2":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
+ integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
+
+"@jest/console@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.1.0.tgz#f67c89e4f4d04dbcf7b052aed5ab9c74f915b954"
+ integrity sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A==
+ dependencies:
+ "@jest/types" "^26.1.0"
+ chalk "^4.0.0"
+ jest-message-util "^26.1.0"
+ jest-util "^26.1.0"
+ slash "^3.0.0"
+
+"@jest/core@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.1.0.tgz#4580555b522de412a7998b3938c851e4f9da1c18"
+ integrity sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw==
+ dependencies:
+ "@jest/console" "^26.1.0"
+ "@jest/reporters" "^26.1.0"
+ "@jest/test-result" "^26.1.0"
+ "@jest/transform" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ ansi-escapes "^4.2.1"
+ chalk "^4.0.0"
+ exit "^0.1.2"
+ graceful-fs "^4.2.4"
+ jest-changed-files "^26.1.0"
+ jest-config "^26.1.0"
+ jest-haste-map "^26.1.0"
+ jest-message-util "^26.1.0"
+ jest-regex-util "^26.0.0"
+ jest-resolve "^26.1.0"
+ jest-resolve-dependencies "^26.1.0"
+ jest-runner "^26.1.0"
+ jest-runtime "^26.1.0"
+ jest-snapshot "^26.1.0"
+ jest-util "^26.1.0"
+ jest-validate "^26.1.0"
+ jest-watcher "^26.1.0"
+ micromatch "^4.0.2"
+ p-each-series "^2.1.0"
+ rimraf "^3.0.0"
+ slash "^3.0.0"
+ strip-ansi "^6.0.0"
+
+"@jest/environment@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.1.0.tgz#378853bcdd1c2443b4555ab908cfbabb851e96da"
+ integrity sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA==
+ dependencies:
+ "@jest/fake-timers" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ jest-mock "^26.1.0"
+
+"@jest/fake-timers@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.1.0.tgz#9a76b7a94c351cdbc0ad53e5a748789f819a65fe"
+ integrity sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA==
+ dependencies:
+ "@jest/types" "^26.1.0"
+ "@sinonjs/fake-timers" "^6.0.1"
+ jest-message-util "^26.1.0"
+ jest-mock "^26.1.0"
+ jest-util "^26.1.0"
+
+"@jest/globals@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.1.0.tgz#6cc5d7cbb79b76b120f2403d7d755693cf063ab1"
+ integrity sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw==
+ dependencies:
+ "@jest/environment" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ expect "^26.1.0"
+
+"@jest/reporters@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.1.0.tgz#08952e90c90282e14ff49e927bdf1873617dae78"
+ integrity sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg==
+ dependencies:
+ "@bcoe/v8-coverage" "^0.2.3"
+ "@jest/console" "^26.1.0"
+ "@jest/test-result" "^26.1.0"
+ "@jest/transform" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ chalk "^4.0.0"
+ collect-v8-coverage "^1.0.0"
exit "^0.1.2"
glob "^7.1.2"
- istanbul-lib-coverage "^2.0.2"
- istanbul-lib-instrument "^3.0.1"
- istanbul-lib-report "^2.0.4"
- istanbul-lib-source-maps "^3.0.1"
- istanbul-reports "^2.1.1"
- jest-haste-map "^24.8.0"
- jest-resolve "^24.8.0"
- jest-runtime "^24.8.0"
- jest-util "^24.8.0"
- jest-worker "^24.6.0"
- node-notifier "^5.2.1"
- slash "^2.0.0"
+ graceful-fs "^4.2.4"
+ istanbul-lib-coverage "^3.0.0"
+ istanbul-lib-instrument "^4.0.3"
+ istanbul-lib-report "^3.0.0"
+ istanbul-lib-source-maps "^4.0.0"
+ istanbul-reports "^3.0.2"
+ jest-haste-map "^26.1.0"
+ jest-resolve "^26.1.0"
+ jest-util "^26.1.0"
+ jest-worker "^26.1.0"
+ slash "^3.0.0"
source-map "^0.6.0"
- string-length "^2.0.0"
+ string-length "^4.0.1"
+ terminal-link "^2.0.0"
+ v8-to-istanbul "^4.1.3"
+ optionalDependencies:
+ node-notifier "^7.0.0"
-"@jest/source-map@^24.3.0":
- version "24.3.0"
- resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28"
- integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag==
+"@jest/source-map@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.1.0.tgz#a6a020d00e7d9478f4b690167c5e8b77e63adb26"
+ integrity sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA==
dependencies:
callsites "^3.0.0"
- graceful-fs "^4.1.15"
+ graceful-fs "^4.2.4"
source-map "^0.6.0"
-"@jest/test-result@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3"
- integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng==
+"@jest/test-result@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.1.0.tgz#a93fa15b21ad3c7ceb21c2b4c35be2e407d8e971"
+ integrity sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw==
dependencies:
- "@jest/console" "^24.7.1"
- "@jest/types" "^24.8.0"
+ "@jest/console" "^26.1.0"
+ "@jest/types" "^26.1.0"
"@types/istanbul-lib-coverage" "^2.0.0"
+ collect-v8-coverage "^1.0.0"
-"@jest/test-sequencer@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz#2f993bcf6ef5eb4e65e8233a95a3320248cf994b"
- integrity sha512-OzL/2yHyPdCHXEzhoBuq37CE99nkme15eHkAzXRVqthreWZamEMA0WoetwstsQBCXABhczpK03JNbc4L01vvLg==
+"@jest/test-sequencer@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz#41a6fc8b850c3f33f48288ea9ea517c047e7f14e"
+ integrity sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q==
dependencies:
- "@jest/test-result" "^24.8.0"
- jest-haste-map "^24.8.0"
- jest-runner "^24.8.0"
- jest-runtime "^24.8.0"
+ "@jest/test-result" "^26.1.0"
+ graceful-fs "^4.2.4"
+ jest-haste-map "^26.1.0"
+ jest-runner "^26.1.0"
+ jest-runtime "^26.1.0"
-"@jest/transform@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5"
- integrity sha512-xBMfFUP7TortCs0O+Xtez2W7Zu1PLH9bvJgtraN1CDST6LBM/eTOZ9SfwS/lvV8yOfcDpFmwf9bq5cYbXvqsvA==
+"@jest/transform@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.1.0.tgz#697f48898c2a2787c9b4cb71d09d7e617464e509"
+ integrity sha512-ICPm6sUXmZJieq45ix28k0s+d/z2E8CHDsq+WwtWI6kW8m7I8kPqarSEcUN86entHQ570ZBRci5OWaKL0wlAWw==
dependencies:
"@babel/core" "^7.1.0"
- "@jest/types" "^24.8.0"
- babel-plugin-istanbul "^5.1.0"
- chalk "^2.0.1"
+ "@jest/types" "^26.1.0"
+ babel-plugin-istanbul "^6.0.0"
+ chalk "^4.0.0"
convert-source-map "^1.4.0"
fast-json-stable-stringify "^2.0.0"
- graceful-fs "^4.1.15"
- jest-haste-map "^24.8.0"
- jest-regex-util "^24.3.0"
- jest-util "^24.8.0"
- micromatch "^3.1.10"
- realpath-native "^1.1.0"
- slash "^2.0.0"
+ graceful-fs "^4.2.4"
+ jest-haste-map "^26.1.0"
+ jest-regex-util "^26.0.0"
+ jest-util "^26.1.0"
+ micromatch "^4.0.2"
+ pirates "^4.0.1"
+ slash "^3.0.0"
source-map "^0.6.1"
- write-file-atomic "2.4.1"
+ write-file-atomic "^3.0.0"
-"@jest/types@^24.8.0":
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad"
- integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg==
+"@jest/types@^26.1.0":
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.1.0.tgz#f8afaaaeeb23b5cad49dd1f7779689941dcb6057"
+ integrity sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^1.1.1"
- "@types/yargs" "^12.0.9"
+ "@types/yargs" "^15.0.0"
+ chalk "^4.0.0"
-"@samverschueren/stream-to-observable@^0.3.0":
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f"
- integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==
+"@sinonjs/commons@^1.7.0":
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d"
+ integrity sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==
+ dependencies:
+ type-detect "4.0.8"
+
+"@sinonjs/fake-timers@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40"
+ integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==
dependencies:
- any-observable "^0.3.0"
+ "@sinonjs/commons" "^1.7.0"
+
+"@types/anymatch@*":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
+ integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==
-"@types/babel__core@^7.1.0":
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f"
- integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg==
+"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7":
+ version "7.1.9"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d"
+ integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==
dependencies:
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
@@ -819,6 +1212,11 @@
dependencies:
"@babel/types" "^7.3.0"
+"@types/color-name@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
+ integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
+
"@types/events@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@@ -833,11 +1231,23 @@
"@types/minimatch" "*"
"@types/node" "*"
+"@types/graceful-fs@^4.1.2":
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f"
+ integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==
+ dependencies:
+ "@types/node" "*"
+
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff"
integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==
+"@types/istanbul-lib-coverage@^2.0.1":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
+ integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==
+
"@types/istanbul-lib-report@*":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c"
@@ -853,6 +1263,11 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
+"@types/json-schema@^7.0.4":
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd"
+ integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==
+
"@types/minimatch@*":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
@@ -868,75 +1283,281 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
+"@types/prettier@^2.0.0":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.1.tgz#b6e98083f13faa1e5231bfa3bdb1b0feff536b6d"
+ integrity sha512-boy4xPNEtiw6N3abRhBi/e7hNvy3Tt8E9ZRAQrwAGzoCGZS/1wjo9KY7JHhnfnEsG5wSjDbymCozUM9a3ea7OQ==
+
+"@types/source-list-map@*":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
+ integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==
+
"@types/stack-utils@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==
-"@types/yargs@^12.0.2", "@types/yargs@^12.0.9":
- version "12.0.12"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916"
- integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw==
+"@types/tapable@*":
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74"
+ integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==
+
+"@types/uglify-js@*":
+ version "3.9.2"
+ resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.9.2.tgz#01992579debba674e1e359cd6bcb1a1d0ab2e02b"
+ integrity sha512-d6dIfpPbF+8B7WiCi2ELY7m0w1joD8cRW4ms88Emdb2w062NeEpbNCeWwVCgzLRpVG+5e74VFSg4rgJ2xXjEiQ==
+ dependencies:
+ source-map "^0.6.1"
-abab@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f"
- integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==
+"@types/webpack-sources@*":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-1.4.0.tgz#e58f1f05f87d39a5c64cf85705bdbdbb94d4d57e"
+ integrity sha512-c88dKrpSle9BtTqR6ifdaxu1Lvjsl3C5OsfvuUbUwdXymshv1TkufUAXBajCCUM/f/TmnkZC/Esb03MinzSiXQ==
+ dependencies:
+ "@types/node" "*"
+ "@types/source-list-map" "*"
+ source-map "^0.7.3"
+
+"@types/webpack@^4.4.31":
+ version "4.41.18"
+ resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.18.tgz#2945202617866ecdffa582087f1b6de04a7eed55"
+ integrity sha512-mQm2R8vV2BZE/qIDVYqmBVLfX73a8muwjs74SpjEyJWJxeXBbsI9L65Pcia9XfYLYWzD1c1V8m+L0p30y2N7MA==
+ dependencies:
+ "@types/anymatch" "*"
+ "@types/node" "*"
+ "@types/tapable" "*"
+ "@types/uglify-js" "*"
+ "@types/webpack-sources" "*"
+ source-map "^0.6.0"
+
+"@types/yargs-parser@*":
+ version "15.0.0"
+ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
+ integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
+
+"@types/yargs@^15.0.0":
+ version "15.0.5"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79"
+ integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==
+ dependencies:
+ "@types/yargs-parser" "*"
+
+"@webassemblyjs/ast@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
+ integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
+ dependencies:
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+
+"@webassemblyjs/floating-point-hex-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
+ integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
+
+"@webassemblyjs/helper-api-error@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
+ integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
+
+"@webassemblyjs/helper-buffer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
+ integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
+
+"@webassemblyjs/helper-code-frame@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
+ integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
+ dependencies:
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/helper-fsm@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
+ integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
+
+"@webassemblyjs/helper-module-context@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
+ integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+
+"@webassemblyjs/helper-wasm-bytecode@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
+ integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
+
+"@webassemblyjs/helper-wasm-section@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
+ integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+
+"@webassemblyjs/ieee754@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
+ integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
+ integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
+ integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
+
+"@webassemblyjs/wasm-edit@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
+ integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/helper-wasm-section" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-opt" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/wasm-gen@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
+ integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
+"@webassemblyjs/wasm-opt@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
+ integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+
+"@webassemblyjs/wasm-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
+ integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
+"@webassemblyjs/wast-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
+ integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/floating-point-hex-parser" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-code-frame" "1.9.0"
+ "@webassemblyjs/helper-fsm" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/wast-printer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
+ integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
+abab@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
+ integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-acorn-dynamic-import@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
- integrity sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=
+acorn-globals@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
+ integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==
dependencies:
- acorn "^4.0.3"
+ acorn "^7.1.1"
+ acorn-walk "^7.1.1"
-acorn-globals@^4.1.0:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006"
- integrity sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==
- dependencies:
- acorn "^6.0.1"
- acorn-walk "^6.0.1"
+acorn-walk@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
+ integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
-acorn-walk@^6.0.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
- integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
+acorn@^6.4.1:
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
+ integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
-acorn@^4.0.3:
- version "4.0.13"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
- integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
+acorn@^7.1.1:
+ version "7.3.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
+ integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
-acorn@^5.0.0, acorn@^5.5.3:
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
- integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
+aggregate-error@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
+ integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
-acorn@^6.0.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
- integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+ajv-errors@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
+ integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
ajv-keywords@^3.1.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d"
integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==
-ajv@^5.0.0:
- version "5.5.2"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
- integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=
- dependencies:
- co "^4.6.0"
- fast-deep-equal "^1.0.0"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.3.0"
+ajv-keywords@^3.4.1:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.0.tgz#5c894537098785926d71e696114a53ce768ed773"
+ integrity sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw==
ajv@^6.1.0, ajv@^6.5.5:
version "6.10.0"
@@ -948,44 +1569,47 @@ ajv@^6.1.0, ajv@^6.5.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-align-text@^0.1.1, align-text@^0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
- integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
+ajv@^6.10.2, ajv@^6.12.2:
+ version "6.12.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
+ integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
dependencies:
- kind-of "^3.0.2"
- longest "^1.0.1"
- repeat-string "^1.5.2"
-
-alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
- integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
-angular-animate@1.6.9:
- version "1.6.9"
- resolved "https://registry.yarnpkg.com/angular-animate/-/angular-animate-1.6.9.tgz#a0f926c1ba3190bd8929ef966a7fa79760682622"
- integrity sha512-3/fqrmT6mJgB2O6oDvXDlNP6AJVqUXLWZq/P87Xo7Wt0JjcSmhJSQ02Yp7gm0Pkd5SXMKHICLpn/iEJPyse9fg==
+angular-animate@1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/angular-animate/-/angular-animate-1.8.0.tgz#fc6333a5a052129dc5fa0b02cd676304d2b99e9d"
+ integrity sha512-ROFK3UIn1MSVpqAlay15ZxjPmVbvwaO3Zn/2vhmQdYeqxSbUVuOckcvtDLBpHPGPtOAreu35qfV7NQ7u2EgDcA==
+
+angular-mocks@1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/angular-mocks/-/angular-mocks-1.8.0.tgz#9d161fe2102e47e46ff78a4226e4dfec27c060c4"
+ integrity sha512-oFKJIqR6zcsW6V9UQMuUYCXIcTy+n7oYExXxZkvU57hwJQdU1nuNZcSMQA9URiEAPyo7v3bqm0eOP3Ezi7Bigg==
-angular-mocks@1.6.9:
- version "1.6.9"
- resolved "https://registry.yarnpkg.com/angular-mocks/-/angular-mocks-1.6.9.tgz#4fed8c8293a5080e0919a7ff0dcf0f704864b7ba"
- integrity sha512-5aEwXmfd5DQvb64pOgP2W2D3ozAQSARkB6q+6NQfUJvJs9bD2YcExrUc1P4EbiIuyWag2OQM+pIKUNojVi3SBg==
+angular@1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/angular/-/angular-1.8.0.tgz#b1ec179887869215cab6dfd0df2e42caa65b1b51"
+ integrity sha512-VdaMx+Qk0Skla7B5gw77a8hzlcOakwF8mjlW13DpIWIDlfqwAbSSLfd8N/qZnzEmQF4jC4iofInd3gE7vL8ZZg==
-angular@1.6.9:
- version "1.6.9"
- resolved "https://registry.yarnpkg.com/angular/-/angular-1.6.9.tgz#bc812932e18909038412d594a5990f4bb66c0619"
- integrity sha512-6igWH2GIsxV+J38wNWCh8oyjaZsrIPIDO35twloIUyjlF2Yit6UyLAWujHP05ma/LFxTsx4NtYibRoMNBXPR1A==
+ansi-colors@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
+ integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
-ansi-escapes@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
- integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
+ integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
+ dependencies:
+ type-fest "^0.11.0"
ansi-regex@^2.0.0:
version "2.1.1"
@@ -997,11 +1621,16 @@ ansi-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
-ansi-regex@^4.0.0, ansi-regex@^4.1.0:
+ansi-regex@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+ansi-regex@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
+ integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@@ -1014,10 +1643,13 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
-any-observable@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
- integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
+ integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
+ dependencies:
+ "@types/color-name" "^1.1.1"
+ color-convert "^2.0.1"
anymatch@^2.0.0:
version "2.0.0"
@@ -1027,7 +1659,15 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-aproba@^1.0.3:
+anymatch@^3.0.3, anymatch@~3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
+ integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
@@ -1062,11 +1702,6 @@ arr-union@^3.1.0:
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
-array-equal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
- integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
-
array-find-index@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
@@ -1089,11 +1724,6 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
-arrify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
- integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
-
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
@@ -1128,10 +1758,10 @@ assign-symbols@^1.0.0:
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
-astral-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
- integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
async-each@^1.0.1:
version "1.0.3"
@@ -1143,18 +1773,6 @@ async-foreach@^0.1.3:
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
-async-limiter@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
- integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==
-
-async@^2.1.2, async@^2.4.1:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381"
- integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==
- dependencies:
- lodash "^4.17.11"
-
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -1165,17 +1783,18 @@ atob@^2.1.1:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-autoprefixer@^6.3.1:
- version "6.7.7"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
- integrity sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=
+autoprefixer@^9.7.6:
+ version "9.8.4"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.4.tgz#736f1012673a70fa3464671d78d41abd54512863"
+ integrity sha512-84aYfXlpUe45lvmS+HoAWKCkirI/sw4JK0/bTeeqgHYco3dcsOn0NqdejISjptsYwNji/21dnkDri9PsYKk89A==
dependencies:
- browserslist "^1.7.6"
- caniuse-db "^1.0.30000634"
+ browserslist "^4.12.0"
+ caniuse-lite "^1.0.30001087"
+ colorette "^1.2.0"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
- postcss "^5.2.16"
- postcss-value-parser "^3.2.3"
+ postcss "^7.0.32"
+ postcss-value-parser "^4.1.0"
aws-sign2@~0.7.0:
version "0.7.0"
@@ -1187,37 +1806,30 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
-babel-code-frame@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
- integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
- dependencies:
- chalk "^1.1.3"
- esutils "^2.0.2"
- js-tokens "^3.0.2"
-
-babel-jest@^24.6.0, babel-jest@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589"
- integrity sha512-+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw==
- dependencies:
- "@jest/transform" "^24.8.0"
- "@jest/types" "^24.8.0"
- "@types/babel__core" "^7.1.0"
- babel-plugin-istanbul "^5.1.0"
- babel-preset-jest "^24.6.0"
- chalk "^2.4.2"
- slash "^2.0.0"
+babel-jest@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.1.0.tgz#b20751185fc7569a0f135730584044d1cb934328"
+ integrity sha512-Nkqgtfe7j6PxLO6TnCQQlkMm8wdTdnIF8xrdpooHCuD5hXRzVEPbPneTJKknH5Dsv3L8ip9unHDAp48YQ54Dkg==
+ dependencies:
+ "@jest/transform" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ "@types/babel__core" "^7.1.7"
+ babel-plugin-istanbul "^6.0.0"
+ babel-preset-jest "^26.1.0"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.4"
+ slash "^3.0.0"
-babel-loader@^8.0.6:
- version "8.0.6"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb"
- integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==
+babel-loader@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3"
+ integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==
dependencies:
- find-cache-dir "^2.0.0"
- loader-utils "^1.0.2"
- mkdirp "^0.5.1"
+ find-cache-dir "^2.1.0"
+ loader-utils "^1.4.0"
+ mkdirp "^0.5.3"
pify "^4.0.1"
+ schema-utils "^2.6.5"
babel-plugin-angularjs-annotate@^0.10.0:
version "0.10.0"
@@ -1228,51 +1840,58 @@ babel-plugin-angularjs-annotate@^0.10.0:
"@babel/types" "^7.2.0"
simple-is "~0.2.0"
-babel-plugin-istanbul@^5.1.0:
- version "5.1.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba"
- integrity sha512-dySz4VJMH+dpndj0wjJ8JPs/7i1TdSPb1nRrn56/92pKOF9VKC1FMFJmMXjzlGGusnCAqujP6PBCiKq0sVA+YQ==
+babel-plugin-dynamic-import-node@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
dependencies:
- find-up "^3.0.0"
- istanbul-lib-instrument "^3.3.0"
- test-exclude "^5.2.3"
+ object.assign "^4.1.0"
-babel-plugin-jest-hoist@^24.6.0:
- version "24.6.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019"
- integrity sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w==
+babel-plugin-istanbul@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765"
+ integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==
dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@istanbuljs/load-nyc-config" "^1.0.0"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-instrument "^4.0.0"
+ test-exclude "^6.0.0"
+
+babel-plugin-jest-hoist@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.1.0.tgz#c6a774da08247a28285620a64dfadbd05dd5233a"
+ integrity sha512-qhqLVkkSlqmC83bdMhM8WW4Z9tB+JkjqAqlbbohS9sJLT5Ha2vfzuKqg5yenXrAjOPG2YC0WiXdH3a9PvB+YYw==
+ dependencies:
+ "@babel/template" "^7.3.3"
+ "@babel/types" "^7.3.3"
+ "@types/babel__core" "^7.0.0"
"@types/babel__traverse" "^7.0.6"
-babel-polyfill@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153"
- integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=
- dependencies:
- babel-runtime "^6.26.0"
- core-js "^2.5.0"
- regenerator-runtime "^0.10.5"
-
-babel-preset-jest@^24.6.0:
- version "24.6.0"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984"
- integrity sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw==
- dependencies:
- "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
- babel-plugin-jest-hoist "^24.6.0"
-
-babel-runtime@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
- integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
- dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.11.0"
-
-balanced-match@^0.4.2:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
- integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=
+babel-preset-current-node-syntax@^0.1.2:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz#b4b547acddbf963cba555ba9f9cbbb70bfd044da"
+ integrity sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==
+ dependencies:
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-bigint" "^7.8.3"
+ "@babel/plugin-syntax-class-properties" "^7.8.3"
+ "@babel/plugin-syntax-import-meta" "^7.8.3"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.8.3"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
+babel-preset-jest@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.1.0.tgz#612f714e5b457394acfd863793c564cbcdb7d1c1"
+ integrity sha512-na9qCqFksknlEj5iSdw1ehMVR06LCCTkZLGKeEtxDDdhg8xpUF09m29Kvh1pRbZ07h7AQ5ttLYUwpXL4tO6w7w==
+ dependencies:
+ babel-plugin-jest-hoist "^26.1.0"
+ babel-preset-current-node-syntax "^0.1.2"
balanced-match@^1.0.0:
version "1.0.0"
@@ -1314,6 +1933,11 @@ binary-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
+binary-extensions@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
+ integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
+
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
@@ -1321,6 +1945,11 @@ block-stream@*:
dependencies:
inherits "~2.0.0"
+bluebird@^3.5.5:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
@@ -1350,22 +1979,22 @@ braces@^2.3.1, braces@^2.3.2:
split-string "^3.0.2"
to-regex "^3.0.1"
+braces@^3.0.1, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
-browser-process-hrtime@^0.1.2:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4"
- integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==
-
-browser-resolve@^1.11.3:
- version "1.11.3"
- resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
- integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==
- dependencies:
- resolve "1.1.7"
+browser-process-hrtime@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
+ integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
@@ -1426,22 +2055,15 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
-browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
- version "1.7.7"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
- integrity sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=
+browserslist@^4.12.0, browserslist@^4.8.5:
+ version "4.12.2"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.2.tgz#76653d7e4c57caa8a1a28513e2f4e197dc11a711"
+ integrity sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==
dependencies:
- caniuse-db "^1.0.30000639"
- electron-to-chromium "^1.2.7"
-
-browserslist@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.0.tgz#5274028c26f4d933d5b1323307c1d1da5084c9ff"
- integrity sha512-Jk0YFwXBuMOOol8n6FhgkDzn3mY9PYLYGk29zybF05SbRTsMgPqmTNeQQhOghCxq5oFqAXE3u4sYddr4C0uRhg==
- dependencies:
- caniuse-lite "^1.0.30000967"
- electron-to-chromium "^1.3.133"
- node-releases "^1.1.19"
+ caniuse-lite "^1.0.30001088"
+ electron-to-chromium "^1.3.483"
+ escalade "^3.0.1"
+ node-releases "^1.1.58"
bser@^2.0.0:
version "2.0.0"
@@ -1474,6 +2096,27 @@ builtin-status-codes@^3.0.0:
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+cacache@^12.0.2:
+ version "12.0.4"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
+ integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ infer-owner "^1.0.3"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -1521,50 +2164,25 @@ camelcase-keys@^2.0.0:
camelcase "^2.0.0"
map-obj "^1.0.0"
-camelcase@^1.0.2:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
- integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
-
camelcase@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
-camelcase@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
- integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
-
-camelcase@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
- integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
-
-camelcase@^5.0.0:
+camelcase@^5.0.0, camelcase@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-caniuse-api@^1.5.2:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
- integrity sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=
- dependencies:
- browserslist "^1.3.6"
- caniuse-db "^1.0.30000529"
- lodash.memoize "^4.1.2"
- lodash.uniq "^4.5.0"
-
-caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
- version "1.0.30000971"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000971.tgz#5530250a146a8fec0fae3014c94c2aae040c6cbe"
- integrity sha512-ubSZfYXO2KMYtCVmDez82mjodeZa+mBYWAnBMAmFBPAn4C2PY4SD0eC/diYQD4Rj1K+WNdp0vr0JDtm0SQ6GNg==
+camelcase@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e"
+ integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==
-caniuse-lite@^1.0.30000967:
- version "1.0.30000971"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz#d1000e4546486a6977756547352bc96a4cfd2b13"
- integrity sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==
+caniuse-lite@^1.0.30001087, caniuse-lite@^1.0.30001088:
+ version "1.0.30001093"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001093.tgz#833e80f64b1a0455cbceed2a4a3baf19e4abd312"
+ integrity sha512-0+ODNoOjtWD5eS9aaIpf4K0gQqZfILNY4WSNuYzeT1sXni+lMrrVjc0odEobJt6wrODofDZUX8XYi/5y7+xl8g==
capture-exit@^2.0.0:
version "2.0.0"
@@ -1578,15 +2196,7 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-center-align@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
- integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
- dependencies:
- align-text "^0.1.3"
- lazy-cache "^1.0.3"
-
-chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
+chalk@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
@@ -1597,7 +2207,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1606,10 +2216,23 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chokidar@^2.0.2:
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5"
- integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==
+chalk@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+ integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+char-regex@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
+ integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+
+chokidar@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
+ integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
dependencies:
anymatch "^2.0.0"
async-each "^1.0.1"
@@ -1625,11 +2248,33 @@ chokidar@^2.0.2:
optionalDependencies:
fsevents "^1.2.7"
+chokidar@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
+ integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==
+ dependencies:
+ anymatch "~3.1.1"
+ braces "~3.0.2"
+ glob-parent "~5.1.0"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.4.0"
+ optionalDependencies:
+ fsevents "~2.1.2"
+
chownr@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
+chrome-trace-event@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
+ integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
+ dependencies:
+ tslib "^1.9.0"
+
ci-info@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
@@ -1643,13 +2288,6 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
inherits "^2.0.1"
safe-buffer "^5.0.1"
-clap@^1.0.9:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51"
- integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==
- dependencies:
- chalk "^1.1.3"
-
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -1660,87 +2298,67 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
-clean-webpack-plugin@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-2.0.2.tgz#805a19ff20d46a06125298a25eb31142ecad2166"
- integrity sha512-pi1111o4OBd9qvacbgs+NRqClfVPKVIc66B4d8kx6Ho/L+i9entQ/NpK600CsTYTPu3kWvKwwyKarsYMvC2xeA==
- dependencies:
- del "^4.0.0"
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
-cli-cursor@^2.0.0, cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
- integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+clean-webpack-plugin@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz#a99d8ec34c1c628a4541567aa7b457446460c62b"
+ integrity sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==
dependencies:
- restore-cursor "^2.0.0"
+ "@types/webpack" "^4.4.31"
+ del "^4.1.1"
-cli-truncate@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574"
- integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
dependencies:
- slice-ansi "0.0.4"
- string-width "^1.0.1"
+ restore-cursor "^3.1.0"
-cliui@^2.1.0:
+cli-truncate@2.1.0, cli-truncate@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
- integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
- dependencies:
- center-align "^0.1.1"
- right-align "^0.1.1"
- wordwrap "0.0.2"
-
-cliui@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
- integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
+ resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
+ integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wrap-ansi "^2.0.0"
+ slice-ansi "^3.0.0"
+ string-width "^4.2.0"
-cliui@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
- integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==
+cliui@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
+ integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
dependencies:
- string-width "^2.1.1"
- strip-ansi "^4.0.0"
- wrap-ansi "^2.0.0"
+ string-width "^3.1.0"
+ strip-ansi "^5.2.0"
+ wrap-ansi "^5.1.0"
-clone-deep@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713"
- integrity sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==
+cliui@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
+ integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
dependencies:
- for-own "^1.0.0"
- is-plain-object "^2.0.4"
- kind-of "^6.0.0"
- shallow-clone "^1.0.0"
-
-clone@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
- integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^6.2.0"
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
-coa@~1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd"
- integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=
- dependencies:
- q "^1.1.2"
-
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+collect-v8-coverage@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
+ integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
+
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@@ -1749,52 +2367,34 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-color-convert@^1.3.0, color-convert@^1.9.0:
+color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
dependencies:
color-name "1.1.3"
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-color-name@^1.0.0:
+color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-color-string@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
- integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=
- dependencies:
- color-name "^1.0.0"
-
-color@^0.11.0:
- version "0.11.4"
- resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
- integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=
- dependencies:
- clone "^1.0.2"
- color-convert "^1.3.0"
- color-string "^0.3.0"
-
-colormin@^1.0.5:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
- integrity sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=
- dependencies:
- color "^0.11.0"
- css-color-names "0.0.4"
- has "^1.0.1"
-
-colors@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
- integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM=
+colorette@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.0.tgz#45306add826d196e8c87236ac05d797f25982e63"
+ integrity sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw==
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.8"
@@ -1803,16 +2403,26 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
-commander@^2.14.1, commander@^2.9.0, commander@~2.20.0:
- version "2.20.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
- integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
+commander@^2.20.0:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+commander@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+ integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+compare-versions@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
+ integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
+
component-emitter@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
@@ -1823,6 +2433,16 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+concat-stream@^1.5.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
console-browserify@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
@@ -1847,36 +2467,54 @@ convert-source-map@^1.1.0, convert-source-map@^1.4.0:
dependencies:
safe-buffer "~5.1.1"
+convert-source-map@^1.6.0, convert-source-map@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
+ integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
+copy-concurrently@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
+ integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
+ dependencies:
+ aproba "^1.1.1"
+ fs-write-stream-atomic "^1.0.8"
+ iferr "^0.1.5"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.0"
+
copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-core-js-compat@^3.1.1:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.2.tgz#c29ab9722517094b98622175e2218c3b7398176d"
- integrity sha512-X0Ch5f6itrHxhg5HSJucX6nNLNAGr+jq+biBh6nPGc3YAWz2a8p/ZIZY8cUkDzSRNG54omAuu3hoEF8qZbu/6Q==
+core-js-compat@^3.6.2:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
+ integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==
dependencies:
- browserslist "^4.6.0"
- core-js-pure "3.1.2"
- semver "^6.0.0"
+ browserslist "^4.8.5"
+ semver "7.0.0"
-core-js-pure@3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.2.tgz#62fc435f35b7374b9b782013cdcb2f97e9f6dffa"
- integrity sha512-5ckIdBF26B3ldK9PM177y2ZcATP2oweam9RskHSoqfZCrJ2As6wVg8zJ1zTriFsZf6clj/N1ThDFRGaomMsh9w==
+core-js-pure@^3.0.0:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
+ integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==
-core-js@^2.4.0, core-js@^2.5.0:
- version "2.6.8"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.8.tgz#dc3a1e633a04267944e0cb850d3880f340248139"
- integrity sha512-RWlREFU74TEkdXzyl1bka66O3kYp8jeTXrvJZDzVVMH8AiHUSOFpL1yfhQJ+wHocAm1m+4971W1PPzfLuCv1vg==
+core-js@3:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
+ integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-cosmiconfig@^5.2.0:
+cosmiconfig@^5.0.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
@@ -1886,6 +2524,17 @@ cosmiconfig@^5.2.0:
js-yaml "^3.13.1"
parse-json "^4.0.0"
+cosmiconfig@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
+ integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.1.0"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.7.2"
+
create-ecdh@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
@@ -1925,16 +2574,7 @@ cross-spawn@^3.0.0:
lru-cache "^4.0.1"
which "^1.2.9"
-cross-spawn@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
- integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
- dependencies:
- lru-cache "^4.0.1"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^6.0.0:
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
@@ -1945,6 +2585,15 @@ cross-spawn@^6.0.0:
shebang-command "^1.2.0"
which "^1.2.9"
+cross-spawn@^7.0.0:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -1962,102 +2611,46 @@ crypto-browserify@^3.11.0:
randombytes "^2.0.0"
randomfill "^1.0.3"
-css-color-names@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
- integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
-
-css-loader@^0.28.4:
- version "0.28.11"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7"
- integrity sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==
- dependencies:
- babel-code-frame "^6.26.0"
- css-selector-tokenizer "^0.7.0"
- cssnano "^3.10.0"
- icss-utils "^2.1.0"
- loader-utils "^1.0.2"
- lodash.camelcase "^4.3.0"
- object-assign "^4.1.1"
- postcss "^5.0.6"
- postcss-modules-extract-imports "^1.2.0"
- postcss-modules-local-by-default "^1.2.0"
- postcss-modules-scope "^1.1.0"
- postcss-modules-values "^1.3.0"
- postcss-value-parser "^3.3.0"
- source-list-map "^2.0.0"
-
-css-selector-tokenizer@^0.7.0:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d"
- integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==
- dependencies:
- cssesc "^0.1.0"
- fastparse "^1.1.1"
- regexpu-core "^1.0.0"
-
-cssesc@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
- integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=
-
-cssnano@^3.10.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
- integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=
- dependencies:
- autoprefixer "^6.3.1"
- decamelize "^1.1.2"
- defined "^1.0.0"
- has "^1.0.1"
- object-assign "^4.0.1"
- postcss "^5.0.14"
- postcss-calc "^5.2.0"
- postcss-colormin "^2.1.8"
- postcss-convert-values "^2.3.4"
- postcss-discard-comments "^2.0.4"
- postcss-discard-duplicates "^2.0.1"
- postcss-discard-empty "^2.0.1"
- postcss-discard-overridden "^0.1.1"
- postcss-discard-unused "^2.2.1"
- postcss-filter-plugins "^2.0.0"
- postcss-merge-idents "^2.1.5"
- postcss-merge-longhand "^2.0.1"
- postcss-merge-rules "^2.0.3"
- postcss-minify-font-values "^1.0.2"
- postcss-minify-gradients "^1.0.1"
- postcss-minify-params "^1.0.4"
- postcss-minify-selectors "^2.0.4"
- postcss-normalize-charset "^1.1.0"
- postcss-normalize-url "^3.0.7"
- postcss-ordered-values "^2.1.0"
- postcss-reduce-idents "^2.2.2"
- postcss-reduce-initial "^1.0.0"
- postcss-reduce-transforms "^1.0.3"
- postcss-svgo "^2.1.1"
- postcss-unique-selectors "^2.0.2"
- postcss-value-parser "^3.2.3"
- postcss-zindex "^2.0.1"
-
-csso@~2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
- integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=
+css-loader@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645"
+ integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==
dependencies:
- clap "^1.0.9"
- source-map "^0.5.3"
+ camelcase "^5.3.1"
+ cssesc "^3.0.0"
+ icss-utils "^4.1.1"
+ loader-utils "^1.2.3"
+ normalize-path "^3.0.0"
+ postcss "^7.0.32"
+ postcss-modules-extract-imports "^2.0.0"
+ postcss-modules-local-by-default "^3.0.2"
+ postcss-modules-scope "^2.2.0"
+ postcss-modules-values "^3.0.0"
+ postcss-value-parser "^4.1.0"
+ schema-utils "^2.7.0"
+ semver "^6.3.0"
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+ integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad"
- integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==
+cssom@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
+ integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==
-cssstyle@^1.0.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077"
- integrity sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==
+cssom@~0.3.6:
+ version "0.3.8"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
+ integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+
+cssstyle@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
+ integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
dependencies:
- cssom "0.3.x"
+ cssom "~0.3.6"
currently-unhandled@^0.4.1:
version "0.4.1"
@@ -2066,12 +2659,10 @@ currently-unhandled@^0.4.1:
dependencies:
array-find-index "^1.0.1"
-d@1:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
- integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=
- dependencies:
- es5-ext "^0.10.9"
+cyclist@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
+ integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
dashdash@^1.12.0:
version "1.14.1"
@@ -2080,19 +2671,14 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
-data-urls@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
- integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==
+data-urls@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
+ integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==
dependencies:
- abab "^2.0.0"
- whatwg-mimetype "^2.2.0"
- whatwg-url "^7.0.0"
-
-date-fns@^1.27.2:
- version "1.30.1"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
- integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==
+ abab "^2.0.3"
+ whatwg-mimetype "^2.3.0"
+ whatwg-url "^8.0.0"
date-now@^0.1.4:
version "0.1.4"
@@ -2106,25 +2692,37 @@ debug@^2.2.0, debug@^2.3.3:
dependencies:
ms "2.0.0"
-debug@^3.1.0, debug@^3.2.6:
+debug@^3.2.6:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
dependencies:
ms "^2.1.1"
-debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
+debug@^4.1.0, debug@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
dependencies:
ms "^2.1.1"
-decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
+decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+decamelize@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-3.2.0.tgz#84b8e8f4f8c579f938e35e2cc7024907e0090851"
+ integrity sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw==
+ dependencies:
+ xregexp "^4.2.4"
+
+decimal.js@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231"
+ integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==
+
decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
@@ -2145,6 +2743,11 @@ deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+deepmerge@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
+ integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+
define-properties@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
@@ -2174,24 +2777,7 @@ define-property@^2.0.2:
is-descriptor "^1.0.2"
isobject "^3.0.1"
-defined@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
- integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
-
-del@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5"
- integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=
- dependencies:
- globby "^6.1.0"
- is-path-cwd "^1.0.0"
- is-path-in-cwd "^1.0.0"
- p-map "^1.1.1"
- pify "^3.0.0"
- rimraf "^2.2.8"
-
-del@^4.0.0:
+del@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==
@@ -2222,20 +2808,25 @@ des.js@^1.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
+detect-file@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
+ integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
+
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
-detect-newline@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
- integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=
+detect-newline@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
+ integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
-diff-sequences@^24.3.0:
- version "24.3.0"
- resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975"
- integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==
+diff-sequences@^26.0.0:
+ version "26.0.0"
+ resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6"
+ integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==
diffie-hellman@^5.0.0:
version "5.0.3"
@@ -2251,12 +2842,22 @@ domain-browser@^1.1.1:
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
-domexception@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
- integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==
+domexception@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
+ integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==
+ dependencies:
+ webidl-conversions "^5.0.0"
+
+duplexify@^3.4.2, duplexify@^3.6.0:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
+ integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
dependencies:
- webidl-conversions "^4.0.2"
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
ecc-jsbn@~0.1.1:
version "0.1.2"
@@ -2266,15 +2867,10 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
-electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.133:
- version "1.3.137"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.137.tgz#ba7c88024984c038a5c5c434529aabcea7b42944"
- integrity sha512-kGi32g42a8vS/WnYE7ELJyejRT7hbr3UeOOu0WeuYuQ29gCpg9Lrf6RdcTQVXSt/v0bjCfnlb/EWOOsiKpTmkw==
-
-elegant-spinner@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
- integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
+electron-to-chromium@^1.3.483:
+ version "1.3.487"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.487.tgz#8075e6ea33ee2e79a2dfb2a2467033f014017258"
+ integrity sha512-m4QS3IDShxauFfYFpnEzRCcUI55oKB9acEnHCuY/hSCZMz9Pz2KJj+UBnGHxRxS/mS1aphqOQ5wI6gc3yDZ7ew==
elliptic@^6.0.0:
version "6.4.1"
@@ -2289,11 +2885,33 @@ elliptic@^6.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
+emoji-regex@^7.0.1:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+ integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+ integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+end-of-stream@^1.0.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
end-of-stream@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
@@ -2301,17 +2919,23 @@ end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
-enhanced-resolve@^3.4.0:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
- integrity sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=
+enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz#5d43bda4a0fd447cb0ebbe71bef8deff8805ad0d"
+ integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==
dependencies:
graceful-fs "^4.1.2"
- memory-fs "^0.4.0"
- object-assign "^4.0.1"
- tapable "^0.2.7"
+ memory-fs "^0.5.0"
+ tapable "^1.0.0"
+
+enquirer@^2.3.5:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
+ integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
+ dependencies:
+ ansi-colors "^4.1.1"
-errno@^0.1.3:
+errno@^0.1.3, errno@~0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
@@ -2325,124 +2949,42 @@ error-ex@^1.2.0, error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.5.1:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
- integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
- dependencies:
- es-to-primitive "^1.2.0"
- function-bind "^1.1.1"
- has "^1.0.3"
- is-callable "^1.1.4"
- is-regex "^1.0.4"
- object-keys "^1.0.12"
-
-es-to-primitive@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
- integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
- version "0.10.50"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778"
- integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==
- dependencies:
- es6-iterator "~2.0.3"
- es6-symbol "~3.1.1"
- next-tick "^1.0.0"
-
-es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
- integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
- dependencies:
- d "1"
- es5-ext "^0.10.35"
- es6-symbol "^3.1.1"
-
-es6-map@^0.1.3:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
- integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=
- dependencies:
- d "1"
- es5-ext "~0.10.14"
- es6-iterator "~2.0.1"
- es6-set "~0.1.5"
- es6-symbol "~3.1.1"
- event-emitter "~0.3.5"
-
-es6-set@~0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
- integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=
- dependencies:
- d "1"
- es5-ext "~0.10.14"
- es6-iterator "~2.0.1"
- es6-symbol "3.1.1"
- event-emitter "~0.3.5"
-
-es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
- integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=
- dependencies:
- d "1"
- es5-ext "~0.10.14"
-
-es6-weak-map@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
- integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=
- dependencies:
- d "1"
- es5-ext "^0.10.14"
- es6-iterator "^2.0.1"
- es6-symbol "^3.1.1"
+escalade@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.1.tgz#52568a77443f6927cd0ab9c73129137533c965ed"
+ integrity sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5:
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-escodegen@^1.9.1:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510"
- integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==
+escape-string-regexp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
+ integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+
+escodegen@^1.14.1:
+ version "1.14.3"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
+ integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==
dependencies:
- esprima "^3.1.3"
+ esprima "^4.0.1"
estraverse "^4.2.0"
esutils "^2.0.2"
optionator "^0.8.1"
optionalDependencies:
source-map "~0.6.1"
-escope@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
- integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=
+eslint-scope@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
+ integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
dependencies:
- es6-map "^0.1.3"
- es6-weak-map "^2.0.1"
esrecurse "^4.1.0"
estraverse "^4.1.1"
-esprima@^2.6.0:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
- integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
-
-esprima@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
- integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
-
-esprima@^4.0.0:
+esprima@^4.0.0, esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@@ -2464,14 +3006,6 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
-event-emitter@~0.3.5:
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
- integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
- dependencies:
- d "1"
- es5-ext "~0.10.14"
-
events@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
@@ -2490,19 +3024,6 @@ exec-sh@^0.3.2:
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b"
integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==
-execa@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
- integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
- dependencies:
- cross-spawn "^5.0.1"
- get-stream "^3.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
execa@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
@@ -2516,6 +3037,21 @@ execa@^1.0.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
+execa@^4.0.0, execa@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240"
+ integrity sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==
+ dependencies:
+ cross-spawn "^7.0.0"
+ get-stream "^5.0.0"
+ human-signals "^1.1.1"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.0"
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+ strip-final-newline "^2.0.0"
+
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@@ -2534,17 +3070,24 @@ expand-brackets@^2.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-expect@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d"
- integrity sha512-/zYvP8iMDrzaaxHVa724eJBCKqSHmO0FA7EDkBiRHxg6OipmMn1fN+C8T9L9K8yr7UONkOifu6+LLH+z76CnaA==
+expand-tilde@^2.0.0, expand-tilde@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+ integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
dependencies:
- "@jest/types" "^24.8.0"
- ansi-styles "^3.2.0"
- jest-get-type "^24.8.0"
- jest-matcher-utils "^24.8.0"
- jest-message-util "^24.8.0"
- jest-regex-util "^24.3.0"
+ homedir-polyfill "^1.0.1"
+
+expect@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-26.1.0.tgz#8c62e31d0f8d5a8ebb186ee81473d15dd2fbf7c8"
+ integrity sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw==
+ dependencies:
+ "@jest/types" "^26.1.0"
+ ansi-styles "^4.0.0"
+ jest-get-type "^26.0.0"
+ jest-matcher-utils "^26.1.0"
+ jest-message-util "^26.1.0"
+ jest-regex-util "^26.0.0"
extend-shallow@^2.0.1:
version "2.0.1"
@@ -2580,16 +3123,6 @@ extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-extract-text-webpack-plugin@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7"
- integrity sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==
- dependencies:
- async "^2.4.1"
- loader-utils "^1.1.0"
- schema-utils "^0.3.0"
- webpack-sources "^1.0.1"
-
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
@@ -2600,16 +3133,16 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-fast-deep-equal@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
- integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=
-
fast-deep-equal@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
+fast-deep-equal@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
@@ -2620,11 +3153,6 @@ fast-levenshtein@~2.0.4:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-fastparse@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
- integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
-
fb-watchman@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"
@@ -2632,18 +3160,15 @@ fb-watchman@^2.0.0:
dependencies:
bser "^2.0.0"
-figures@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
- integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=
- dependencies:
- escape-string-regexp "^1.0.5"
- object-assign "^4.1.0"
+figgy-pudding@^3.5.1:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
+ integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
-figures@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
- integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+figures@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
dependencies:
escape-string-regexp "^1.0.5"
@@ -2657,7 +3182,14 @@ fill-range@^4.0.0:
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
-find-cache-dir@^2.0.0:
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+find-cache-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
@@ -2666,11 +3198,6 @@ find-cache-dir@^2.0.0:
make-dir "^2.0.0"
pkg-dir "^3.0.0"
-find-parent-dir@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54"
- integrity sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=
-
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -2679,13 +3206,6 @@ find-up@^1.0.0:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
-find-up@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
- integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
- dependencies:
- locate-path "^2.0.0"
-
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -2700,33 +3220,44 @@ find-up@^4.0.0:
dependencies:
locate-path "^5.0.0"
-flatten@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
- integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=
+find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
-fn-name@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
- integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=
+find-versions@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e"
+ integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==
+ dependencies:
+ semver-regex "^2.0.0"
+
+findup-sync@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1"
+ integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==
+ dependencies:
+ detect-file "^1.0.0"
+ is-glob "^4.0.0"
+ micromatch "^3.0.4"
+ resolve-dir "^1.0.1"
-for-in@^0.1.3:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1"
- integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=
+flush-write-stream@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
+ integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
+ dependencies:
+ inherits "^2.0.3"
+ readable-stream "^2.3.6"
-for-in@^1.0.1, for-in@^1.0.2:
+for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
-for-own@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
- integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=
- dependencies:
- for-in "^1.0.1"
-
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -2748,6 +3279,14 @@ fragment-cache@^0.2.1:
dependencies:
map-cache "^0.2.2"
+from2@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+ integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+
fs-minipass@^1.2.5:
version "1.2.6"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"
@@ -2755,6 +3294,16 @@ fs-minipass@^1.2.5:
dependencies:
minipass "^2.2.1"
+fs-write-stream-atomic@^1.0.8:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
+ integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
+ dependencies:
+ graceful-fs "^4.1.2"
+ iferr "^0.1.5"
+ imurmurhash "^0.1.4"
+ readable-stream "1 || 2"
+
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -2768,6 +3317,11 @@ fsevents@^1.2.7:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
+fsevents@^2.1.2, fsevents@~2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+
fstream@^1.0.0, fstream@^1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
@@ -2783,15 +3337,6 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-g-status@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/g-status/-/g-status-2.0.2.tgz#270fd32119e8fc9496f066fe5fe88e0a6bc78b97"
- integrity sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA==
- dependencies:
- arrify "^1.0.1"
- matcher "^1.0.0"
- simple-git "^1.85.0"
-
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -2813,31 +3358,31 @@ gaze@^1.0.0:
dependencies:
globule "^1.0.0"
-get-caller-file@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
- integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
+gensync@^1.0.0-beta.1:
+ version "1.0.0-beta.1"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
+ integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
+
+get-caller-file@^2.0.1:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
get-own-enumerable-property-symbols@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203"
integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==
+get-package-type@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
+ integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+
get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
-get-stdin@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6"
- integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==
-
-get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
- integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -2845,6 +3390,13 @@ get-stream@^4.0.0:
dependencies:
pump "^3.0.0"
+get-stream@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
+ integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
+ dependencies:
+ pump "^3.0.0"
+
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
@@ -2865,6 +3417,13 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
+glob-parent@~5.1.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
+ integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
+ dependencies:
+ is-glob "^4.0.1"
+
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1:
version "7.1.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
@@ -2877,6 +3436,54 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1:
once "^1.3.0"
path-is-absolute "^1.0.0"
+glob@^7.1.4:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+global-modules@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+ integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
+ dependencies:
+ global-prefix "^1.0.1"
+ is-windows "^1.0.1"
+ resolve-dir "^1.0.0"
+
+global-modules@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
+ integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
+ dependencies:
+ global-prefix "^3.0.0"
+
+global-prefix@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+ integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
+ dependencies:
+ expand-tilde "^2.0.2"
+ homedir-polyfill "^1.0.1"
+ ini "^1.3.4"
+ is-windows "^1.0.1"
+ which "^1.2.14"
+
+global-prefix@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
+ integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
+ dependencies:
+ ini "^1.3.5"
+ kind-of "^6.0.2"
+ which "^1.3.1"
+
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
@@ -2902,11 +3509,16 @@ globule@^1.0.0:
lodash "~4.17.10"
minimatch "~3.0.2"
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2:
+graceful-fs@^4.1.11, graceful-fs@^4.1.2:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
+graceful-fs@^4.1.15, graceful-fs@^4.2.4:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
+ integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+
growly@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
@@ -2917,23 +3529,12 @@ hammerjs@2.0.8:
resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=
-handlebars@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67"
- integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==
- dependencies:
- neo-async "^2.6.0"
- optimist "^0.6.1"
- source-map "^0.6.1"
- optionalDependencies:
- uglify-js "^3.1.4"
-
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
-har-validator@~5.1.0:
+har-validator@~5.1.0, har-validator@~5.1.3:
version "5.1.3"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
@@ -2948,21 +3549,16 @@ has-ansi@^2.0.0:
dependencies:
ansi-regex "^2.0.0"
-has-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
- integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
-
-has-flag@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
- integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
-
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
has-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
@@ -3004,13 +3600,6 @@ has-values@^1.0.0:
is-number "^3.0.0"
kind-of "^4.0.0"
-has@^1.0.1, has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
hash-base@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
@@ -3036,22 +3625,29 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
+homedir-polyfill@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
+ integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
+ dependencies:
+ parse-passwd "^1.0.0"
+
hosted-git-info@^2.1.4:
version "2.7.1"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==
-html-comment-regex@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
- integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
-
-html-encoding-sniffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
- integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==
+html-encoding-sniffer@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
+ integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==
dependencies:
- whatwg-encoding "^1.0.1"
+ whatwg-encoding "^1.0.5"
+
+html-escaper@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
+ integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
http-signature@~1.2.0:
version "1.2.0"
@@ -3067,21 +3663,26 @@ https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-husky@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/husky/-/husky-2.3.0.tgz#8b78ed24d763042df7fd899991985d65a976dd13"
- integrity sha512-A/ZQSEILoq+mQM3yC3RIBSaw1bYXdkKnyyKVSUiJl+iBjVZc5LQEXdGY1ZjrDxC4IzfRPiJ0IqzEQGCN5TQa/A==
+human-signals@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
+ integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+
+husky@^4.2.5:
+ version "4.2.5"
+ resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36"
+ integrity sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==
dependencies:
- cosmiconfig "^5.2.0"
- execa "^1.0.0"
- find-up "^3.0.0"
- get-stdin "^7.0.0"
- is-ci "^2.0.0"
- pkg-dir "^4.1.0"
- please-upgrade-node "^3.1.1"
- read-pkg "^5.1.1"
- run-node "^1.0.0"
+ chalk "^4.0.0"
+ ci-info "^2.0.0"
+ compare-versions "^3.6.0"
+ cosmiconfig "^6.0.0"
+ find-versions "^3.2.0"
+ opencollective-postinstall "^2.0.2"
+ pkg-dir "^4.2.0"
+ please-upgrade-node "^3.2.0"
slash "^3.0.0"
+ which-pm-runs "^1.0.0"
iconv-lite@0.4.24, iconv-lite@^0.4.4:
version "0.4.24"
@@ -3090,23 +3691,28 @@ iconv-lite@0.4.24, iconv-lite@^0.4.4:
dependencies:
safer-buffer ">= 2.1.2 < 3"
-icss-replace-symbols@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
- integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
-
-icss-utils@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962"
- integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=
+icss-utils@^4.0.0, icss-utils@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
+ integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==
dependencies:
- postcss "^6.0.1"
+ postcss "^7.0.14"
ieee754@^1.1.4:
version "1.1.13"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
+iferr@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
+ integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
+
+ignore-emit-webpack-plugin@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ignore-emit-webpack-plugin/-/ignore-emit-webpack-plugin-2.0.2.tgz#e06630f2a1fd259306055b19817a5f83b69b3b0e"
+ integrity sha512-mlwNY4ocAFJ+gzvIdbWdF2nPszE5CdZYJBvI38XEJnW2/qV7kA5HenzGE0XdS4nzoSqEIj268y2y4K6WTLFm8Q==
+
ignore-walk@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
@@ -3114,6 +3720,13 @@ ignore-walk@^3.0.1:
dependencies:
minimatch "^3.0.4"
+import-cwd@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
+ integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=
+ dependencies:
+ import-from "^2.1.0"
+
import-fresh@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
@@ -3122,6 +3735,21 @@ import-fresh@^2.0.0:
caller-path "^2.0.0"
resolve-from "^3.0.0"
+import-fresh@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
+ integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-from@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
+ integrity sha1-M1238qev/VOqpHHUuAId7ja387E=
+ dependencies:
+ resolve-from "^3.0.0"
+
import-local@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
@@ -3130,6 +3758,14 @@ import-local@^2.0.0:
pkg-dir "^3.0.0"
resolve-cwd "^2.0.0"
+import-local@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6"
+ integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==
+ dependencies:
+ pkg-dir "^4.2.0"
+ resolve-cwd "^3.0.0"
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -3147,20 +3783,20 @@ indent-string@^2.1.0:
dependencies:
repeating "^2.0.0"
-indent-string@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
- integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
indexes-of@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
-indexof@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
- integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
+infer-owner@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
+ integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
inflight@^1.0.4:
version "1.0.6"
@@ -3180,15 +3816,15 @@ inherits@2.0.1:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-ini@~1.3.0:
+ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
-interpret@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
- integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
+interpret@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
+ integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
@@ -3197,20 +3833,10 @@ invariant@^2.2.2, invariant@^2.2.4:
dependencies:
loose-envify "^1.0.0"
-invert-kv@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
- integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
-
-invert-kv@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
- integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
-
-is-absolute-url@^2.0.0:
+ip-regex@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
- integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
+ resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
+ integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
is-accessor-descriptor@^0.1.6:
version "0.1.6"
@@ -3238,16 +3864,18 @@ is-binary-path@^1.0.0:
dependencies:
binary-extensions "^1.0.0"
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-is-callable@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
- integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
-
is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
@@ -3267,12 +3895,7 @@ is-data-descriptor@^1.0.0:
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
dependencies:
- kind-of "^6.0.0"
-
-is-date-object@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
- integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
+ kind-of "^6.0.0"
is-descriptor@^0.1.0:
version "0.1.6"
@@ -3297,6 +3920,11 @@ is-directory@^0.3.1:
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
+is-docker@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"
+ integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==
+
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -3333,6 +3961,11 @@ is-fullwidth-code-point@^2.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
is-generator-fn@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
@@ -3345,7 +3978,7 @@ is-glob@^3.1.0:
dependencies:
is-extglob "^2.1.0"
-is-glob@^4.0.0:
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
@@ -3359,35 +3992,21 @@ is-number@^3.0.0:
dependencies:
kind-of "^3.0.2"
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
is-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
-is-observable@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
- integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==
- dependencies:
- symbol-observable "^1.1.0"
-
-is-path-cwd@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
- integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=
-
is-path-cwd@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.1.0.tgz#2e0c7e463ff5b7a0eb60852d851a6809347a124c"
integrity sha512-Sc5j3/YnM8tDeyCsVeKlm/0p95075DyLmDEIkSgQ7mXkrOX+uTCtmQFm0CYzVyJwcCCmO3k8qfJt17SxQwB5Zw==
-is-path-in-cwd@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52"
- integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==
- dependencies:
- is-path-inside "^1.0.0"
-
is-path-in-cwd@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb"
@@ -3395,13 +4014,6 @@ is-path-in-cwd@^2.0.0:
dependencies:
is-path-inside "^2.1.0"
-is-path-inside@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
- integrity sha1-jvW33lBDej/cprToZe96pVy0gDY=
- dependencies:
- path-is-inside "^1.0.1"
-
is-path-inside@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
@@ -3421,17 +4033,10 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
-is-promise@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
- integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
-
-is-regex@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
- integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
- dependencies:
- has "^1.0.1"
+is-potential-custom-element-name@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397"
+ integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c=
is-regexp@^1.0.0:
version "1.0.0"
@@ -3443,21 +4048,12 @@ is-stream@^1.1.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
-is-svg@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
- integrity sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=
- dependencies:
- html-comment-regex "^1.1.0"
-
-is-symbol@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
- integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==
- dependencies:
- has-symbols "^1.0.0"
+is-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
+ integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
-is-typedarray@~1.0.0:
+is-typedarray@^1.0.0, is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
@@ -3467,7 +4063,7 @@ is-utf8@^0.2.0:
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
-is-windows@^1.0.2:
+is-windows@^1.0.1, is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
@@ -3477,6 +4073,13 @@ is-wsl@^1.1.0:
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
+is-wsl@^2.1.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
+
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@@ -3504,413 +4107,412 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49"
- integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==
+istanbul-lib-coverage@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
+ integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
-istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630"
- integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==
- dependencies:
- "@babel/generator" "^7.4.0"
- "@babel/parser" "^7.4.3"
- "@babel/template" "^7.4.0"
- "@babel/traverse" "^7.4.3"
- "@babel/types" "^7.4.0"
- istanbul-lib-coverage "^2.0.5"
- semver "^6.0.0"
+istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
+ integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
+ dependencies:
+ "@babel/core" "^7.7.5"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-coverage "^3.0.0"
+ semver "^6.3.0"
-istanbul-lib-report@^2.0.4:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33"
- integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==
+istanbul-lib-report@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
+ integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
dependencies:
- istanbul-lib-coverage "^2.0.5"
- make-dir "^2.1.0"
- supports-color "^6.1.0"
+ istanbul-lib-coverage "^3.0.0"
+ make-dir "^3.0.0"
+ supports-color "^7.1.0"
-istanbul-lib-source-maps@^3.0.1:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8"
- integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==
+istanbul-lib-source-maps@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9"
+ integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==
dependencies:
debug "^4.1.1"
- istanbul-lib-coverage "^2.0.5"
- make-dir "^2.1.0"
- rimraf "^2.6.3"
+ istanbul-lib-coverage "^3.0.0"
source-map "^0.6.1"
-istanbul-reports@^2.1.1:
- version "2.2.6"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af"
- integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==
- dependencies:
- handlebars "^4.1.2"
-
-jest-changed-files@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b"
- integrity sha512-qgANC1Yrivsq+UrLXsvJefBKVoCsKB0Hv+mBb6NMjjZ90wwxCDmU3hsCXBya30cH+LnPYjwgcU65i6yJ5Nfuug==
- dependencies:
- "@jest/types" "^24.8.0"
- execa "^1.0.0"
- throat "^4.0.0"
-
-jest-cli@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989"
- integrity sha512-+p6J00jSMPQ116ZLlHJJvdf8wbjNbZdeSX9ptfHX06/MSNaXmKihQzx5vQcw0q2G6JsdVkUIdWbOWtSnaYs3yA==
- dependencies:
- "@jest/core" "^24.8.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- chalk "^2.0.1"
+istanbul-reports@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b"
+ integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==
+ dependencies:
+ html-escaper "^2.0.0"
+ istanbul-lib-report "^3.0.0"
+
+jest-changed-files@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.1.0.tgz#de66b0f30453bca2aff98e9400f75905da495305"
+ integrity sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw==
+ dependencies:
+ "@jest/types" "^26.1.0"
+ execa "^4.0.0"
+ throat "^5.0.0"
+
+jest-cli@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.1.0.tgz#eb9ec8a18cf3b6aa556d9deaa9e24be12b43ad87"
+ integrity sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw==
+ dependencies:
+ "@jest/core" "^26.1.0"
+ "@jest/test-result" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ chalk "^4.0.0"
exit "^0.1.2"
- import-local "^2.0.0"
+ graceful-fs "^4.2.4"
+ import-local "^3.0.2"
is-ci "^2.0.0"
- jest-config "^24.8.0"
- jest-util "^24.8.0"
- jest-validate "^24.8.0"
+ jest-config "^26.1.0"
+ jest-util "^26.1.0"
+ jest-validate "^26.1.0"
prompts "^2.0.1"
- realpath-native "^1.1.0"
- yargs "^12.0.2"
+ yargs "^15.3.1"
-jest-config@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.8.0.tgz#77db3d265a6f726294687cbbccc36f8a76ee0f4f"
- integrity sha512-Czl3Nn2uEzVGsOeaewGWoDPD8GStxCpAe0zOYs2x2l0fZAgPbCr3uwUkgNKV3LwE13VXythM946cd5rdGkkBZw==
+jest-config@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.1.0.tgz#9074f7539acc185e0113ad6d22ed589c16a37a73"
+ integrity sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw==
dependencies:
"@babel/core" "^7.1.0"
- "@jest/test-sequencer" "^24.8.0"
- "@jest/types" "^24.8.0"
- babel-jest "^24.8.0"
- chalk "^2.0.1"
+ "@jest/test-sequencer" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ babel-jest "^26.1.0"
+ chalk "^4.0.0"
+ deepmerge "^4.2.2"
glob "^7.1.1"
- jest-environment-jsdom "^24.8.0"
- jest-environment-node "^24.8.0"
- jest-get-type "^24.8.0"
- jest-jasmine2 "^24.8.0"
- jest-regex-util "^24.3.0"
- jest-resolve "^24.8.0"
- jest-util "^24.8.0"
- jest-validate "^24.8.0"
- micromatch "^3.1.10"
- pretty-format "^24.8.0"
- realpath-native "^1.1.0"
-
-jest-diff@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172"
- integrity sha512-wxetCEl49zUpJ/bvUmIFjd/o52J+yWcoc5ZyPq4/W1LUKGEhRYDIbP1KcF6t+PvqNrGAFk4/JhtxDq/Nnzs66g==
- dependencies:
- chalk "^2.0.1"
- diff-sequences "^24.3.0"
- jest-get-type "^24.8.0"
- pretty-format "^24.8.0"
-
-jest-docblock@^24.3.0:
- version "24.3.0"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd"
- integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg==
- dependencies:
- detect-newline "^2.1.0"
-
-jest-each@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775"
- integrity sha512-NrwK9gaL5+XgrgoCsd9svsoWdVkK4gnvyhcpzd6m487tXHqIdYeykgq3MKI1u4I+5Zf0tofr70at9dWJDeb+BA==
- dependencies:
- "@jest/types" "^24.8.0"
- chalk "^2.0.1"
- jest-get-type "^24.8.0"
- jest-util "^24.8.0"
- pretty-format "^24.8.0"
-
-jest-environment-jsdom@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz#300f6949a146cabe1c9357ad9e9ecf9f43f38857"
- integrity sha512-qbvgLmR7PpwjoFjM/sbuqHJt/NCkviuq9vus9NBn/76hhSidO+Z6Bn9tU8friecegbJL8gzZQEMZBQlFWDCwAQ==
- dependencies:
- "@jest/environment" "^24.8.0"
- "@jest/fake-timers" "^24.8.0"
- "@jest/types" "^24.8.0"
- jest-mock "^24.8.0"
- jest-util "^24.8.0"
- jsdom "^11.5.1"
-
-jest-environment-node@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.8.0.tgz#d3f726ba8bc53087a60e7a84ca08883a4c892231"
- integrity sha512-vIGUEScd1cdDgR6sqn2M08sJTRLQp6Dk/eIkCeO4PFHxZMOgy+uYLPMC4ix3PEfM5Au/x3uQ/5Tl0DpXXZsJ/Q==
- dependencies:
- "@jest/environment" "^24.8.0"
- "@jest/fake-timers" "^24.8.0"
- "@jest/types" "^24.8.0"
- jest-mock "^24.8.0"
- jest-util "^24.8.0"
-
-jest-get-type@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc"
- integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ==
-
-jest-haste-map@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz#51794182d877b3ddfd6e6d23920e3fe72f305800"
- integrity sha512-ZBPRGHdPt1rHajWelXdqygIDpJx8u3xOoLyUBWRW28r3tagrgoepPrzAozW7kW9HrQfhvmiv1tncsxqHJO1onQ==
- dependencies:
- "@jest/types" "^24.8.0"
- anymatch "^2.0.0"
+ graceful-fs "^4.2.4"
+ jest-environment-jsdom "^26.1.0"
+ jest-environment-node "^26.1.0"
+ jest-get-type "^26.0.0"
+ jest-jasmine2 "^26.1.0"
+ jest-regex-util "^26.0.0"
+ jest-resolve "^26.1.0"
+ jest-util "^26.1.0"
+ jest-validate "^26.1.0"
+ micromatch "^4.0.2"
+ pretty-format "^26.1.0"
+
+jest-diff@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.1.0.tgz#00a549bdc936c9691eb4dc25d1fbd78bf456abb2"
+ integrity sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==
+ dependencies:
+ chalk "^4.0.0"
+ diff-sequences "^26.0.0"
+ jest-get-type "^26.0.0"
+ pretty-format "^26.1.0"
+
+jest-docblock@^26.0.0:
+ version "26.0.0"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5"
+ integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==
+ dependencies:
+ detect-newline "^3.0.0"
+
+jest-each@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.1.0.tgz#e35449875009a22d74d1bda183b306db20f286f7"
+ integrity sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA==
+ dependencies:
+ "@jest/types" "^26.1.0"
+ chalk "^4.0.0"
+ jest-get-type "^26.0.0"
+ jest-util "^26.1.0"
+ pretty-format "^26.1.0"
+
+jest-environment-jsdom@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz#9dc7313ffe1b59761dad1fedb76e2503e5d37c5b"
+ integrity sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw==
+ dependencies:
+ "@jest/environment" "^26.1.0"
+ "@jest/fake-timers" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ jest-mock "^26.1.0"
+ jest-util "^26.1.0"
+ jsdom "^16.2.2"
+
+jest-environment-node@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.1.0.tgz#8bb387b3eefb132eab7826f9a808e4e05618960b"
+ integrity sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg==
+ dependencies:
+ "@jest/environment" "^26.1.0"
+ "@jest/fake-timers" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ jest-mock "^26.1.0"
+ jest-util "^26.1.0"
+
+jest-get-type@^26.0.0:
+ version "26.0.0"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039"
+ integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==
+
+jest-haste-map@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.1.0.tgz#ef31209be73f09b0d9445e7d213e1b53d0d1476a"
+ integrity sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA==
+ dependencies:
+ "@jest/types" "^26.1.0"
+ "@types/graceful-fs" "^4.1.2"
+ anymatch "^3.0.3"
fb-watchman "^2.0.0"
- graceful-fs "^4.1.15"
- invariant "^2.2.4"
- jest-serializer "^24.4.0"
- jest-util "^24.8.0"
- jest-worker "^24.6.0"
- micromatch "^3.1.10"
+ graceful-fs "^4.2.4"
+ jest-serializer "^26.1.0"
+ jest-util "^26.1.0"
+ jest-worker "^26.1.0"
+ micromatch "^4.0.2"
sane "^4.0.3"
walker "^1.0.7"
+ which "^2.0.2"
optionalDependencies:
- fsevents "^1.2.7"
+ fsevents "^2.1.2"
-jest-jasmine2@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz#a9c7e14c83dd77d8b15e820549ce8987cc8cd898"
- integrity sha512-cEky88npEE5LKd5jPpTdDCLvKkdyklnaRycBXL6GNmpxe41F0WN44+i7lpQKa/hcbXaQ+rc9RMaM4dsebrYong==
+jest-jasmine2@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz#4dfe349b2b2d3c6b3a27c024fd4cb57ac0ed4b6f"
+ integrity sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ==
dependencies:
"@babel/traverse" "^7.1.0"
- "@jest/environment" "^24.8.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- chalk "^2.0.1"
+ "@jest/environment" "^26.1.0"
+ "@jest/source-map" "^26.1.0"
+ "@jest/test-result" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ chalk "^4.0.0"
co "^4.6.0"
- expect "^24.8.0"
+ expect "^26.1.0"
is-generator-fn "^2.0.0"
- jest-each "^24.8.0"
- jest-matcher-utils "^24.8.0"
- jest-message-util "^24.8.0"
- jest-runtime "^24.8.0"
- jest-snapshot "^24.8.0"
- jest-util "^24.8.0"
- pretty-format "^24.8.0"
- throat "^4.0.0"
-
-jest-leak-detector@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz#c0086384e1f650c2d8348095df769f29b48e6980"
- integrity sha512-cG0yRSK8A831LN8lIHxI3AblB40uhv0z+SsQdW3GoMMVcK+sJwrIIyax5tu3eHHNJ8Fu6IMDpnLda2jhn2pD/g==
- dependencies:
- pretty-format "^24.8.0"
-
-jest-matcher-utils@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495"
- integrity sha512-lex1yASY51FvUuHgm0GOVj7DCYEouWSlIYmCW7APSqB9v8mXmKSn5+sWVF0MhuASG0bnYY106/49JU1FZNl5hw==
- dependencies:
- chalk "^2.0.1"
- jest-diff "^24.8.0"
- jest-get-type "^24.8.0"
- pretty-format "^24.8.0"
-
-jest-message-util@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b"
- integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g==
+ jest-each "^26.1.0"
+ jest-matcher-utils "^26.1.0"
+ jest-message-util "^26.1.0"
+ jest-runtime "^26.1.0"
+ jest-snapshot "^26.1.0"
+ jest-util "^26.1.0"
+ pretty-format "^26.1.0"
+ throat "^5.0.0"
+
+jest-leak-detector@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz#039c3a07ebcd8adfa984b6ac015752c35792e0a6"
+ integrity sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw==
+ dependencies:
+ jest-get-type "^26.0.0"
+ pretty-format "^26.1.0"
+
+jest-matcher-utils@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz#cf75a41bd413dda784f022de5a65a2a5c73a5c92"
+ integrity sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA==
+ dependencies:
+ chalk "^4.0.0"
+ jest-diff "^26.1.0"
+ jest-get-type "^26.0.0"
+ pretty-format "^26.1.0"
+
+jest-message-util@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.1.0.tgz#52573fbb8f5cea443c4d1747804d7a238a3e233c"
+ integrity sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g==
dependencies:
"@babel/code-frame" "^7.0.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
+ "@jest/types" "^26.1.0"
"@types/stack-utils" "^1.0.1"
- chalk "^2.0.1"
- micromatch "^3.1.10"
- slash "^2.0.0"
- stack-utils "^1.0.1"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.4"
+ micromatch "^4.0.2"
+ slash "^3.0.0"
+ stack-utils "^2.0.2"
-jest-mock@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56"
- integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A==
+jest-mock@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.1.0.tgz#80d8286da1f05a345fbad1bfd6fa49a899465d3d"
+ integrity sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw==
dependencies:
- "@jest/types" "^24.8.0"
+ "@jest/types" "^26.1.0"
jest-pnp-resolver@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a"
integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==
-jest-regex-util@^24.3.0:
- version "24.3.0"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36"
- integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg==
+jest-regex-util@^26.0.0:
+ version "26.0.0"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28"
+ integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==
-jest-resolve-dependencies@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz#19eec3241f2045d3f990dba331d0d7526acff8e0"
- integrity sha512-hyK1qfIf/krV+fSNyhyJeq3elVMhK9Eijlwy+j5jqmZ9QsxwKBiP6qukQxaHtK8k6zql/KYWwCTQ+fDGTIJauw==
+jest-resolve-dependencies@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz#1ce36472f864a5dadf7dc82fa158e1c77955691b"
+ integrity sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g==
dependencies:
- "@jest/types" "^24.8.0"
- jest-regex-util "^24.3.0"
- jest-snapshot "^24.8.0"
+ "@jest/types" "^26.1.0"
+ jest-regex-util "^26.0.0"
+ jest-snapshot "^26.1.0"
-jest-resolve@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f"
- integrity sha512-+hjSzi1PoRvnuOICoYd5V/KpIQmkAsfjFO71458hQ2Whi/yf1GDeBOFj8Gxw4LrApHsVJvn5fmjcPdmoUHaVKw==
+jest-resolve@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.1.0.tgz#a530eaa302b1f6fa0479079d1561dd69abc00e68"
+ integrity sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg==
dependencies:
- "@jest/types" "^24.8.0"
- browser-resolve "^1.11.3"
- chalk "^2.0.1"
+ "@jest/types" "^26.1.0"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.4"
jest-pnp-resolver "^1.2.1"
- realpath-native "^1.1.0"
+ jest-util "^26.1.0"
+ read-pkg-up "^7.0.1"
+ resolve "^1.17.0"
+ slash "^3.0.0"
-jest-runner@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.8.0.tgz#4f9ae07b767db27b740d7deffad0cf67ccb4c5bb"
- integrity sha512-utFqC5BaA3JmznbissSs95X1ZF+d+4WuOWwpM9+Ak356YtMhHE/GXUondZdcyAAOTBEsRGAgH/0TwLzfI9h7ow==
+jest-runner@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.1.0.tgz#457f7fc522afe46ca6db1dccf19f87f500b3288d"
+ integrity sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw==
dependencies:
- "@jest/console" "^24.7.1"
- "@jest/environment" "^24.8.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- chalk "^2.4.2"
+ "@jest/console" "^26.1.0"
+ "@jest/environment" "^26.1.0"
+ "@jest/test-result" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ chalk "^4.0.0"
exit "^0.1.2"
- graceful-fs "^4.1.15"
- jest-config "^24.8.0"
- jest-docblock "^24.3.0"
- jest-haste-map "^24.8.0"
- jest-jasmine2 "^24.8.0"
- jest-leak-detector "^24.8.0"
- jest-message-util "^24.8.0"
- jest-resolve "^24.8.0"
- jest-runtime "^24.8.0"
- jest-util "^24.8.0"
- jest-worker "^24.6.0"
+ graceful-fs "^4.2.4"
+ jest-config "^26.1.0"
+ jest-docblock "^26.0.0"
+ jest-haste-map "^26.1.0"
+ jest-jasmine2 "^26.1.0"
+ jest-leak-detector "^26.1.0"
+ jest-message-util "^26.1.0"
+ jest-resolve "^26.1.0"
+ jest-runtime "^26.1.0"
+ jest-util "^26.1.0"
+ jest-worker "^26.1.0"
source-map-support "^0.5.6"
- throat "^4.0.0"
-
-jest-runtime@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.8.0.tgz#05f94d5b05c21f6dc54e427cd2e4980923350620"
- integrity sha512-Mq0aIXhvO/3bX44ccT+czU1/57IgOMyy80oM0XR/nyD5zgBcesF84BPabZi39pJVA6UXw+fY2Q1N+4BiVUBWOA==
- dependencies:
- "@jest/console" "^24.7.1"
- "@jest/environment" "^24.8.0"
- "@jest/source-map" "^24.3.0"
- "@jest/transform" "^24.8.0"
- "@jest/types" "^24.8.0"
- "@types/yargs" "^12.0.2"
- chalk "^2.0.1"
+ throat "^5.0.0"
+
+jest-runtime@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.1.0.tgz#45a37af42115f123ed5c51f126c05502da2469cb"
+ integrity sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA==
+ dependencies:
+ "@jest/console" "^26.1.0"
+ "@jest/environment" "^26.1.0"
+ "@jest/fake-timers" "^26.1.0"
+ "@jest/globals" "^26.1.0"
+ "@jest/source-map" "^26.1.0"
+ "@jest/test-result" "^26.1.0"
+ "@jest/transform" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ "@types/yargs" "^15.0.0"
+ chalk "^4.0.0"
+ collect-v8-coverage "^1.0.0"
exit "^0.1.2"
glob "^7.1.3"
- graceful-fs "^4.1.15"
- jest-config "^24.8.0"
- jest-haste-map "^24.8.0"
- jest-message-util "^24.8.0"
- jest-mock "^24.8.0"
- jest-regex-util "^24.3.0"
- jest-resolve "^24.8.0"
- jest-snapshot "^24.8.0"
- jest-util "^24.8.0"
- jest-validate "^24.8.0"
- realpath-native "^1.1.0"
- slash "^2.0.0"
- strip-bom "^3.0.0"
- yargs "^12.0.2"
-
-jest-serializer@^24.4.0:
- version "24.4.0"
- resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3"
- integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q==
-
-jest-snapshot@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6"
- integrity sha512-5ehtWoc8oU9/cAPe6fez6QofVJLBKyqkY2+TlKTOf0VllBB/mqUNdARdcjlZrs9F1Cv+/HKoCS/BknT0+tmfPg==
- dependencies:
- "@babel/types" "^7.0.0"
- "@jest/types" "^24.8.0"
- chalk "^2.0.1"
- expect "^24.8.0"
- jest-diff "^24.8.0"
- jest-matcher-utils "^24.8.0"
- jest-message-util "^24.8.0"
- jest-resolve "^24.8.0"
- mkdirp "^0.5.1"
- natural-compare "^1.4.0"
- pretty-format "^24.8.0"
- semver "^5.5.0"
+ graceful-fs "^4.2.4"
+ jest-config "^26.1.0"
+ jest-haste-map "^26.1.0"
+ jest-message-util "^26.1.0"
+ jest-mock "^26.1.0"
+ jest-regex-util "^26.0.0"
+ jest-resolve "^26.1.0"
+ jest-snapshot "^26.1.0"
+ jest-util "^26.1.0"
+ jest-validate "^26.1.0"
+ slash "^3.0.0"
+ strip-bom "^4.0.0"
+ yargs "^15.3.1"
-jest-util@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1"
- integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA==
+jest-serializer@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.1.0.tgz#72a394531fc9b08e173dc7d297440ac610d95022"
+ integrity sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w==
dependencies:
- "@jest/console" "^24.7.1"
- "@jest/fake-timers" "^24.8.0"
- "@jest/source-map" "^24.3.0"
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- callsites "^3.0.0"
- chalk "^2.0.1"
- graceful-fs "^4.1.15"
- is-ci "^2.0.0"
- mkdirp "^0.5.1"
- slash "^2.0.0"
- source-map "^0.6.0"
+ graceful-fs "^4.2.4"
-jest-validate@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849"
- integrity sha512-+/N7VOEMW1Vzsrk3UWBDYTExTPwf68tavEPKDnJzrC6UlHtUDU/fuEdXqFoHzv9XnQ+zW6X3qMZhJ3YexfeLDA==
+jest-snapshot@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.1.0.tgz#c36ed1e0334bd7bd2fe5ad07e93a364ead7e1349"
+ integrity sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw==
dependencies:
- "@jest/types" "^24.8.0"
- camelcase "^5.0.0"
- chalk "^2.0.1"
- jest-get-type "^24.8.0"
- leven "^2.1.0"
- pretty-format "^24.8.0"
-
-jest-watcher@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4"
- integrity sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw==
- dependencies:
- "@jest/test-result" "^24.8.0"
- "@jest/types" "^24.8.0"
- "@types/yargs" "^12.0.9"
- ansi-escapes "^3.0.0"
- chalk "^2.0.1"
- jest-util "^24.8.0"
- string-length "^2.0.0"
-
-jest-worker@^24.6.0:
- version "24.6.0"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3"
- integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==
- dependencies:
- merge-stream "^1.0.1"
- supports-color "^6.1.0"
+ "@babel/types" "^7.0.0"
+ "@jest/types" "^26.1.0"
+ "@types/prettier" "^2.0.0"
+ chalk "^4.0.0"
+ expect "^26.1.0"
+ graceful-fs "^4.2.4"
+ jest-diff "^26.1.0"
+ jest-get-type "^26.0.0"
+ jest-haste-map "^26.1.0"
+ jest-matcher-utils "^26.1.0"
+ jest-message-util "^26.1.0"
+ jest-resolve "^26.1.0"
+ natural-compare "^1.4.0"
+ pretty-format "^26.1.0"
+ semver "^7.3.2"
-jest@^24.6.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081"
- integrity sha512-o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg==
+jest-util@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.1.0.tgz#80e85d4ba820decacf41a691c2042d5276e5d8d8"
+ integrity sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg==
dependencies:
- import-local "^2.0.0"
- jest-cli "^24.8.0"
-
-js-base64@^2.1.8, js-base64@^2.1.9:
+ "@jest/types" "^26.1.0"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.4"
+ is-ci "^2.0.0"
+ micromatch "^4.0.2"
+
+jest-validate@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.1.0.tgz#942c85ad3d60f78250c488a7f85d8f11a29788e7"
+ integrity sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw==
+ dependencies:
+ "@jest/types" "^26.1.0"
+ camelcase "^6.0.0"
+ chalk "^4.0.0"
+ jest-get-type "^26.0.0"
+ leven "^3.1.0"
+ pretty-format "^26.1.0"
+
+jest-watcher@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.1.0.tgz#99812a0cd931f0cb3d153180426135ab83e4d8f2"
+ integrity sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ==
+ dependencies:
+ "@jest/test-result" "^26.1.0"
+ "@jest/types" "^26.1.0"
+ ansi-escapes "^4.2.1"
+ chalk "^4.0.0"
+ jest-util "^26.1.0"
+ string-length "^4.0.1"
+
+jest-worker@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.1.0.tgz#65d5641af74e08ccd561c240e7db61284f82f33d"
+ integrity sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==
+ dependencies:
+ merge-stream "^2.0.0"
+ supports-color "^7.0.0"
+
+jest@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-26.1.0.tgz#2f3aa7bcffb9bfd025473f83bbbf46a3af026263"
+ integrity sha512-LIti8jppw5BcQvmNJe4w2g1N/3V68HUfAv9zDVm7v+VAtQulGhH0LnmmiVkbNE4M4I43Bj2fXPiBGKt26k9tHw==
+ dependencies:
+ "@jest/core" "^26.1.0"
+ import-local "^3.0.2"
+ jest-cli "^26.1.0"
+
+js-base64@^2.1.8:
version "2.5.1"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
-js-levenshtein@^1.1.3:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
- integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
-
js-snakecase@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/js-snakecase/-/js-snakecase-1.2.0.tgz#61cf6f3d2e931757a49ce05197e9acd1448192b8"
@@ -3921,11 +4523,6 @@ js-snakecase@^1.2.0:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-tokens@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
- integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
-
js-yaml@^3.13.1:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
@@ -3934,49 +4531,41 @@ js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
-js-yaml@~3.7.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
- integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=
- dependencies:
- argparse "^1.0.7"
- esprima "^2.6.0"
-
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-jsdom@^11.5.1:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"
- integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==
- dependencies:
- abab "^2.0.0"
- acorn "^5.5.3"
- acorn-globals "^4.1.0"
- array-equal "^1.0.0"
- cssom ">= 0.3.2 < 0.4.0"
- cssstyle "^1.0.0"
- data-urls "^1.0.0"
- domexception "^1.0.1"
- escodegen "^1.9.1"
- html-encoding-sniffer "^1.0.2"
- left-pad "^1.3.0"
- nwsapi "^2.0.7"
- parse5 "4.0.0"
- pn "^1.1.0"
- request "^2.87.0"
- request-promise-native "^1.0.5"
- sax "^1.2.4"
- symbol-tree "^3.2.2"
- tough-cookie "^2.3.4"
- w3c-hr-time "^1.0.1"
- webidl-conversions "^4.0.2"
- whatwg-encoding "^1.0.3"
- whatwg-mimetype "^2.1.0"
- whatwg-url "^6.4.1"
- ws "^5.2.0"
+jsdom@^16.2.2:
+ version "16.2.2"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b"
+ integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==
+ dependencies:
+ abab "^2.0.3"
+ acorn "^7.1.1"
+ acorn-globals "^6.0.0"
+ cssom "^0.4.4"
+ cssstyle "^2.2.0"
+ data-urls "^2.0.0"
+ decimal.js "^10.2.0"
+ domexception "^2.0.1"
+ escodegen "^1.14.1"
+ html-encoding-sniffer "^2.0.1"
+ is-potential-custom-element-name "^1.0.0"
+ nwsapi "^2.2.0"
+ parse5 "5.1.1"
+ request "^2.88.2"
+ request-promise-native "^1.0.8"
+ saxes "^5.0.0"
+ symbol-tree "^3.2.4"
+ tough-cookie "^3.0.1"
+ w3c-hr-time "^1.0.2"
+ w3c-xmlserializer "^2.0.0"
+ webidl-conversions "^6.0.0"
+ whatwg-encoding "^1.0.5"
+ whatwg-mimetype "^2.3.0"
+ whatwg-url "^8.0.0"
+ ws "^7.2.3"
xml-name-validator "^3.0.0"
jsesc@^2.5.1:
@@ -3989,21 +4578,11 @@ jsesc@~0.5.0:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
-json-loader@^0.5.4:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
- integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==
-
-json-parse-better-errors@^1.0.1:
+json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-json-schema-traverse@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
- integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=
-
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -4019,11 +4598,6 @@ json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-json5@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
- integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
-
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -4038,6 +4612,13 @@ json5@^2.1.0:
dependencies:
minimist "^1.2.0"
+json5@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
+ integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+ dependencies:
+ minimist "^1.2.5"
+
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -4077,34 +4658,22 @@ kleur@^3.0.2:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-lazy-cache@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
- integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
+klona@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/klona/-/klona-1.1.1.tgz#8b1e93808ef602a0cc4fb438ba72eb00594e9802"
+ integrity sha512-o/QDZouW8bt6cejtMQhw3qyqi4aTlrB7sbqzQ8+PdI/qJ3WMbmSOA//4ClIevCQp0DPUU9l1pxGRcGMkkxb8TA==
-lcid@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
- integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
- dependencies:
- invert-kv "^1.0.0"
+leven@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+ integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-lcid@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
- integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==
+levenary@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
+ integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==
dependencies:
- invert-kv "^2.0.0"
-
-left-pad@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
- integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==
-
-leven@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
- integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA=
+ leven "^3.1.0"
levn@~0.3.0:
version "0.3.0"
@@ -4114,80 +4683,45 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
-lint-staged@^8.1.7:
- version "8.1.7"
- resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.1.7.tgz#a8988bc83bdffa97d04adb09dbc0b1f3a58fa6fc"
- integrity sha512-egT0goFhIFoOGk6rasPngTFh2qDqxZddM0PwI58oi66RxCDcn5uDwxmiasWIF0qGnchHSYVJ8HPRD5LrFo7TKA==
- dependencies:
- chalk "^2.3.1"
- commander "^2.14.1"
- cosmiconfig "^5.2.0"
- debug "^3.1.0"
+lines-and-columns@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+
+lint-staged@^10.2.11:
+ version "10.2.11"
+ resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720"
+ integrity sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA==
+ dependencies:
+ chalk "^4.0.0"
+ cli-truncate "2.1.0"
+ commander "^5.1.0"
+ cosmiconfig "^6.0.0"
+ debug "^4.1.1"
dedent "^0.7.0"
- del "^3.0.0"
- execa "^1.0.0"
- find-parent-dir "^0.3.0"
- g-status "^2.0.2"
- is-glob "^4.0.0"
- is-windows "^1.0.2"
- listr "^0.14.2"
- listr-update-renderer "^0.5.0"
- lodash "^4.17.11"
- log-symbols "^2.2.0"
- micromatch "^3.1.8"
- npm-which "^3.0.1"
- p-map "^1.1.1"
- path-is-inside "^1.0.2"
- pify "^3.0.0"
- please-upgrade-node "^3.0.2"
- staged-git-files "1.1.2"
- string-argv "^0.0.2"
- stringify-object "^3.2.2"
- yup "^0.27.0"
-
-listr-silent-renderer@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"
- integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=
-
-listr-update-renderer@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2"
- integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==
- dependencies:
- chalk "^1.1.3"
- cli-truncate "^0.2.1"
- elegant-spinner "^1.0.1"
- figures "^1.7.0"
- indent-string "^3.0.0"
- log-symbols "^1.0.2"
- log-update "^2.3.0"
- strip-ansi "^3.0.1"
-
-listr-verbose-renderer@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db"
- integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==
- dependencies:
- chalk "^2.4.1"
- cli-cursor "^2.1.0"
- date-fns "^1.27.2"
- figures "^2.0.0"
-
-listr@^0.14.2:
- version "0.14.3"
- resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586"
- integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==
- dependencies:
- "@samverschueren/stream-to-observable" "^0.3.0"
- is-observable "^1.1.0"
- is-promise "^2.1.0"
- is-stream "^1.1.0"
- listr-silent-renderer "^1.1.1"
- listr-update-renderer "^0.5.0"
- listr-verbose-renderer "^0.5.0"
- p-map "^2.0.0"
- rxjs "^6.3.3"
+ enquirer "^2.3.5"
+ execa "^4.0.1"
+ listr2 "^2.1.0"
+ log-symbols "^4.0.0"
+ micromatch "^4.0.2"
+ normalize-path "^3.0.0"
+ please-upgrade-node "^3.2.0"
+ string-argv "0.3.1"
+ stringify-object "^3.3.0"
+
+listr2@^2.1.0:
+ version "2.1.9"
+ resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.1.9.tgz#ec4ba417831197f71f63d716ff8869b292be096b"
+ integrity sha512-29IJuXMIDV6GYAW3SGfRl56EInP2Hr7gk4GNUPjUFkSq6jpKHqr5OpH3z8r6yj0XvHBIkhFSE14ytFoBLBfCLA==
+ dependencies:
+ chalk "^4.0.0"
+ cli-truncate "^2.1.0"
+ figures "^3.2.0"
+ indent-string "^4.0.0"
+ log-update "^4.0.0"
+ p-map "^4.0.0"
+ rxjs "^6.5.5"
+ through "^2.3.8"
load-json-file@^1.0.0:
version "1.1.0"
@@ -4200,32 +4734,12 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
-load-json-file@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
- integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
- strip-bom "^3.0.0"
-
-load-json-file@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
- integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^4.0.0"
- pify "^3.0.0"
- strip-bom "^3.0.0"
-
-loader-runner@^2.3.0:
+loader-runner@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0:
+loader-utils@^1.1.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
@@ -4234,13 +4748,23 @@ loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0:
emojis-list "^2.0.0"
json5 "^1.0.1"
-locate-path@^2.0.0:
+loader-utils@^1.2.3, loader-utils@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
+ integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^1.0.1"
+
+loader-utils@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
- integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
+ integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
dependencies:
- p-locate "^2.0.0"
- path-exists "^3.0.0"
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
locate-path@^3.0.0:
version "3.0.0"
@@ -4257,63 +4781,37 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
-lodash.camelcase@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
- integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
-
-lodash.memoize@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
- integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
-
lodash.sortby@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
-lodash.tail@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
- integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=
-
-lodash.uniq@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
- integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-
lodash@^4.0.0, lodash@^4.17.11, lodash@~4.17.10:
version "4.17.14"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba"
integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==
-log-symbols@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
- integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=
- dependencies:
- chalk "^1.0.0"
+lodash@^4.17.13, lodash@^4.17.15:
+ version "4.17.15"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+ integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
-log-symbols@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
- integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
+log-symbols@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
+ integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
dependencies:
- chalk "^2.0.1"
+ chalk "^4.0.0"
-log-update@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708"
- integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg=
+log-update@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
+ integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
dependencies:
- ansi-escapes "^3.0.0"
- cli-cursor "^2.0.0"
- wrap-ansi "^3.0.1"
-
-longest@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
- integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
+ ansi-escapes "^4.3.0"
+ cli-cursor "^3.1.0"
+ slice-ansi "^4.0.0"
+ wrap-ansi "^6.2.0"
loose-envify@^1.0.0:
version "1.4.0"
@@ -4338,7 +4836,14 @@ lru-cache@^4.0.1:
pseudomap "^1.0.2"
yallist "^2.1.2"
-make-dir@^2.0.0, make-dir@^2.1.0:
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+make-dir@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
@@ -4346,6 +4851,13 @@ make-dir@^2.0.0, make-dir@^2.1.0:
pify "^4.0.1"
semver "^5.6.0"
+make-dir@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
+
makeerror@1.0.x:
version "1.0.11"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -4353,13 +4865,6 @@ makeerror@1.0.x:
dependencies:
tmpl "1.0.x"
-map-age-cleaner@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
- integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
- dependencies:
- p-defer "^1.0.0"
-
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
@@ -4377,18 +4882,6 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
-matcher@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/matcher/-/matcher-1.1.1.tgz#51d8301e138f840982b338b116bb0c09af62c1c2"
- integrity sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==
- dependencies:
- escape-string-regexp "^1.0.4"
-
-math-expression-evaluator@^1.2.14:
- version "1.2.17"
- resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
- integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw=
-
md5.js@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
@@ -4398,23 +4891,7 @@ md5.js@^1.3.4:
inherits "^2.0.1"
safe-buffer "^5.1.2"
-mem@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
- integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=
- dependencies:
- mimic-fn "^1.0.0"
-
-mem@^4.0.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
- integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
- dependencies:
- map-age-cleaner "^0.1.1"
- mimic-fn "^2.0.0"
- p-is-promise "^2.0.0"
-
-memory-fs@^0.4.0, memory-fs@~0.4.1:
+memory-fs@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
@@ -4422,6 +4899,14 @@ memory-fs@^0.4.0, memory-fs@~0.4.1:
errno "^0.1.3"
readable-stream "^2.0.1"
+memory-fs@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
+ integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
meow@^3.7.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
@@ -4438,14 +4923,12 @@ meow@^3.7.0:
redent "^1.0.0"
trim-newlines "^1.0.0"
-merge-stream@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
- integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=
- dependencies:
- readable-stream "^2.0.1"
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
+micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
@@ -4464,6 +4947,14 @@ micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
snapdragon "^0.8.1"
to-regex "^3.0.2"
+micromatch@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
+ integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.0.5"
+
miller-rabin@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
@@ -4484,16 +4975,21 @@ mime-types@^2.1.12, mime-types@~2.1.19:
dependencies:
mime-db "1.40.0"
-mimic-fn@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
- integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-
-mimic-fn@^2.0.0:
+mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+mini-css-extract-plugin@^0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e"
+ integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==
+ dependencies:
+ loader-utils "^1.1.0"
+ normalize-url "1.9.1"
+ schema-utils "^1.0.0"
+ webpack-sources "^1.1.0"
+
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -4521,10 +5017,10 @@ minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
-minimist@~0.0.1:
- version "0.0.10"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
- integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
+minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
minipass@^2.2.1, minipass@^2.3.4:
version "2.3.5"
@@ -4541,29 +5037,56 @@ minizlib@^1.1.1:
dependencies:
minipass "^2.2.1"
+mississippi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
+ integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
+ dependencies:
+ concat-stream "^1.5.0"
+ duplexify "^3.4.2"
+ end-of-stream "^1.1.0"
+ flush-write-stream "^1.0.0"
+ from2 "^2.1.0"
+ parallel-transform "^1.1.0"
+ pump "^3.0.0"
+ pumpify "^1.3.3"
+ stream-each "^1.1.0"
+ through2 "^2.0.0"
+
mixin-deep@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
- integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
dependencies:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mixin-object@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
- integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=
- dependencies:
- for-in "^0.1.3"
- is-extendable "^0.1.1"
-
-"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
+mkdirp@^0.5.3:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+ dependencies:
+ minimist "^1.2.5"
+
+move-concurrently@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
+ integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
+ dependencies:
+ aproba "^1.1.1"
+ copy-concurrently "^1.0.0"
+ fs-write-stream-atomic "^1.0.8"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.3"
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -4610,16 +5133,11 @@ needle@^2.2.1:
iconv-lite "^0.4.4"
sax "^1.2.4"
-neo-async@^2.5.0, neo-async@^2.6.0:
+neo-async@^2.5.0, neo-async@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
-next-tick@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
- integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
-
ngmodal@ucfcdl/ngModal#v1.2.2:
version "1.2.2"
resolved "https://codeload.github.com/ucfcdl/ngModal/tar.gz/6abad982bdb8f258ffcdc20316a907c2292399d2"
@@ -4652,10 +5170,10 @@ node-int64@^0.4.0:
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
-node-libs-browser@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77"
- integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==
+node-libs-browser@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
+ integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
dependencies:
assert "^1.1.1"
browserify-zlib "^0.2.0"
@@ -4667,7 +5185,7 @@ node-libs-browser@^2.0.0:
events "^3.0.0"
https-browserify "^1.0.0"
os-browserify "^0.3.0"
- path-browserify "0.0.0"
+ path-browserify "0.0.1"
process "^0.11.10"
punycode "^1.2.4"
querystring-es3 "^0.2.0"
@@ -4679,23 +5197,24 @@ node-libs-browser@^2.0.0:
tty-browserify "0.0.0"
url "^0.11.0"
util "^0.11.0"
- vm-browserify "0.0.4"
+ vm-browserify "^1.0.1"
node-modules-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
-node-notifier@^5.2.1:
- version "5.4.0"
- resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a"
- integrity sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==
+node-notifier@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.1.tgz#a355e33e6bebacef9bf8562689aed0f4230ca6f9"
+ integrity sha512-VkzhierE7DBmQEElhTGJIoiZa1oqRijOtgOlsXg32KrJRXsPy0NXFBqWGW/wTswnJlDCs5viRYaqWguqzsKcmg==
dependencies:
growly "^1.3.0"
- is-wsl "^1.1.0"
- semver "^5.5.0"
+ is-wsl "^2.1.1"
+ semver "^7.2.1"
shellwords "^0.1.1"
- which "^1.3.0"
+ uuid "^7.0.3"
+ which "^2.0.2"
node-pre-gyp@^0.12.0:
version "0.12.0"
@@ -4713,17 +5232,15 @@ node-pre-gyp@^0.12.0:
semver "^5.3.0"
tar "^4"
-node-releases@^1.1.19:
- version "1.1.21"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.21.tgz#46c86f9adaceae4d63c75d3c2f2e6eee618e55f3"
- integrity sha512-TwnURTCjc8a+ElJUjmDqU6+12jhli1Q61xOQmdZ7ECZVBZuQpN/1UnembiIHDM1wCcfLvh5wrWXUF5H6ufX64Q==
- dependencies:
- semver "^5.3.0"
+node-releases@^1.1.58:
+ version "1.1.58"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz#8ee20eef30fa60e52755fcc0942def5a734fe935"
+ integrity sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==
-node-sass@^4.12.0:
- version "4.12.0"
- resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017"
- integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==
+node-sass@^4.14.1:
+ version "4.14.1"
+ resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5"
+ integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==
dependencies:
async-foreach "^0.1.3"
chalk "^1.1.1"
@@ -4732,14 +5249,14 @@ node-sass@^4.12.0:
get-stdin "^4.0.1"
glob "^7.0.3"
in-publish "^2.0.0"
- lodash "^4.17.11"
+ lodash "^4.17.15"
meow "^3.7.0"
mkdirp "^0.5.1"
nan "^2.13.2"
node-gyp "^3.8.0"
npmlog "^4.0.0"
request "^2.88.0"
- sass-graph "^2.2.4"
+ sass-graph "2.2.5"
stdout-stream "^1.4.0"
"true-case-path" "^1.0.2"
@@ -4775,7 +5292,7 @@ normalize-path@^2.1.1:
dependencies:
remove-trailing-separator "^1.0.1"
-normalize-path@^3.0.0:
+normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
@@ -4785,7 +5302,7 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
-normalize-url@^1.4.0:
+normalize-url@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
@@ -4808,13 +5325,6 @@ npm-packlist@^1.1.6:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
-npm-path@^2.0.2:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64"
- integrity sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==
- dependencies:
- which "^1.2.10"
-
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
@@ -4822,14 +5332,12 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-npm-which@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa"
- integrity sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=
+npm-run-path@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
dependencies:
- commander "^2.9.0"
- npm-path "^2.0.2"
- which "^1.2.10"
+ path-key "^3.0.0"
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
version "4.1.2"
@@ -4851,10 +5359,10 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-nwsapi@^2.0.7:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f"
- integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==
+nwsapi@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
+ integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
oauth-sign@~0.9.0:
version "0.9.0"
@@ -4875,7 +5383,7 @@ object-copy@^0.1.0:
define-property "^0.2.5"
kind-of "^3.0.3"
-object-keys@^1.0.12:
+object-keys@^1.0.11, object-keys@^1.0.12:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
@@ -4887,13 +5395,15 @@ object-visit@^1.0.0:
dependencies:
isobject "^3.0.0"
-object.getownpropertydescriptors@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
- integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=
+object.assign@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
+ integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
dependencies:
define-properties "^1.1.2"
- es-abstract "^1.5.1"
+ function-bind "^1.1.1"
+ has-symbols "^1.0.0"
+ object-keys "^1.0.11"
object.pick@^1.3.0:
version "1.3.0"
@@ -4909,20 +5419,17 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
- integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+onetime@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
+ integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
dependencies:
- mimic-fn "^1.0.0"
+ mimic-fn "^2.1.0"
-optimist@^0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
- integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY=
- dependencies:
- minimist "~0.0.1"
- wordwrap "~0.0.2"
+opencollective-postinstall@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
+ integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
optionator@^0.8.1:
version "0.8.2"
@@ -4941,35 +5448,10 @@ os-browserify@^0.3.0:
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
-os-homedir@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
- integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-
-os-locale@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
- integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
- dependencies:
- lcid "^1.0.0"
-
-os-locale@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
- integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==
- dependencies:
- execa "^0.7.0"
- lcid "^1.0.0"
- mem "^1.1.0"
-
-os-locale@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
- integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
- dependencies:
- execa "^1.0.0"
- lcid "^2.0.0"
- mem "^4.0.0"
+os-homedir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
os-tmpdir@^1.0.0:
version "1.0.2"
@@ -4984,35 +5466,16 @@ osenv@0, osenv@^0.1.4:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
-p-defer@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
- integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=
-
-p-each-series@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71"
- integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=
- dependencies:
- p-reduce "^1.0.0"
+p-each-series@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48"
+ integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
-p-is-promise@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
- integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
-
-p-limit@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
- integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
- dependencies:
- p-try "^1.0.0"
-
p-limit@^2.0.0, p-limit@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
@@ -5020,13 +5483,6 @@ p-limit@^2.0.0, p-limit@^2.2.0:
dependencies:
p-try "^2.0.0"
-p-locate@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
- integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
- dependencies:
- p-limit "^1.1.0"
-
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@@ -5041,25 +5497,17 @@ p-locate@^4.1.0:
dependencies:
p-limit "^2.2.0"
-p-map@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
- integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==
-
p-map@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
-p-reduce@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"
- integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=
-
-p-try@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
- integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+p-map@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+ integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+ dependencies:
+ aggregate-error "^3.0.0"
p-try@^2.0.0:
version "2.2.0"
@@ -5071,6 +5519,22 @@ pako@~1.0.5:
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==
+parallel-transform@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
+ integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
+ dependencies:
+ cyclist "^1.0.1"
+ inherits "^2.0.3"
+ readable-stream "^2.1.5"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
parse-asn1@^5.0.0:
version "5.1.4"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
@@ -5098,20 +5562,35 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
-parse5@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
- integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
+parse-json@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f"
+ integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+ lines-and-columns "^1.1.6"
+
+parse-passwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+ integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
+
+parse5@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
+ integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-path-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
- integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=
+path-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
+ integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
path-dirname@^1.0.0:
version "1.0.2"
@@ -5130,12 +5609,17 @@ path-exists@^3.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-path-is-inside@^1.0.1, path-is-inside@^1.0.2:
+path-is-inside@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
@@ -5145,6 +5629,11 @@ path-key@^2.0.0, path-key@^2.0.1:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
path-parse@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
@@ -5159,19 +5648,10 @@ path-type@^1.0.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
-path-type@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
- integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
- dependencies:
- pify "^2.0.0"
-
-path-type@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
- integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
- dependencies:
- pify "^3.0.0"
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
pbkdf2@^3.0.3:
version "3.0.17"
@@ -5189,16 +5669,16 @@ performance-now@^2.1.0:
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
+ integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
-pify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
- integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
-
pify@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
@@ -5230,308 +5710,98 @@ pkg-dir@^3.0.0:
dependencies:
find-up "^3.0.0"
-pkg-dir@^4.1.0:
+pkg-dir@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
dependencies:
find-up "^4.0.0"
-please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac"
- integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==
+please-upgrade-node@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
+ integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
dependencies:
semver-compare "^1.0.0"
-pn@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
- integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
-
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
-postcss-calc@^5.2.0:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
- integrity sha1-d7rnypKK2FcW4v2kLyYb98HWW14=
- dependencies:
- postcss "^5.0.2"
- postcss-message-helpers "^2.0.0"
- reduce-css-calc "^1.2.6"
-
-postcss-colormin@^2.1.8:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
- integrity sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=
- dependencies:
- colormin "^1.0.5"
- postcss "^5.0.13"
- postcss-value-parser "^3.2.3"
-
-postcss-convert-values@^2.3.4:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
- integrity sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=
- dependencies:
- postcss "^5.0.11"
- postcss-value-parser "^3.1.2"
-
-postcss-discard-comments@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
- integrity sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=
- dependencies:
- postcss "^5.0.14"
-
-postcss-discard-duplicates@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
- integrity sha1-uavye4isGIFYpesSq8riAmO5GTI=
- dependencies:
- postcss "^5.0.4"
-
-postcss-discard-empty@^2.0.1:
+postcss-load-config@^2.0.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
- integrity sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=
- dependencies:
- postcss "^5.0.14"
-
-postcss-discard-overridden@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
- integrity sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=
- dependencies:
- postcss "^5.0.16"
-
-postcss-discard-unused@^2.2.1:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
- integrity sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=
- dependencies:
- postcss "^5.0.14"
- uniqs "^2.0.0"
-
-postcss-filter-plugins@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec"
- integrity sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==
- dependencies:
- postcss "^5.0.4"
-
-postcss-merge-idents@^2.1.5:
- version "2.1.7"
- resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
- integrity sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=
- dependencies:
- has "^1.0.1"
- postcss "^5.0.10"
- postcss-value-parser "^3.1.1"
-
-postcss-merge-longhand@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
- integrity sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=
+ resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003"
+ integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==
dependencies:
- postcss "^5.0.4"
+ cosmiconfig "^5.0.0"
+ import-cwd "^2.0.0"
-postcss-merge-rules@^2.0.3:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
- integrity sha1-0d9d+qexrMO+VT8OnhDofGG19yE=
+postcss-loader@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
+ integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
dependencies:
- browserslist "^1.5.2"
- caniuse-api "^1.5.2"
- postcss "^5.0.4"
- postcss-selector-parser "^2.2.2"
- vendors "^1.0.0"
+ loader-utils "^1.1.0"
+ postcss "^7.0.0"
+ postcss-load-config "^2.0.0"
+ schema-utils "^1.0.0"
-postcss-message-helpers@^2.0.0:
+postcss-modules-extract-imports@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
- integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=
-
-postcss-minify-font-values@^1.0.2:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
- integrity sha1-S1jttWZB66fIR0qzUmyv17vey2k=
- dependencies:
- object-assign "^4.0.1"
- postcss "^5.0.4"
- postcss-value-parser "^3.0.2"
-
-postcss-minify-gradients@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
- integrity sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=
- dependencies:
- postcss "^5.0.12"
- postcss-value-parser "^3.3.0"
-
-postcss-minify-params@^1.0.4:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
- integrity sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=
- dependencies:
- alphanum-sort "^1.0.1"
- postcss "^5.0.2"
- postcss-value-parser "^3.0.2"
- uniqs "^2.0.0"
-
-postcss-minify-selectors@^2.0.4:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
- integrity sha1-ssapjAByz5G5MtGkllCBFDEXNb8=
- dependencies:
- alphanum-sort "^1.0.2"
- has "^1.0.1"
- postcss "^5.0.14"
- postcss-selector-parser "^2.0.0"
-
-postcss-modules-extract-imports@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a"
- integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==
- dependencies:
- postcss "^6.0.1"
-
-postcss-modules-local-by-default@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
- integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=
- dependencies:
- css-selector-tokenizer "^0.7.0"
- postcss "^6.0.1"
-
-postcss-modules-scope@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
- integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A=
- dependencies:
- css-selector-tokenizer "^0.7.0"
- postcss "^6.0.1"
-
-postcss-modules-values@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
- integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=
- dependencies:
- icss-replace-symbols "^1.1.0"
- postcss "^6.0.1"
-
-postcss-normalize-charset@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
- integrity sha1-757nEhLX/nWceO0WL2HtYrXLk/E=
- dependencies:
- postcss "^5.0.5"
-
-postcss-normalize-url@^3.0.7:
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
- integrity sha1-EI90s/L82viRov+j6kWSJ5/HgiI=
- dependencies:
- is-absolute-url "^2.0.0"
- normalize-url "^1.4.0"
- postcss "^5.0.14"
- postcss-value-parser "^3.2.3"
-
-postcss-ordered-values@^2.1.0:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
- integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
+ integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==
dependencies:
- postcss "^5.0.4"
- postcss-value-parser "^3.0.1"
+ postcss "^7.0.5"
-postcss-reduce-idents@^2.2.2:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
- integrity sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=
+postcss-modules-local-by-default@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915"
+ integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==
dependencies:
- postcss "^5.0.4"
- postcss-value-parser "^3.0.2"
+ icss-utils "^4.1.1"
+ postcss "^7.0.16"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.0.0"
-postcss-reduce-initial@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
- integrity sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=
+postcss-modules-scope@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
+ integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
dependencies:
- postcss "^5.0.4"
+ postcss "^7.0.6"
+ postcss-selector-parser "^6.0.0"
-postcss-reduce-transforms@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
- integrity sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=
+postcss-modules-values@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10"
+ integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==
dependencies:
- has "^1.0.1"
- postcss "^5.0.8"
- postcss-value-parser "^3.0.1"
+ icss-utils "^4.0.0"
+ postcss "^7.0.6"
-postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
- integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=
+postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
+ integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==
dependencies:
- flatten "^1.0.2"
+ cssesc "^3.0.0"
indexes-of "^1.0.1"
uniq "^1.0.1"
-postcss-svgo@^2.1.1:
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
- integrity sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=
- dependencies:
- is-svg "^2.0.0"
- postcss "^5.0.14"
- postcss-value-parser "^3.2.3"
- svgo "^0.7.0"
-
-postcss-unique-selectors@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
- integrity sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=
- dependencies:
- alphanum-sort "^1.0.1"
- postcss "^5.0.4"
- uniqs "^2.0.0"
-
-postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
- integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
-
-postcss-zindex@^2.0.1:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
- integrity sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=
- dependencies:
- has "^1.0.1"
- postcss "^5.0.4"
- uniqs "^2.0.0"
-
-postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16:
- version "5.2.18"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
- integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
- dependencies:
- chalk "^1.1.3"
- js-base64 "^2.1.9"
- source-map "^0.5.6"
- supports-color "^3.2.3"
+postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
+ integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
-postcss@^6.0.1:
- version "6.0.23"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
- integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
+postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
+ version "7.0.32"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d"
+ integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==
dependencies:
- chalk "^2.4.1"
+ chalk "^2.4.2"
source-map "^0.6.1"
- supports-color "^5.4.0"
+ supports-color "^6.1.0"
prelude-ls@~1.1.2:
version "1.1.2"
@@ -5543,25 +5813,20 @@ prepend-http@^1.0.0:
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
-prettier@^1.11.1:
- version "1.17.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.17.1.tgz#ed64b4e93e370cb8a25b9ef7fef3e4fd1c0995db"
- integrity sha512-TzGRNvuUSmPgwivDqkZ9tM/qTGW9hqDKWOE9YHiyQdixlKbv7kvEqsmDPrcHJTKwthU774TQwZXVtaQ/mMsvjg==
+prettier@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
+ integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
-pretty-format@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2"
- integrity sha512-P952T7dkrDEplsR+TuY7q3VXDae5Sr7zmQb12JU/NDQa/3CH7/QW0yvqLcGN6jL+zQFKaoJcPc+yJxMTGmosqw==
+pretty-format@^26.1.0:
+ version "26.1.0"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.1.0.tgz#272b9cd1f1a924ab5d443dc224899d7a65cb96ec"
+ integrity sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==
dependencies:
- "@jest/types" "^24.8.0"
- ansi-regex "^4.0.0"
- ansi-styles "^3.2.0"
- react-is "^16.8.4"
-
-private@^0.1.6:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
- integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
+ "@jest/types" "^26.1.0"
+ ansi-regex "^5.0.0"
+ ansi-styles "^4.0.0"
+ react-is "^16.12.0"
process-nextick-args@~2.0.0:
version "2.0.0"
@@ -5573,6 +5838,11 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+promise-inflight@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
+ integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
+
prompts@^2.0.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db"
@@ -5581,11 +5851,6 @@ prompts@^2.0.1:
kleur "^3.0.2"
sisteransi "^1.0.0"
-property-expr@^1.5.0:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f"
- integrity sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==
-
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
@@ -5613,6 +5878,14 @@ public-encrypt@^4.0.0:
randombytes "^2.0.1"
safe-buffer "^5.1.2"
+pump@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
+ integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
pump@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
@@ -5621,6 +5894,15 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"
+pumpify@^1.3.3:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
+ integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
+ dependencies:
+ duplexify "^3.6.0"
+ inherits "^2.0.3"
+ pump "^2.0.0"
+
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
@@ -5636,11 +5918,6 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-q@^1.1.2:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
- integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
@@ -5664,7 +5941,7 @@ querystring@0.2.0:
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
@@ -5689,10 +5966,10 @@ rc@^1.2.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
-react-is@^16.8.4:
- version "16.8.6"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
- integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
+react-is@^16.12.0:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
read-pkg-up@^1.0.1:
version "1.0.1"
@@ -5702,21 +5979,14 @@ read-pkg-up@^1.0.1:
find-up "^1.0.0"
read-pkg "^1.0.0"
-read-pkg-up@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
- integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
- dependencies:
- find-up "^2.0.0"
- read-pkg "^2.0.0"
-
-read-pkg-up@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
- integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==
+read-pkg-up@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
+ integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
dependencies:
- find-up "^3.0.0"
- read-pkg "^3.0.0"
+ find-up "^4.1.0"
+ read-pkg "^5.2.0"
+ type-fest "^0.8.1"
read-pkg@^1.0.0:
version "1.1.0"
@@ -5727,33 +5997,28 @@ read-pkg@^1.0.0:
normalize-package-data "^2.3.2"
path-type "^1.0.0"
-read-pkg@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
- integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
- dependencies:
- load-json-file "^2.0.0"
- normalize-package-data "^2.3.2"
- path-type "^2.0.0"
-
-read-pkg@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
- integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
- dependencies:
- load-json-file "^4.0.0"
- normalize-package-data "^2.3.2"
- path-type "^3.0.0"
-
-read-pkg@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5"
- integrity sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w==
+read-pkg@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
+ integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
dependencies:
"@types/normalize-package-data" "^2.4.0"
normalize-package-data "^2.5.0"
- parse-json "^4.0.0"
- type-fest "^0.4.1"
+ parse-json "^5.0.0"
+ type-fest "^0.6.0"
+
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@~2.3.6:
+ version "2.3.7"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.3, readable-stream@^2.3.6:
version "2.3.6"
@@ -5777,12 +6042,12 @@ readdirp@^2.2.1:
micromatch "^3.1.10"
readable-stream "^2.0.2"
-realpath-native@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c"
- integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==
+readdirp@~3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
+ integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
dependencies:
- util.promisify "^1.0.0"
+ picomatch "^2.2.1"
redent@^1.0.0:
version "1.0.0"
@@ -5792,22 +6057,6 @@ redent@^1.0.0:
indent-string "^2.1.0"
strip-indent "^1.0.1"
-reduce-css-calc@^1.2.6:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
- integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=
- dependencies:
- balanced-match "^0.4.2"
- math-expression-evaluator "^1.2.14"
- reduce-function-call "^1.0.1"
-
-reduce-function-call@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
- integrity sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=
- dependencies:
- balanced-match "^0.4.2"
-
regenerate-unicode-properties@^8.0.2:
version "8.1.0"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e"
@@ -5815,32 +6064,29 @@ regenerate-unicode-properties@^8.0.2:
dependencies:
regenerate "^1.4.0"
-regenerate@^1.2.1, regenerate@^1.4.0:
+regenerate-unicode-properties@^8.2.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
+ integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==
+ dependencies:
+ regenerate "^1.4.0"
+
+regenerate@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
-regenerator-runtime@^0.10.5:
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
- integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=
-
-regenerator-runtime@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
- integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-
-regenerator-runtime@^0.13.2:
- version "0.13.2"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447"
- integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==
+regenerator-runtime@^0.13.4:
+ version "0.13.5"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
+ integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==
-regenerator-transform@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf"
- integrity sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==
+regenerator-transform@^0.14.2:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4"
+ integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==
dependencies:
- private "^0.1.6"
+ "@babel/runtime" "^7.8.4"
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
@@ -5850,20 +6096,6 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regexp-tree@^0.1.6:
- version "0.1.10"
- resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc"
- integrity sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ==
-
-regexpu-core@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
- integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=
- dependencies:
- regenerate "^1.2.1"
- regjsgen "^0.2.0"
- regjsparser "^0.1.4"
-
regexpu-core@^4.5.4:
version "4.5.4"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae"
@@ -5876,22 +6108,27 @@ regexpu-core@^4.5.4:
unicode-match-property-ecmascript "^1.0.4"
unicode-match-property-value-ecmascript "^1.1.0"
-regjsgen@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
- integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=
+regexpu-core@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
+ integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==
+ dependencies:
+ regenerate "^1.4.0"
+ regenerate-unicode-properties "^8.2.0"
+ regjsgen "^0.5.1"
+ regjsparser "^0.6.4"
+ unicode-match-property-ecmascript "^1.0.4"
+ unicode-match-property-value-ecmascript "^1.2.0"
regjsgen@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd"
integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==
-regjsparser@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
- integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=
- dependencies:
- jsesc "~0.5.0"
+regjsgen@^0.5.1:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
+ integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
regjsparser@^0.6.0:
version "0.6.0"
@@ -5900,6 +6137,13 @@ regjsparser@^0.6.0:
dependencies:
jsesc "~0.5.0"
+regjsparser@^0.6.4:
+ version "0.6.4"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
+ integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
+ dependencies:
+ jsesc "~0.5.0"
+
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -5910,7 +6154,7 @@ repeat-element@^1.1.2:
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
-repeat-string@^1.5.2, repeat-string@^1.6.1:
+repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
@@ -5922,19 +6166,19 @@ repeating@^2.0.0:
dependencies:
is-finite "^1.0.0"
-request-promise-core@1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346"
- integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==
+request-promise-core@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9"
+ integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==
dependencies:
- lodash "^4.17.11"
+ lodash "^4.17.15"
-request-promise-native@^1.0.5:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59"
- integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==
+request-promise-native@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36"
+ integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==
dependencies:
- request-promise-core "1.1.2"
+ request-promise-core "1.1.3"
stealthy-require "^1.1.1"
tough-cookie "^2.3.3"
@@ -5964,16 +6208,37 @@ request@^2.87.0, request@^2.88.0:
tunnel-agent "^0.6.0"
uuid "^3.3.2"
+request@^2.88.2:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-require-main-filename@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
- integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
-
require-main-filename@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
@@ -5986,21 +6251,41 @@ resolve-cwd@^2.0.0:
dependencies:
resolve-from "^3.0.0"
+resolve-cwd@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
+ integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
+ dependencies:
+ resolve-from "^5.0.0"
+
+resolve-dir@^1.0.0, resolve-dir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+ integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
+ dependencies:
+ expand-tilde "^2.0.0"
+ global-modules "^1.0.0"
+
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
integrity sha1-six699nWiBvItuZTM17rywoYh0g=
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-resolve@1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
- integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
-
resolve@^1.10.0, resolve@^1.3.2:
version "1.11.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232"
@@ -6008,12 +6293,19 @@ resolve@^1.10.0, resolve@^1.3.2:
dependencies:
path-parse "^1.0.6"
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
- integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+resolve@^1.17.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
+ integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
+ dependencies:
+ path-parse "^1.0.6"
+
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
dependencies:
- onetime "^2.0.0"
+ onetime "^5.1.0"
signal-exit "^3.0.2"
ret@~0.1.10:
@@ -6021,20 +6313,27 @@ ret@~0.1.10:
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
-right-align@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
- integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
- dependencies:
- align-text "^0.1.1"
-
-rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
+rimraf@2, rimraf@^2.6.1, rimraf@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
dependencies:
glob "^7.1.3"
+rimraf@^2.5.4:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ dependencies:
+ glob "^7.1.3"
+
+rimraf@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -6048,15 +6347,17 @@ rsvp@^4.8.4:
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911"
integrity sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==
-run-node@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"
- integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==
+run-queue@^1.0.0, run-queue@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
+ integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
+ dependencies:
+ aproba "^1.1.1"
-rxjs@^6.3.3:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
- integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==
+rxjs@^6.5.5:
+ version "6.6.0"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84"
+ integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==
dependencies:
tslib "^1.9.0"
@@ -6092,47 +6393,57 @@ sane@^4.0.3:
minimist "^1.1.1"
walker "~1.0.5"
-sass-graph@^2.2.4:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
- integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=
+sass-graph@2.2.5:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8"
+ integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==
dependencies:
glob "^7.0.0"
lodash "^4.0.0"
scss-tokenizer "^0.2.3"
- yargs "^7.0.0"
+ yargs "^13.3.2"
-sass-loader@^6.0.6:
- version "6.0.7"
- resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.7.tgz#dd2fdb3e7eeff4a53f35ba6ac408715488353d00"
- integrity sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==
+sass-loader@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-9.0.1.tgz#8ae96ebb0e9debc3748064d32e43596719814c40"
+ integrity sha512-wXFo2VAAzAUsUApOXr5PkGXDa1ad20RYhdJTubopY04i+Suk8b8g3Vtobu3kfMk48S0n5rQyAQeGBdg8WzL8gA==
dependencies:
- clone-deep "^2.0.1"
- loader-utils "^1.0.1"
- lodash.tail "^4.1.1"
- neo-async "^2.5.0"
- pify "^3.0.0"
+ klona "^1.1.1"
+ loader-utils "^2.0.0"
+ neo-async "^2.6.1"
+ schema-utils "^2.7.0"
+ semver "^7.3.2"
-sax@^1.2.4, sax@~1.2.1:
+sax@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-schema-utils@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf"
- integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=
+saxes@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
+ integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
dependencies:
- ajv "^5.0.0"
+ xmlchars "^2.2.0"
-schema-utils@^0.4.5:
- version "0.4.7"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
- integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==
+schema-utils@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
+ integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
dependencies:
ajv "^6.1.0"
+ ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
+schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
+ integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
+ dependencies:
+ "@types/json-schema" "^7.0.4"
+ ajv "^6.12.2"
+ ajv-keywords "^3.4.1"
+
scss-tokenizer@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
@@ -6146,21 +6457,48 @@ semver-compare@^1.0.0:
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
+semver-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
+ integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
+
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
+semver@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+ integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+
semver@^6.0.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.0.tgz#e95dc415d45ecf03f2f9f83b264a6b11f49c0cca"
integrity sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==
+semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.2.1, semver@^7.3.2:
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
+ integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
+serialize-javascript@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea"
+ integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==
+ dependencies:
+ randombytes "^2.1.0"
+
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -6199,15 +6537,6 @@ sha.js@^2.4.0, sha.js@^2.4.8:
inherits "^2.0.1"
safe-buffer "^5.0.1"
-shallow-clone@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571"
- integrity sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==
- dependencies:
- is-extendable "^0.1.1"
- kind-of "^5.0.0"
- mixin-object "^2.0.1"
-
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -6215,11 +6544,23 @@ shebang-command@^1.2.0:
dependencies:
shebang-regex "^1.0.0"
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
shellwords@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
@@ -6230,13 +6571,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
-simple-git@^1.85.0:
- version "1.113.0"
- resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.113.0.tgz#668989728a1e9cf4ec6c72b69ea2eecc93489bea"
- integrity sha512-i9WVsrK2u0G/cASI9nh7voxOk9mhanWY9eGtWBDSYql6m49Yk5/Fan6uZsDr/xmzv8n+eQ8ahKCoEr8cvU3h+g==
- dependencies:
- debug "^4.0.1"
-
simple-is@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0"
@@ -6247,20 +6581,28 @@ sisteransi@^1.0.0:
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c"
integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==
-slash@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
- integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
-
slash@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-slice-ansi@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
- integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=
+slice-ansi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
+ integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
snapdragon-node@^2.0.1:
version "2.1.1"
@@ -6323,6 +6665,14 @@ source-map-support@^0.5.6:
buffer-from "^1.0.0"
source-map "^0.6.0"
+source-map-support@~0.5.12:
+ version "0.5.19"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
+ integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
@@ -6335,7 +6685,7 @@ source-map@^0.4.2:
dependencies:
amdefine ">=0.0.4"
-source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
+source-map@^0.5.0, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -6345,6 +6695,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+source-map@^0.7.3:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+ integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
+
spdx-correct@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
@@ -6398,15 +6753,19 @@ sshpk@^1.7.0:
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
-stack-utils@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
- integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==
+ssri@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
+ integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
+ dependencies:
+ figgy-pudding "^3.5.1"
-staged-git-files@1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b"
- integrity sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA==
+stack-utils@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593"
+ integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==
+ dependencies:
+ escape-string-regexp "^2.0.0"
static-extend@^0.1.1:
version "0.1.2"
@@ -6436,6 +6795,14 @@ stream-browserify@^2.0.1:
inherits "~2.0.1"
readable-stream "^2.0.2"
+stream-each@^1.1.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
+ integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
+ dependencies:
+ end-of-stream "^1.1.0"
+ stream-shift "^1.0.0"
+
stream-http@^2.7.2:
version "2.8.3"
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
@@ -6447,25 +6814,30 @@ stream-http@^2.7.2:
to-arraybuffer "^1.0.0"
xtend "^4.0.0"
+stream-shift@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
+ integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
-string-argv@^0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736"
- integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY=
+string-argv@0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
+ integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
-string-length@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
- integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=
+string-length@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1"
+ integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==
dependencies:
- astral-regex "^1.0.0"
- strip-ansi "^4.0.0"
+ char-regex "^1.0.2"
+ strip-ansi "^6.0.0"
-string-width@^1.0.1, string-width@^1.0.2:
+string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
@@ -6474,7 +6846,7 @@ string-width@^1.0.1, string-width@^1.0.2:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1:
+"string-width@^1.0.2 || 2":
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@@ -6482,6 +6854,24 @@ string-width@^1.0.1, string-width@^1.0.2:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
+string-width@^3.0.0, string-width@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+ integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+ dependencies:
+ emoji-regex "^7.0.1"
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^5.1.0"
+
+string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
+ integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.0"
+
string_decoder@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
@@ -6496,7 +6886,7 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
-stringify-object@^3.2.2:
+stringify-object@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
@@ -6519,13 +6909,20 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
-strip-ansi@^5.0.0:
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
dependencies:
ansi-regex "^4.1.0"
+strip-ansi@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+ integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+ dependencies:
+ ansi-regex "^5.0.0"
+
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
@@ -6533,16 +6930,21 @@ strip-bom@^2.0.0:
dependencies:
is-utf8 "^0.2.0"
-strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
- integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+strip-bom@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
+ integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
strip-indent@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
@@ -6555,34 +6957,20 @@ strip-json-comments@~2.0.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
-style-loader@^0.20.2:
- version "0.20.3"
- resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.3.tgz#ebef06b89dec491bcb1fdb3452e913a6fd1c10c4"
- integrity sha512-2I7AVP73MvK33U7B9TKlYZAqdROyMXDYSMvHLX43qy3GCOaJNiV6i0v/sv9idWIaQ42Yn2dNv79Q5mKXbKhAZg==
+style-loader@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a"
+ integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==
dependencies:
- loader-utils "^1.1.0"
- schema-utils "^0.4.5"
+ loader-utils "^2.0.0"
+ schema-utils "^2.6.6"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-supports-color@^3.2.3:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
- integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
- dependencies:
- has-flag "^1.0.0"
-
-supports-color@^4.2.1:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
- integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
- dependencies:
- has-flag "^2.0.0"
-
-supports-color@^5.3.0, supports-color@^5.4.0:
+supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
@@ -6596,38 +6984,30 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
-svgo@^0.7.0:
- version "0.7.2"
- resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
- integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=
+supports-color@^7.0.0, supports-color@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
+ integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
dependencies:
- coa "~1.0.1"
- colors "~1.1.2"
- csso "~2.3.1"
- js-yaml "~3.7.0"
- mkdirp "~0.5.1"
- sax "~1.2.1"
- whet.extend "~0.9.9"
-
-symbol-observable@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
- integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
+ has-flag "^4.0.0"
-symbol-tree@^3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
- integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=
+supports-hyperlinks@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47"
+ integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==
+ dependencies:
+ has-flag "^4.0.0"
+ supports-color "^7.0.0"
-synchronous-promise@^2.0.6:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.8.tgz#01fd026fffdbf2d3d39ec06ee1a7c971578136f7"
- integrity sha512-xYavZtFC1vKgJu0AOSYdrLeikNCsNwmUeZaV1XF9cMqEhBVVxLq6rEbYzOGrF1MV2MNPkhsJqqiXuQ4a76CEUg==
+symbol-tree@^3.2.4:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
+ integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
-tapable@^0.2.7:
- version "0.2.9"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.9.tgz#af2d8bbc9b04f74ee17af2b4d9048f807acd18a8"
- integrity sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==
+tapable@^1.0.0, tapable@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
+ integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
tar@^2.0.0:
version "2.2.2"
@@ -6651,20 +7031,64 @@ tar@^4:
safe-buffer "^5.1.2"
yallist "^3.0.2"
-test-exclude@^5.2.3:
- version "5.2.3"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0"
- integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==
+terminal-link@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994"
+ integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==
dependencies:
- glob "^7.1.3"
+ ansi-escapes "^4.2.1"
+ supports-hyperlinks "^2.0.0"
+
+terser-webpack-plugin@^1.4.3:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f"
+ integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==
+ dependencies:
+ cacache "^12.0.2"
+ find-cache-dir "^2.1.0"
+ is-wsl "^1.1.0"
+ schema-utils "^1.0.0"
+ serialize-javascript "^3.1.0"
+ source-map "^0.6.1"
+ terser "^4.1.2"
+ webpack-sources "^1.4.0"
+ worker-farm "^1.7.0"
+
+terser@^4.1.2:
+ version "4.8.0"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
+ integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.6.1"
+ source-map-support "~0.5.12"
+
+test-exclude@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
+ integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
+ dependencies:
+ "@istanbuljs/schema" "^0.1.2"
+ glob "^7.1.4"
minimatch "^3.0.4"
- read-pkg-up "^4.0.0"
- require-main-filename "^2.0.0"
-throat@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
- integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=
+throat@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
+ integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
+
+through2@^2.0.0:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
+ integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ dependencies:
+ readable-stream "~2.3.6"
+ xtend "~4.0.1"
+
+through@^2.3.8:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
timers-browserify@^2.0.4:
version "2.0.10"
@@ -6703,6 +7127,13 @@ to-regex-range@^2.1.0:
is-number "^3.0.0"
repeat-string "^1.6.1"
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
@@ -6713,12 +7144,7 @@ to-regex@^3.0.1, to-regex@^3.0.2:
regex-not "^1.0.2"
safe-regex "^1.1.0"
-toposort@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
- integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=
-
-tough-cookie@^2.3.3, tough-cookie@^2.3.4:
+tough-cookie@^2.3.3, tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
@@ -6726,6 +7152,15 @@ tough-cookie@^2.3.3, tough-cookie@^2.3.4:
psl "^1.1.28"
punycode "^2.1.1"
+tough-cookie@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2"
+ integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==
+ dependencies:
+ ip-regex "^2.1.0"
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
tough-cookie@~2.4.3:
version "2.4.3"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
@@ -6734,12 +7169,12 @@ tough-cookie@~2.4.3:
psl "^1.1.24"
punycode "^1.4.1"
-tr46@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
- integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=
+tr46@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479"
+ integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==
dependencies:
- punycode "^2.1.0"
+ punycode "^2.1.1"
trim-newlines@^1.0.0:
version "1.0.0"
@@ -6787,42 +7222,37 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-type-fest@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8"
- integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==
+type-detect@4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+ integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
-uglify-js@^2.8.29:
- version "2.8.29"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
- integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0=
- dependencies:
- source-map "~0.5.1"
- yargs "~3.10.0"
- optionalDependencies:
- uglify-to-browserify "~1.0.0"
+type-fest@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
+ integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
-uglify-js@^3.1.4:
- version "3.5.15"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.15.tgz#fe2b5378fd0b09e116864041437bff889105ce24"
- integrity sha512-fe7aYFotptIddkwcm6YuA0HmknBZ52ZzOsUxZEdhhkSsz7RfjHDX2QDxwKTiv4JQ5t5NhfmpgAK+J7LiDhKSqg==
- dependencies:
- commander "~2.20.0"
- source-map "~0.6.1"
+type-fest@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
+ integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
-uglify-to-browserify@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
- integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-uglifyjs-webpack-plugin@^0.4.6:
- version "0.4.6"
- resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309"
- integrity sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=
+typedarray-to-buffer@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
dependencies:
- source-map "^0.5.6"
- uglify-js "^2.8.29"
- webpack-sources "^1.0.1"
+ is-typedarray "^1.0.0"
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
@@ -6842,6 +7272,11 @@ unicode-match-property-value-ecmascript@^1.1.0:
resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277"
integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==
+unicode-match-property-value-ecmascript@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
+ integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
+
unicode-property-aliases-ecmascript@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
@@ -6862,10 +7297,19 @@ uniq@^1.0.1:
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
-uniqs@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
- integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
+unique-filename@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
+ integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
+ dependencies:
+ unique-slug "^2.0.0"
+
+unique-slug@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
+ integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
+ dependencies:
+ imurmurhash "^0.1.4"
unset-value@^1.0.0:
version "1.0.0"
@@ -6910,14 +7354,6 @@ util-deprecate@~1.0.1:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-util.promisify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
- integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==
- dependencies:
- define-properties "^1.1.2"
- object.getownpropertydescriptors "^2.0.3"
-
util@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
@@ -6937,6 +7373,25 @@ uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
+uuid@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
+ integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
+
+v8-compile-cache@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
+ integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==
+
+v8-to-istanbul@^4.1.3:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6"
+ integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==
+ dependencies:
+ "@types/istanbul-lib-coverage" "^2.0.1"
+ convert-source-map "^1.6.0"
+ source-map "^0.7.3"
+
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -6945,11 +7400,6 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
-vendors@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0"
- integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==
-
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
@@ -6959,19 +7409,24 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
-vm-browserify@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
- integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=
+vm-browserify@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
+ integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+
+w3c-hr-time@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
+ integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
dependencies:
- indexof "0.0.1"
+ browser-process-hrtime "^1.0.0"
-w3c-hr-time@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
- integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=
+w3c-xmlserializer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a"
+ integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==
dependencies:
- browser-process-hrtime "^0.1.2"
+ xml-name-validator "^3.0.0"
walker@^1.0.7, walker@~1.0.5:
version "1.0.7"
@@ -6980,24 +7435,55 @@ walker@^1.0.7, walker@~1.0.5:
dependencies:
makeerror "1.0.x"
-watchpack@^1.4.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
- integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==
+watchpack-chokidar2@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
+ integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==
+ dependencies:
+ chokidar "^2.1.8"
+
+watchpack@^1.6.1:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa"
+ integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==
dependencies:
- chokidar "^2.0.2"
graceful-fs "^4.1.2"
neo-async "^2.5.0"
+ optionalDependencies:
+ chokidar "^3.4.0"
+ watchpack-chokidar2 "^2.0.0"
-webidl-conversions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
- integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+webidl-conversions@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
+ integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
-webpack-sources@^1.0.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"
- integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==
+webidl-conversions@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
+ integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
+
+webpack-cli@^3.3.12:
+ version "3.3.12"
+ resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a"
+ integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==
+ dependencies:
+ chalk "^2.4.2"
+ cross-spawn "^6.0.5"
+ enhanced-resolve "^4.1.1"
+ findup-sync "^3.0.0"
+ global-modules "^2.0.0"
+ import-local "^2.0.0"
+ interpret "^1.4.0"
+ loader-utils "^1.4.0"
+ supports-color "^6.1.0"
+ v8-compile-cache "^2.1.1"
+ yargs "^13.3.2"
+
+webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
+ integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
dependencies:
source-list-map "^2.0.0"
source-map "~0.6.1"
@@ -7009,91 +7495,80 @@ webpack-strip-block@^0.2.0:
dependencies:
loader-utils "^1.1.0"
-webpack@3.12.0:
- version "3.12.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.12.0.tgz#3f9e34360370602fcf639e97939db486f4ec0d74"
- integrity sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==
- dependencies:
- acorn "^5.0.0"
- acorn-dynamic-import "^2.0.0"
- ajv "^6.1.0"
- ajv-keywords "^3.1.0"
- async "^2.1.2"
- enhanced-resolve "^3.4.0"
- escope "^3.6.0"
- interpret "^1.0.0"
- json-loader "^0.5.4"
- json5 "^0.5.1"
- loader-runner "^2.3.0"
- loader-utils "^1.1.0"
- memory-fs "~0.4.1"
- mkdirp "~0.5.0"
- node-libs-browser "^2.0.0"
- source-map "^0.5.3"
- supports-color "^4.2.1"
- tapable "^0.2.7"
- uglifyjs-webpack-plugin "^0.4.6"
- watchpack "^1.4.0"
- webpack-sources "^1.0.1"
- yargs "^8.0.2"
-
-whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
+webpack@4.43.0:
+ version "4.43.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
+ integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/wasm-edit" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ acorn "^6.4.1"
+ ajv "^6.10.2"
+ ajv-keywords "^3.4.1"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.3"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^2.4.0"
+ loader-utils "^1.2.3"
+ memory-fs "^0.4.1"
+ micromatch "^3.1.10"
+ mkdirp "^0.5.3"
+ neo-async "^2.6.1"
+ node-libs-browser "^2.2.1"
+ schema-utils "^1.0.0"
+ tapable "^1.1.3"
+ terser-webpack-plugin "^1.4.3"
+ watchpack "^1.6.1"
+ webpack-sources "^1.4.1"
+
+whatwg-encoding@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
dependencies:
iconv-lite "0.4.24"
-whatwg-fetch@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
- integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==
-
-whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
+whatwg-mimetype@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
-whatwg-url@^6.4.1:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
- integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==
- dependencies:
- lodash.sortby "^4.7.0"
- tr46 "^1.0.1"
- webidl-conversions "^4.0.2"
-
-whatwg-url@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd"
- integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==
+whatwg-url@^8.0.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz#c628acdcf45b82274ce7281ee31dd3c839791771"
+ integrity sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==
dependencies:
lodash.sortby "^4.7.0"
- tr46 "^1.0.1"
- webidl-conversions "^4.0.2"
-
-whet.extend@~0.9.9:
- version "0.9.9"
- resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
- integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=
-
-which-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
- integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
+ tr46 "^2.0.2"
+ webidl-conversions "^5.0.0"
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-which@1, which@^1.2.10, which@^1.2.9, which@^1.3.0:
+which-pm-runs@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
+ integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
+
+which@1, which@^1.2.14, which@^1.2.9, which@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
+which@^2.0.1, which@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
@@ -7101,79 +7576,84 @@ wide-align@^1.1.0:
dependencies:
string-width "^1.0.2 || 2"
-window-size@0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
- integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
-
-wordwrap@0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
- integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
-
-wordwrap@~0.0.2:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
- integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
-
wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
-wrap-ansi@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
- integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
+worker-farm@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
+ integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
+ errno "~0.1.7"
-wrap-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba"
- integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=
+wrap-ansi@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
+ integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
dependencies:
- string-width "^2.1.1"
- strip-ansi "^4.0.0"
+ ansi-styles "^3.2.0"
+ string-width "^3.0.0"
+ strip-ansi "^5.0.0"
+
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-write-file-atomic@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529"
- integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==
+write-file-atomic@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
+ integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
dependencies:
- graceful-fs "^4.1.11"
imurmurhash "^0.1.4"
+ is-typedarray "^1.0.0"
signal-exit "^3.0.2"
+ typedarray-to-buffer "^3.1.5"
-ws@^5.2.0:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
- integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
- dependencies:
- async-limiter "~1.0.0"
+ws@^7.2.3:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd"
+ integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+xmlchars@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
+ integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
+
+xregexp@^4.2.4:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50"
+ integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==
+ dependencies:
+ "@babel/runtime-corejs3" "^7.8.3"
+
xtend@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
-y18n@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
- integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
+xtend@~4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-"y18n@^3.2.1 || ^4.0.0":
+y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
@@ -7188,102 +7668,56 @@ yallist@^3.0.0, yallist@^3.0.2:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
-yargs-parser@^11.1.1:
- version "11.1.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
- integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==
+yaml@^1.7.2:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
+ integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+
+yargs-parser@^13.1.2:
+ version "13.1.2"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
+ integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
dependencies:
camelcase "^5.0.0"
decamelize "^1.2.0"
-yargs-parser@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
- integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=
- dependencies:
- camelcase "^3.0.0"
-
-yargs-parser@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
- integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k=
+yargs-parser@^18.1.2:
+ version "18.1.3"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
dependencies:
- camelcase "^4.1.0"
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
-yargs@^12.0.2:
- version "12.0.5"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
- integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==
+yargs@^13.3.2:
+ version "13.3.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
+ integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
dependencies:
- cliui "^4.0.0"
- decamelize "^1.2.0"
+ cliui "^5.0.0"
find-up "^3.0.0"
- get-caller-file "^1.0.1"
- os-locale "^3.0.0"
+ get-caller-file "^2.0.1"
require-directory "^2.1.1"
- require-main-filename "^1.0.1"
+ require-main-filename "^2.0.0"
set-blocking "^2.0.0"
- string-width "^2.0.0"
+ string-width "^3.0.0"
which-module "^2.0.0"
- y18n "^3.2.1 || ^4.0.0"
- yargs-parser "^11.1.1"
-
-yargs@^7.0.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
- integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=
- dependencies:
- camelcase "^3.0.0"
- cliui "^3.2.0"
- decamelize "^1.1.1"
- get-caller-file "^1.0.1"
- os-locale "^1.4.0"
- read-pkg-up "^1.0.1"
+ y18n "^4.0.0"
+ yargs-parser "^13.1.2"
+
+yargs@^15.3.1:
+ version "15.4.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.0.tgz#53949fb768309bac1843de9b17b80051e9805ec2"
+ integrity sha512-D3fRFnZwLWp8jVAAhPZBsmeIHY8tTsb8ItV9KaAaopmC6wde2u6Yw29JBIZHXw14kgkRnYmDgmQU4FVMDlIsWw==
+ dependencies:
+ cliui "^6.0.0"
+ decamelize "^3.2.0"
+ find-up "^4.1.0"
+ get-caller-file "^2.0.1"
require-directory "^2.1.1"
- require-main-filename "^1.0.1"
- set-blocking "^2.0.0"
- string-width "^1.0.2"
- which-module "^1.0.0"
- y18n "^3.2.1"
- yargs-parser "^5.0.0"
-
-yargs@^8.0.2:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
- integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A=
- dependencies:
- camelcase "^4.1.0"
- cliui "^3.2.0"
- decamelize "^1.1.1"
- get-caller-file "^1.0.1"
- os-locale "^2.0.0"
- read-pkg-up "^2.0.0"
- require-directory "^2.1.1"
- require-main-filename "^1.0.1"
+ require-main-filename "^2.0.0"
set-blocking "^2.0.0"
- string-width "^2.0.0"
+ string-width "^4.2.0"
which-module "^2.0.0"
- y18n "^3.2.1"
- yargs-parser "^7.0.0"
-
-yargs@~3.10.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
- integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=
- dependencies:
- camelcase "^1.0.2"
- cliui "^2.1.0"
- decamelize "^1.0.0"
- window-size "0.1.0"
-
-yup@^0.27.0:
- version "0.27.0"
- resolved "https://registry.yarnpkg.com/yup/-/yup-0.27.0.tgz#f8cb198c8e7dd2124beddc2457571329096b06e7"
- integrity sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==
- dependencies:
- "@babel/runtime" "^7.0.0"
- fn-name "~2.0.1"
- lodash "^4.17.11"
- property-expr "^1.5.0"
- synchronous-promise "^2.0.6"
- toposort "^2.0.2"
+ y18n "^4.0.0"
+ yargs-parser "^18.1.2"