diff --git a/ui/package.json b/ui/package.json
index af5b3120b..abbcdb1b9 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -23,6 +23,7 @@
"react": "^17.0.2",
"react-bootstrap": "^1.5.2",
"react-bootstrap-typeahead": "^5.1.4",
+ "react-contenteditable": "^3.3.5",
"react-dom": "^17.0.2",
"react-hook-form": "^7.5.2",
"react-infinite-scroll-component": "^6.1.0",
diff --git a/ui/public/assets/schema/filter/entity-attributes.schema.json b/ui/public/assets/schema/filter/entity-attributes.schema.json
index 2350a345c..e754c4983 100644
--- a/ui/public/assets/schema/filter/entity-attributes.schema.json
+++ b/ui/public/assets/schema/filter/entity-attributes.schema.json
@@ -1,37 +1,20 @@
{
- "title": "EntityAttributes Filter",
"type": "object",
- "widget": {
- "id": "fieldset"
- },
"properties": {
"name": {
"title": "label.filter-name",
"description": "tooltip.filter-name",
- "type": "string",
- "widget": {
- "id": "string",
- "help": "message.must-be-unique"
- }
+ "type": "string"
},
"@type": {
"type": "string",
- "widget": {
- "id": "hidden"
- },
"default": "EntityAttributes"
},
"resourceId": {
- "type": "string",
- "widget": {
- "id": "hidden"
- }
+ "type": "string"
},
"version": {
- "type": "integer",
- "widget": {
- "id": "hidden"
- }
+ "type": "integer"
},
"filterEnabled": {
"title": "label.enable-filter",
@@ -43,36 +26,24 @@
"title": "label.search-criteria",
"description": "tooltip.search-criteria",
"type": "object",
- "widget": {
- "id": "filter-target"
- },
"properties": {
"entityAttributesFilterTargetType": {
- "title": "",
+ "title": "label.filter-target-type",
"type": "string",
"default": "ENTITY",
- "oneOf": [
- {
- "enum": [
- "ENTITY"
- ],
- "description": "value.entity-id"
- },
- {
- "enum": [
- "REGEX"
- ],
- "description": "value.regex"
- },
- {
- "enum": [
- "CONDITION_SCRIPT"
- ],
- "description": "value.script"
- }
+ "enum": [
+ "ENTITY",
+ "REGEX",
+ "CONDITION_SCRIPT"
+ ],
+ "enumNames": [
+ "value.entity-id",
+ "value.regex",
+ "value.script"
]
},
"value": {
+ "title": "label.filter-target-value",
"type": "array",
"buttons": [
{
@@ -88,7 +59,10 @@
}
}
},
- "required": ["value", "entityAttributesFilterTargetType"]
+ "required": [
+ "value",
+ "entityAttributesFilterTargetType"
+ ]
},
"relyingPartyOverrides": {
"type": "object",
@@ -96,44 +70,32 @@
"signAssertion": {
"title": "label.sign-the-assertion",
"description": "tooltip.sign-assertion",
- "type": "boolean",
- "default": false
+ "type": "boolean"
},
"dontSignResponse": {
"title": "label.dont-sign-the-response",
"description": "tooltip.dont-sign-response",
- "type": "boolean",
- "default": false
+ "type": "boolean"
},
"turnOffEncryption": {
"title": "label.turn-off-encryption-of-response",
"description": "tooltip.turn-off-encryption",
- "type": "boolean",
- "default": false
+ "type": "boolean"
},
"useSha": {
"title": "label.use-sha1-signing-algorithm",
"description": "tooltip.usa-sha-algorithm",
- "type": "boolean",
- "default": false
+ "type": "boolean"
},
"ignoreAuthenticationMethod": {
"title": "label.ignore-any-sp-requested-authentication-method",
"description": "tooltip.ignore-auth-method",
- "type": "boolean",
- "default": false
- },
- "forceAuthn": {
- "title": "label.force-authn",
- "description": "tooltip.force-authn",
- "type": "boolean",
- "default": false
+ "type": "boolean"
},
"omitNotBefore": {
"title": "label.omit-not-before-condition",
- "type": "boolean",
"description": "tooltip.omit-not-before-condition",
- "default": false
+ "type": "boolean"
},
"responderId": {
"title": "label.responder-id",
@@ -141,86 +103,79 @@
"type": "string"
},
"nameIdFormats": {
- "title": "label.nameid-format-to-send",
- "placeholder": "label.nameid-format",
- "description": "tooltip.nameid-format",
- "type": "array",
- "uniqueItems": true,
- "items": {
- "title": "label.nameid-format",
- "type": "string",
- "widget": {
- "id": "datalist",
- "data": [
- "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified",
- "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
- "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",
- "urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
- ]
- }
- },
- "default": null
+ "$ref": "#/definitions/nameIdFormats"
},
"authenticationMethods": {
- "title": "label.authentication-methods-to-use",
- "description": "tooltip.authentication-methods-to-use",
- "type": "array",
- "placeholder": "label.authentication-method",
- "uniqueItems": true,
- "items": {
- "type": "string",
- "title": "label.authentication-method",
- "widget": {
- "id": "datalist",
- "data": [
- "https://refeds.org/profile/mfa",
- "urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken",
- "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
- ]
- }
- },
- "default": null
+ "$ref": "#/definitions/authenticationMethods"
+ },
+ "forceAuthn": {
+ "title": "label.force-authn",
+ "description": "tooltip.force-authn",
+ "type": "boolean",
+ "default": false
}
}
},
"attributeRelease": {
+ "title": "label.attribute-release",
"type": "array",
"description": "Attribute release table - select the attributes you want to release (default unchecked)",
- "widget": {
- "id": "checklist",
- "dataUrl": "/customAttributes"
- },
+ "uniqueItems": true,
"items": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "eduPersonPrincipalName",
+ "uid",
+ "mail",
+ "surname",
+ "givenName",
+ "eduPersonAffiliation",
+ "eduPersonScopedAffiliation",
+ "eduPersonPrimaryAffiliation",
+ "eduPersonEntitlement",
+ "eduPersonAssurance",
+ "eduPersonUniqueId",
+ "employeeNumber"
+ ]
}
}
},
"required": [
"name"
],
- "fieldsets": [
- {
- "type": "group-lg",
- "fields": [
- "name",
- "@type",
- "resourceId",
- "version",
- "entityAttributesFilterTarget"
- ]
- },
- {
- "type": "group",
- "fields": [
- "filterEnabled",
- "relyingPartyOverrides"
- ]
+ "definitions": {
+ "nameIdFormats": {
+ "title": "label.nameid-format-to-send",
+ "description": "tooltip.nameid-format",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255,
+ "examples": [
+ "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified",
+ "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
+ "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",
+ "urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
+ ]
+ }
},
- {
- "type": "group",
- "fields": [
- "attributeRelease"
- ]
+ "authenticationMethods": {
+ "title": "label.authentication-methods-to-use",
+ "description": "tooltip.authentication-methods-to-use",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255,
+ "examples": [
+ "https://refeds.org/profile/mfa",
+ "urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken",
+ "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
+ ]
+ }
}
- ]
+ }
}
\ No newline at end of file
diff --git a/ui/public/assets/schema/filter/nameid.schema.json b/ui/public/assets/schema/filter/nameid.schema.json
index 2ddb21915..72733bf07 100644
--- a/ui/public/assets/schema/filter/nameid.schema.json
+++ b/ui/public/assets/schema/filter/nameid.schema.json
@@ -1,25 +1,5 @@
{
"type": "object",
- "fieldsets": [
- {
- "type": "group-lg",
- "fields": [
- "name",
- "nameIdFormatFilterTarget",
- "filterEnabled",
- "@type",
- "resourceId",
- "version",
- "removeExistingFormats"
- ]
- },
- {
- "type": "group",
- "fields": [
- "formats"
- ]
- }
- ],
"required": [
"name"
],
@@ -43,37 +23,24 @@
"title": "label.search-criteria",
"description": "tooltip.search-criteria",
"type": "object",
- "widget": {
- "id": "filter-target",
- "target": "nameIdFormatFilterTargetType"
- },
"properties": {
"nameIdFormatFilterTargetType": {
"title": "",
"type": "string",
"default": "ENTITY",
- "oneOf": [
- {
- "enum": [
- "ENTITY"
- ],
- "description": "value.entity-id"
- },
- {
- "enum": [
- "REGEX"
- ],
- "description": "value.regex"
- },
- {
- "enum": [
- "CONDITION_SCRIPT"
- ],
- "description": "value.script"
- }
+ "enum": [
+ "ENTITY",
+ "REGEX",
+ "CONDITION_SCRIPT"
+ ],
+ "enumNames": [
+ "value.entity-id",
+ "value.regex",
+ "value.script"
]
},
"value": {
+ "title": "label.filter-target-value",
"type": "array",
"buttons": [
{
diff --git a/ui/src/app/App.js b/ui/src/app/App.js
index a97ab36bb..9d37b1f0a 100644
--- a/ui/src/app/App.js
+++ b/ui/src/app/App.js
@@ -20,9 +20,9 @@ import { Metadata } from './metadata/Metadata';
import { Notifications } from './notifications/hoc/Notifications';
import { NotificationList } from './notifications/component/NotificationList';
import { UserConfirmation, ConfirmWindow } from './core/components/UserConfirmation';
-import { NewSource } from './metadata/NewSource';
-import { NewProvider } from './metadata/NewProvider';
-
+import { NewSource } from './metadata/new/NewSource';
+import { NewProvider } from './metadata/new/NewProvider';
+import { Filter } from './metadata/Filter';
function App() {
@@ -57,6 +57,7 @@ function App() {
+
diff --git a/ui/src/app/form/component/fields/FilterTargetField.js b/ui/src/app/form/component/fields/FilterTargetField.js
new file mode 100644
index 000000000..7ea27429b
--- /dev/null
+++ b/ui/src/app/form/component/fields/FilterTargetField.js
@@ -0,0 +1,270 @@
+import React from 'react';
+import Form from 'react-bootstrap/Form';
+import Dropdown from 'react-bootstrap/Dropdown';
+import Translate from '../../../i18n/components/translate';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faAsterisk, faCaretDown, faCaretUp, faCheck, faPlus, faTimes, faTrash } from '@fortawesome/free-solid-svg-icons';
+import { useTranslator } from '../../../i18n/hooks';
+import { InfoIcon } from '../InfoIcon';
+import ContentEditable from 'react-contenteditable';
+import { AsyncTypeahead } from 'react-bootstrap-typeahead';
+import useFetch from 'use-http';
+import queryString from 'query-string';
+import API_BASE_PATH from '../../../App.constant';
+
+const ToggleButton = ({ isOpen, onClick, disabled }) => (
+
+);
+
+const FilterTargetField = ({
+ schema,
+ label,
+ id,
+ name,
+ disabled,
+ value,
+ readonly,
+ rawErrors,
+ onChange,
+ errorSchema
+}) => {
+ console.log(errorSchema)
+
+ const typeFieldName = `${name}Type`;
+
+ const type = schema.properties[typeFieldName];
+ const typeOptions = type['enum'].map((v, e) => ({
+ label: type['enumNames'][e],
+ value: type['enum'][e]
+ }));
+
+ const [selectedType, setSelectedType] = React.useState(value && value.hasOwnProperty(typeFieldName) ? typeOptions.find(t => value[typeFieldName] === t.value) : typeOptions[0]);
+ const [selectedTarget, setSelectedTarget] = React.useState([]);
+
+ const [term, setSearchTerm] = React.useState('');
+ const [ids, setSearchIds] = React.useState([]);
+
+ const { get, response } = useFetch(`${API_BASE_PATH}/EntityIds/search`, {
+ cachePolicy: 'no-cache'
+ });
+
+ async function searchIds (query) {
+ const { entityIds } = get(`?${queryString.stringify({
+ term: query,
+ limit: 10
+ })}`)
+ if (response.ok) {
+ setSearchIds(entityIds);
+ }
+ }
+
+ /*eslint-disable react-hooks/exhaustive-deps*/
+ React.useEffect(() => {
+ if (term && term.length >= 4) {
+ searchIds(term);
+ }
+ }, [term]);
+
+ React.useEffect(() => {
+ onChange({
+ [typeFieldName]: selectedType.value,
+ value: selectedTarget
+ })
+ }, [selectedType, selectedTarget]);
+
+ const displayType = selectedType?.label || '';
+ const targetType = selectedType?.value || null;
+
+ const ref = React.useRef(selectedTarget[0]);
+
+ var handleTextChange = function (value) {
+ setSelectedTarget([value]);
+ };
+
+ const translate = useTranslator();
+
+ const onSelectValue = (value) => {
+ setSelectedTarget([
+ value,
+ ...selectedTarget
+ ]);
+ setSearchTerm('');
+ };
+ const removeId = (id) => {
+ setSelectedTarget([
+ ...selectedTarget.filter(t => t !== id)
+ ]);
+ };
+
+ const onEntityIdsChange = (value) => {
+ setSearchTerm(value);
+ };
+
+ const selectType = (option) => {
+ setSelectedTarget([]);
+ setSelectedType(option);
+ };
+
+ return (
+
+ );
+};
+
+/*
+*/
+
+export default FilterTargetField;
\ No newline at end of file
diff --git a/ui/src/app/form/component/index.js b/ui/src/app/form/component/index.js
index a13d935a4..3ca8039a8 100644
--- a/ui/src/app/form/component/index.js
+++ b/ui/src/app/form/component/index.js
@@ -13,11 +13,13 @@ import ObjectFieldTemplate from './templates/ObjectFieldTemplate';
import TitleField from './fields/TitleField';
import DescriptionField from './fields/DescriptionField';
+import FilterTargetField from './fields/FilterTargetField';
export const fields = {
// SchemaField: CustomSchemaField
TitleField,
- DescriptionField
+ DescriptionField,
+ FilterTargetField
};
export const templates = {
diff --git a/ui/src/app/metadata/Filter.js b/ui/src/app/metadata/Filter.js
new file mode 100644
index 000000000..e8002bc6b
--- /dev/null
+++ b/ui/src/app/metadata/Filter.js
@@ -0,0 +1,17 @@
+import React from 'react';
+import { Switch, Route, useRouteMatch, Redirect } from 'react-router-dom';
+import { NewFilter } from './new/NewFilter';
+
+export function Filter() {
+
+ const { path } = useRouteMatch();
+
+ return (
+
+
+
+ } />
+
+
+ );
+}
\ No newline at end of file
diff --git a/ui/src/app/metadata/Metadata.js b/ui/src/app/metadata/Metadata.js
index dc00b0e7f..40cde87ce 100644
--- a/ui/src/app/metadata/Metadata.js
+++ b/ui/src/app/metadata/Metadata.js
@@ -10,6 +10,7 @@ import { MetadataXml } from './view/MetadataXml';
import { MetadataComparison } from './view/MetadataComparison';
import { MetadataVersion } from './view/MetadataVersion';
import { MetadataEdit } from './view/MetadataEdit';
+import { Filter } from './Filter';
export function Metadata () {
diff --git a/ui/src/app/metadata/domain/filter/BaseFilterDefinition.js b/ui/src/app/metadata/domain/filter/BaseFilterDefinition.js
new file mode 100644
index 000000000..0cd16ce20
--- /dev/null
+++ b/ui/src/app/metadata/domain/filter/BaseFilterDefinition.js
@@ -0,0 +1,15 @@
+import { removeNull } from "../../../core/utility/remove_null";
+
+export const BaseFilterDefinition = {
+ parser: (changes) => changes,
+ formatter: (changes) => changes,
+ display: (changes) => changes,
+ uiSchema: {
+ '@type': {
+ 'ui:widget': 'hidden'
+ },
+ 'resourceId': {
+ 'ui:widget': 'hidden'
+ }
+ }
+};
diff --git a/ui/src/app/metadata/domain/filter/EntityAttributesFilterDefinition.js b/ui/src/app/metadata/domain/filter/EntityAttributesFilterDefinition.js
index dc3712e14..9b15bf001 100644
--- a/ui/src/app/metadata/domain/filter/EntityAttributesFilterDefinition.js
+++ b/ui/src/app/metadata/domain/filter/EntityAttributesFilterDefinition.js
@@ -1,75 +1,68 @@
import API_BASE_PATH from "../../../App.constant";
-
+import {BaseFilterDefinition} from './BaseFilterDefinition';
import {removeNull} from '../../../core/utility/remove_null';
import { isValidRegex } from '../../../core/utility/is_valid_regex';
+import defaultsDeep from "lodash/defaultsDeep";
-export const EntityAttributesFilterWizard= {
+export const EntityAttributesFilterWizard = {
+ ...BaseFilterDefinition,
label: 'EntityAttributes',
type: 'EntityAttributes',
schema: `${API_BASE_PATH}/ui/EntityAttributesFilters`,
- //validatorParams: [getFilterNames],
- getValidators(namesList) {
- const validators = {
- '/': (value, property, form_current) => {
- let errors;
- // iterate all customer
- Object.keys(value).forEach((key) => {
- const item = value[key];
- const validatorKey = `/${key}`;
- const validator = validators.hasOwnProperty(validatorKey) ? validators[validatorKey] : null;
- const error = validator ? validator(item, { path: `/${key}` }, form_current) : null;
- if (error && error.invalidate) {
- errors = errors || [];
- errors.push(error);
- }
- });
- return errors;
- },
- '/name': (value, property, form) => {
- const err = namesList.indexOf(value) > -1 ? {
- code: 'INVALID_NAME',
- path: `#${property.path}`,
- message: 'message.name-must-be-unique',
- params: [value],
- invalidate: true
- } : null;
- return err;
- },
- '/relyingPartyOverrides': (value, property, form) => {
- if (!value.signAssertion && value.dontSignResponse) {
- return {
- code: 'INVALID_SIGNING',
- path: `#${property.path}`,
- message: 'message.invalid-signing',
- params: [value],
- invalidate: false
- };
+ uiSchema: defaultsDeep({
+ entityAttributesFilterTarget: {
+ 'ui:field': 'FilterTargetField',
+ api: ''
+ },
+ attributeRelease: {
+ 'ui:widget': 'AttributeReleaseWidget'
+ },
+ relyingPartyOverrides: {
+ nameIdFormats: {
+ "ui:options": {
+ orderable: false
+ },
+ items: {
+ 'ui:widget': 'OptionWidget'
}
- return null;
},
- '/entityAttributesFilterTarget': (value, property, form) => {
- if (!form || !form.value || !form.value.entityAttributesFilterTarget ||
- form.value.entityAttributesFilterTarget.entityAttributesFilterTargetType !== 'REGEX') {
- return null;
+ authenticationMethods: {
+ "ui:options": {
+ orderable: false
+ },
+ items: {
+ 'ui:widget': 'OptionWidget'
}
- return isValidRegex(value.value[0]) ? null : {
- code: 'INVALID_REGEX',
- path: `#${property.path}`,
- message: 'message.invalid-regex-pattern',
- params: [value.value[0]],
- invalidate: true
- };
- },
- };
- return validators;
+ }
+ }
+ }, BaseFilterDefinition.uiSchema),
+ validator: (data = [], current = { id: null }) => {
+
+ const filters = current ? data.filter(s => s.id !== current.id) : data;
+ const names = filters.map(s => s.name);
+
+ return (formData, errors) => {
+ if (names.indexOf(formData.name) > -1) {
+ errors.name.addError('message.name-unique');
+ }
+
+ if (formData?.entityAttributesFilterTarget?.entityAttributesFilterTargetType === 'REGEX') {
+ const { entityAttributesFilterTarget: {value} } = formData;
+ const isValid = isValidRegex(value[0]);
+ if (!isValid) {
+ errors.entityAttributesFilterTarget.value.addError('message.invalid-regex-pattern');
+ }
+ }
+ return errors;
+ }
},
parser: (changes) => {
+ console.log(changes);
return {
...changes,
relyingPartyOverrides: removeNull(changes)
};
- },
- formatter: (changes) => changes
+ }
};
diff --git a/ui/src/app/metadata/domain/filter/NameIdFilterDefinition.js b/ui/src/app/metadata/domain/filter/NameIdFilterDefinition.js
index 3c61e490b..488b87771 100644
--- a/ui/src/app/metadata/domain/filter/NameIdFilterDefinition.js
+++ b/ui/src/app/metadata/domain/filter/NameIdFilterDefinition.js
@@ -1,55 +1,41 @@
+import defaultsDeep from "lodash/defaultsDeep";
import API_BASE_PATH from "../../../App.constant";
-import { isValidRegex } from "../../../core/utility/is_valid_regex";
+import { BaseFilterDefinition } from "./BaseFilterDefinition";
+
+import { isValidRegex } from '../../../core/utility/is_valid_regex';
export const NameIDFilterWizard = {
+ ...BaseFilterDefinition,
+ uiSchema: defaultsDeep({
+ nameIdFormatFilterTarget: {
+ 'ui:field': 'FilterTargetField',
+ api: ''
+ }
+ }, BaseFilterDefinition.uiSchema),
label: 'NameIDFormat',
type: 'NameIDFormat',
schema: `${API_BASE_PATH}/ui/NameIdFormatFilter`,
steps: [],
- //validatorParams: [getFilterNames],
- getValidators(namesList) {
- const validators = {
- '/': (value, property, form_current) => {
- let errors;
- // iterate all customer
- Object.keys(value).forEach((key) => {
- const item = value[key];
- const validatorKey = `/${key}`;
- const validator = validators.hasOwnProperty(validatorKey) ? validators[validatorKey] : null;
- const error = validator ? validator(item, { path: `/${key}` }, form_current) : null;
- if (error) {
- errors = errors || [];
- errors.push(error);
- }
- });
- return errors;
- },
- '/name': (value, property, form) => {
- const err = namesList.indexOf(value) > -1 ? {
- code: 'INVALID_NAME',
- path: `#${property.path}`,
- message: 'message.name-must-be-unique',
- params: [value]
- } : null;
- return err;
- },
- '/nameIdFormatFilterTarget': (value, property, form) => {
- if (!form || !form.value || !form.value.nameIdFormatFilterTarget ||
- form.value.nameIdFormatFilterTarget.nameIdFormatFilterTargetType !== 'REGEX') {
- return null;
+ validator: (data = [], current = { id: null }) => {
+
+ const filters = current ? data.filter(s => s.id !== current.id) : data;
+ const names = filters.map(s => s.entityId);
+
+ return (formData, errors) => {
+ if (filters.indexOf(formData.name) > -1) {
+ errors.name.addError('message.name-unique');
+ }
+
+ if (formData?.nameIdFormatFilterTarget?.nameIdFormatFilterTargetType === 'REGEX') {
+ const { nameIdFormatFilterTarget: { value } } = formData;
+ const isValid = isValidRegex(value[0]);
+ if (!isValid) {
+ errors.nameIdFormatFilterTarget.value.addError('message.invalid-regex-pattern');
}
- return isValidRegex(value.value[0]) ? null : {
- code: 'INVALID_REGEX',
- path: `#${property.path}`,
- message: 'message.invalid-regex-pattern',
- params: [value.value[0]]
- };
}
- };
- return validators;
- },
- parser: (changes) => changes,
- formatter: (changes) => changes
+ return errors;
+ }
+ }
};
export const NameIDFilterEditor = {
diff --git a/ui/src/app/metadata/domain/filter/component/MetadataFilters.js b/ui/src/app/metadata/domain/filter/component/MetadataFilters.js
index 25f8aa3fb..9999c1d4a 100644
--- a/ui/src/app/metadata/domain/filter/component/MetadataFilters.js
+++ b/ui/src/app/metadata/domain/filter/component/MetadataFilters.js
@@ -5,7 +5,9 @@ export const MetadataFiltersContext = React.createContext();
export function MetadataFilters ({ providerId, types = [], filters, children }) {
- const { get, response } = useMetadataEntities('provider');
+ const { get, response } = useMetadataEntities('provider', {
+ cachePolicy: 'no-cache'
+ });
const [filterData, setFilterData] = React.useState([]);
diff --git a/ui/src/app/metadata/domain/filter/index.js b/ui/src/app/metadata/domain/filter/index.js
index f51b8bc5a..ee7e2a399 100644
--- a/ui/src/app/metadata/domain/filter/index.js
+++ b/ui/src/app/metadata/domain/filter/index.js
@@ -1,9 +1,9 @@
-import { EntityAttributesFilterWizard, EntityAttributesFilterEditor } from './EntityAttributesFilterDefinition';
-import { NameIDFilterWizard, NameIDFilterEditor } from './NameIdFilterDefinition';
+import { EntityAttributesFilterEditor } from './EntityAttributesFilterDefinition';
+import { NameIDFilterEditor } from './NameIdFilterDefinition';
export const MetadataFilterWizardTypes = {
- EntityAttributes: EntityAttributesFilterWizard,
- NameIDFormat: NameIDFilterWizard
+ EntityAttributes: EntityAttributesFilterEditor,
+ NameIDFormat: NameIDFilterEditor
};
export const MetadataFilterEditorTypes = [
diff --git a/ui/src/app/metadata/domain/provider/BaseProviderDefinition.js b/ui/src/app/metadata/domain/provider/BaseProviderDefinition.js
index 6fe346727..da2c4dfe1 100644
--- a/ui/src/app/metadata/domain/provider/BaseProviderDefinition.js
+++ b/ui/src/app/metadata/domain/provider/BaseProviderDefinition.js
@@ -198,6 +198,11 @@ export const MetadataFilterPluginsSchema = {
'ui:options': {
orderable: false
}
+ },
+ maxValidityInterval: {
+ 'ui:widget': 'OptionWidget',
+ options: DurationOptions,
+ 'ui:placeholder': 'label.duration'
}
}
};
diff --git a/ui/src/app/metadata/editor/MetadataFilterEditor.js b/ui/src/app/metadata/editor/MetadataFilterEditor.js
new file mode 100644
index 000000000..e5ff27b70
--- /dev/null
+++ b/ui/src/app/metadata/editor/MetadataFilterEditor.js
@@ -0,0 +1,80 @@
+import React from 'react';
+import { faExclamationTriangle, faSave, faSpinner } from '@fortawesome/free-solid-svg-icons';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { useHistory, useParams, Prompt } from 'react-router';
+import Alert from 'react-bootstrap/Alert';
+
+import Translate from '../../i18n/components/translate';
+import { MetadataFormContext, setFormDataAction, setFormErrorAction } from '../hoc/MetadataFormContext';
+import { MetadataDefinitionContext, MetadataSchemaContext } from '../hoc/MetadataSchema';
+
+import { MetadataEditorForm } from './MetadataEditorForm';
+import { MetadataEditorNav } from './MetadataEditorNav';
+import { useMetadataFilters } from '../hooks/api';
+import { MetadataObjectContext } from '../hoc/MetadataSelector';
+
+export function MetadataFilterEditor({children}) {
+
+ const { id, section } = useParams();
+
+ const { data } = useMetadataFilters(id, {}, []);
+ const history = useHistory();
+ const definition = React.useContext(MetadataDefinitionContext);
+ const schema = React.useContext(MetadataSchemaContext);
+ const current = React.useContext(MetadataObjectContext);
+
+ const { state, dispatch } = React.useContext(MetadataFormContext);
+ const { metadata, errors } = state;
+
+ const onChange = (changes) => {
+ dispatch(setFormDataAction(changes.formData));
+ dispatch(setFormErrorAction(section, changes.errors));
+ // setBlocking(true);
+ };
+
+ const onNavigate = (path) => {
+ history.push(path)
+ };
+
+ const validator = definition.validator(data, current);
+
+ return (
+
+ 0 ? 'justify-content-between' : 'justify-content-end'}`}>
+ {errors.length > 0 &&
+
+
+
+ }
+ {children(metadata, errors.length > 0)}
+
+
+
+
+
+
+
+
+ {definition && schema && metadata &&
+
+ }
+
+
+
+
{JSON.stringify(metadata, null, 4)}
+
+
+ );
+}
\ No newline at end of file
diff --git a/ui/src/app/metadata/hoc/MetadataFormContext.js b/ui/src/app/metadata/hoc/MetadataFormContext.js
index 9637b8fa7..e809239ff 100644
--- a/ui/src/app/metadata/hoc/MetadataFormContext.js
+++ b/ui/src/app/metadata/hoc/MetadataFormContext.js
@@ -56,7 +56,7 @@ function reducer(state, action) {
}
/*eslint-disable react-hooks/exhaustive-deps*/
-function MetadataForm({ children, initial = {} }) {
+function MetadataForm({ children, initial = {}, onChange }) {
const metadata = {
...useFormattedMetadata(),
diff --git a/ui/src/app/metadata/hooks/api.js b/ui/src/app/metadata/hooks/api.js
index 7b957f67c..f18e8c835 100644
--- a/ui/src/app/metadata/hooks/api.js
+++ b/ui/src/app/metadata/hooks/api.js
@@ -2,6 +2,8 @@ import useFetch from 'use-http';
import API_BASE_PATH from '../../App.constant';
+import {MetadataFilterTypes} from '../domain/filter';
+
const lists = {
source: 'EntityDescriptors',
provider: 'MetadataResolvers'
@@ -38,6 +40,12 @@ export function useMetadataEntity(type = 'source', opts = {
return useFetch(`${API_BASE_PATH}${getMetadataPath(type)}`, opts);
}
+export function useMetadataFilters(id, opts = {
+ cachePolicy: 'no-cache'
+}, onMount) {
+ return useFetch(`${API_BASE_PATH}${getMetadataPath('provider')}/${id}/Filters`, opts, onMount);
+}
+
export function useMetadataEntityXml(type = 'source', opts = {
interceptors: {
request: ({options}) => {
@@ -71,4 +79,8 @@ export function useMetadataProviders(opts = {}, onMount) {
export function useMetadataProviderTypes(opts = {}, onMount = null) {
return useFetch(`${API_BASE_PATH}/ui/MetadataResolver/types`, opts, onMount);
+}
+
+export function useMetadataFilterTypes () {
+ return MetadataFilterTypes;
}
\ No newline at end of file
diff --git a/ui/src/app/metadata/new/NewFilter.js b/ui/src/app/metadata/new/NewFilter.js
new file mode 100644
index 000000000..2a3217114
--- /dev/null
+++ b/ui/src/app/metadata/new/NewFilter.js
@@ -0,0 +1,86 @@
+import { faSave, faSpinner } from '@fortawesome/free-solid-svg-icons';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import React from 'react';
+import { Prompt, useHistory, useParams } from 'react-router';
+import Translate from '../../i18n/components/translate';
+import { MetadataFilterEditor } from '../editor/MetadataFilterEditor';
+import { MetadataForm } from '../hoc/MetadataFormContext';
+import { MetadataSchema } from '../hoc/MetadataSchema';
+import { useMetadataFilters, useMetadataFilterTypes } from '../hooks/api';
+import { MetadataFilterTypeSelector } from '../wizard/MetadataFilterTypeSelector';
+
+export function NewFilter() {
+
+ const { id, section } = useParams();
+ const history = useHistory();
+ const types = useMetadataFilterTypes();
+
+ const { post, response, loading } = useMetadataFilters(id, {});
+
+ const [blocking, setBlocking] = React.useState(false);
+
+
+ async function save(metadata) {
+ await post(``, metadata);
+ if (response.ok) {
+ gotoDetail({ refresh: true });
+ }
+ };
+
+ const cancel = () => {
+ gotoDetail();
+ };
+
+ const gotoDetail = (state = null) => {
+ setBlocking(false);
+ history.push(`/metadata/provider/${id}`, state);
+ };
+
+ return (
+
+
+ `message.unsaved-editor`
+ }
+ />
+
+
+
+
+ Add a new metadata filter
+
+
+
+
+
+ {(type) =>
+
+
+
+ {(filter, isInvalid) =>
+
+
+
+
}
+
+
+
+ }
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/ui/src/app/metadata/NewProvider.js b/ui/src/app/metadata/new/NewProvider.js
similarity index 72%
rename from ui/src/app/metadata/NewProvider.js
rename to ui/src/app/metadata/new/NewProvider.js
index 75a521e01..400e12021 100644
--- a/ui/src/app/metadata/NewProvider.js
+++ b/ui/src/app/metadata/new/NewProvider.js
@@ -1,9 +1,9 @@
import React from 'react';
-import Translate from '../i18n/components/translate';
-import { MetadataSchema } from './hoc/MetadataSchema';
-import { useMetadataProviderTypes } from './hooks/api';
-import { MetadataWizard } from './view/MetadataWizard';
-import { MetadataSchemaSelector } from './wizard/MetadataSchemaSelector';
+import Translate from '../../i18n/components/translate';
+import { MetadataSchema } from '../hoc/MetadataSchema';
+import { useMetadataProviderTypes } from '../hooks/api';
+import { MetadataWizard } from '../view/MetadataWizard';
+import { MetadataProviderTypeSelector } from '../wizard/MetadataProviderTypeSelector';
export function NewProvider() {
@@ -11,7 +11,7 @@ export function NewProvider() {
return (
-
+
@@ -20,7 +20,7 @@ export function NewProvider() {
-
+
{(data, onRestart) =>
}
-
+
diff --git a/ui/src/app/metadata/NewSource.js b/ui/src/app/metadata/new/NewSource.js
similarity index 95%
rename from ui/src/app/metadata/NewSource.js
rename to ui/src/app/metadata/new/NewSource.js
index 7139a453c..bd9f0c6fb 100644
--- a/ui/src/app/metadata/NewSource.js
+++ b/ui/src/app/metadata/new/NewSource.js
@@ -1,10 +1,10 @@
import React from 'react';
import { NavLink, Redirect, Route, Switch, useRouteMatch } from 'react-router-dom';
-import Translate from '../i18n/components/translate';
-import { MetadataSchema } from './hoc/MetadataSchema';
-import { MetadataWizard } from './view/MetadataWizard';
-import { MetadataCopy } from './view/MetadataCopy';
-import { MetadataUpload } from './view/MetadataUpload';
+import Translate from '../../i18n/components/translate';
+import { MetadataSchema } from '../hoc/MetadataSchema';
+import { MetadataWizard } from '../view/MetadataWizard';
+import { MetadataCopy } from '../view/MetadataCopy';
+import { MetadataUpload } from '../view/MetadataUpload';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faCopy, faLink, faPlusSquare } from '@fortawesome/free-solid-svg-icons';
diff --git a/ui/src/app/metadata/wizard/MetadataFilterTypeSelector.js b/ui/src/app/metadata/wizard/MetadataFilterTypeSelector.js
new file mode 100644
index 000000000..287119000
--- /dev/null
+++ b/ui/src/app/metadata/wizard/MetadataFilterTypeSelector.js
@@ -0,0 +1,55 @@
+import React from 'react';
+import { useForm } from 'react-hook-form';
+import Form from 'react-bootstrap/Form';
+import Translate from '../../i18n/components/translate';
+import { InfoIcon } from '../../form/component/InfoIcon';
+import { useTranslator } from '../../i18n/hooks';
+
+export function MetadataFilterTypeSelector({ types = [], children, actions}) {
+
+ const translator = useTranslator();
+
+ const { register, handleSubmit, getValues, watch } = useForm({
+ mode: 'onChange',
+ reValidateMode: 'onChange',
+ defaultValues: {
+ type: null
+ },
+ resolver: undefined,
+ context: undefined,
+ criteriaMode: "firstError",
+ shouldFocusError: true,
+ shouldUnregister: false,
+ });
+
+ const type = watch('type');
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+ {types.map(t => )}
+
+
+
+
+
+
+
+
+ {type &&
+ children(type)
+ }
+
+ );
+}
\ No newline at end of file
diff --git a/ui/src/app/metadata/wizard/MetadataSchemaSelector.js b/ui/src/app/metadata/wizard/MetadataProviderTypeSelector.js
similarity index 98%
rename from ui/src/app/metadata/wizard/MetadataSchemaSelector.js
rename to ui/src/app/metadata/wizard/MetadataProviderTypeSelector.js
index 3deb13c2e..ecb6e5c76 100644
--- a/ui/src/app/metadata/wizard/MetadataSchemaSelector.js
+++ b/ui/src/app/metadata/wizard/MetadataProviderTypeSelector.js
@@ -8,7 +8,7 @@ import { InfoIcon } from '../../form/component/InfoIcon';
import { useTranslator } from '../../i18n/hooks';
import { useMetadataProviders } from '../hooks/api';
-export function MetadataSchemaSelector({ type, types = [], children}) {
+export function MetadataProviderTypeSelector({ type, types = [], children}) {
const translator = useTranslator();
diff --git a/ui/yarn.lock b/ui/yarn.lock
index 9d5b6062c..14b7924fb 100644
--- a/ui/yarn.lock
+++ b/ui/yarn.lock
@@ -1076,7 +1076,7 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-transform-typescript" "^7.12.1"
-"@babel/runtime-corejs2@^7.4.5", "@babel/runtime-corejs2@^7.8.7":
+"@babel/runtime-corejs2@^7.8.7":
version "7.14.0"
resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.14.0.tgz#5519b92ccc819bd3d0a1ecb25ab3cb5a775485f8"
integrity sha512-btR4E8JiGlmmDI5YgirlG9z3T91rBdxnVh2YuEStrHDcekffaaIeK+CE0S4IaYUyYhMa7rFDfF2GEO79XNbLEA==
@@ -2394,11 +2394,6 @@ ansi-regex@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
- integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
-
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -2551,11 +2546,6 @@ asn1.js@^5.2.0:
minimalistic-assert "^1.0.0"
safer-buffer "^2.1.0"
-asn1@0.1.11:
- version "0.1.11"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7"
- integrity sha1-VZvhg3bQik7E2+gId9J4GGObLfc=
-
asn1@~0.2.3:
version "0.2.4"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
@@ -2568,16 +2558,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-assert-plus@^0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160"
- integrity sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=
-
-assert-plus@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
- integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ=
-
assert@^1.1.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
@@ -2618,11 +2598,6 @@ async@^2.6.2:
dependencies:
lodash "^4.17.14"
-async@~0.9.0:
- version "0.9.2"
- resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
- integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
-
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -2651,22 +2626,12 @@ autoprefixer@^9.6.1:
postcss "^7.0.32"
postcss-value-parser "^4.1.0"
-aws-sign2@~0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63"
- integrity sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=
-
-aws-sign2@~0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
- integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8=
-
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
-aws4@^1.2.1, aws4@^1.8.0:
+aws4@^1.8.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
@@ -2912,13 +2877,6 @@ bindings@^1.5.0:
dependencies:
file-uri-to-path "1.0.0"
-bl@~0.9.0:
- version "0.9.5"
- resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054"
- integrity sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=
- dependencies:
- readable-stream "~1.0.26"
-
bluebird@^3.5.5:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
@@ -2967,20 +2925,6 @@ boolbase@^1.0.0, boolbase@~1.0.0:
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
-boom@0.4.x:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/boom/-/boom-0.4.2.tgz#7a636e9ded4efcefb19cef4947a3c67dfaee911b"
- integrity sha1-emNune1O/O+xnO9JR6PGffrukRs=
- dependencies:
- hoek "0.9.x"
-
-boom@2.x.x:
- version "2.10.1"
- resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
- integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=
- dependencies:
- hoek "2.x.x"
-
bootstrap@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.0.tgz#97b9f29ac98f98dfa43bf7468262d84392552fd7"
@@ -3296,21 +3240,11 @@ case-sensitive-paths-webpack-plugin@2.3.0:
resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7"
integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==
-caseless@~0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
- integrity sha1-cVuW6phBWTzDMGeSP17GDr2k99c=
-
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-caseless@~0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.6.0.tgz#8167c1ab8397fb5bb95f96d28e5a81c50f247ac4"
- integrity sha1-gWfBq4OX+1u5X5bSjlqBxQ8kesQ=
-
chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -3320,17 +3254,6 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^1.1.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
- dependencies:
- 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"
-
chalk@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
@@ -3493,14 +3416,6 @@ coa@^2.0.2:
chalk "^2.4.1"
q "^1.1.2"
-codecov.io@^0.1.6:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/codecov.io/-/codecov.io-0.1.6.tgz#59dfd02da1ff31c2fb2b952ad8ad16fd3781b728"
- integrity sha1-Wd/QLaH/McL7K5Uq2K0W/TeBtyg=
- dependencies:
- request "2.42.0"
- urlgrey "0.4.0"
-
collect-v8-coverage@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
@@ -3559,21 +3474,14 @@ colorette@^1.2.1:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
-combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@~1.0.5, combined-stream@~1.0.6:
+combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
-combined-stream@~0.0.4:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz#0137e657baa5a7541c57ac37ac5fc07d73b4dc1f"
- integrity sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=
- dependencies:
- delayed-stream "0.0.5"
-
-commander@^2.20.0, commander@^2.9.0:
+commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@@ -3805,17 +3713,6 @@ cosmiconfig@^7.0.0:
path-type "^4.0.0"
yaml "^1.10.0"
-coveralls@^2.11.16:
- version "2.13.3"
- resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.13.3.tgz#9ad7c2ae527417f361e8b626483f48ee92dd2bc7"
- integrity sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==
- dependencies:
- js-yaml "3.6.1"
- lcov-parse "0.0.10"
- log-driver "1.2.5"
- minimist "1.2.0"
- request "2.79.0"
-
create-ecdh@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
@@ -3867,20 +3764,6 @@ cross-spawn@^6.0.0:
shebang-command "^1.2.0"
which "^1.2.9"
-cryptiles@0.2.x:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-0.2.2.tgz#ed91ff1f17ad13d3748288594f8a48a0d26f325c"
- integrity sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=
- dependencies:
- boom "0.4.x"
-
-cryptiles@2.x.x:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
- integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=
- dependencies:
- boom "2.x.x"
-
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -4128,11 +4011,6 @@ csstype@^3.0.2:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340"
integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==
-ctype@0.5.3:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f"
- integrity sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=
-
cyclist@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
@@ -4225,11 +4103,6 @@ deep-equal@^1.0.1, deep-equal@^1.1.1:
object-keys "^1.1.1"
regexp.prototype.flags "^1.2.0"
-deep-equal@~0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.1.2.tgz#b246c2b80a570a47c11be1d9bd1070ec878b87ce"
- integrity sha1-skbCuApXCkfBG+HZvRBw7IeLh84=
-
deep-is@^0.1.3, deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
@@ -4282,11 +4155,6 @@ define-property@^2.0.2:
is-descriptor "^1.0.2"
isobject "^3.0.1"
-defined@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/defined/-/defined-0.0.0.tgz#f35eea7d705e933baf13b2f03b3f83d921403b3e"
- integrity sha1-817qfXBekzuvE7LwOz+D2SFAOz4=
-
del@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
@@ -4300,11 +4168,6 @@ del@^4.1.1:
pify "^4.0.1"
rimraf "^2.6.3"
-delayed-stream@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f"
- integrity sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=
-
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -4499,7 +4362,7 @@ dotenv@8.2.0:
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
-duplexer@^0.1.1, duplexer@~0.1.1:
+duplexer@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
@@ -4726,7 +4589,7 @@ escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
@@ -4942,11 +4805,6 @@ espree@^7.3.0, espree@^7.3.1:
acorn-jsx "^5.3.1"
eslint-visitor-keys "^1.3.0"
-esprima@^2.6.0:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
- integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
-
esprima@^4.0.0, esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
@@ -5142,7 +5000,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
-extend@~3.0.0, extend@~3.0.2:
+extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
@@ -5171,6 +5029,11 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+fast-deep-equal@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
+ integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
+
fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -5365,11 +5228,6 @@ for-in@^1.0.2:
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
-forever-agent@~0.5.0:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.5.2.tgz#6d0e09c4921f94a27f63d3b49c5feff1ea4c5130"
- integrity sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=
-
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -5388,24 +5246,6 @@ fork-ts-checker-webpack-plugin@4.1.6:
tapable "^1.0.0"
worker-rpc "^0.1.0"
-form-data@~0.1.0:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.1.4.tgz#91abd788aba9702b1aabfa8bc01031a2ac9e3b12"
- integrity sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=
- dependencies:
- async "~0.9.0"
- combined-stream "~0.0.4"
- mime "~1.2.11"
-
-form-data@~2.1.1:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
- integrity sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.5"
- mime-types "^2.1.12"
-
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -5513,20 +5353,6 @@ functional-red-black-tree@^1.0.1:
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-generate-function@^2.0.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f"
- integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==
- dependencies:
- is-property "^1.0.2"
-
-generate-object-property@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
- integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=
- dependencies:
- is-property "^1.0.0"
-
gensync@^1.0.0-beta.1:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -5705,16 +5531,6 @@ har-schema@^2.0.0:
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
-har-validator@~2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
- integrity sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=
- dependencies:
- chalk "^1.1.1"
- commander "^2.9.0"
- is-my-json-valid "^2.12.4"
- pinkie-promise "^2.0.0"
-
har-validator@~5.1.3:
version "5.1.5"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
@@ -5728,13 +5544,6 @@ harmony-reflect@^1.4.6:
resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9"
integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
- dependencies:
- ansi-regex "^2.0.0"
-
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -5805,26 +5614,6 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
-hawk@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/hawk/-/hawk-1.1.1.tgz#87cd491f9b46e4e2aeaca335416766885d2d1ed9"
- integrity sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=
- dependencies:
- boom "0.4.x"
- cryptiles "0.2.x"
- hoek "0.9.x"
- sntp "0.2.x"
-
-hawk@~3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
- integrity sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=
- dependencies:
- boom "2.x.x"
- cryptiles "2.x.x"
- hoek "2.x.x"
- sntp "1.x.x"
-
he@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
@@ -5856,16 +5645,6 @@ hmac-drbg@^1.0.1:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoek@0.9.x:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/hoek/-/hoek-0.9.1.tgz#3d322462badf07716ea7eb85baf88079cddce505"
- integrity sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=
-
-hoek@2.x.x:
- version "2.16.3"
- resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
- integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=
-
hoist-non-react-statics@^3.1.0:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
@@ -6037,24 +5816,6 @@ http-proxy@^1.17.0, http-proxy@^1.18.1:
follow-redirects "^1.0.0"
requires-port "^1.0.0"
-http-signature@~0.10.0:
- version "0.10.1"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.10.1.tgz#4fbdac132559aa8323121e540779c0a012b27e66"
- integrity sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=
- dependencies:
- asn1 "0.1.11"
- assert-plus "^0.1.5"
- ctype "0.5.3"
-
-http-signature@~1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
- integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=
- dependencies:
- assert-plus "^0.2.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
@@ -6442,22 +6203,6 @@ is-module@^1.0.0:
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
-is-my-ip-valid@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824"
- integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==
-
-is-my-json-valid@^2.12.4:
- version "2.20.5"
- resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz#5eca6a8232a687f68869b7361be1612e7512e5df"
- integrity sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==
- dependencies:
- generate-function "^2.0.0"
- generate-object-property "^1.1.0"
- is-my-ip-valid "^1.0.0"
- jsonpointer "^4.0.0"
- xtend "^4.0.0"
-
is-negative-zero@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
@@ -6526,11 +6271,6 @@ is-potential-custom-element-name@^1.0.0:
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397"
integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c=
-is-property@^1.0.0, is-property@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
- integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=
-
is-regex@^1.0.4, is-regex@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251"
@@ -7118,14 +6858,6 @@ jest@26.6.0:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-yaml@3.6.1:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30"
- integrity sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=
- dependencies:
- argparse "^1.0.7"
- esprima "^2.6.0"
-
js-yaml@^3.13.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
@@ -7227,7 +6959,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1:
+json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
@@ -7267,12 +6999,7 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
-jsonify@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
- integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
-
-jsonpointer@^4.0.0, jsonpointer@^4.0.1:
+jsonpointer@^4.0.1:
version "4.1.0"
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc"
integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==
@@ -7354,11 +7081,6 @@ last-call-webpack-plugin@^3.0.0:
lodash "^4.17.5"
webpack-sources "^1.1.0"
-lcov-parse@0.0.10:
- version "0.0.10"
- resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3"
- integrity sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=
-
leven@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@@ -7505,11 +7227,6 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-log-driver@1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.5.tgz#7ae4ec257302fd790d557cb10c97100d857b0056"
- integrity sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=
-
loglevel@^1.6.8:
version "1.7.1"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197"
@@ -7694,11 +7411,6 @@ mime-db@1.46.0, "mime-db@>= 1.43.0 < 2":
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee"
integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==
-mime-db@1.47.0:
- version "1.47.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
- integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
-
mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
version "2.1.29"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2"
@@ -7706,18 +7418,6 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19,
dependencies:
mime-db "1.46.0"
-mime-types@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-1.0.2.tgz#995ae1392ab8affcbfcb2641dd054e943c0d5dce"
- integrity sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=
-
-mime-types@~2.1.7:
- version "2.1.30"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
- integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
- dependencies:
- mime-db "1.47.0"
-
mime@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
@@ -7728,11 +7428,6 @@ mime@^2.4.4:
resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
-mime@~1.2.11:
- version "1.2.11"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10"
- integrity sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=
-
mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
@@ -7778,11 +7473,6 @@ minimatch@3.0.4, minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
-minimist@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
- integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
-
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
@@ -8038,11 +7728,6 @@ node-releases@^1.1.61, node-releases@^1.1.70:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08"
integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==
-node-uuid@~1.4.0:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907"
- integrity sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=
-
normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
@@ -8116,16 +7801,6 @@ nwsapi@^2.2.0:
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
-oauth-sign@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.4.0.tgz#f22956f31ea7151a821e5f2fb32c113cad8b9f69"
- integrity sha1-8ilW8x6nFRqCHl8vsywRPK2Ln2k=
-
-oauth-sign@~0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
- integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=
-
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
@@ -9410,7 +9085,7 @@ prop-types-extra@^1.1.0:
react-is "^16.3.2"
warning "^4.0.0"
-prop-types@^15.5.8, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@^15.5.8, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.1, prop-types@^15.7.2:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -9432,7 +9107,7 @@ prr@~1.0.1:
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
-psl@^1.1.28, psl@^1.1.33:
+psl@^1.1.28:
version "1.8.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
@@ -9479,7 +9154,7 @@ punycode@1.3.2:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
-punycode@^1.2.4, punycode@^1.4.1:
+punycode@^1.2.4:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
@@ -9499,16 +9174,6 @@ qs@6.7.0:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
-qs@~1.2.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88"
- integrity sha1-GbV/8k3CqZzh+L32r82ln472H4g=
-
-qs@~6.3.0:
- version "6.3.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c"
- integrity sha1-51vV9uJoEioqDgvaYwslUMFmUCw=
-
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
@@ -9635,7 +9300,7 @@ react-bootstrap-typeahead@^5.1.4:
scroll-into-view-if-needed "^2.2.20"
warning "^4.0.1"
-"react-bootstrap@>= 0.30.7", react-bootstrap@^1.5.2:
+react-bootstrap@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-1.5.2.tgz#07dabec53d10491a520c49f102170b440fa89008"
integrity sha512-mGKPY5+lLd7Vtkx2VFivoRkPT4xAHazuFfIhJLTEgHlDfIUSePn7qrmpZe5gXH9zvHV0RsBaQ9cLfXjxnZrOpA==
@@ -9659,6 +9324,14 @@ react-bootstrap-typeahead@^5.1.4:
uncontrollable "^7.2.1"
warning "^4.0.3"
+react-contenteditable@^3.3.5:
+ version "3.3.5"
+ resolved "https://registry.yarnpkg.com/react-contenteditable/-/react-contenteditable-3.3.5.tgz#febff7a46570fdb2f5ff199e506c512e5924e22e"
+ integrity sha512-38A7hlRQfb2KQAQT0kIJC2YlQUU7jcyYM4eh1fj6kAYb3Hmk6hHlr0snelyxVSpPXjPdFllrnSsPkzUS5AtrEA==
+ dependencies:
+ fast-deep-equal "^2.0.1"
+ prop-types "^15.7.1"
+
react-dev-utils@^11.0.3:
version "11.0.4"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a"
@@ -9722,7 +9395,7 @@ react-infinite-scroll-component@^6.1.0:
dependencies:
throttle-debounce "^2.1.0"
-react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0:
+react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.9.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -9732,30 +9405,6 @@ react-is@^17.0.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339"
integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==
-react-jsonschema-form-layout-grid@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/react-jsonschema-form-layout-grid/-/react-jsonschema-form-layout-grid-2.1.0.tgz#1caf8d579aea2c22edcae9e8d89f46353187421b"
- integrity sha512-63BhE/zXhbS3dgDdk1KYeZGA+c0E+JKn/AumFZJ1GCnmpZtmvKK93BjRw2VSuG1vzkyEdVGh2VgEKrzCpc/ogA==
- dependencies:
- codecov.io "^0.1.6"
- coveralls "^2.11.16"
- react-bootstrap ">= 0.30.7"
- react-jsonschema-form ">= 0.43.0"
-
-"react-jsonschema-form@>= 0.43.0":
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/react-jsonschema-form/-/react-jsonschema-form-1.8.1.tgz#9c962f29a55b3fe071d8edf2fc3430f05f1b7ed9"
- integrity sha512-aaDloxNAcGXOOOcdKOxxqEEn5oDlPUZgWcs8unXXB9vjBRgCF8rCm/wVSv1u2G5ih0j/BX6Ewd/WjI2g00lPdg==
- dependencies:
- "@babel/runtime-corejs2" "^7.4.5"
- ajv "^6.7.0"
- core-js "^2.5.7"
- lodash "^4.17.15"
- prop-types "^15.5.8"
- react-is "^16.8.4"
- react-lifecycles-compat "^3.0.4"
- shortid "^2.2.14"
-
react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
@@ -9986,16 +9635,6 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
-readable-stream@~1.0.26:
- version "1.0.34"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
- integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
readdirp@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
@@ -10153,54 +9792,6 @@ request-promise-native@^1.0.8:
stealthy-require "^1.1.1"
tough-cookie "^2.3.3"
-request@2.42.0:
- version "2.42.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.42.0.tgz#572bd0148938564040ac7ab148b96423a063304a"
- integrity sha1-VyvQFIk4VkBArHqxSLlkI6BjMEo=
- dependencies:
- bl "~0.9.0"
- caseless "~0.6.0"
- forever-agent "~0.5.0"
- json-stringify-safe "~5.0.0"
- mime-types "~1.0.1"
- node-uuid "~1.4.0"
- qs "~1.2.0"
- tunnel-agent "~0.4.0"
- optionalDependencies:
- aws-sign2 "~0.5.0"
- form-data "~0.1.0"
- hawk "1.1.1"
- http-signature "~0.10.0"
- oauth-sign "~0.4.0"
- stringstream "~0.0.4"
- tough-cookie ">=0.12.0"
-
-request@2.79.0:
- version "2.79.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
- integrity sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=
- dependencies:
- aws-sign2 "~0.6.0"
- aws4 "^1.2.1"
- caseless "~0.11.0"
- combined-stream "~1.0.5"
- extend "~3.0.0"
- forever-agent "~0.6.1"
- form-data "~2.1.1"
- har-validator "~2.0.6"
- hawk "~3.1.3"
- http-signature "~1.1.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.7"
- oauth-sign "~0.8.1"
- qs "~6.3.0"
- stringstream "~0.0.4"
- tough-cookie "~2.3.0"
- tunnel-agent "~0.4.1"
- uuid "^3.0.0"
-
request@^2.88.2:
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
@@ -10318,13 +9909,6 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.1
is-core-module "^2.2.0"
path-parse "^1.0.6"
-resumer@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759"
- integrity sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=
- dependencies:
- through "~2.3.4"
-
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
@@ -10802,20 +10386,6 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
-sntp@0.2.x:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/sntp/-/sntp-0.2.4.tgz#fb885f18b0f3aad189f824862536bceeec750900"
- integrity sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=
- dependencies:
- hoek "0.9.x"
-
-sntp@1.x.x:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
- integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=
- dependencies:
- hoek "2.x.x"
-
sockjs-client@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.0.tgz#2f8ff5d4b659e0d092f7aba0b7c386bd2aa20add"
@@ -10962,13 +10532,6 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"
-split@~0.2.10:
- version "0.2.10"
- resolved "https://registry.yarnpkg.com/split/-/split-0.2.10.tgz#67097c601d697ce1368f418f06cd201cf0521a57"
- integrity sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=
- dependencies:
- through "2"
-
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -11046,13 +10609,6 @@ stream-browserify@^2.0.1:
inherits "~2.0.1"
readable-stream "^2.0.2"
-stream-combiner@~0.0.2:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
- integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=
- dependencies:
- duplexer "~0.1.1"
-
stream-each@^1.1.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
@@ -11154,11 +10710,6 @@ string_decoder@^1.0.0, string_decoder@^1.1.1:
dependencies:
safe-buffer "~5.2.0"
-string_decoder@~0.10.x:
- version "0.10.31"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
- integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
-
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@@ -11175,11 +10726,6 @@ stringify-object@^3.3.0:
is-obj "^1.0.1"
is-regexp "^1.0.0"
-stringstream@~0.0.4:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72"
- integrity sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==
-
strip-ansi@6.0.0, strip-ansi@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
@@ -11258,11 +10804,6 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
- integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -11336,20 +10877,6 @@ tapable@^1.0.0, tapable@^1.1.3:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-tape@2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/tape/-/tape-2.3.0.tgz#0dfeec709227fbcc9170abe7f046962b271431db"
- integrity sha1-Df7scJIn+8yRcKvn8EaWKycUMds=
- dependencies:
- deep-equal "~0.1.0"
- defined "~0.0.0"
- inherits "~2.0.1"
- jsonify "~0.0.0"
- resumer "~0.0.0"
- split "~0.2.10"
- stream-combiner "~0.0.2"
- through "~2.3.4"
-
tar@^6.0.2:
version "6.1.0"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83"
@@ -11464,11 +10991,6 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
-through@2, through@~2.3.4:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-
thunky@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
@@ -11548,15 +11070,6 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-tough-cookie@>=0.12.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
- integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==
- dependencies:
- psl "^1.1.33"
- punycode "^2.1.1"
- universalify "^0.1.2"
-
tough-cookie@^2.3.3, tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -11574,13 +11087,6 @@ tough-cookie@^3.0.1:
psl "^1.1.28"
punycode "^2.1.1"
-tough-cookie@~2.3.0:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
- integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==
- dependencies:
- punycode "^1.4.1"
-
tr46@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479"
@@ -11637,11 +11143,6 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
-tunnel-agent@~0.4.0, tunnel-agent@~0.4.1:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
- integrity sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=
-
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
@@ -11795,7 +11296,7 @@ unique-string@^1.0.0:
dependencies:
crypto-random-string "^1.0.0"
-universalify@^0.1.0, universalify@^0.1.2:
+universalify@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
@@ -11865,13 +11366,6 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
-urlgrey@0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.0.tgz#f065357040fb35c3b311d4e5dc36484d96dbea06"
- integrity sha1-8GU1cED7NcOzEdTl3DZITZbb6gY=
- dependencies:
- tape "2.3.0"
-
urs@^0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/urs/-/urs-0.0.8.tgz#8a0e0b792073cdb7eec926d08ab1e017ffab3f66"
@@ -11955,7 +11449,7 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-uuid@^3.0.0, uuid@^3.3.2, uuid@^3.4.0:
+uuid@^3.3.2, uuid@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==