diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 578af53b..4c8fe8b7 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -33,6 +33,8 @@ Don't know where to begin? Here are some suggestions to get started:
- Front end: React/Redux, CSS/Sass, CodeMirror
- Back end: Node, Express, MongoDB, Jest, AWS
- DevOps: Travis CI, Jest, Docker, Kubernetes, AWS
+ - Documentation
+ - Translations: Application and documentation
* Use the [p5.js Web Editor](https://editor.p5js.org)! Find a bug? Think of something you think would add to the project? Open an issue.
* Expand an existing issue. Sometimes issues are missing steps to reproduce, or need suggestions for potential solutions. Sometimes they need another voice saying, "this is really important!"
* Try getting the project running locally on your computer by following the [installation steps](./../developer_docs/installation.md).
diff --git a/README.md b/README.md
index 63efbb8d..84e94275 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,12 @@
# [p5.js Web Editor](https://editor.p5js.org)
+
+Documentation is also available in the following languages:
+
+[ํ๊ตญ์ด](https://github.com/processing/p5.js-web-editor/blob/master/translations/ko)
+
+## Welcome! ๐๐๐ฟ๐๐ฝ๐๐ป๐๐พ๐๐ผ
+
The p5.js Web Editor is a platform for creative coding, with a focus on making coding accessible for as many people as possible, including artists, designers, educators, beginners, and anyone who wants to learn. Simply by opening the website you can get started writing p5.js sketches without downloading or configuring anything. The editor is designed with simplicity in mind by limiting features and frills. We strive to listen to the community to drive the editorโs development, and to be intentional with every change. The editor is free and open-source.
We also strive to give the community as much ownership and control as possible. You can download your sketches so that you can edit them locally or host them elsewhere. You can also host your own version of the editor, giving you control over its data.
diff --git a/client/components/Nav.jsx b/client/components/Nav.jsx
index 4a1212c9..8e9cde7a 100644
--- a/client/components/Nav.jsx
+++ b/client/components/Nav.jsx
@@ -227,7 +227,7 @@ class Nav extends React.PureComponent {
renderDashboardMenu(navDropdownState) {
return (
-
+
@@ -245,7 +245,7 @@ class Nav extends React.PureComponent {
renderProjectMenu(navDropdownState) {
return (
-
+
diff --git a/client/components/NavBasic.jsx b/client/components/NavBasic.jsx
index 92913add..88c9f313 100644
--- a/client/components/NavBasic.jsx
+++ b/client/components/NavBasic.jsx
@@ -13,7 +13,7 @@ class NavBasic extends React.PureComponent {
render() {
return (
{ this.node = node; }}>
-
+
diff --git a/client/components/__test__/__snapshots__/Nav.test.jsx.snap b/client/components/__test__/__snapshots__/Nav.test.jsx.snap
index 5922659f..1445d628 100644
--- a/client/components/__test__/__snapshots__/Nav.test.jsx.snap
+++ b/client/components/__test__/__snapshots__/Nav.test.jsx.snap
@@ -7,7 +7,6 @@ exports[`Nav renders correctly 1`] = `
>
{
+ console.error('Error creating collection', response.data);
dispatch({
type: ActionTypes.ERROR,
error: response.data
});
dispatch(stopLoader());
-
- return response.data;
});
};
}
diff --git a/client/modules/IDE/components/FileNode.jsx b/client/modules/IDE/components/FileNode.jsx
index aecefccf..772b23c4 100644
--- a/client/modules/IDE/components/FileNode.jsx
+++ b/client/modules/IDE/components/FileNode.jsx
@@ -230,17 +230,6 @@ export class FileNode extends React.Component {
{ isFolder &&
-
-
- Add File
-
-
- Add Folder
+ Create folder
+
+
+
+
+ Create file
+
+
+
+ {
+ this.props.openUploadFileModal(this.props.id);
+ setTimeout(this.hideFileOptions, 0);
+ }}
+ onBlur={this.onBlurComponent}
+ onFocus={this.onFocusComponent}
+ >
+ Upload file
@@ -304,7 +317,8 @@ FileNode.propTypes = {
newFolder: PropTypes.func.isRequired,
showFolderChildren: PropTypes.func.isRequired,
hideFolderChildren: PropTypes.func.isRequired,
- canEdit: PropTypes.bool.isRequired
+ canEdit: PropTypes.bool.isRequired,
+ openUploadFileModal: PropTypes.func.isRequired
};
FileNode.defaultProps = {
diff --git a/client/modules/IDE/components/KeyboardShortcutModal.jsx b/client/modules/IDE/components/KeyboardShortcutModal.jsx
index fbb180b9..420a99c6 100644
--- a/client/modules/IDE/components/KeyboardShortcutModal.jsx
+++ b/client/modules/IDE/components/KeyboardShortcutModal.jsx
@@ -74,6 +74,18 @@ function KeyboardShortcutModal() {
Turn off Accessible Output
+
+
+ {metaKeyName} + B
+
+ Toggle Sidebar
+
+
+
+ Ctrl + `
+
+ Toggle Console
+
);
}
diff --git a/client/modules/IDE/components/QuickAddList/QuickAddList.jsx b/client/modules/IDE/components/QuickAddList/QuickAddList.jsx
index fe32168d..5694929d 100644
--- a/client/modules/IDE/components/QuickAddList/QuickAddList.jsx
+++ b/client/modules/IDE/components/QuickAddList/QuickAddList.jsx
@@ -53,7 +53,8 @@ const QuickAddList = ({
{...item}
onSelect={
(event) => {
- event.target.blur();
+ event.stopPropagation();
+ event.currentTarget.blur();
handleAction(item);
}
}
diff --git a/client/modules/IDE/components/Searchbar/Searchbar.jsx b/client/modules/IDE/components/Searchbar/Searchbar.jsx
index 1577ec5e..b602d874 100644
--- a/client/modules/IDE/components/Searchbar/Searchbar.jsx
+++ b/client/modules/IDE/components/Searchbar/Searchbar.jsx
@@ -26,12 +26,13 @@ class Searchbar extends React.Component {
handleSearchEnter = (e) => {
if (e.key === 'Enter') {
- this.props.setSearchTerm(this.state.searchValue);
+ this.searchChange();
}
}
- searchChange = (value) => {
- this.props.setSearchTerm(this.state.searchValue);
+ searchChange = () => {
+ if (this.state.searchValue.trim().length === 0) return;
+ this.props.setSearchTerm(this.state.searchValue.trim());
};
handleSearchChange = (e) => {
diff --git a/client/modules/IDE/pages/IDEView.jsx b/client/modules/IDE/pages/IDEView.jsx
index f7179a14..2b0fd714 100644
--- a/client/modules/IDE/pages/IDEView.jsx
+++ b/client/modules/IDE/pages/IDEView.jsx
@@ -156,6 +156,20 @@ class IDEView extends React.Component {
} else if (e.keyCode === 49 && ((e.metaKey && this.isMac) || (e.ctrlKey && !this.isMac)) && e.shiftKey) {
e.preventDefault();
this.props.setAllAccessibleOutput(true);
+ } else if (e.keyCode === 66 && ((e.metaKey && this.isMac) || (e.ctrlKey && !this.isMac))) {
+ e.preventDefault();
+ if (!this.props.ide.sidebarIsExpanded) {
+ this.props.expandSidebar();
+ } else {
+ this.props.collapseSidebar();
+ }
+ } else if (e.keyCode === 192 && e.ctrlKey) {
+ e.preventDefault();
+ if (this.props.ide.consoleIsExpanded) {
+ this.props.collapseConsole();
+ } else {
+ this.props.expandConsole();
+ }
}
}
diff --git a/client/modules/User/components/Collection.jsx b/client/modules/User/components/Collection.jsx
index 477f1319..0c8723b0 100644
--- a/client/modules/User/components/Collection.jsx
+++ b/client/modules/User/components/Collection.jsx
@@ -380,15 +380,15 @@ Collection.propTypes = {
}).isRequired,
getCollections: PropTypes.func.isRequired,
collection: PropTypes.shape({
- id: PropTypes.string.isRequired,
- name: PropTypes.string.isRequired,
+ id: PropTypes.string,
+ name: PropTypes.string,
slug: PropTypes.string,
description: PropTypes.string,
owner: PropTypes.shape({
- username: PropTypes.string.isRequired,
+ username: PropTypes.string,
}).isRequired,
items: PropTypes.arrayOf(PropTypes.shape({})),
- }).isRequired,
+ }),
username: PropTypes.string,
loading: PropTypes.bool.isRequired,
toggleDirectionForField: PropTypes.func.isRequired,
@@ -401,7 +401,14 @@ Collection.propTypes = {
};
Collection.defaultProps = {
- username: undefined
+ username: undefined,
+ collection: {
+ id: undefined,
+ items: [],
+ owner: {
+ username: undefined
+ }
+ }
};
function mapStateToProps(state, ownProps) {
diff --git a/client/modules/User/components/CollectionCreate.jsx b/client/modules/User/components/CollectionCreate.jsx
index 220dcfda..b5821223 100644
--- a/client/modules/User/components/CollectionCreate.jsx
+++ b/client/modules/User/components/CollectionCreate.jsx
@@ -2,7 +2,6 @@ import PropTypes from 'prop-types';
import React from 'react';
import { Helmet } from 'react-helmet';
import { connect } from 'react-redux';
-import { browserHistory } from 'react-router';
import { bindActionCreators } from 'redux';
import * as CollectionsActions from '../../IDE/actions/collections';
@@ -39,19 +38,7 @@ class CollectionCreate extends React.Component {
handleCreateCollection = (event) => {
event.preventDefault();
- this.props.createCollection(this.state.collection)
- .then(({ id, owner }) => {
- const pathname = `/${owner.username}/collections/${id}`;
- const location = { pathname, state: { skipSavingPath: true } };
-
- browserHistory.replace(location);
- })
- .catch((error) => {
- console.error('Error creating collection', error);
- this.setState({
- creationError: error,
- });
- });
+ this.props.createCollection(this.state.collection);
}
render() {
@@ -107,12 +94,7 @@ CollectionCreate.propTypes = {
username: PropTypes.string,
authenticated: PropTypes.bool.isRequired
}).isRequired,
- createCollection: PropTypes.func.isRequired,
- collection: PropTypes.shape({}).isRequired, // TODO
- sorting: PropTypes.shape({
- field: PropTypes.string.isRequired,
- direction: PropTypes.string.isRequired
- }).isRequired
+ createCollection: PropTypes.func.isRequired
};
function mapStateToProps(state, ownProps) {
diff --git a/client/modules/User/pages/CollectionView.jsx b/client/modules/User/pages/CollectionView.jsx
index c402539c..9e512774 100644
--- a/client/modules/User/pages/CollectionView.jsx
+++ b/client/modules/User/pages/CollectionView.jsx
@@ -72,6 +72,7 @@ function mapStateToProps(state) {
}
function mapDispatchToProps(dispatch) {
+ return {};
}
CollectionView.propTypes = {
@@ -84,7 +85,7 @@ CollectionView.propTypes = {
}).isRequired,
theme: PropTypes.string.isRequired,
user: PropTypes.shape({
- username: PropTypes.string.isRequired,
+ username: PropTypes.string,
}),
};
diff --git a/client/styles/abstracts/_placeholders.scss b/client/styles/abstracts/_placeholders.scss
index 1b1eb377..09b9932f 100644
--- a/client/styles/abstracts/_placeholders.scss
+++ b/client/styles/abstracts/_placeholders.scss
@@ -87,7 +87,7 @@
fill: getThemifyVariable('button-color');
opacity: 1;
}
- &:enabled:hover {
+ &:not(disabled):hover {
border-color: getThemifyVariable('button-background-hover-color');
background-color: getThemifyVariable('button-background-hover-color');
color: getThemifyVariable('button-hover-color');
@@ -95,7 +95,7 @@
fill: getThemifyVariable('button-hover-color');
}
}
- &:enabled:active {
+ &:not(disabled):active {
border-color: getThemifyVariable('button-background-active-color');
background-color: getThemifyVariable('button-background-active-color');
color: getThemifyVariable('button-active-color');
diff --git a/client/styles/abstracts/_variables.scss b/client/styles/abstracts/_variables.scss
index b0fd5a69..05dfcf6e 100644
--- a/client/styles/abstracts/_variables.scss
+++ b/client/styles/abstracts/_variables.scss
@@ -186,7 +186,7 @@ $themes: (
modal-button-color: #333,
heading-text-color: #e1e1e1,
secondary-text-color: #e1e1e1,
- inactive-text-color: #c1c1c1,
+ inactive-text-color: #f2f2f2,
background-color: #333,
button-background-color: $white,
button-color: $black,
@@ -201,14 +201,14 @@ $themes: (
modal-background-color: #444,
modal-button-background-color: #C1C1C1,
modal-border-color: #949494,
- icon-color: #a9a9a9,
+ icon-color: #d9d9d9,
icon-hover-color: $yellow,
icon-toast-hover-color: $yellow,
shadow-color: rgba(0, 0, 0, 0.16),
console-background-color: #4f4f4f,
console-color: $black,
console-header-background-color: #3f3f3f,
- console-header-color: #b5b5b5,
+ console-header-color: #d9d9d9,
console-info-background-color: $lightsteelblue,
console-warn-background-color: $orange,
console-debug-background-color: $dodgerblue,
diff --git a/client/styles/components/_collection.scss b/client/styles/components/_collection.scss
index 973397ef..ff488192 100644
--- a/client/styles/components/_collection.scss
+++ b/client/styles/components/_collection.scss
@@ -8,7 +8,8 @@
}
.collection-metadata {
- width: #{1012 / $base-font-size}rem;
+ max-width: #{1012 / $base-font-size}rem;
+ width: 100%;
margin: 0 auto;
margin-bottom: #{24 / $base-font-size}rem;
}
diff --git a/client/styles/components/_editor.scss b/client/styles/components/_editor.scss
index e6f9f9f4..6096afa1 100644
--- a/client/styles/components/_editor.scss
+++ b/client/styles/components/_editor.scss
@@ -1,7 +1,4 @@
.CodeMirror {
- @include themify() {
- border: 1px solid getThemifyVariable('ide-border-color');
- }
font-family: Inconsolata, monospace;
height: 100%;
}
@@ -328,7 +325,10 @@ pre.CodeMirror-line {
height: calc(100% - #{29 / $base-font-size}rem);
width: 100%;
position: absolute;
- &.editor-holder--hidden {
+ @include themify() {
+ border: 1px solid getThemifyVariable('ide-border-color');
+ }
+ &.editor-holder--hidden .CodeMirror {
display: none;
}
}
diff --git a/client/styles/components/_forms.scss b/client/styles/components/_forms.scss
index 8bd4f055..8f3ade0e 100644
--- a/client/styles/components/_forms.scss
+++ b/client/styles/components/_forms.scss
@@ -2,7 +2,7 @@
display: block;
padding-top: #{4 / $base-font-size}rem;
width: #{300 / $base-font-size}rem;
- font-size: #{9 / $base-font-size}rem;
+ font-size: #{12 / $base-font-size}rem;
text-align: left;
@include themify() {
color: getThemifyVariable('error-color');
diff --git a/client/styles/components/_p5-contrast-codemirror-theme.scss b/client/styles/components/_p5-contrast-codemirror-theme.scss
index fd289df3..0ad29dc3 100644
--- a/client/styles/components/_p5-contrast-codemirror-theme.scss
+++ b/client/styles/components/_p5-contrast-codemirror-theme.scss
@@ -31,47 +31,47 @@ $p5-contrast-activeline: #999999;
color: $p5-contrast-white;
}
-.cm-s-p5-contrast .cm-comment {
+.cm-s-p5-contrast span .cm-comment {
color: $p5-contrast-lightgray;
}
-.cm-s-p5-contrast .cm-def {
+.cm-s-p5-contrast span .cm-def {
color: $p5-contrast-blue;
}
-.cm-s-p5-contrast .cm-string {
+.cm-s-p5-contrast span .cm-string {
color: $p5-contrast-green;
}
-.cm-s-p5-contrast .cm-string-2 {
+.cm-s-p5-contrast span .cm-string-2 {
color: $p5-contrast-green;
}
-.cm-s-p5-contrast .cm-number {
+.cm-s-p5-contrast span .cm-number {
color: $p5-contrast-pink;
}
-.cm-s-p5-contrast .cm-keyword {
+.cm-s-p5-contrast span .cm-keyword {
color: $p5-contrast-yellow;
}
-.cm-s-p5-contrast .cm-variable {
+.cm-s-p5-contrast span .cm-variable {
color: $p5-contrast-white;
}
-.cm-s-p5-contrast .cm-variable-2 {
+.cm-s-p5-contrast span .cm-variable-2 {
color: $p5-contrast-white;
}
-.cm-s-p5-contrast .cm-property {
+.cm-s-p5-contrast span .cm-property {
color: $p5-contrast-white;
}
-.cm-s-p5-contrast .cm-atom {
+.cm-s-p5-contrast span .cm-atom {
color: $p5-contrast-pink;
}
-.cm-s-p5-contrast .cm-operator {
+.cm-s-p5-contrast span .cm-operator {
color: $p5-contrast-lightgray;
}
@@ -79,7 +79,7 @@ $p5-contrast-activeline: #999999;
color: $p5-contrast-number;
}
-.cm-s-p5-contrast .CodeMirror-selected {
+.cm-s-p5-contrast div .CodeMirror-selected {
background-color: $p5-contrast-selected;
}
@@ -96,25 +96,25 @@ $p5-contrast-activeline: #999999;
color: #f00;
}
-.cm-s-p5-contrast .CodeMirror-matchingbracket {
+.cm-s-p5-contrast span .CodeMirror-matchingbracket {
outline: 1px solid $p5-contrast-lightgray;
outline-offset: 1px;
color: $p5-contrast-white !important;
}
-.cm-s-p5-contrast .cm-qualifier {
+.cm-s-p5-contrast span .cm-qualifier {
color: $p5-contrast-yellow;
}
-.cm-s-p5-contrast .cm-tag {
+.cm-s-p5-contrast span .cm-tag {
color: $p5-contrast-orange;
}
-.cm-s-p5-contrast .cm-builtin {
+.cm-s-p5-contrast span .cm-builtin {
color: $p5-contrast-yellow;
}
-.cm-s-p5-contrast .cm-attribute {
+.cm-s-p5-contrast span .cm-attribute {
color: $p5-contrast-white;
}
diff --git a/client/styles/components/_toolbar.scss b/client/styles/components/_toolbar.scss
index 86dec1b2..8db1ab81 100644
--- a/client/styles/components/_toolbar.scss
+++ b/client/styles/components/_toolbar.scss
@@ -1,6 +1,9 @@
.toolbar__play-button {
@include themify() {
@extend %toolbar-button;
+ display: flex;
+ justify-content: center;
+ align-items: center;
&--selected {
@extend %toolbar-button--selected;
}
@@ -18,8 +21,13 @@
}
}
margin-right: #{15 / $base-font-size}rem;
- & span {
- padding-left: #{3 / $base-font-size}rem;
+ span {
+ padding-left: #{4 / $base-font-size}rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: #{20 / $base-font-size}rem;
+ height: #{20 / $base-font-size}rem;
}
}
@@ -30,16 +38,29 @@
.toolbar__stop-button {
@include themify() {
@extend %toolbar-button;
+ display: flex;
+ justify-content: center;
+ align-items: center;
margin-right: #{15 / $base-font-size}rem;
&--selected {
@extend %toolbar-button--selected;
}
}
+ span {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: #{20 / $base-font-size}rem;
+ height: #{20 / $base-font-size}rem;
+ }
}
.toolbar__preferences-button {
@include themify() {
@extend %toolbar-button;
+ display: flex;
+ justify-content: center;
+ align-items: center;
line-height: #{52 / $base-font-size}rem;
&--selected {
@extend %toolbar-button--selected;
@@ -50,6 +71,11 @@
margin-left: auto;
& span {
padding-left: #{1 / $base-font-size}rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: #{20 / $base-font-size}rem;
+ height: #{20 / $base-font-size}rem;
}
}
diff --git a/package-lock.json b/package-lock.json
index ed721c0a..ed49e320 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3597,6 +3597,15 @@
"@types/yargs": "^13.0.0"
}
},
+ "@samverschueren/stream-to-observable": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
+ "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==",
+ "dev": true,
+ "requires": {
+ "any-observable": "^0.3.0"
+ }
+ },
"@sinonjs/commons": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.0.tgz",
@@ -3670,6 +3679,12 @@
"@babel/types": "^7.3.0"
}
},
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
"@types/istanbul-lib-coverage": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz",
@@ -4060,6 +4075,12 @@
"color-convert": "^1.9.0"
}
},
+ "any-observable": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz",
+ "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==",
+ "dev": true
+ },
"any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
@@ -4814,8 +4835,7 @@
},
"kind-of": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "resolved": ""
}
}
},
@@ -4865,6 +4885,15 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw=="
},
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "optional": true,
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
"bl": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
@@ -5189,9 +5218,9 @@
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
},
"cacache": {
- "version": "12.0.3",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
- "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+ "version": "12.0.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+ "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
"requires": {
"bluebird": "^3.5.5",
"chownr": "^1.1.1",
@@ -5215,11 +5244,6 @@
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="
- },
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -5427,9 +5451,9 @@
}
},
"chownr": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
- "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw=="
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
},
"chrome-trace-event": {
"version": "1.0.2",
@@ -5530,6 +5554,44 @@
"restore-cursor": "^2.0.0"
}
},
+ "cli-truncate": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz",
+ "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=",
+ "dev": true,
+ "requires": {
+ "slice-ansi": "0.0.4",
+ "string-width": "^1.0.1"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "slice-ansi": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
"cli-width": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
@@ -5588,8 +5650,7 @@
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
- "optional": true
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
},
"clone-deep": {
"version": "2.0.2",
@@ -5613,9 +5674,9 @@
}
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
}
}
@@ -5625,6 +5686,17 @@
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
},
+ "coa": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
+ "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
+ "dev": true,
+ "requires": {
+ "@types/q": "^1.5.1",
+ "chalk": "^2.4.1",
+ "q": "^1.1.2"
+ }
+ },
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
@@ -5709,6 +5781,12 @@
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
},
+ "compare-versions": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
+ "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==",
+ "dev": true
+ },
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
@@ -6320,13 +6398,21 @@
"dev": true
},
"css-tree": {
- "version": "1.0.0-alpha.33",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz",
- "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==",
+ "version": "1.0.0-alpha.37",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
+ "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
"dev": true,
"requires": {
"mdn-data": "2.0.4",
- "source-map": "^0.5.3"
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"css-unit-converter": {
@@ -6347,11 +6433,12 @@
"dev": true
},
"csslint": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz",
- "integrity": "sha1-OmoE51Zcjp0ZvrSXZ8fslug2WAU=",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/csslint/-/csslint-1.0.5.tgz",
+ "integrity": "sha1-Gcw+2jIhYP0/cjKvHLKjYOiYouk=",
"requires": {
- "parserlib": "~0.2.2"
+ "clone": "~2.1.0",
+ "parserlib": "~1.1.1"
}
},
"cssnano": {
@@ -6416,17 +6503,6 @@
"lodash.uniq": "^4.5.0"
}
},
- "coa": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
- "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
- "dev": true,
- "requires": {
- "@types/q": "^1.5.1",
- "chalk": "^2.4.1",
- "q": "^1.1.2"
- }
- },
"color": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
@@ -6447,61 +6523,12 @@
"simple-swizzle": "^0.2.2"
}
},
- "css-select": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
- "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==",
- "dev": true,
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^2.1.2",
- "domutils": "^1.7.0",
- "nth-check": "^1.0.2"
- }
- },
"cssesc": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
"integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
"dev": true
},
- "csso": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
- "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
- "dev": true,
- "requires": {
- "css-tree": "1.0.0-alpha.29"
- },
- "dependencies": {
- "css-tree": {
- "version": "1.0.0-alpha.29",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
- "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
- "dev": true,
- "requires": {
- "mdn-data": "~1.1.0",
- "source-map": "^0.5.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
- "domutils": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
- "dev": true,
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
"is-svg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
@@ -6511,12 +6538,6 @@
"html-comment-regex": "^1.1.0"
}
},
- "mdn-data": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
- "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==",
- "dev": true
- },
"normalize-url": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
@@ -6809,27 +6830,6 @@
"requires": {
"has-flag": "^3.0.0"
}
- },
- "svgo": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz",
- "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "coa": "^2.0.2",
- "css-select": "^2.0.0",
- "css-select-base-adapter": "^0.1.1",
- "css-tree": "1.0.0-alpha.33",
- "csso": "^3.5.1",
- "js-yaml": "^3.13.1",
- "mkdirp": "~0.5.1",
- "object.values": "^1.1.0",
- "sax": "~1.2.4",
- "stable": "^0.1.8",
- "unquote": "~1.1.1",
- "util.promisify": "~1.0.0"
- }
}
}
},
@@ -6888,6 +6888,39 @@
"integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
"dev": true
},
+ "csso": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
+ "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
+ "dev": true,
+ "requires": {
+ "css-tree": "1.0.0-alpha.39"
+ },
+ "dependencies": {
+ "css-tree": {
+ "version": "1.0.0-alpha.39",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
+ "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
+ "dev": true,
+ "requires": {
+ "mdn-data": "2.0.6",
+ "source-map": "^0.6.1"
+ }
+ },
+ "mdn-data": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
+ "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
"cssom": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz",
@@ -7034,6 +7067,12 @@
"esprima": "^4.0.0"
}
},
+ "dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
+ "dev": true
+ },
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
@@ -7098,9 +7137,9 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
}
}
},
@@ -7340,6 +7379,12 @@
"integrity": "sha512-kGi32g42a8vS/WnYE7ELJyejRT7hbr3UeOOu0WeuYuQ29gCpg9Lrf6RdcTQVXSt/v0bjCfnlb/EWOOsiKpTmkw==",
"dev": true
},
+ "elegant-spinner": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz",
+ "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=",
+ "dev": true
+ },
"elliptic": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
@@ -8665,9 +8710,9 @@
}
},
"figgy-pudding": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
- "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
+ "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw=="
},
"figures": {
"version": "2.0.0",
@@ -8785,6 +8830,15 @@
"locate-path": "^3.0.0"
}
},
+ "find-versions": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
+ "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
+ "dev": true,
+ "requires": {
+ "semver-regex": "^2.0.0"
+ }
+ },
"findit2": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz",
@@ -9276,13 +9330,6 @@
"iferr": "^0.1.5",
"imurmurhash": "^0.1.4",
"readable-stream": "1 || 2"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="
- }
}
},
"fs.realpath": {
@@ -9291,37 +9338,34 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
- "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+ "version": "1.2.12",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz",
+ "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==",
"optional": true,
"requires": {
+ "bindings": "^1.5.0",
"nan": "^2.12.1",
- "node-pre-gyp": "^0.12.0"
+ "node-pre-gyp": "*"
},
"dependencies": {
"abbrev": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "bundled": true,
"optional": true
},
"ansi-regex": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "bundled": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "bundled": true,
"optional": true
},
"are-we-there-yet": {
"version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "bundled": true,
"optional": true,
"requires": {
"delegates": "^1.0.0",
@@ -9330,14 +9374,12 @@
},
"balanced-match": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "bundled": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "bundled": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
@@ -9345,39 +9387,33 @@
}
},
"chownr": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
- "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
+ "version": "1.1.4",
+ "bundled": true,
"optional": true
},
"code-point-at": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "bundled": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "bundled": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "bundled": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "bundled": true,
"optional": true
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "3.2.6",
+ "bundled": true,
"optional": true,
"requires": {
"ms": "^2.1.1"
@@ -9385,41 +9421,35 @@
},
"deep-extend": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "bundled": true,
"optional": true
},
"delegates": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "bundled": true,
"optional": true
},
"detect-libc": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "bundled": true,
"optional": true
},
"fs-minipass": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
- "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
+ "version": "1.2.7",
+ "bundled": true,
"optional": true,
"requires": {
- "minipass": "^2.2.1"
+ "minipass": "^2.6.0"
}
},
"fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "bundled": true,
"optional": true
},
"gauge": {
"version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "bundled": true,
"optional": true,
"requires": {
"aproba": "^1.0.3",
@@ -9433,9 +9463,8 @@
}
},
"glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "version": "7.1.6",
+ "bundled": true,
"optional": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -9448,23 +9477,20 @@
},
"has-unicode": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "bundled": true,
"optional": true
},
"iconv-lite": {
"version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "bundled": true,
"optional": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"ignore-walk": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
- "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
+ "version": "3.0.3",
+ "bundled": true,
"optional": true,
"requires": {
"minimatch": "^3.0.4"
@@ -9472,8 +9498,7 @@
},
"inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "bundled": true,
"optional": true,
"requires": {
"once": "^1.3.0",
@@ -9481,21 +9506,18 @@
}
},
"inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "version": "2.0.4",
+ "bundled": true,
"optional": true
},
"ini": {
"version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "bundled": true,
"optional": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "bundled": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
@@ -9503,29 +9525,25 @@
},
"isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "bundled": true,
"optional": true
},
"minimatch": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "bundled": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "version": "1.2.5",
+ "bundled": true,
"optional": true
},
"minipass": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
- "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
+ "version": "2.9.0",
+ "bundled": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
@@ -9533,44 +9551,39 @@
}
},
"minizlib": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz",
- "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
+ "version": "1.3.3",
+ "bundled": true,
"optional": true,
"requires": {
- "minipass": "^2.2.1"
+ "minipass": "^2.9.0"
}
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "version": "0.5.3",
+ "bundled": true,
"optional": true,
"requires": {
- "minimist": "0.0.8"
+ "minimist": "^1.2.5"
}
},
"ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "version": "2.1.2",
+ "bundled": true,
"optional": true
},
"needle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz",
- "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==",
+ "version": "2.3.3",
+ "bundled": true,
"optional": true,
"requires": {
- "debug": "^4.1.0",
+ "debug": "^3.2.6",
"iconv-lite": "^0.4.4",
"sax": "^1.2.4"
}
},
"node-pre-gyp": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz",
- "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
+ "version": "0.14.0",
+ "bundled": true,
"optional": true,
"requires": {
"detect-libc": "^1.0.2",
@@ -9582,13 +9595,12 @@
"rc": "^1.2.7",
"rimraf": "^2.6.1",
"semver": "^5.3.0",
- "tar": "^4"
+ "tar": "^4.4.2"
}
},
"nopt": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
- "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "version": "4.0.3",
+ "bundled": true,
"optional": true,
"requires": {
"abbrev": "1",
@@ -9596,25 +9608,31 @@
}
},
"npm-bundled": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
- "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npm-normalize-package-bin": {
+ "version": "1.0.1",
+ "bundled": true,
"optional": true
},
"npm-packlist": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz",
- "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
+ "version": "1.4.8",
+ "bundled": true,
"optional": true,
"requires": {
"ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
+ "npm-bundled": "^1.0.1",
+ "npm-normalize-package-bin": "^1.0.1"
}
},
"npmlog": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "bundled": true,
"optional": true,
"requires": {
"are-we-there-yet": "~1.1.2",
@@ -9625,20 +9643,17 @@
},
"number-is-nan": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "bundled": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "bundled": true,
"optional": true
},
"once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "bundled": true,
"optional": true,
"requires": {
"wrappy": "1"
@@ -9646,20 +9661,17 @@
},
"os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "bundled": true,
"optional": true
},
"os-tmpdir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "bundled": true,
"optional": true
},
"osenv": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "bundled": true,
"optional": true,
"requires": {
"os-homedir": "^1.0.0",
@@ -9668,40 +9680,28 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "bundled": true,
"optional": true
},
"process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "version": "2.0.1",
+ "bundled": true,
"optional": true
},
"rc": {
"version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "bundled": true,
"optional": true,
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "optional": true
- }
}
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "bundled": true,
"optional": true,
"requires": {
"core-util-is": "~1.0.0",
@@ -9714,9 +9714,8 @@
}
},
"rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "version": "2.7.1",
+ "bundled": true,
"optional": true,
"requires": {
"glob": "^7.1.3"
@@ -9724,44 +9723,37 @@
},
"safe-buffer": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "bundled": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "bundled": true,
"optional": true
},
"sax": {
"version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "bundled": true,
"optional": true
},
"semver": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
- "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+ "version": "5.7.1",
+ "bundled": true,
"optional": true
},
"set-blocking": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "bundled": true,
"optional": true
},
"signal-exit": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "bundled": true,
"optional": true
},
"string-width": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "bundled": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
@@ -9771,8 +9763,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "bundled": true,
"optional": true,
"requires": {
"safe-buffer": "~5.1.0"
@@ -9780,8 +9771,7 @@
},
"strip-ansi": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "bundled": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
@@ -9789,35 +9779,31 @@
},
"strip-json-comments": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "bundled": true,
"optional": true
},
"tar": {
- "version": "4.4.8",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
- "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
+ "version": "4.4.13",
+ "bundled": true,
"optional": true,
"requires": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
- "minipass": "^2.3.4",
- "minizlib": "^1.1.1",
+ "minipass": "^2.8.6",
+ "minizlib": "^1.2.1",
"mkdirp": "^0.5.0",
"safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
+ "yallist": "^3.0.3"
}
},
"util-deprecate": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "bundled": true,
"optional": true
},
"wide-align": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "bundled": true,
"optional": true,
"requires": {
"string-width": "^1.0.2 || 2"
@@ -9825,14 +9811,12 @@
},
"wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "bundled": true,
"optional": true
},
"yallist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
- "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "version": "3.1.1",
+ "bundled": true,
"optional": true
}
}
@@ -10028,6 +10012,12 @@
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true
},
+ "get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
+ "dev": true
+ },
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@@ -10187,18 +10177,11 @@
}
},
"gonzales-pe": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.4.tgz",
- "integrity": "sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
+ "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
"requires": {
- "minimist": "1.1.x"
- },
- "dependencies": {
- "minimist": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
- "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag="
- }
+ "minimist": "^1.2.5"
}
},
"good-listener": {
@@ -10707,6 +10690,178 @@
}
}
},
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ },
+ "husky": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz",
+ "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -11218,6 +11373,15 @@
"resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
},
+ "is-observable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz",
+ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==",
+ "dev": true,
+ "requires": {
+ "symbol-observable": "^1.1.0"
+ }
+ },
"is-path-inside": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
@@ -11277,6 +11441,12 @@
"has": "^1.0.1"
}
},
+ "is-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+ "dev": true
+ },
"is-resolvable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
@@ -11896,8 +12066,7 @@
"dependencies": {
"acorn": {
"version": "6.4.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz",
- "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==",
+ "resolved": "",
"dev": true
}
}
@@ -12952,21 +13121,26 @@
"dev": true
},
"js-beautify": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz",
- "integrity": "sha512-wfk/IAWobz1TfApSdivH5PJ0miIHgDoYb1ugSqHcODPmaYu46rYe5FVuIEkhjg8IQiv6rDNPyhsqbsohI/C2vQ==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.11.0.tgz",
+ "integrity": "sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A==",
"requires": {
"config-chain": "^1.1.12",
"editorconfig": "^0.15.3",
"glob": "^7.1.3",
- "mkdirp": "~0.5.1",
- "nopt": "~4.0.1"
+ "mkdirp": "~1.0.3",
+ "nopt": "^4.0.3"
},
"dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+ },
"nopt": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
- "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
"requires": {
"abbrev": "1",
"osenv": "^0.1.4"
@@ -13324,6 +13498,449 @@
"react-dom": "^16.4.2"
}
},
+ "lint-staged": {
+ "version": "10.1.3",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.1.3.tgz",
+ "integrity": "sha512-o2OkLxgVns5RwSC5QF7waeAjJA5nz5gnUfqL311LkZcFipKV7TztrSlhNUK5nQX9H0E5NELAdduMQ+M/JPT7RQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "commander": "^4.0.1",
+ "cosmiconfig": "^6.0.0",
+ "debug": "^4.1.1",
+ "dedent": "^0.7.0",
+ "execa": "^3.4.0",
+ "listr": "^0.14.3",
+ "log-symbols": "^3.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"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "cross-spawn": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
+ "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "execa": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
+ "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
+ "dev": true,
+ "requires": {
+ "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",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+ "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "listr": {
+ "version": "0.14.3",
+ "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz",
+ "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "listr-silent-renderer": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz",
+ "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=",
+ "dev": true
+ },
+ "listr-update-renderer": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz",
+ "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "indent-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "listr-verbose-renderer": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz",
+ "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "cli-cursor": "^2.1.0",
+ "date-fns": "^1.27.2",
+ "figures": "^2.0.0"
+ }
+ },
"load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
@@ -13351,12 +13968,12 @@
}
},
"loader-fs-cache": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz",
- "integrity": "sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz",
+ "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==",
"requires": {
"find-cache-dir": "^0.1.1",
- "mkdirp": "0.5.1"
+ "mkdirp": "^0.5.1"
},
"dependencies": {
"find-cache-dir": {
@@ -13618,6 +14235,44 @@
"chalk": "^2.0.1"
}
},
+ "log-update": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz",
+ "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^3.0.0",
+ "cli-cursor": "^2.0.0",
+ "wrap-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz",
+ "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0"
+ }
+ }
+ }
+ },
"loglevelnext": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz",
@@ -14072,9 +14727,9 @@
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"mississippi": {
"version": "3.0.0",
@@ -14798,18 +15453,11 @@
}
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
- }
+ "minimist": "^1.2.5"
}
},
"mockingoose": {
@@ -15038,9 +15686,9 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
}
}
},
@@ -16246,6 +16894,12 @@
"mimic-fn": "^1.0.0"
}
},
+ "opencollective-postinstall": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
+ "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==",
+ "dev": true
+ },
"optimize-css-assets-webpack-plugin": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz",
@@ -16385,6 +17039,12 @@
"p-limit": "^2.0.0"
}
},
+ "p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ "dev": true
+ },
"p-reduce": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
@@ -16558,9 +17218,9 @@
"integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ="
},
"parserlib": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz",
- "integrity": "sha1-hZB92GBaoGq7PdKV1QuyuPpN0Rc="
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/parserlib/-/parserlib-1.1.1.tgz",
+ "integrity": "sha1-pkz6ckBiQ0/fw1HJpOwtkrlMBvQ="
},
"parseurl": {
"version": "1.3.3",
@@ -16730,6 +17390,12 @@
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
"pify": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
@@ -16804,6 +17470,15 @@
"find-up": "^3.0.0"
}
},
+ "please-upgrade-node": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
+ "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
+ "dev": true,
+ "requires": {
+ "semver-compare": "^1.0.0"
+ }
+ },
"pleeease-filters": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/pleeease-filters/-/pleeease-filters-4.0.0.tgz",
@@ -18636,9 +19311,9 @@
"integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
}
}
},
@@ -19212,9 +19887,9 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
},
"micromatch": {
"version": "3.1.10",
@@ -19927,6 +20602,15 @@
"rx-lite": "*"
}
},
+ "rxjs": {
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+ "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"s3-policy": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/s3-policy/-/s3-policy-0.2.0.tgz",
@@ -20599,6 +21283,12 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA=="
},
+ "semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "dev": true
+ },
"semver-diff": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
@@ -20608,6 +21298,12 @@
"semver": "^5.0.3"
}
},
+ "semver-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
+ "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
+ "dev": true
+ },
"send": {
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
@@ -21032,8 +21728,7 @@
},
"kind-of": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "resolved": ""
}
}
},
@@ -21310,6 +22005,12 @@
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
},
+ "string-argv": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
+ "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==",
+ "dev": true
+ },
"string-length": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
@@ -21475,6 +22176,17 @@
"safe-buffer": "~5.1.0"
}
},
+ "stringify-object": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
+ "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
+ "dev": true,
+ "requires": {
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
+ }
+ },
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -21495,6 +22207,12 @@
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
"strip-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
@@ -21623,6 +22341,57 @@
"has-flag": "^3.0.0"
}
},
+ "svgo": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
+ "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "coa": "^2.0.2",
+ "css-select": "^2.0.0",
+ "css-select-base-adapter": "^0.1.1",
+ "css-tree": "1.0.0-alpha.37",
+ "csso": "^4.0.2",
+ "js-yaml": "^3.13.1",
+ "mkdirp": "~0.5.1",
+ "object.values": "^1.1.0",
+ "sax": "~1.2.4",
+ "stable": "^0.1.8",
+ "unquote": "~1.1.1",
+ "util.promisify": "~1.0.0"
+ },
+ "dependencies": {
+ "css-select": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
+ "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
+ "dev": true,
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-what": "^3.2.1",
+ "domutils": "^1.7.0",
+ "nth-check": "^1.0.2"
+ }
+ },
+ "css-what": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz",
+ "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==",
+ "dev": true
+ },
+ "domutils": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ }
+ }
+ },
"symbol-observable": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
@@ -22945,9 +23714,9 @@
},
"dependencies": {
"acorn": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz",
- "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw=="
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
+ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA=="
},
"ajv": {
"version": "6.12.0",
@@ -23487,6 +24256,12 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
+ "which-pm-runs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
+ "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
+ "dev": true
+ },
"wide-align": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
diff --git a/package.json b/package.json
index a8b71f7b..37420ee9 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,16 @@
"fetch-examples-ml5:prod": "cross-env NODE_ENV=production node ./dist/fetch-examples-ml5.bundle.js",
"heroku-postbuild": "touch .env; npm run build"
},
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged"
+ }
+ },
+ "lint-staged": {
+ "*.{js,jsx}": [
+ "npm run lint-fix"
+ ]
+ },
"jest": {
"setupFiles": [
"/jest.setup.js"
@@ -73,7 +83,9 @@
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-react": "^7.18.3",
"file-loader": "^2.0.0",
+ "husky": "^4.2.5",
"jest": "^24.9.0",
+ "lint-staged": "^10.1.3",
"mini-css-extract-plugin": "^0.8.2",
"node-sass": "^4.13.1",
"nodemon": "^1.19.4",
@@ -115,7 +127,7 @@
"cookie-parser": "^1.4.3",
"cors": "^2.8.5",
"cross-env": "^5.2.1",
- "csslint": "^0.10.0",
+ "csslint": "^1.0.5",
"date-fns": "^1.30.1",
"decomment": "^0.8.7",
"dotenv": "^2.0.0",
diff --git a/server/controllers/embed.controller.js b/server/controllers/embed.controller.js
index 644a3441..67edcd04 100644
--- a/server/controllers/embed.controller.js
+++ b/server/controllers/embed.controller.js
@@ -25,7 +25,7 @@ export function serveProject(req, res) {
const sketchDoc = window.document;
const base = sketchDoc.createElement('base');
- const fullUrl = `https://${req.get('host')}${req.originalUrl}`;
+ const fullUrl = `${req.protocol}://${req.get('host')}${req.originalUrl}`;
base.href = `${fullUrl}/`;
sketchDoc.head.appendChild(base);
diff --git a/server/controllers/project.controller.js b/server/controllers/project.controller.js
index bf59a865..1e15619b 100644
--- a/server/controllers/project.controller.js
+++ b/server/controllers/project.controller.js
@@ -167,7 +167,7 @@ export function projectForUserExists(username, projectId, callback) {
}
function bundleExternalLibs(project, zip, callback) {
- const indexHtml = project.files.find(file => file.name === 'index.html');
+ const indexHtml = project.files.find(file => file.name.match(/\.html$/));
let numScriptsResolved = 0;
let numScriptTags = 0;
diff --git a/server/routes/asset.routes.js b/server/routes/asset.routes.js
index 4e236e7d..ab3f52a0 100644
--- a/server/routes/asset.routes.js
+++ b/server/routes/asset.routes.js
@@ -7,6 +7,8 @@ const router = new Router();
router.get('/:username/sketches/:project_id/*', getProjectAsset);
router.get('/full/:project_id/*', getProjectAsset);
router.get('/:username/full/:project_id/*', getProjectAsset);
+router.get('/present/:project_id/*', getProjectAsset);
+router.get('/:username/present/:project_id/*', getProjectAsset);
router.get('/embed/:project_id/*', getProjectAsset);
router.get('/:username/embed/:project_id/*', getProjectAsset);
diff --git a/translations/ko/CONTRIBUTING.md b/translations/ko/CONTRIBUTING.md
new file mode 100644
index 00000000..38c453da
--- /dev/null
+++ b/translations/ko/CONTRIBUTING.md
@@ -0,0 +1,104 @@
+# p5.js ์น ์๋ํฐ์ ๊ธฐ์ฌํ๊ธฐ
+
+์๋
ํ์ธ์! p5.js ์น ์๋ํฐ์ ๋ค์ํ ํํ๋ก ๊ธฐ์ฌํด์ฃผ์ค ๋ถ๋ค์ ํ์ํฉ๋๋ค. ์ ํฌ ์ปค๋ฎค๋ํฐ์ ๋ํ ๊ธฐ์ฌ๋ **์ฝ๋ ์์ฑ**์ ๊ตญํ๋์ง ์์ผ๋ฉฐ, **๋ฒ๊ทธ ๋ฆฌํฌํ
**, **์๋ก์ด ๊ธฐ๋ฅ ์ ์**, **UI/UX ๋์์ธ ์ ์**, **๋ฌธ์ ์
๋ฐ์ดํธ** ๋ฑ ์ฌ๋ฌ๊ฐ์ง ํํ์ผ ์ ์์ต๋๋ค.
+
+## ๋ชฉ์ฐจ
+- [p5.js ์น ์๋ํฐ์ ๊ธฐ์ฌํ๊ธฐ](#p5js-์น-์๋ํฐ์-๊ธฐ์ฌํ๊ธฐ)
+ - [๋ชฉ์ฐจ](#๋ชฉ์ฐจ)
+ - [ํ๋ ์์น](#ํ๋-์์น)
+ - [์ด๋ป๊ฒ ๊ธฐ์ฌํ ์ ์์๊น์?](#์ด๋ป๊ฒ-๊ธฐ์ฌํ -์-์์๊น์)
+ - [์ฒซ ๋จ๊ณ](#์ฒซ-๋จ๊ณ)
+ - [์ข์ ์ฒซ ์ด์๋ค](#์ข์-์ฒซ-์ด์๋ค)
+ - [์ข์ ์ค๊ฐ ์ด์๋ค](#์ข์-์ค๊ฐ-์ด์๋ค)
+ - [ํ๋ก์ ํธ ๋ณด๋](#ํ๋ก์ ํธ-๋ณด๋)
+ - [ํ๋ก์ ํธ ์์ด๋์ด](#ํ๋ก์ ํธ-์์ด๋์ด)
+ - [์ด์ ๊ฒ์ ๋ฐ ํ๊น
](#์ด์-๊ฒ์-๋ฐ-ํ๊น
)
+ - [์์
์์ํ๊ธฐ](#์์
-์์ํ๊ธฐ)
+ - [๊ธฐ์ฌ ๊ฐ์ด๋](#๊ธฐ์ฌ-๊ฐ์ด๋)
+ - [์ปค๋ฐ ๋ฉ์ธ์ง ์ฐ๋ ๋ฒ](#์ปค๋ฐ-๋ฉ์ธ์ง-์ฐ๋-๋ฒ)
+ - [ํ](#ํ)
+
+## ํ๋ ์์น
+
+[ํ๋ ์์น](https://github.com/processing/p5.js-web-editor/blob/master/.github/CODE_OF_CONDUCT.md)์ ์๋ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ผ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
+
+## ์ด๋ป๊ฒ ๊ธฐ์ฌํ ์ ์์๊น์?
+๋ง์ฝ ์คํ ์์ค์ ๊ธฐ์ฌํ๋ ๊ฒ ์ฒ์์ด์ ๊ฒฝ์ฐ๋ผ๋ฉด, [์คํ ์์ค์ ์ด๋ป๊ฒ ๊ธฐ์ฌํ ์ ์๋์ง](https://opensource.guide/how-to-contribute/)๋ฅผ ์ฝ์ด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
+
+### ์ฒซ ๊ฑธ์
+์ด๋์ ์์ํ ์ง ๋ชจ๋ฅด์๊ฒ ๋ค๊ตฌ์? ์์์ ์ด ๋ ์ ์์๋งํ ๋ช ๊ฐ์ง ์ ์๋ค์ด ์ฌ๊ธฐ ์์ต๋๋ค:
+* ์คํ ์์ค ์์
์ ํตํด ๋ฌด์์ ๋ฐฐ์ฐ๊ธฐ๋ฅผ ํฌ๋งํ๋์ง ์๊ฐํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ์น ์๋ํฐ๋ ํ์คํ ์น ์ ํ๋ฆฌ์ผ์ด์
์ด๋ฏ๋ก, ์ฌ๋ฌ๊ฐ์ง ๋ถ์ผ๊ฐ ์์ต๋๋ค:
+- UI/UX ๋์์ธ
+- ํ๋ก์ ํธ ๋งค๋์ง๋จผํธ: ํฐ์ผ, ํ ๋ฆฌํ์คํธ, ๊ณผ์
์ ๋ฆฌ
+- ํ๋ฐํธ์๋: ๋ฆฌ์กํธ/๋ฆฌ๋์ค, CSS/์ฌ์ค(Sass), ์ฝ๋ ๋ฏธ๋ฌ
+- ๋ฐฑ์๋: Node, Express, MongoDB, Jest, AWS
+- ๋ฐ๋ธ์ต์ค: Travis CI, Jest, ๋์ปค, ์ฟ ๋ฒ๋คํฐ์ค, AWS
+* [p5.js ์น ์๋ํฐ](https://editor.p5js.org)๋ฅผ ์ฌ์ฉํด๋ณด์ธ์! ๋ฒ๊ทธ๋ฅผ ์ฐพ์ผ์
จ๋์? ์ด ํ๋ก์ ํธ์ ๋ญ๊ฐ๋ฅผ ๋ํ์ค ์ ์์ ๊ฒ ๊ฐ์ผ์ ๊ฐ์? ๊ทธ๋ ๋ค๋ฉด ์ด์๋ฅผ ์ด์ด์ฃผ์ธ์.
+* ๊ธฐ์กด ์ด์๋ค์ ํ์ฅ์์ผ๋ณด์ธ์. ๊ฐ๋์ ์ด์๋ค ์ค์ ์ฌํ ๊ณผ์ ์ด ๋ฏธํกํ๊ฑฐ๋, ์๋ฃจ์
ํ๋ณด๋ค์ด ํ์ํ ๊ฒฝ์ฐ๋ค์ด ์์ต๋๋ค. ์ด์ฉ ๋ โ์ด๊ฑฐ ์ ๋ง ์ค์ํด!โ ํ๊ณ ๋งํด์ฃผ๋ ๋ชฉ์๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ๋ค๋ ์์ต๋๋ค.
+* ์ฌ๋ฌ๋ถ์ ๋ก์ปฌ ์ปดํจํฐ์์ [์ค์น ๋จ๊ณ](./installation.md)๋ฅผ ๋ฐ๋ผ ํ๋ก์ ํธ๋ฅผ ์คํํด๋ณด์ธ์.
+* [๊ฐ๋ฐ์ ๋ฌธ์ ๋๋ ํ ๋ฆฌ](./../../developer_docs/) ์์ ๋ฌธ์๋ค์ ์ฝ์ด๋ณด์ธ์. ๋ ํ์ฅ๋ ์ ์๋ ๋ญ๊ฐ๊ฐ ์๋์? ๋ญ๊ฐ ๋น ์ง๊ฒ ์๋์?
+* [๊ฐ๋ฐ ๊ฐ์ด๋](./development.md)๋ฅผ ์ฝ์ด๋ณด์ธ์.
+
+### ์ข์ ์ฒซ ์ด์๋ค
+์ฒ์ ๊ธฐ์ฌ๋ฅผ ํด๋ณด์๋ ๋ถ๋ค์ด๋, ์์ ๊ณผ์
์ผ๋ก ๊ธฐ์ฌ๋ฅผ ์์ํ๊ณ ์ ํ๋ ๋ถ๋ค์ด๋ผ๋ฉด, [์ข์ ์ฒซ ์ด์๋ค](https://github.com/processing/p5.js-web-editor/labels/good%20first%20issue) ํน์ [์ฌํ ๋จ๊ณ๋ค์ ๋ฌธ์ํ ํด์ผ ํ๋ ์ด์๋ค](https://github.com/processing/p5.js-web-editor/issues?q=is%3Aissue+is%3Aopen+label%3A%22needs+steps+to+reproduce%22)์ ํ์ธํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ๋ง์ฝ ์ด์๊ฐ ๋๊ตฌ์๊ฒ๋ ํ ๋น๋์ง ์์๋ค๋ฉด, ์ฌ๋ฌ๋ถ์ด ๊ทธ ์์
์ ํ์
๋ ์ข์ต๋๋ค! ์ด๋ป๊ฒ ์ด์๋ฅผ ํด๊ฒฐํด์ผ ํ ์ง ๋ชจ๋ฅด์
๋ ๊ด์ฐฎ๊ณ , ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ์ ๊ทผํด์ผ ํ ์ง ์ง๋ฌธํด์ฃผ์
๋ ์ข์ต๋๋ค! ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ฐฐ์ฐ๊ธฐ ์ํด์, ๋ญ๊ฐ ๋ฉ์ง๊ฑธ ๋ง๋ค๊ธฐ ์ํด์ ์ฌ๊ธฐ ์๋ ๊ฑฐ๋๊น์. ์ปค๋ฎค๋ํฐ ๋ฉค๋ฒ ์ค ๋๊ตฐ๊ฐ๊ฐ ์ฌ๋ฌ๋ถ์ ๋์์ค ์๋ ์์๊ฑฐ๊ณ , ์ด ์ด์๋ค์ ์น ์๋ํฐ, ํ์ผ ๊ตฌ์กฐ, ๊ฐ๋ฐ ๊ณผ์ ์ ๋ํด ๋ฐฐ์ธ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ฅญํ ์ด์๋ค์
๋๋ค.
+
+### ์ข์ ์ค๊ฐ ์ด์๋ค
+์ข ๋ ํฐ ๊ท๋ชจ์ ์ผ์ ํ๊ณ ์ถ๋ค๋ฉด, [์ข์ ์ค๊ฐ ์ด์](https://github.com/processing/p5.js-web-editor/labels/good%20medium%20issue)๋ก ํ๊ทธ ๋์ด ์๋ ์ด์๋ค์ ์ดํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ์ด ์ด์๋ค์ ๊ฝค ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์๋ ๋
์์ ์ธ ํ๋ก์ ํธ์ธ๋ฐ, ๋ ๊น์ด ๊ด์ฌํด ๊ธฐ์ฌํ๊ณ ์ถ๋ค๋ฉด ์ด๋ฐ ์ด์๋ค์ด ์ ๋นํ ๊ฒ์
๋๋ค!
+
+### ํ๋ก์ ํธ ๋ณด๋
+๋ง์ ์ด์๋ค์ ์๋ก ์ฐ๊ด์ด ์์ผ๋ฉฐ ๋ ํฐ ํ๋ก์ ํธ์ ์ผ๋ถ์ด๊ธฐ๋ ํฉ๋๋ค. ๋ ํฐ ๊ทธ๋ฆผ์ ๋ณด๊ธฐ ์ํด์๋ [๋ชจ๋ ํ๋ก์ ํธ](https://github.com/processing/p5.js-web-editor/projects/4) ๋ณด๋๋ฅผ ์ดํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
+
+### ํ๋ก์ ํธ ์์ด๋์ด
+๊ตฌ๊ธ ์๋จธ ์ค๋ธ ์ฝ๋ ํน์ ๋ ํฐ ํ๋ก์ ํธ๋ฅผ ์ํ ์์ด๋์ด๋ฅผ ์ฐพ๊ณ ์๋ค๋ฉด, ํ๋ก์ธ์ฑ ์ฌ๋จ ์ํค์ ์๋ [ํ๋ก์ ํธ ๋ฆฌ์คํธ](https://github.com/processing/processing/wiki/Project-List#p5js-web-editor)๋ฅผ ํ์ธํ์๊ธฐ ๋ฐ๋๋๋ค.
+
+### ์ด์ ๊ฒ์ ๋ฐ ํ๊น
+์์
ํ ์ด์๋ฅผ ์ฐพ๊ณ ์๋ค๋ฉด, [๋์ ์ฐ์ ์์](https://github.com/processing/p5.js-web-editor/labels/priority%3Ahigh) ํ์๊ฐ ๋ ํฐ์ผ๋ค๋ถํฐ ์์ํ๋ ๊ฑธ ๊ถ์ฅ๋๋ฆฝ๋๋ค. [๊ธฐ๋ฅ ๊ฐ์ ](https://github.com/processing/p5.js-web-editor/labels/type%3Afeature), [๋ฒ๊ทธ ์์ ](https://github.com/processing/p5.js-web-editor/labels/type%3Abug) ๋ฑ์ ํ๊ทธ๋ค์ด ์๋ ํฐ์ผ์ ์ดํด๋ณด์๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค.
+
+๋ง์ฝ ์ด๋ค ์ด์๊ฐ ์๋ชป๋ ํ๊ทธ๋ฅผ ๋ฌ๊ณ ์๋ ๊ฒ ๊ฐ๋ค๋ฉด(์: ๋ฎ์ ์ฐ์ ์์๋ก ํ์๋์ด ์์ง๋ง ์ฐ์ ์์๊ฐ ๋๋ค๊ณ ์๊ฐํ ๋), ์ด์๋ฅผ ์
๋ฐ์ดํธ ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค!
+
+### ์์
์์ํ๊ธฐ
+
+์ด๋ค ์ด์๋ฅผ ์ํ ์์
์ ์์ํ๊ณ ์ถ๋ค๋ฉด, ํด๋น ์ด์์ ๋๊ธ์ ๋ฌ์์ ๊ด๋ฆฌ์๋ค์๊ฒ ์ด๋ฅผ ์๋ ค ์ด์๋ฅผ ํ ๋น ๋ฐ์ผ์๊ธฐ ๋ฐ๋๋๋ค. ๋ง์ฝ ๋ค๋ฅธ ์ฌ๋์ด ์ด๋ฏธ ํด๋น ์ด์์ ๋๊ธ์ ๋ฌ์๊ณ ์์
์ ํ๊ธฐ๋ก ๋์ด ์๋ค๋ฉด, ๋ถํ์ํ ์ค๋ณต ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด ํด๋น ์ด์์ ๊ด๋ จ๋ ์์
์ ํ๊ฑฐ๋ ๊ด๋ฆฌ์์๊ฒ ๋ฌป์ง ์์ ์ฑ๋ก ํ ๋ฆฌํ์คํธ๋ฅผ ์ ์ถํ๋ ์ผ์ ์ผ๊ฐ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
+
+์ด์ ์ฌ๋ฌ๋ถ์ ์ปดํจํฐ์์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๊ณ ์์
์ ํ๊ธฐ ์ํด [์ค์น ๊ฐ์ด๋](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/installation.md)๋ฅผ ๋ฐ๋ผ ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
+
+### ๊ธฐ์ฌ ๊ฐ์ด๋
+
+* [https://guides.github.com/activities/hello-world/](https://guides.github.com/activities/hello-world/)
+* [https://guides.github.com/activities/forking/](https://guides.github.com/activities/forking/)
+
+## ์ปค๋ฐ ๋ฉ์ธ์ง ์ฐ๋ ๋ฒ
+
+์ข์ ์ปค๋ฐ ๋ฉ์ธ์ง๋ ์ต์ํ ์ธ ๊ฐ์ง ์ค์ํ ๋ชฉ์ ์ ์ถฉ์กฑ์์ผ์ค๋๋ค:
+
+* ๋ฆฌ๋ทฐ ์ ์ฐจ์ ์๋๋ฅผ ๋์ฌ์ค๋๋ค.
+* ์ข์ ๋ฆด๋ฆฌ์ฆ ๋
ธํธ๋ฅผ ์์ฑํ๋ ๋ฐ์ ๋์์ ์ค๋๋ค.
+* ๊ด๋ฆฌ์๋ค์ด ์ด๋ค ๋ณํ๊ฐ ์ ์ผ์ด๋ฌ๋์ง ์ดํดํ๊ธฐ ์ฝ๊ฒ ํด์ค๋๋ค.
+
+์ปค๋ฐ ๋ฉ์ธ์ง๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก ์์ฑํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค:
+
+ ```
+ ๋ณ๊ฒฝ ์ฌํญ(#์ด์-๋ฒํธ ํค์๋ ํฌํจ)์ ๋ํ ์งง์ (50 ๋ฌธ์ ์ดํ) ์์ฝ
+
+ ํ์ ์ ๋ ์์ธํ ์ค๋ช
์ ๋ด์ ํ
์คํธ ์ถ๊ฐ.
+ 72 ๋ฌธ์ ์ดํ๋ก ์์ฑ.
+ ์ด๋ค ๋งฅ๋ฝ์์๋ ์ฒซ ์ค์ ์ด๋ฉ์ผ์ ์ ๋ชฉ์ผ๋ก,
+ ๋๋จธ์ง๋ ๋ณธ๋ฌธ์ผ๋ก ๊ฐ์ฃผ๋๊ธฐ๋ ํจ.
+ ์์ฝ๊ณผ ๋ณธ๋ฌธ์ ๋ถ๋ฆฌ์ํค๋ ๋น ์ค์ ์ค์ํจ(๋ณธ๋ฌธ์ด ์์ ๋น ์ง์ง ์๋ ํ);
+ ๋ถ๋ฆฌ๋์ง ์์ ๊ฒฝ์ฐ ๋ฆฌ๋ฒ ์ด์ค ๊ฐ์ ํด์ ํผ๋์ค๋ฌ์ ํ ์ ์์.
+
+ ์ถ๊ฐ ๋ฌธ๋จ๋ค์ ๋น ์ค ์ดํ์ ์จ๋ค.
+
+ - ๋ถ๋ฆฟ ํฌ์ธํธ๋ ํ์ฉ๋จ
+
+ - ๋ถ๋ฆฟ์ ๋ณดํต ์คํ์ด์ค ํ ์นธ ๋ค์์ ํ์ดํ์ด๋ ๋ณํ๊ฐ ์ด์ฉ๋๋ฉฐ, ๋ถ๋ฆฟ ๊ฐ์๋ ๋น ์ค์ด ์์ง๋ง ์ด ๊ด๋ก๋ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ ์ฉ๋จ
+
+ ```
+
+* ์์ฝ๊ณผ ์ค๋ช
์ ๊ฒฝ์ฐ ๋๊ตฐ๊ฐ์๊ฒ ๋ฌด์ธ๊ฐ๋ฅผ ๋ช
๋ นํ๋ฏ์ด ์์ฑํ์๊ธฐ ๋ฐ๋๋๋ค. โFixedโ, โAddedโ, โChangedโ ๋์ โFixโ, โAddโ, โChangeโ๋ก ์ค์ ์์ํ์ญ์์ค.
+* ๋ ๋ฒ์งธ ์ค์ ํญ์ ๋น ์ค๋ก ๋จ๊ฒจ๋์ญ์์ค.
+* ์ค๋ช
๋์์ ์ต๋ํ ์์ธํ ์์ ํด์ฃผ์ญ์์ค. ์ด๋ ์ปค๋ฐ์ ์๋์ ๋ํด ๋ ์ ์ดํดํ ์ ์๊ฒ ํด์ฃผ๊ณ , ์ ์ด๋ฐ ๋ณ๊ฒฝ ์ฌํญ์ด ์์๋์ง ๋ฌธ๋งฅ์ ์ ๊ณตํด์ค๋๋ค.
+
+## ํ
+
+* ์ฌ๋ฌ๋ถ์ ์ปค๋ฐ์ด ๋ฌด์จ ์ผ์ ํ๋์ง ์์ฝํ๊ธฐ ์ด๋ ต๋ค๋ฉด, ์ฌ๋ฌ๊ฐ์ง ๋
ผ๋ฆฌ์ ๋ณํ๋ ๋ฒ๊ทธ ์์ ์ ํ๋์ ๋ด๊ณ ์๊ธฐ ๋๋ฌธ์ผ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋ฉฐ, ์ด๋ฐ ๊ฒฝ์ฐ์๋ `git add -p `๋ฅผ ์ด์ฉํด ์ฌ๋ฌ ๊ฐ์ ์ปค๋ฐ์ผ๋ก ๋๋๋ ํธ์ด ๋ซ์ต๋๋ค.
diff --git a/translations/ko/README.md b/translations/ko/README.md
new file mode 100644
index 00000000..9be60b7a
--- /dev/null
+++ b/translations/ko/README.md
@@ -0,0 +1,38 @@
+# [p5.js ์น ์๋ํฐ](https://editor.p5js.org)
+
+p5.js ์น ์๋ํฐ๋ ์์ ๊ฐ, ๋์์ด๋, ๊ต์ก์, ์ด๊ธ์, ๊ทธ ์ธ์๋ ์ฝ๋ฉ์ ๋ฐฐ์ฐ๊ณ ์ถ์ดํ๋ ๋ชจ๋ ์ด๋ค์ ํฌํจํด ์ต๋ํ ๋ง์ ์ฌ๋๋ค์๊ฒ ์ฝ๋ฉ์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ๋ง๋๋๋ฐ์ ์ด์ ์ ๋ง์ถ ์ฐฝ์์ ์ฝ๋ฉ์ ์ํ ํ๋ซํผ์
๋๋ค. ์น์ฌ์ดํธ๋ง ์ด๋ฉด ๋ค์ด๋ก๋๋ ์ค์ ์ ํ ํ์๋ ์์ด ๊ณง๋ฐ๋ก p5.js ์ค์ผ์น๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ณธ ์๋ํฐ๋ ์ ํ์ ์ธ ๊ธฐ๋ฅ๋ง์ ์ ๊ณตํ๊ณ ๋ถํ์ํ ์ฅ์์ ์์ ๋ ๋ฑ ๋จ์ํจ์ ์ผ๋์ ๋๊ณ ๋ง๋ค์ด์ก์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด ์๋ํฐ๋ฅผ ๊ฐ๋ฐํด๋๊ฐ์ ์์ด์ ์ปค๋ฎค๋ํฐ์ ์๊ฒฌ์ ๊ท ๊ธฐ์ธ์ด๊ณ , ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์๋๋ฅผ ๊น๋ค์ผ ์ ์๋๋ก ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๋ณธ ์๋ํฐ๋ ๋ฌด๋ฃ์ด๋ฉฐ ์คํ ์์ค์
๋๋ค.
+
+์ฐ๋ฆฌ๋ ๋ํ ์ปค๋ฎค๋ํฐ์๊ฒ ์ต๋ํ ๋ง์ ์ฃผ์ธ ์์๊ณผ ํต์ ๊ถ์ ๋๋ฆฌ๊ณ ์ ๋
ธ๋ ฅํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ด ์์ฑํ ์ค์ผ์น๋ฅผ ๋ค์ด๋ก๋ํด ๋ก์ปฌ ํ๊ฒฝ์์ ์ค์ผ์น๋ฅผ ํธ์งํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ฉฐ, ๋ค๋ฅธ ๊ณณ์ ํธ์คํ
ํ๋ ๊ฒ ์ญ์ ๊ฐ๋ฅํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ ์์ ๋ง์ ์๋ํฐ ๋ฒ์ ์ ํธ์คํ
ํด ๋ฐ์ดํฐ์ ๋ํ ํต์ ๊ถ์ ์ง๋ ์๋ ์์ต๋๋ค.
+
+## ์ปค๋ฎค๋ํฐ
+
+p5.js ์ปค๋ฎค๋ํฐ์ ์ฒ์ ์ค์
จ๋์? ๊ทธ๋ ๋ค๋ฉด ๋จผ์ ์ ํฌ์ [์ปค๋ฎค๋ํฐ ์ฑ๋ช
์](https://p5js.org/community/)๋ฅผ ์ฝ์ด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
+
+## ํ๋ ์์น
+
+p5.js ์น ์๋ํฐ์ ๋ชจ๋ ์ปจํธ๋ฆฌ๋ทฐํฐ๋ค์ ๋ค์์ [ํ๋ ์์น](./.github/CODE_OF_CONDUCT.md)์ ๋ฐ๋ผ์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์น๊ทผ๊ฐ ์๊ณ ์์ ํ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ง๋ค๊ณ ์ ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค!
+
+## ์ฐธ์ฌํ๊ธฐ
+
+p5.js ์น ์๋ํฐ๋ ๋ค์์ ๊ฐ์ธ๋ค์ ์ํด ๋ง๋ค์ด์ง ํ๋ ฅ ํ๋ก์ ํธ์ด๋ฉฐ, ์ฌ๋ฌ๋ถ ์ญ์ ๋์์ ์ฃผ์ค ์ ์์ต๋๋ค. ๋ชจ๋ ์ข
๋ฅ์ ์ฐธ์ฌ๋ฅผ ํ์ํฉ๋๋ค! ๋ ์์ธํ ์ฌํญ์ ์ํด์๋ [๊ธฐ์ฌ ์๋ด](./.github/CONTRIBUTING.md)๋ฅผ ํ์ธํ์๊ธฐ ๋ฐ๋๋๋ค.
+
+๊ฐ๋ฐ์ ๋ถ๋ค์ ์ฝ๋ ๊ธฐ์ฌ, ๋ฒ๊ทธ ์์ , ๋ฌธ์ํ์ ๋ํ ์ธ๋ถ ์ฌํญ์ [๊ฐ๋ฐ์ ๋ฌธ์](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/)์์ ํ์ธํ์๊ธฐ ๋ฐ๋๋๋ค. ์ฝ๋ ์์ฑ์ ์์ํ๊ธฐ ์ํ ์ข์ ์์์ ์ [๊ฐ๋ฐ ์๋ด](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/development.md)๋ฅผ ์ดํด๋ณด๋ ๊ฒ์
๋๋ค.
+
+## ์ด์
+
+p5.js ์น ์๋ํฐ์์ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ์
จ๋ค๋ฉด, [โ์ด์โ ํญ](https://github.com/processing/p5.js-web-editor/issues)์ ํด๋น ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํ์ค ์ ์์ต๋๋ค.
+
+๋ฒ๊ทธ์ ๊ธฐ๋ฅ ์์ฒญ์ ๊ฐ๊ฐ์ ์๋ง์ ์ ์ฅ์์ ๋ณด๊ณ ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค:
+
+* p5.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ p5.dom:ย [https://github.com/processing/p5.js/issues](https://github.com/processing/p5.js/issues)
+* p5.accessibility:ย [https://github.com/processing/p5.accessibility/issues](https://github.com/processing/p5.accessibility/issues)
+* p5.sound:ย [https://github.com/processing/p5.js-sound/issues](https://github.com/processing/p5.js-sound/issues)
+* p5.js ์น์ฌ์ดํธ:ย [https://github.com/processing/p5.js-website/issues](https://github.com/processing/p5.js-website/issues)
+
+## ๊ฐ์ฌ์ ๋ง
+
+๋ณธ ํ๋ก์ ํธ๋ [ํ๋ก์ธ์ฑ ์ฌ๋จ](https://processingfoundation.org/), [๋ด์๋ ITP](https://tisch.nyu.edu/itp), [๋ด์์ ๊ต์ก๋ถ์ CS4All](http://cs4all.nyc/)์์ ํ์ํด์ฃผ์
จ์ต๋๋ค.
+
+ํธ์คํ
๊ณผ ๊ธฐ์ ์ ์ง์์ ๋ค์ ๋จ์ฒด๋ค์์ ํด์ฃผ์
จ์ต๋๋ค:
+
+