diff --git a/client/actions/auth.js b/client/actions/auth.js
index dff23f21f..f420c55ea 100644
--- a/client/actions/auth.js
+++ b/client/actions/auth.js
@@ -15,14 +15,8 @@ const webAuthOptions = {
const webAuth = new auth0.WebAuth(webAuthOptions); // eslint-disable-line no-undef
export function login(returnUrl, locale) {
- console.log("login function running");
-
sessionStorage.setItem('delegated-admin:returnTo', returnUrl || '/users');
- console.log('delegated-admin:returnTo', returnUrl || '/users')
-
- console.log({ webAuthOptions })
-
webAuth.authorize({
ui_locales: locale
});
@@ -146,8 +140,6 @@ const processTokens = (dispatch, apiToken, returnTo) => {
}
});
-
- console.log(`dispatching LOGIN_SUCCESS with token: ${apiToken}, decodedToken: ${decodedToken}, user: ${decodedToken}, returnTo: ${returnTo}`);
dispatch({
type: constants.LOGIN_SUCCESS,
payload: {
@@ -170,7 +162,6 @@ const processTokens = (dispatch, apiToken, returnTo) => {
export function loadCredentials() {
return (dispatch) => {
if (window.location.hash) {
- console.log(`dispatching LOGIN_PENDING`);
dispatch({
type: constants.LOGIN_PENDING
});
@@ -238,7 +229,7 @@ export function getAppSettings(onSuccess) {
export function toggleStyleSettings() {
return (dispatch, getState) => {
- let settings = getState().settings.get('record');
+ let settings = getState().settings.get('record').toJS();
settings = settings.settings || settings || {};
const useAlt = localStorage.getItem('delegated-admin:use-alt-css') === 'true';
const path = useAlt ? settings.css : settings.altcss;
@@ -255,7 +246,7 @@ export function toggleStyleSettings() {
export function getStyleSettings() {
return (dispatch, getState) => {
- let settings = getState().settings.get('record');
+ let settings = getState().settings.get('record').toJS();
settings = settings.settings || settings || {};
const useAlt = localStorage.getItem('delegated-admin:use-alt-css') === 'true';
const path = !useAlt ? settings.css : settings.altcss;
diff --git a/client/actions/user.js b/client/actions/user.js
index 51f98c44e..9a505098d 100644
--- a/client/actions/user.js
+++ b/client/actions/user.js
@@ -18,7 +18,7 @@ const addRequiredTextParam = (url, languageDictionary) => {
*/
export function fetchUsers(search, reset = false, page = 0, filterBy, sort, onSuccess) {
return (dispatch, getState) => {
- const { sortProperty, sortOrder, searchValue, selectedFilter } = getState().users;
+ const { sortProperty, sortOrder, searchValue, selectedFilter } = getState().users.toJS();
const meta = { page, sortProperty, sortOrder, searchValue, onSuccess };
meta.selectedFilter = reset ? '' : filterBy || selectedFilter;
meta.searchValue = reset ? '' : search || searchValue;
@@ -75,7 +75,7 @@ export function createUser(user, languageDictionary) {
*/
export function requestCreateUser(memberships) {
return (dispatch, getState) => {
- const connections = getState().connections.get('records');
+ const connections = getState().connections.get('records').toJS();
const connection = connections.length === 0
? null
@@ -238,27 +238,27 @@ export function cancelBlockUser() {
/*
* Update the user details.
*/
-// export function updateUser(userId, data, onSuccess, languageDictionary) {
-// return (dispatch) => {
-// dispatch({
-// type: constants.UPDATE_USER,
-// meta: {
-// userId,
-// onSuccess: () => {
-// if (onSuccess) {
-// onSuccess();
-// }
-// dispatch(fetchUserDetail(userId));
-// }
-// },
-// payload: {
-// promise: axios.put(addRequiredTextParam(`/api/users/${userId}`, languageDictionary), data, {
-// responseType: 'json'
-// })
-// }
-// });
-// };
-// }
+export function updateUser(userId, data, onSuccess, languageDictionary) {
+ return (dispatch) => {
+ dispatch({
+ type: constants.UPDATE_USER,
+ meta: {
+ userId,
+ onSuccess: () => {
+ if (onSuccess) {
+ onSuccess();
+ }
+ dispatch(fetchUserDetail(userId));
+ }
+ },
+ payload: {
+ promise: axios.put(addRequiredTextParam(`/api/users/${userId}`, languageDictionary), data, {
+ responseType: 'json'
+ })
+ }
+ });
+ };
+}
/*
* Block a user.
*/
@@ -384,7 +384,7 @@ export function cancelDeleteUser() {
*/
export function deleteUser() {
return (dispatch, getState) => {
- const { user: {user_id} } = getState().userDelete;
+ const { user: {user_id} } = getState().userDelete.toJS();
dispatch({
type: constants.DELETE_USER,
payload: {
@@ -425,7 +425,7 @@ export function cancelPasswordReset() {
*/
export function resetPassword(application) {
return (dispatch, getState) => {
- const { user: { user_id }, connection } = getState().passwordReset;
+ const { user: { user_id }, connection } = getState().passwordReset.toJS();
const clientId = application.client ? (application.client.value || application.client) : null;
dispatch({
type: constants.PASSWORD_RESET,
@@ -467,7 +467,7 @@ export function cancelPasswordChange() {
*/
export function changePassword(formData, languageDictionary) {
return (dispatch, getState) => {
- const { user: { user_id }, connection } = getState().passwordChange;
+ const { user: { user_id }, connection } = getState().passwordChange.toJS();
dispatch({
type: constants.PASSWORD_CHANGE,
payload: {
@@ -510,7 +510,7 @@ export function cancelUsernameChange() {
*/
export function changeUsername(userId, data, languageDictionary) {
return (dispatch, getState) => {
- const user = getState().user.get('record');
+ const user = getState().user.get('record').toJS();
user.username = data.username;
dispatch({
type: constants.USERNAME_CHANGE,
diff --git a/client/components/Header.jsx b/client/components/Header.jsx
index 4854c1db5..42c762826 100644
--- a/client/components/Header.jsx
+++ b/client/components/Header.jsx
@@ -20,25 +20,22 @@ export default class Header extends Component {
getName(iss, user) {
let thisMenuName = this.props.getDictValue('menuName');
- // user.get was erroring so commented out. User seems to be a decoded jwt
- // I don't know what it was previously - to have getter fns, or why it's changed
-
- // thisMenuName = thisMenuName || (user && user.get('name'));
- // thisMenuName = thisMenuName || (user && user.get('nickname'));
- // thisMenuName = thisMenuName || (user && user.get('email'));
+ thisMenuName = thisMenuName || (user && user.get('name'));
+ thisMenuName = thisMenuName || (user && user.get('nickname'));
+ thisMenuName = thisMenuName || (user && user.get('email'));
thisMenuName = thisMenuName || iss;
return thisMenuName.length >= 21 ? thisMenuName.substr(0,18)+'...' : thisMenuName;
}
getPicture(iss, user) {
- // if (user && user.get('picture')) {
- // return user.get('picture');
- // }
+ if (user && user.get('picture')) {
+ return user.get('picture');
+ }
- // if (user && user.get('nickname')) {
- // return `https://cdn.auth0.com/avatars/${user.get('nickname').slice(0, 2).toLowerCase()}.png`;
- // }
+ if (user && user.get('nickname')) {
+ return `https://cdn.auth0.com/avatars/${user.get('nickname').slice(0, 2).toLowerCase()}.png`;
+ }
return `https://cdn.auth0.com/avatars/${iss.slice(0, 2).toLowerCase()}.png`;
}
diff --git a/client/components/Logs/LogDialog.jsx b/client/components/Logs/LogDialog.jsx
index 9b026ab47..b8883c78b 100644
--- a/client/components/Logs/LogDialog.jsx
+++ b/client/components/Logs/LogDialog.jsx
@@ -25,7 +25,7 @@ export default class LogDialog extends Component {
const languageDictionary = this.props.languageDictionary || {};
- const log = this.props.log;
+ const log = this.props.log.toJS();
const logType = _.get(languageDictionary, `logTypes.${log.shortType}.event`, log.type);
diff --git a/client/components/Logs/LogsTable.jsx b/client/components/Logs/LogsTable.jsx
index b4742c0e1..9b7b2c266 100644
--- a/client/components/Logs/LogsTable.jsx
+++ b/client/components/Logs/LogsTable.jsx
@@ -29,7 +29,7 @@ export default class LogsTable extends Component {
return
{languageDictionary.noLogsMessage || 'No logs found'}
;
}
- const logs = this.props.logs;
+ const logs = this.props.logs.toJS();
return (
diff --git a/client/components/Users/UserActions.jsx b/client/components/Users/UserActions.jsx
index 78dbb4edf..d0ef53c8a 100644
--- a/client/components/Users/UserActions.jsx
+++ b/client/components/Users/UserActions.jsx
@@ -30,12 +30,12 @@ export default class UserActions extends Component {
if (props.user) {
this.state = {
- user: props.user,
+ user: props.user.toJS(),
loading: props.loading
};
if (props.databaseConnections) {
- this.state.databaseConnections = props.databaseConnections;
+ this.state.databaseConnections = props.databaseConnections.toJS();
}
} else {
this.state = {
@@ -49,7 +49,7 @@ export default class UserActions extends Component {
componentWillReceiveProps(nextProps) {
if (nextProps.user) {
- const { record, loading } = nextProps.user;
+ const { record, loading } = nextProps.user.toJS();
this.setState({
user: record,
loading
@@ -58,7 +58,7 @@ export default class UserActions extends Component {
if (nextProps.databaseConnections) {
this.setState({
- databaseConnections: nextProps.databaseConnections
+ databaseConnections: nextProps.databaseConnections.toJS()
});
}
diff --git a/client/components/Users/UserDevices.jsx b/client/components/Users/UserDevices.jsx
index 97c0faffc..da4fe7ea6 100644
--- a/client/components/Users/UserDevices.jsx
+++ b/client/components/Users/UserDevices.jsx
@@ -40,7 +40,7 @@ export default class UserDevices extends Component {
return {languageDictionary.noDevicesMessage || 'This user does not have any registered devices.'}
;
}
- const devices = this.props.devices;
+ const devices = this.props.devices.toJS();
return (
diff --git a/client/components/Users/UserHeader.jsx b/client/components/Users/UserHeader.jsx
index 43568b98e..6f58cf9d5 100644
--- a/client/components/Users/UserHeader.jsx
+++ b/client/components/Users/UserHeader.jsx
@@ -64,7 +64,7 @@ export default class UserHeader extends Component {
return ;
}
- const user = this.props.user;
+ const user = this.props.user.toJS();
const userFields = this.props.userFields || [];
const languageDictionary = this.props.languageDictionary || {};
diff --git a/client/components/Users/UserInfo.jsx b/client/components/Users/UserInfo.jsx
index 2e3057746..7c23d65d8 100644
--- a/client/components/Users/UserInfo.jsx
+++ b/client/components/Users/UserInfo.jsx
@@ -104,7 +104,7 @@ export default class UserInfo extends Component {
.value();
/* Prepare the user object */
- const userObject = user;
+ const userObject = user.toJS();
if (!userObject || Object.keys(userObject).length === 0) {
return (
diff --git a/client/components/Users/UserLogs.jsx b/client/components/Users/UserLogs.jsx
index 77f6594f9..14970cc02 100644
--- a/client/components/Users/UserLogs.jsx
+++ b/client/components/Users/UserLogs.jsx
@@ -26,7 +26,7 @@ export default class UserLogs extends Component {
}
const languageDictionary = this.props.languageDictionary || {};
- const logs = this.props.logs;
+ const logs = this.props.logs.toJS();
return (
diff --git a/client/components/Users/UserProfile.jsx b/client/components/Users/UserProfile.jsx
index 7c87153bc..b567178ad 100644
--- a/client/components/Users/UserProfile.jsx
+++ b/client/components/Users/UserProfile.jsx
@@ -20,7 +20,7 @@ export default class UserProfile extends Component {
return (
-
+
);
diff --git a/client/constants.js b/client/constants.js
index dfdc92925..b33028faf 100644
--- a/client/constants.js
+++ b/client/constants.js
@@ -74,6 +74,7 @@ export const CREATE_USER_REJECTED = 'CREATE_USER_REJECTED';
export const CREATE_USER_FULFILLED = 'CREATE_USER_FULFILLED';
// Edit user.
+export const UPDATE_USER = 'UPDATE_USER';
export const REQUEST_FIELDS_CHANGE = 'REQUEST_FIELDS_CHANGE';
export const CANCEL_FIELDS_CHANGE = 'CANCEL_FIELDS_CHANGE';
export const FIELDS_CHANGE = 'FIELDS_CHANGE';
diff --git a/client/containers/App.jsx b/client/containers/App.jsx
index a3b137c1f..3fbe1c342 100644
--- a/client/containers/App.jsx
+++ b/client/containers/App.jsx
@@ -54,8 +54,8 @@ class App extends Component {
render() {
const { settingsLoading } = this.props;
- const languageDictionary = this.props.languageDictionary ? this.props.languageDictionary : {};
- const settings = this.props.settings.get('settings') && this.props.settings.get('settings');
+ const languageDictionary = this.props.languageDictionary ? this.props.languageDictionary.toJS() : {};
+ const settings = this.props.settings.get('settings') && this.props.settings.get('settings').toJS();
const renderCssToggle = !!(settings && settings.css && settings.altcss);
if (settingsLoading) {
diff --git a/client/containers/Configuration/Configuration.jsx b/client/containers/Configuration/Configuration.jsx
index 2527870a3..8e1b5850a 100644
--- a/client/containers/Configuration/Configuration.jsx
+++ b/client/containers/Configuration/Configuration.jsx
@@ -12,8 +12,8 @@ import getErrorMessage from '../../utils/getErrorMessage';
export default connectContainer(class extends Component {
static stateToProps = (state) => ({
scripts: state.scripts,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
- languageDictionary: state.languageDictionary && state.languageDictionary.get('record')
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
+ languageDictionary: state.languageDictionary && state.languageDictionary.get('record').toJS()
});
static actionsToProps = {
@@ -48,7 +48,7 @@ export default connectContainer(class extends Component {
componentWillReceiveProps(nextProps) {
if (nextProps.scripts) {
const code = this.state.code;
- const scripts = nextProps.scripts;
+ const scripts = nextProps.scripts.toJS();
Object.keys(scripts).forEach(scriptName => {
if (!code[scriptName]) {
code[scriptName] = scripts[scriptName].script;
@@ -84,7 +84,7 @@ export default connectContainer(class extends Component {
render() {
const code = this.state.code;
- const scripts = this.props.scripts;
+ const scripts = this.props.scripts.toJS();
const { languageDictionary, settings } = this.props;
const originalTitle = (settings.dict && settings.dict.title) || window.config.TITLE || 'User Management';
document.title = `${languageDictionary.configurationMenuItemText || 'Configuration'} - ${originalTitle}`;
diff --git a/client/containers/Login.jsx b/client/containers/Login.jsx
index 6418c04b6..43a311972 100644
--- a/client/containers/Login.jsx
+++ b/client/containers/Login.jsx
@@ -17,21 +17,8 @@ class LoginContainer extends Component {
componentWillMount() {
if (this.props.auth.isAuthenticated) {
- console.log(`
- isAuthenticated: ${this.props.auth.isAuthenticated},
- pushing to ${this.props.auth.returnTo || '/users'}
- `);
-
this.props.push(this.props.auth.returnTo || '/users');
} else if (!this.props.auth.isAuthenticating && !this.props.auth.error) {
-
- console.log(`
- isAuthenticated: ${this.props.auth.isAuthenticated},
- isAuthenticating: ${this.props.auth.isAuthenticating},
- error: ${this.props.auth.error},
- pushing to login
- `);
-
// reset the local storage for locale
this.props.login(this.props.location.query.returnUrl, window.config.LOCALE || 'en');
}
@@ -77,8 +64,8 @@ class LoginContainer extends Component {
function mapStateToProps(state) {
return {
- auth: state.auth,
- languageDictionary: state.languageDictionary.get('record')
+ auth: state.auth.toJS(),
+ languageDictionary: state.languageDictionary.get('record').toJS()
};
}
diff --git a/client/containers/Logs.jsx b/client/containers/Logs.jsx
index 6735d774a..13524a27f 100644
--- a/client/containers/Logs.jsx
+++ b/client/containers/Logs.jsx
@@ -108,8 +108,8 @@ function mapStateToProps(state) {
error: state.log.get('error'),
loading: state.log.get('loading')
},
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
- languageDictionary: state.languageDictionary.get('record')
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
+ languageDictionary: state.languageDictionary.get('record').toJS()
};
}
diff --git a/client/containers/RequireAuthentication.jsx b/client/containers/RequireAuthentication.jsx
index 24e80ac06..09def2aa8 100644
--- a/client/containers/RequireAuthentication.jsx
+++ b/client/containers/RequireAuthentication.jsx
@@ -21,21 +21,10 @@ export default function RequireAuthentication(InnerComponent) {
}
requireAuthentication() {
-
- console.log({
- isAuthenticated: this.props.auth.isAuthenticated,
- isAuthenticating: this.props.auth.isAuthenticating
- })
-
-
if (!this.props.auth.isAuthenticated && !this.props.auth.isAuthenticating) {
if (!this.props.location) {
- console.log('pushing to login');
-
this.props.push('/login');
} else {
-
- console.log(`pushing to login with return url: ${this.props.location.pathname}${this.props.location.search ? this.props.location.search : ''}`);
this.props.push(`/login?returnUrl=${this.props.location.pathname}${this.props.location.search ? this.props.location.search : ''}`);
}
}
@@ -44,8 +33,7 @@ export default function RequireAuthentication(InnerComponent) {
}
render() {
- // if (this.props.auth.isAuthenticated) {
- if (true) {
+ if (this.props.auth.isAuthenticated) {
return ;
}
@@ -53,5 +41,5 @@ export default function RequireAuthentication(InnerComponent) {
}
}
- return connect((state) => ({ auth: state.auth }), { push })(RequireAuthenticationContainer);
+ return connect((state) => ({ auth: state.auth.toJS() }), { push })(RequireAuthenticationContainer);
}
diff --git a/client/containers/Users/Dialogs/BlockDialog.jsx b/client/containers/Users/Dialogs/BlockDialog.jsx
index 293aed836..522ecd528 100644
--- a/client/containers/Users/Dialogs/BlockDialog.jsx
+++ b/client/containers/Users/Dialogs/BlockDialog.jsx
@@ -11,7 +11,7 @@ import getErrorMessage from '../../../utils/getErrorMessage';
export default connectContainer(class extends Component {
static stateToProps = (state) => ({
block: state.block,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -38,11 +38,11 @@ export default connectContainer(class extends Component {
render() {
const { cancelBlockUser, settings } = this.props;
- const { user, error, requesting, loading } = this.props.block;
+ const { user, error, requesting, loading } = this.props.block.toJS();
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.blockDialogMessage ||
'Do you really want to block {username}? ' +
diff --git a/client/containers/Users/Dialogs/CreateDialog.jsx b/client/containers/Users/Dialogs/CreateDialog.jsx
index 56c6c87e6..03f3a5cc4 100644
--- a/client/containers/Users/Dialogs/CreateDialog.jsx
+++ b/client/containers/Users/Dialogs/CreateDialog.jsx
@@ -44,15 +44,15 @@ export default connectContainer(class extends Component {
}
onSubmit = (user) => {
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
this.props.createUser(user, languageDictionary);
};
render() {
- const { error, loading, record } = this.props.userCreate;
- const connections = this.props.connections;
- const accessLevel = this.props.accessLevel.get('record');
- const languageDictionary = this.props.languageDictionary.get('record');
+ const { error, loading, record } = this.props.userCreate.toJS();
+ const connections = this.props.connections.toJS();
+ const accessLevel = this.props.accessLevel.get('record').toJS();
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
return (
diff --git a/client/containers/Users/Dialogs/DeleteDialog.jsx b/client/containers/Users/Dialogs/DeleteDialog.jsx
index 9215b4693..6e08c08f8 100644
--- a/client/containers/Users/Dialogs/DeleteDialog.jsx
+++ b/client/containers/Users/Dialogs/DeleteDialog.jsx
@@ -11,7 +11,7 @@ import getErrorMessage from '../../../utils/getErrorMessage';
export default connectContainer(class extends Component {
static stateToProps = (state) => ({
userDelete: state.userDelete,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -37,10 +37,10 @@ export default connectContainer(class extends Component {
render() {
const { cancelDeleteUser, settings } = this.props;
- const { user, error, requesting, loading } = this.props.userDelete;
+ const { user, error, requesting, loading } = this.props.userDelete.toJS();
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.deleteDialogMessage ||
'Do you really want to delete {username}? ' +
diff --git a/client/containers/Users/Dialogs/EmailChangeDialog.jsx b/client/containers/Users/Dialogs/EmailChangeDialog.jsx
index 6b3f389b5..c6d71d8b0 100644
--- a/client/containers/Users/Dialogs/EmailChangeDialog.jsx
+++ b/client/containers/Users/Dialogs/EmailChangeDialog.jsx
@@ -17,7 +17,7 @@ export default connectContainer(class extends Component {
static stateToProps = (state) => ({
connections: state.connections,
emailChange: state.emailChange,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -43,18 +43,18 @@ export default connectContainer(class extends Component {
};
onSubmit = (emailForm) => {
- const { user } = this.props.emailChange;
+ const { user } = this.props.emailChange.toJS();
- this.props.changeEmail(user, emailForm, this.props.languageDictionary.get('record'));
+ this.props.changeEmail(user, emailForm, this.props.languageDictionary.get('record').toJS());
};
render() {
const { cancelEmailChange, settings, connections } = this.props;
- const { user, connection, error, requesting, loading } = this.props.emailChange;
+ const { user, connection, error, requesting, loading } = this.props.emailChange.toJS();
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.changeEmailMessage ||
'Do you really want to change the email for {username}?';
@@ -63,7 +63,7 @@ export default connectContainer(class extends Component {
const fields = _.cloneDeep(userFields) || [];
useEmailField(true, fields);
- useDisabledConnectionField(true, fields, connection, connections.get('records'));
+ useDisabledConnectionField(true, fields, connection, connections.get('records').toJS());
const allowedFields = ['email', 'connection'];
const filteredFields = _.filter(fields,
diff --git a/client/containers/Users/Dialogs/FieldsChangeDialog.jsx b/client/containers/Users/Dialogs/FieldsChangeDialog.jsx
index af13d96cc..cb5db9d74 100644
--- a/client/containers/Users/Dialogs/FieldsChangeDialog.jsx
+++ b/client/containers/Users/Dialogs/FieldsChangeDialog.jsx
@@ -10,7 +10,7 @@ import getErrorMessage from '../../../utils/getErrorMessage';
export default connectContainer(class extends Component {
static stateToProps = (state) => ({
fieldsChange: state.fieldsChange,
- userId: state.fieldsChange.userId,
+ userId: state.fieldsChange.toJS().userId,
languageDictionary: state.languageDictionary,
userForm: state.form
});
@@ -44,12 +44,12 @@ export default connectContainer(class extends Component {
.uniq()
.value();
- this.props.changeFields(this.props.userId, _.pick(user, submitFields), this.props.languageDictionary.get('record'));
+ this.props.changeFields(this.props.userId, _.pick(user, submitFields), this.props.languageDictionary.get('record').toJS());
}
render() {
- const { error, loading, record } = this.props.fieldsChange;
- const languageDictionary = this.props.languageDictionary.get('record');
+ const { error, loading, record } = this.props.fieldsChange.toJS();
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
return (
diff --git a/client/containers/Users/Dialogs/PasswordChangeDialog.jsx b/client/containers/Users/Dialogs/PasswordChangeDialog.jsx
index 6049261d6..45769095a 100644
--- a/client/containers/Users/Dialogs/PasswordChangeDialog.jsx
+++ b/client/containers/Users/Dialogs/PasswordChangeDialog.jsx
@@ -20,7 +20,7 @@ export default connectContainer(class PasswordChangeDialog extends Component {
static stateToProps = (state) => ({
connections: state.connections,
passwordChange: state.passwordChange,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -45,14 +45,14 @@ export default connectContainer(class PasswordChangeDialog extends Component {
};
onSubmit = (changeForm) => {
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
this.props.changePassword(changeForm, languageDictionary);
};
render() {
const { cancelPasswordChange, settings, connections } = this.props;
- const { connection, user, error, requesting, loading } = this.props.passwordChange;
+ const { connection, user, error, requesting, loading } = this.props.passwordChange.toJS();
const userFields = settings.userFields || [];
@@ -60,7 +60,7 @@ export default connectContainer(class PasswordChangeDialog extends Component {
return null;
}
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.changePasswordMessage ||
'Do you really want to reset the password for {username}? ' +
'You\'ll need a safe way to communicate the new password to your user, never send the user this' +
@@ -70,7 +70,7 @@ export default connectContainer(class PasswordChangeDialog extends Component {
const fields = _.cloneDeep(userFields) || [];
usePasswordFields(true, fields);
- useDisabledConnectionField(true, fields, connection, connections.get('records'));
+ useDisabledConnectionField(true, fields, connection, connections.get('records').toJS());
useDisabledEmailField(true, fields);
const allowedFields = ['email', 'connection', 'password', 'repeatPassword'];
diff --git a/client/containers/Users/Dialogs/PasswordResetDialog.jsx b/client/containers/Users/Dialogs/PasswordResetDialog.jsx
index 0b9a682e1..909483f1d 100644
--- a/client/containers/Users/Dialogs/PasswordResetDialog.jsx
+++ b/client/containers/Users/Dialogs/PasswordResetDialog.jsx
@@ -23,7 +23,7 @@ export default connectContainer(class extends Component {
connections: state.connections,
passwordReset: state.passwordReset,
appsForConnection: getAppsForConnection(state),
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -57,14 +57,14 @@ export default connectContainer(class extends Component {
render() {
const { cancelPasswordReset, settings, connections } = this.props;
- const { connection, user, error, requesting, loading } = this.props.passwordReset;
+ const { connection, user, error, requesting, loading } = this.props.passwordReset.toJS();
if (!requesting) {
return null;
}
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.resetPasswordMessage ||
'Do you really want to reset the password for {username}? '+
@@ -73,8 +73,8 @@ export default connectContainer(class extends Component {
getName(user, userFields, languageDictionary));
const fields = _.cloneDeep(userFields) || [];
- useClientField(true, fields, this.props.appsForConnection);
- useDisabledConnectionField(true, fields, connection, connections.get('records'));
+ useClientField(true, fields, this.props.appsForConnection.toJS());
+ useDisabledConnectionField(true, fields, connection, connections.get('records').toJS());
useDisabledEmailField(true, fields);
const allowedFields = ['email', 'client', 'connection'];
@@ -98,7 +98,7 @@ export default connectContainer(class extends Component {
{message}
({
removeBlockedIPs: state.removeBlockedIPs,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -37,11 +37,11 @@ export default connectContainer(class extends Component {
render() {
const { cancelRemoveBlocks, settings } = this.props;
- const { user, error, requesting, loading } = this.props.removeBlockedIPs;
+ const { user, error, requesting, loading } = this.props.removeBlockedIPs.toJS();
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.removeBlockedIPsDialogMessage ||
'Do you really want to remove all Anomaly Detection blocks from {username}? ' +
diff --git a/client/containers/Users/Dialogs/RemoveMultiFactorDialog.jsx b/client/containers/Users/Dialogs/RemoveMultiFactorDialog.jsx
index 3ae2a5717..098db2404 100644
--- a/client/containers/Users/Dialogs/RemoveMultiFactorDialog.jsx
+++ b/client/containers/Users/Dialogs/RemoveMultiFactorDialog.jsx
@@ -15,7 +15,7 @@ import getErrorMessage from '../../../utils/getErrorMessage';
export default connectContainer(class extends Component {
static stateToProps = (state) => ({
mfa: state.mfa,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -45,9 +45,9 @@ export default connectContainer(class extends Component {
render() {
const { cancelRemoveMultiFactor, settings } = this.props;
- const { user, error, requesting, loading } = this.props.mfa;
+ const { user, error, requesting, loading } = this.props.mfa.toJS();
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.removeMultiFactorMessage ||
'Do you really want to remove the multi factor authentication settings for {username}? '+
diff --git a/client/containers/Users/Dialogs/ResendVerificationEmailDialog.jsx b/client/containers/Users/Dialogs/ResendVerificationEmailDialog.jsx
index 2d0fc3003..5b443144a 100644
--- a/client/containers/Users/Dialogs/ResendVerificationEmailDialog.jsx
+++ b/client/containers/Users/Dialogs/ResendVerificationEmailDialog.jsx
@@ -11,7 +11,7 @@ import getErrorMessage from '../../../utils/getErrorMessage';
export default connectContainer(class extends Component {
static stateToProps = (state) => ({
verificationEmail: state.verificationEmail,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -31,15 +31,15 @@ export default connectContainer(class extends Component {
}
onConfirm = () => {
- this.props.resendVerificationEmail(this.props.verificationEmail.user.user_id);
+ this.props.resendVerificationEmail(this.props.verificationEmail.toJS().user.user_id);
}
render() {
const { cancelResendVerificationEmail, settings } = this.props;
- const { user, error, requesting, loading } = this.props.verificationEmail;
+ const { user, error, requesting, loading } = this.props.verificationEmail.toJS();
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.resendVerificationEmailMessage ||
'Do you really want to resend verification email to {username}?';
diff --git a/client/containers/Users/Dialogs/UnblockDialog.jsx b/client/containers/Users/Dialogs/UnblockDialog.jsx
index e8cab6a09..c8b9cdf30 100644
--- a/client/containers/Users/Dialogs/UnblockDialog.jsx
+++ b/client/containers/Users/Dialogs/UnblockDialog.jsx
@@ -12,7 +12,7 @@ import getErrorMessage from '../../../utils/getErrorMessage';
export default connectContainer(class extends Component {
static stateToProps = (state) => ({
unblock: state.unblock,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
languageDictionary: state.languageDictionary
});
@@ -37,11 +37,11 @@ export default connectContainer(class extends Component {
render() {
const { cancelUnblockUser, settings } = this.props;
- const { user, error, requesting, loading } = this.props.unblock;
+ const { user, error, requesting, loading } = this.props.unblock.toJS();
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.unblockDialogMessage ||
'Do you really want to unblock {username}? ' +
diff --git a/client/containers/Users/Dialogs/UsernameChangeDialog.jsx b/client/containers/Users/Dialogs/UsernameChangeDialog.jsx
index e01d0a6c1..37abc26f1 100644
--- a/client/containers/Users/Dialogs/UsernameChangeDialog.jsx
+++ b/client/containers/Users/Dialogs/UsernameChangeDialog.jsx
@@ -14,7 +14,7 @@ import getErrorMessage from '../../../utils/getErrorMessage';
export default connectContainer(class extends Component {
static stateToProps = (state) => ({
usernameChange: state.usernameChange,
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
connections: state.connections,
languageDictionary: state.languageDictionary
});
@@ -41,14 +41,14 @@ export default connectContainer(class extends Component {
};
onSubmit = (formData) => {
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
- this.props.changeUsername(this.props.usernameChange.user.user_id, formData, languageDictionary);
+ this.props.changeUsername(this.props.usernameChange.toJS().user.user_id, formData, languageDictionary);
};
render() {
const { cancelUsernameChange, connections, settings } = this.props;
- const { user, connection, error, requesting, loading } = this.props.usernameChange;
+ const { user, connection, error, requesting, loading } = this.props.usernameChange.toJS();
if (!requesting) {
return null;
@@ -56,7 +56,7 @@ export default connectContainer(class extends Component {
const userFields = settings.userFields || [];
- const languageDictionary = this.props.languageDictionary.get('record');
+ const languageDictionary = this.props.languageDictionary.get('record').toJS();
const messageFormat = languageDictionary.changeUsernameMessage ||
'Do you really want to change the username for {username}?';
@@ -66,8 +66,8 @@ export default connectContainer(class extends Component {
const allowedFields = ['username', 'connection'];
const initialValues = mapValues(user, allowedFields, userFields, 'edit', languageDictionary);
const fields = _.cloneDeep(userFields) || [];
- useUsernameField(true, fields, connections.get('records'), connection, initialValues);
- useDisabledConnectionField(true, fields, connection, connections.get('records'));
+ useUsernameField(true, fields, connections.get('records').toJS(), connection, initialValues);
+ useDisabledConnectionField(true, fields, connection, connections.get('records').toJS());
const filteredFields = _.filter(fields,
field => _.includes(allowedFields, field.property));
diff --git a/client/containers/Users/User.jsx b/client/containers/Users/User.jsx
index b544097c0..3ea28ad51 100644
--- a/client/containers/Users/User.jsx
+++ b/client/containers/Users/User.jsx
@@ -22,8 +22,8 @@ export default connectContainer(class extends Component {
log: state.log,
logs: state.user.get('logs'),
devices: state.user.get('devices'),
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
- languageDictionary: state.languageDictionary.get('record') || {}
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
+ languageDictionary: state.languageDictionary.get('record').toJS() || {}
});
static actionsToProps = {
diff --git a/client/containers/Users/Users.jsx b/client/containers/Users/Users.jsx
index 14d3fc40d..da5768b6b 100644
--- a/client/containers/Users/Users.jsx
+++ b/client/containers/Users/Users.jsx
@@ -66,7 +66,7 @@ class Users extends Component {
createUser = () => {
this.props.requestCreateUser(
- this.props.accessLevel.get('record').get('memberships') && this.props.accessLevel.get('record').get('memberships')
+ this.props.accessLevel.get('record').get('memberships') && this.props.accessLevel.get('record').get('memberships').toJS()
);
};
@@ -159,8 +159,8 @@ function mapStateToProps(state) {
userCreateLoading: state.userCreate.get('loading'),
validationErrors: state.userCreate.get('validationErrors'),
loading: state.users.get('loading'),
- users: state.users.get('records'),
- connections: state.connections.get('records'),
+ users: state.users.get('records').toJS(),
+ connections: state.connections.get('records').toJS(),
connectionsLoading: state.connections.get('loading'),
total: state.users.get('total'),
nextPage: state.users.get('nextPage'),
@@ -168,8 +168,8 @@ function mapStateToProps(state) {
sortProperty: state.users.get('sortProperty'),
sortOrder: state.users.get('sortOrder'),
searchValue: state.users.get('searchValue'),
- settings: (state.settings.get('record') && state.settings.get('record').settings) || {},
- languageDictionary: state.languageDictionary.get('record')
+ settings: (state.settings.get('record') && state.settings.get('record').toJS().settings) || {},
+ languageDictionary: state.languageDictionary.get('record').toJS()
};
}
diff --git a/client/reducers/accessLevel.js b/client/reducers/accessLevel.js
index f6825201b..bc3dd9759 100644
--- a/client/reducers/accessLevel.js
+++ b/client/reducers/accessLevel.js
@@ -6,7 +6,7 @@ import createReducer from '../utils/createReducer';
const initialState = {
loading: false,
error: null,
- record: { role: 0, memberships: [], createMemberships: false }
+ record: fromJS({ role: 0, memberships: [], createMemberships: false })
};
export const accessLevel = createReducer(fromJS(initialState), { // eslint-disable-line import/prefer-default-export
diff --git a/client/reducers/applications.js b/client/reducers/applications.js
index 78420f3b3..6157a1894 100644
--- a/client/reducers/applications.js
+++ b/client/reducers/applications.js
@@ -6,7 +6,7 @@ import createReducer from '../utils/createReducer';
const initialState = {
loading: false,
error: null,
- records: []
+ records: fromJS([]),
};
export const applications = createReducer(fromJS(initialState), { // eslint-disable-line import/prefer-default-export
diff --git a/client/reducers/auth.js b/client/reducers/auth.js
index 44048e1de..69d2a842c 100644
--- a/client/reducers/auth.js
+++ b/client/reducers/auth.js
@@ -28,7 +28,7 @@ export const auth = createReducer(fromJS(initialState), { // eslint-disable-line
state.merge({
isAuthenticated: true,
isAuthenticating: false,
- user: action.payload.user,
+ user: fromJS(action.payload.user),
token: action.payload.token,
decodedToken: action.payload.decodedToken,
issuer: new URL(action.payload.decodedToken.iss).hostname,
diff --git a/client/reducers/block.js b/client/reducers/block.js
index b64d594a3..34e2893b9 100644
--- a/client/reducers/block.js
+++ b/client/reducers/block.js
@@ -13,7 +13,7 @@ const initialState = {
export const block = createReducer(fromJS(initialState), { // eslint-disable-line import/prefer-default-export
[constants.REQUEST_BLOCK_USER]: (state, action) =>
state.merge({
- user: action.user,
+ user: fromJS(action.user),
requesting: true
}),
[constants.CANCEL_BLOCK_USER]: (state) =>
diff --git a/client/reducers/connections.js b/client/reducers/connections.js
index c56238d19..1d3f064c5 100644
--- a/client/reducers/connections.js
+++ b/client/reducers/connections.js
@@ -6,7 +6,7 @@ import createReducer from '../utils/createReducer';
const initialState = {
loading: false,
error: null,
- records: []
+ records: fromJS([])
};
export const connections = createReducer(fromJS(initialState), { // eslint-disable-line import/prefer-default-export
diff --git a/client/reducers/languageDictionary.js b/client/reducers/languageDictionary.js
index 74f765f69..2361aa93f 100644
--- a/client/reducers/languageDictionary.js
+++ b/client/reducers/languageDictionary.js
@@ -5,7 +5,7 @@ import createReducer from '../utils/createReducer';
const initialState = {
loading: false,
error: null,
- record: { }
+ record: fromJS({})
};
export const languageDictionary = createReducer(fromJS(initialState), { // eslint-disable-line
diff --git a/client/reducers/logs.js b/client/reducers/logs.js
index 286cf6419..c6d866910 100644
--- a/client/reducers/logs.js
+++ b/client/reducers/logs.js
@@ -6,7 +6,7 @@ import createReducer from '../utils/createReducer';
const initialState = {
loading: false,
error: null,
- records: [],
+ records: fromJS([]),
currentRecord: null
};
@@ -15,7 +15,7 @@ export const logs = createReducer(fromJS(initialState), { // eslint-disable-line
state.merge({
...initialState,
loading: true,
- records: action.meta.page === 0 ? [] : state.get('records')
+ records: fromJS(action.meta.page === 0 ? [] : state.get('records')),
}),
[constants.FETCH_LOGS_REJECTED]: (state, action) =>
state.merge({
@@ -27,7 +27,7 @@ export const logs = createReducer(fromJS(initialState), { // eslint-disable-line
return state.merge({
loading: false,
nextPage: action.meta.page + 1,
- records: state.get('records').concat(fromJS(data.map(log => {
+ records: fromJS(state.get('records').concat(fromJS(data.map(log => {
log.shortType = log.type;
log.type = logTypes[log.type];
if (!log.type) {
@@ -40,7 +40,7 @@ export const logs = createReducer(fromJS(initialState), { // eslint-disable-line
};
}
return log;
- })))
+ }))))
});
}
});
diff --git a/client/reducers/settings.js b/client/reducers/settings.js
index 09b61110c..42ae5f96d 100644
--- a/client/reducers/settings.js
+++ b/client/reducers/settings.js
@@ -6,7 +6,7 @@ import createReducer from '../utils/createReducer';
const initialState = {
loading: false,
error: null,
- record: { settings: { dict: { title: '', memberships: '' }, userFields: [], css: '' } }
+ record: fromJS({ settings: { dict: { title: '', memberships: '' }, userFields: [], css: '' } })
};
const parseFunction = (property, attribute, functionString) => {
diff --git a/client/reducers/user.js b/client/reducers/user.js
index f502fe852..177e5fd42 100644
--- a/client/reducers/user.js
+++ b/client/reducers/user.js
@@ -9,18 +9,18 @@ const initialState = {
loading: false,
error: null,
userId: null,
- record: { },
- memberships: [],
- connection: {},
+ record: fromJS({ }),
+ memberships: fromJS([]),
+ connection: fromJS({}),
logs: {
loading: false,
error: null,
- records: []
+ records: fromJS([])
},
devices: {
loading: false,
error: null,
- records: { }
+ records: fromJS({ })
}
};
diff --git a/client/reducers/users.js b/client/reducers/users.js
index 398792ff8..46d8bf20f 100644
--- a/client/reducers/users.js
+++ b/client/reducers/users.js
@@ -7,7 +7,7 @@ import createReducer from '../utils/createReducer';
const initialState = {
loading: false,
error: null,
- records: [],
+ records: fromJS([]),
total: 0,
currentPage: 1,
pages: 1,
@@ -22,7 +22,7 @@ export const users = createReducer(fromJS(initialState), { // eslint-disable-lin
state.merge({
...initialState,
loading: true,
- records: action.meta.page === 0 ? [] : state.get('records'),
+ records: action.meta.page === 0 ? fromJS([]) : state.get('records'),
pages: action.meta.page === 0 ? 1 : state.get('pages'),
searchValue: action.meta.searchValue,
sortProperty: action.meta.sortProperty,
diff --git a/package-lock.json b/package-lock.json
index a804d9208..01400042e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18564,8 +18564,6 @@
},
"node_modules/nyc/node_modules/align-text": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18581,8 +18579,6 @@
},
"node_modules/nyc/node_modules/amdefine": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause OR MIT",
@@ -18592,8 +18588,6 @@
},
"node_modules/nyc/node_modules/ansi-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18603,8 +18597,6 @@
},
"node_modules/nyc/node_modules/append-transform": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
- "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18617,16 +18609,12 @@
},
"node_modules/nyc/node_modules/archy": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/arrify": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18636,24 +18624,18 @@
},
"node_modules/nyc/node_modules/async": {
"version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/balanced-match": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/brace-expansion": {
"version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18664,8 +18646,6 @@
},
"node_modules/nyc/node_modules/builtin-modules": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18675,8 +18655,6 @@
},
"node_modules/nyc/node_modules/caching-transform": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-2.0.0.tgz",
- "integrity": "sha512-tTfemGmFWe7KZ3KN6VsSgQZbd9Bgo7A40wlp4PTsJJvFu4YAnEC5YnfdiKq6Vh2i9XJLnA9n8OXD46orVpnPMw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18692,8 +18670,6 @@
},
"node_modules/nyc/node_modules/camelcase": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18704,8 +18680,6 @@
},
"node_modules/nyc/node_modules/center-align": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18720,8 +18694,6 @@
},
"node_modules/nyc/node_modules/cliui": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18734,8 +18706,6 @@
},
"node_modules/nyc/node_modules/cliui/node_modules/wordwrap": {
"version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true,
"inBundle": true,
"license": "MIT/X11",
@@ -18746,8 +18716,6 @@
},
"node_modules/nyc/node_modules/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=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18757,24 +18725,18 @@
},
"node_modules/nyc/node_modules/commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/convert-source-map": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
- "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18784,8 +18746,6 @@
},
"node_modules/nyc/node_modules/cross-spawn": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
- "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18796,8 +18756,6 @@
},
"node_modules/nyc/node_modules/debug": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18807,8 +18765,6 @@
},
"node_modules/nyc/node_modules/debug-log": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz",
- "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18818,8 +18774,6 @@
},
"node_modules/nyc/node_modules/decamelize": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18829,8 +18783,6 @@
},
"node_modules/nyc/node_modules/default-require-extensions": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
- "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18843,8 +18795,6 @@
},
"node_modules/nyc/node_modules/error-ex": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18854,16 +18804,12 @@
},
"node_modules/nyc/node_modules/es6-error": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
- "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/execa": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18882,8 +18828,6 @@
},
"node_modules/nyc/node_modules/execa/node_modules/cross-spawn": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18895,8 +18839,6 @@
},
"node_modules/nyc/node_modules/find-cache-dir": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz",
- "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18911,8 +18853,6 @@
},
"node_modules/nyc/node_modules/find-up": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18925,8 +18865,6 @@
},
"node_modules/nyc/node_modules/foreground-child": {
"version": "1.5.6",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz",
- "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18937,24 +18875,18 @@
},
"node_modules/nyc/node_modules/fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/get-caller-file": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/get-stream": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18964,8 +18896,6 @@
},
"node_modules/nyc/node_modules/glob": {
"version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18983,8 +18913,6 @@
},
"node_modules/nyc/node_modules/graceful-fs": {
"version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18994,8 +18922,6 @@
},
"node_modules/nyc/node_modules/handlebars": {
"version": "4.0.11",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
- "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19016,8 +18942,6 @@
},
"node_modules/nyc/node_modules/handlebars/node_modules/source-map": {
"version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19030,8 +18954,6 @@
},
"node_modules/nyc/node_modules/has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19041,16 +18963,12 @@
},
"node_modules/nyc/node_modules/hosted-git-info": {
"version": "2.7.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/imurmurhash": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19060,8 +18978,6 @@
},
"node_modules/nyc/node_modules/inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19072,16 +18988,12 @@
},
"node_modules/nyc/node_modules/inherits": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/invert-kv": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19091,16 +19003,12 @@
},
"node_modules/nyc/node_modules/is-arrayish": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/is-buffer": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19108,8 +19016,6 @@
},
"node_modules/nyc/node_modules/is-builtin-module": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19122,8 +19028,6 @@
},
"node_modules/nyc/node_modules/is-fullwidth-code-point": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19133,8 +19037,6 @@
},
"node_modules/nyc/node_modules/is-stream": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19144,16 +19046,12 @@
},
"node_modules/nyc/node_modules/isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/istanbul-lib-coverage": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz",
- "integrity": "sha512-nPvSZsVlbG9aLhZYaC3Oi1gT/tpyo3Yt5fNyf6NmcKIayz4VV/txxJFFKAK/gU4dcNn8ehsanBbVHVl0+amOLA==",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19163,8 +19061,6 @@
},
"node_modules/nyc/node_modules/istanbul-lib-hook": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.1.tgz",
- "integrity": "sha512-ufiZoiJ8CxY577JJWEeFuxXZoMqiKpq/RqZtOAYuQLvlkbJWscq9n3gc4xrCGH9n4pW0qnTxOz1oyMmVtk8E1w==",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19177,8 +19073,6 @@
},
"node_modules/nyc/node_modules/istanbul-lib-report": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.2.tgz",
- "integrity": "sha512-rJ8uR3peeIrwAxoDEbK4dJ7cqqtxBisZKCuwkMtMv0xYzaAnsAi3AHrHPAAtNXzG/bcCgZZ3OJVqm1DTi9ap2Q==",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19193,8 +19087,6 @@
},
"node_modules/nyc/node_modules/istanbul-lib-source-maps": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-2.0.1.tgz",
- "integrity": "sha512-30l40ySg+gvBLcxTrLzR4Z2XTRj3HgRCA/p2rnbs/3OiTaoj054gAbuP5DcLOtwqmy4XW8qXBHzrmP2/bQ9i3A==",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19211,8 +19103,6 @@
},
"node_modules/nyc/node_modules/istanbul-lib-source-maps/node_modules/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,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19222,8 +19112,6 @@
},
"node_modules/nyc/node_modules/istanbul-reports": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.0.1.tgz",
- "integrity": "sha512-CT0QgMBJqs6NJLF678ZHcquUAZIoBIUNzdJrRJfpkI9OnzG6MkUfHxbJC3ln981dMswC7/B1mfX3LNkhgJxsuw==",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19236,16 +19124,12 @@
},
"node_modules/nyc/node_modules/json-parse-better-errors": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/kind-of": {
"version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19259,8 +19143,6 @@
},
"node_modules/nyc/node_modules/lazy-cache": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19271,8 +19153,6 @@
},
"node_modules/nyc/node_modules/lcid": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19285,8 +19165,6 @@
},
"node_modules/nyc/node_modules/load-json-file": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19302,8 +19180,6 @@
},
"node_modules/nyc/node_modules/locate-path": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19317,16 +19193,12 @@
},
"node_modules/nyc/node_modules/lodash.flattendeep": {
"version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
- "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/longest": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19337,8 +19209,6 @@
},
"node_modules/nyc/node_modules/lru-cache": {
"version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19349,8 +19219,6 @@
},
"node_modules/nyc/node_modules/make-dir": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19363,8 +19231,6 @@
},
"node_modules/nyc/node_modules/md5-hex": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz",
- "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19377,15 +19243,11 @@
},
"node_modules/nyc/node_modules/md5-o-matic": {
"version": "0.1.1",
- "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz",
- "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=",
"dev": true,
"inBundle": true
},
"node_modules/nyc/node_modules/mem": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19398,8 +19260,6 @@
},
"node_modules/nyc/node_modules/merge-source-map": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
- "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19409,8 +19269,6 @@
},
"node_modules/nyc/node_modules/merge-source-map/node_modules/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,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19420,8 +19278,6 @@
},
"node_modules/nyc/node_modules/mimic-fn": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19431,8 +19287,6 @@
},
"node_modules/nyc/node_modules/minimatch": {
"version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19445,16 +19299,12 @@
},
"node_modules/nyc/node_modules/minimist": {
"version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/mkdirp": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19467,24 +19317,18 @@
},
"node_modules/nyc/node_modules/mkdirp/node_modules/minimist": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/normalize-package-data": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
@@ -19497,8 +19341,6 @@
},
"node_modules/nyc/node_modules/npm-run-path": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19511,8 +19353,6 @@
},
"node_modules/nyc/node_modules/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=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19522,8 +19362,6 @@
},
"node_modules/nyc/node_modules/once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19533,8 +19371,6 @@
},
"node_modules/nyc/node_modules/optimist": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
"inBundle": true,
"license": "MIT/X11",
@@ -19545,8 +19381,6 @@
},
"node_modules/nyc/node_modules/os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19556,8 +19390,6 @@
},
"node_modules/nyc/node_modules/os-locale": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19572,8 +19404,6 @@
},
"node_modules/nyc/node_modules/p-finally": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19583,8 +19413,6 @@
},
"node_modules/nyc/node_modules/p-limit": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
- "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19597,8 +19425,6 @@
},
"node_modules/nyc/node_modules/p-locate": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19611,8 +19437,6 @@
},
"node_modules/nyc/node_modules/p-try": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
- "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19622,8 +19446,6 @@
},
"node_modules/nyc/node_modules/package-hash": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-2.0.0.tgz",
- "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19639,8 +19461,6 @@
},
"node_modules/nyc/node_modules/parse-json": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19654,8 +19474,6 @@
},
"node_modules/nyc/node_modules/path-exists": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19665,8 +19483,6 @@
},
"node_modules/nyc/node_modules/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=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19676,8 +19492,6 @@
},
"node_modules/nyc/node_modules/path-key": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19687,8 +19501,6 @@
},
"node_modules/nyc/node_modules/path-type": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19701,8 +19513,6 @@
},
"node_modules/nyc/node_modules/pify": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19712,8 +19522,6 @@
},
"node_modules/nyc/node_modules/pkg-dir": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19726,16 +19534,12 @@
},
"node_modules/nyc/node_modules/pseudomap": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/read-pkg": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19750,8 +19554,6 @@
},
"node_modules/nyc/node_modules/read-pkg-up": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
- "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19765,8 +19567,6 @@
},
"node_modules/nyc/node_modules/release-zalgo": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
- "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19779,8 +19579,6 @@
},
"node_modules/nyc/node_modules/repeat-string": {
"version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19791,8 +19589,6 @@
},
"node_modules/nyc/node_modules/require-directory": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19802,16 +19598,12 @@
},
"node_modules/nyc/node_modules/require-main-filename": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/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,
"inBundle": true,
"license": "MIT",
@@ -19821,8 +19613,6 @@
},
"node_modules/nyc/node_modules/right-align": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19836,8 +19626,6 @@
},
"node_modules/nyc/node_modules/rimraf": {
"version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19850,16 +19638,12 @@
},
"node_modules/nyc/node_modules/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==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/nyc/node_modules/semver": {
"version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19869,16 +19653,12 @@
},
"node_modules/nyc/node_modules/set-blocking": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/shebang-command": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19891,8 +19671,6 @@
},
"node_modules/nyc/node_modules/shebang-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19902,16 +19680,12 @@
},
"node_modules/nyc/node_modules/signal-exit": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/source-map": {
"version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -19922,8 +19696,6 @@
},
"node_modules/nyc/node_modules/spawn-wrap": {
"version": "1.4.2",
- "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz",
- "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -19938,8 +19710,6 @@
},
"node_modules/nyc/node_modules/spdx-correct": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
- "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
@@ -19950,16 +19720,12 @@
},
"node_modules/nyc/node_modules/spdx-exceptions": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
- "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
"dev": true,
"inBundle": true,
"license": "CC-BY-3.0"
},
"node_modules/nyc/node_modules/spdx-expression-parse": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19970,16 +19736,12 @@
},
"node_modules/nyc/node_modules/spdx-license-ids": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
- "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
"dev": true,
"inBundle": true,
"license": "CC0-1.0"
},
"node_modules/nyc/node_modules/string-width": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -19993,8 +19755,6 @@
},
"node_modules/nyc/node_modules/strip-ansi": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20007,8 +19767,6 @@
},
"node_modules/nyc/node_modules/strip-bom": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20018,8 +19776,6 @@
},
"node_modules/nyc/node_modules/strip-eof": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20029,8 +19785,6 @@
},
"node_modules/nyc/node_modules/supports-color": {
"version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20043,8 +19797,6 @@
},
"node_modules/nyc/node_modules/test-exclude": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.0.0.tgz",
- "integrity": "sha512-bO3Lj5+qFa9YLfYW2ZcXMOV1pmQvw+KS/DpjqhyX6Y6UZ8zstpZJ+mA2ERkXfpOqhxsJlQiLeVXD3Smsrs6oLw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -20060,8 +19812,6 @@
},
"node_modules/nyc/node_modules/uglify-js": {
"version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
@@ -20082,8 +19832,6 @@
},
"node_modules/nyc/node_modules/uglify-js/node_modules/yargs": {
"version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20097,8 +19845,6 @@
},
"node_modules/nyc/node_modules/uglify-to-browserify": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20106,8 +19852,6 @@
},
"node_modules/nyc/node_modules/uuid": {
"version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20117,8 +19861,6 @@
},
"node_modules/nyc/node_modules/validate-npm-package-license": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
- "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
@@ -20129,8 +19871,6 @@
},
"node_modules/nyc/node_modules/which": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -20143,16 +19883,12 @@
},
"node_modules/nyc/node_modules/which-module": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/window-size": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true,
"inBundle": true,
"optional": true,
@@ -20162,8 +19898,6 @@
},
"node_modules/nyc/node_modules/wordwrap": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20173,8 +19907,6 @@
},
"node_modules/nyc/node_modules/wrap-ansi": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20188,8 +19920,6 @@
},
"node_modules/nyc/node_modules/wrap-ansi/node_modules/ansi-regex": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20199,8 +19929,6 @@
},
"node_modules/nyc/node_modules/wrap-ansi/node_modules/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,
"inBundle": true,
"license": "MIT",
@@ -20213,8 +19941,6 @@
},
"node_modules/nyc/node_modules/wrap-ansi/node_modules/string-width": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20229,8 +19955,6 @@
},
"node_modules/nyc/node_modules/wrap-ansi/node_modules/strip-ansi": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20243,16 +19967,12 @@
},
"node_modules/nyc/node_modules/wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/write-file-atomic": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
- "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -20264,24 +19984,18 @@
},
"node_modules/nyc/node_modules/y18n": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/yallist": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/nyc/node_modules/yargs": {
"version": "11.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz",
- "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20302,8 +20016,6 @@
},
"node_modules/nyc/node_modules/yargs-parser": {
"version": "9.0.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
- "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -20313,8 +20025,6 @@
},
"node_modules/nyc/node_modules/yargs-parser/node_modules/camelcase": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20324,8 +20034,6 @@
},
"node_modules/nyc/node_modules/yargs/node_modules/cliui": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -20337,8 +20045,6 @@
},
"node_modules/nyc/node_modules/yargs/node_modules/find-up": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20351,8 +20057,6 @@
},
"node_modules/nyc/node_modules/yargs/node_modules/locate-path": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20366,8 +20070,6 @@
},
"node_modules/nyc/node_modules/yargs/node_modules/p-limit": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20380,8 +20082,6 @@
},
"node_modules/nyc/node_modules/yargs/node_modules/p-locate": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -20394,8 +20094,6 @@
},
"node_modules/nyc/node_modules/yargs/node_modules/p-try": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
"dev": true,
"inBundle": true,
"license": "MIT",
diff --git a/server/lib/multipartRequest.js b/server/lib/multipartRequest.js
index 58740ce9f..086027ba6 100644
--- a/server/lib/multipartRequest.js
+++ b/server/lib/multipartRequest.js
@@ -28,7 +28,7 @@ export default function(client, entity, opts = {}, fetchOptions = {} ) {
// if the total exceeds the limit, don't fetch any more connections from api2
// we get some from the initial request to get totals, but we'll ignore them
- if (limit && (total > limit)) {
+ if (limit && (total > limit)) {
pageCount = 1;
return null;
}
@@ -39,12 +39,9 @@ export default function(client, entity, opts = {}, fetchOptions = {} ) {
});
const getPage = (page) =>
- // the node-auth0 lib has been rewritten and not uses classes so we can't store the
- // getter method in a variable and then call it as function, we need to call it directly
client[entity].getAll({ ...options, page })
.then((data) => {
data.forEach(item => result.push(item));
- console.log({ result });
return null;
});
@@ -54,7 +51,7 @@ export default function(client, entity, opts = {}, fetchOptions = {} ) {
// the number of connections exceeds the limit we can handle:
// - don't return any to the frontend
// - will use a free text box in the user creation dialogue
- if (limit && (total > limit)) {
+ if (limit && (total > limit)) {
return result;
}
diff --git a/server/routes/api.js b/server/routes/api.js
index e60a7a84e..72b5c29e0 100644
--- a/server/routes/api.js
+++ b/server/routes/api.js
@@ -20,12 +20,7 @@ import logs from './logs';
import users from './users';
export default (storage) => {
-
const scriptManager = new ScriptManager(storage);
-
- // moving the managementApiClient middleware function here so that it
- // can use the new version of the auth0 dep, not the one specified
- // by the auth0-extension-express-tools library
const managementApiClient = async function (req, res, next) {
try {
const handlerOptions = {
@@ -34,12 +29,6 @@ export default (storage) => {
clientSecret: config("AUTH0_CLIENT_SECRET"),
};
- console.log({
- domain: config('AUTH0_DOMAIN'),
- clientId: config('AUTH0_CLIENT_ID'),
- clientSecret: config('AUTH0_CLIENT_SECRET')
- });
-
const isAdministrator =
req.user && req.user.access_token && req.user.access_token.length;
const options = !isAdministrator
@@ -54,22 +43,15 @@ export default (storage) => {
req.auth0 = managementClient;
- console.log({
- "req.originalUrl": req.originalUrl,
- "typeof req.auth0": typeof req.auth0,
- });
-
next();
return null;
} catch (error) {
next(error);
}
};
-
const api = Router();
const getToken = req => _.get(req, 'headers.authorization', '').split(' ')[1];
- console.log({ stage: 5 });
-
+
const addExtraUserInfo = (token, user) => {
global.daeUser = global.daeUser || {};
global.daeUser[user.sub] = global.daeUser[user.sub] || { exp: 0, token: '' };
@@ -86,12 +68,6 @@ export default (storage) => {
if (!token) console.error('no token found');
- console.log({
- domain: config('AUTH0_DOMAIN'),
- clientId: config('AUTH0_CLIENT_ID'),
- clientSecret: config('AUTH0_CLIENT_SECRET')
- });
-
const promise = tools.managementApi.getClient({
domain: config('AUTH0_DOMAIN'),
clientId: config('AUTH0_CLIENT_ID'),
@@ -106,20 +82,10 @@ export default (storage) => {
return user;
})
);
-
global.daeUser[user.sub] = promise;
-
return global.daeUser[user.sub];
};
- console.log({ stage: 8 });
-
- console.log({
- "config('AUTH0_CUSTOM_DOMAIN')": config('AUTH0_CUSTOM_DOMAIN'),
- "config('AUTH0_DOMAIN')": config('AUTH0_DOMAIN'),
- "config('EXTENSION_CLIENT_ID')": config('EXTENSION_CLIENT_ID'),
- })
-
// Allow end users to authenticate.
api.use(middlewares.authenticateUsers.optional({
domain: config('AUTH0_CUSTOM_DOMAIN') || config('AUTH0_DOMAIN'),
@@ -129,16 +95,14 @@ export default (storage) => {
const currentRequest = req;
return addExtraUserInfo(getToken(req), req.user)
.then((user) => {
-
- console.log({ user });
-
currentRequest.user = user;
- currentRequest.user.scope = getScopes(req.user);
+ var scopes = getScopes(req.user);
+ currentRequest.user.scope = scopes;
return next();
})
.catch(next);
}
- })););
+ }));
// Allow dashboard admins to authenticate.
api.use(middlewares.authenticateAdmins.optional({
credentialsRequired: false,
@@ -149,9 +113,6 @@ export default (storage) => {
const currentRequest = req;
return addExtraUserInfo(getToken(req), req.user)
.then((user) => {
-
- console.log({ user });
-
currentRequest.user = user;
currentRequest.user.scope = [ constants.AUDITOR_PERMISSION, constants.USER_PERMISSION, constants.OPERATOR_PERMISSION, constants.ADMIN_PERMISSION ];
return next();
@@ -167,18 +128,17 @@ export default (storage) => {
res.setHeader('Expires', '0');
next();
});
-;
api.use((req, res, next) => {
const permission = (req.method.toLowerCase() === 'get') ? constants.AUDITOR_PERMISSION : constants.USER_PERMISSION;
return requireScope(permission)(req, res, next);
- });;
- api.use('/applications', managementApiClient, applications());;
- api.use('/connections', managementApiClient, connections(scriptManager));;
- api.use('/scripts', requireScope(constants.ADMIN_PERMISSION), scripts(storage, scriptManager));;
- api.use('/users', managementApiClient, users(storage, scriptManager));;
- api.use('/logs', managementApiClient, logs(scriptManager));;
- api.use('/me', me(scriptManager));;
+ });
+ api.use('/applications', managementApiClient, applications());
+ api.use('/connections', managementApiClient, connections(scriptManager));
+ api.use('/scripts', requireScope(constants.ADMIN_PERMISSION), scripts(storage, scriptManager));
+ api.use('/users', managementApiClient, users(storage, scriptManager));
+ api.use('/logs', managementApiClient, logs(scriptManager));
+ api.use('/me', me(scriptManager));
api.get('/settings', (req, res, next) => {;
const settingsContext = {
request: {
@@ -186,13 +146,9 @@ export default (storage) => {
},
locale: req.headers['dae-locale']
};
-
scriptManager.execute('settings', settingsContext)
.then(settings => res.json({ settings: settings || {} }))
.catch(next);
-
});
-;
return api;
-}
-;
+};
diff --git a/server/routes/html.js b/server/routes/html.js
index fa4240fbc..36a3d6e79 100644
--- a/server/routes/html.js
+++ b/server/routes/html.js
@@ -41,23 +41,9 @@ export default () => {
const getLocale = (req) => {
const basePath = urlHelpers.getBasePath(req);
- // const pathname = url.parse(req.originalUrl).pathname;
-
-
- logger.log({ level: "info", message: req.originalUrl });
-
- // console.log(req);
-
- const url = new URL(`https://${req.headers.host}${req.originalUrl}`);
- const pathname = url.pathname;
-
- console.log({
- basePath,
- "req.originalUrl": req.originalUrl,
- "req.headers.host": req.headers.host,
- url: url ?? "no url",
- pathname: pathname ?? "no pathname",
- });
+ logger.log({ level: "info", message: req.originalUrl });
+ const url = new URL(`https://${req.headers.host}${req.originalUrl}`);
+ const pathname = url.pathname;
const relativePath = pathname.replace(basePath, '').split('/');
const routes = [
'api',
@@ -81,18 +67,9 @@ export default () => {
const locale = getLocale(req);
const basePath = urlHelpers.getBasePath(req);
- console.log({
- locale,
- basePath,
- })
-
-
if (req.url.indexOf('/login') !== 0) {
res.cookie('dae-locale', locale);
if (req.url.indexOf(`/${locale}`) !== 0) {
-
- console.log(`redirecting to: ${basePath}${locale}${req.url || '/login'}`);
-
return res.redirect(`${basePath}${locale}${req.url || '/login'}`);
}
}
@@ -115,11 +92,6 @@ export default () => {
const clientVersion = process.env.CLIENT_VERSION;
const PR_NUMBER = process.env.PR_NUMBER;
- console.log({
- clientVersion,
- PR_NUMBER
- })
-
if (clientVersion) {
const favIcon = config('FAVICON_PATH') || 'https://cdn.auth0.com/styleguide/4.6.13/lib/logos/img/favicon.png';
const cdnPath = config('CDN_PATH') || (