From d1fd53a57e66b05b3a69ac88b319b886d3cedcbc Mon Sep 17 00:00:00 2001 From: Viktor Varland Date: Fri, 21 Feb 2020 14:01:54 +0100 Subject: [PATCH 1/3] feat: migrate to app hub --- i18n/en.pot | 10 ++-- src/actions.js | 48 +++++++++---------- src/components/App.component.js | 26 +++++----- ...Store.component.js => AppHub.component.js} | 24 +++++----- src/entry.js | 4 +- .../{appStore.store.js => appHub.store.js} | 0 6 files changed, 56 insertions(+), 56 deletions(-) rename src/components/{AppStore.component.js => AppHub.component.js} (91%) rename src/stores/{appStore.store.js => appHub.store.js} (100%) diff --git a/i18n/en.pot b/i18n/en.pot index 02bf4e6..c6db25f 100644 --- a/i18n/en.pot +++ b/i18n/en.pot @@ -5,8 +5,8 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"POT-Creation-Date: 2019-03-08T14:42:33.797Z\n" -"PO-Revision-Date: 2019-03-08T14:42:33.797Z\n" +"POT-Creation-Date: 2020-02-21T13:01:54.731Z\n" +"PO-Revision-Date: 2020-02-21T13:01:54.731Z\n" msgid "App installed successfully" msgstr "" @@ -17,10 +17,10 @@ msgstr "" msgid "App removed successfully" msgstr "" -msgid "Installing app from the app store..." +msgid "Installing app from the app hub..." msgstr "" -msgid "Failed to install an app from the app store" +msgid "Failed to install an app from the app hub" msgstr "" msgid "Uploading..." @@ -47,7 +47,7 @@ msgstr "" msgid "Resource Apps" msgstr "" -msgid "App Store" +msgid "App Hub" msgstr "" msgid "By" diff --git a/src/actions.js b/src/actions.js index fd6c3b8..dc45a45 100644 --- a/src/actions.js +++ b/src/actions.js @@ -4,8 +4,8 @@ import Action from 'd2-ui/lib/action/Action'; import { getInstance as getD2 } from 'd2/lib/d2'; import log from 'loglevel'; -import appStoreStore from './stores/appStore.store'; -import installedAppStore from './stores/installedApp.store'; +import appHubStore from './stores/appHub.store'; +import installedAppHub from './stores/installedApp.store'; import i18n from '@dhis2/d2-i18n' @@ -19,8 +19,8 @@ const actions = { appInstalled: Action.create('An app was installed'), // App store actions - loadAppStore: Action.create('Load DHIS2 App Store'), - installAppVersion: Action.create('Install App Version from DHIS2 App Store'), + loadAppHub: Action.create('Load DHIS2 App Hub'), + installAppVersion: Action.create('Install App Version from DHIS2 App Hub'), // Snackbar showSnackbarMessage: Action.create('Show Snackbar message'), @@ -37,7 +37,7 @@ actions.installApp.subscribe((params) => { d2.system.uploadApp(zipFile, progressCallback) .then(() => d2.system.reloadApps()) .then((apps) => { - installedAppStore.setState(apps); + installedAppHub.setState(apps); actions.showSnackbarMessage(i18n.t('App installed successfully')); actions.appInstalled(zipFile.name.substring(0, zipFile.name.lastIndexOf('.'))); @@ -77,16 +77,16 @@ actions.uninstallApp.subscribe((params) => { actions.refreshApps.subscribe(() => { getD2().then((d2) => { d2.system.reloadApps().then((apps) => { - installedAppStore.setState(apps); + installedAppHub.setState(apps); }); }); }); /* - * Load the app store + * Load the app hub */ -actions.loadAppStore.subscribe(async () => { +actions.loadAppHub.subscribe(async () => { const d2 = await getD2(); const baseUrl = d2.Api.getApi().baseUrl; @@ -99,10 +99,10 @@ actions.loadAppStore.subscribe(async () => { } } - const getAppstoreUrl = async () => { + const getAppHubUrl = async () => { const response = await fetch(`${baseUrl}/configuration/settings/filter.json?type=CONFIGURATION`, fetchOptions) const dhis2Configuration = await response.json(); - return dhis2Configuration['dhis-configurations']['appstore.api.url']; + return dhis2Configuration['dhis-configurations']['apphub.api.url']; } const getDhisVersion = async () => { @@ -112,8 +112,8 @@ actions.loadAppStore.subscribe(async () => { return json.version.replace('-SNAPSHOT', ''); } - const url = await getAppstoreUrl(); - debug(`Got appstore url: ${url}`) + const url = await getAppHubUrl(); + debug(`Got apphub url: ${url}`) const version = await getDhisVersion(); debug(`Got dhis2 version: ${version}`) @@ -123,37 +123,37 @@ actions.loadAppStore.subscribe(async () => { const response = await fetch(`${url}/apps?dhis_version=${version}`, corsOptions) const apps = await response.json(); - appStoreStore.setState(Object.assign(appStoreStore.getState() || {}, { apps })); + appHubStore.setState(Object.assign(appHubStore.getState() || {}, { apps })); }); /* - * Install app version from the app store + * Install app version from the app hub */ actions.installAppVersion.subscribe((params) => { const versionId = params.data[0]; - const appStoreState = appStoreStore.getState(); - appStoreStore.setState(Object.assign(appStoreState, { - installing: appStoreState.installing ? appStoreState.installing + 1 : 1, + const appHubState = appHubStore.getState(); + appHubStore.setState(Object.assign(appHubState, { + installing: appHubState.installing ? appHubState.installing + 1 : 1, })); getD2().then((d2) => { - actions.showSnackbarMessage(i18n.t('Installing app from the app store...')); + actions.showSnackbarMessage(i18n.t('Installing app from the app hub...')); d2.system.installAppVersion(versionId) .then(() => d2.system.reloadApps()) .then((apps) => { actions.showSnackbarMessage(i18n.t('App installed successfully')); - const appStoreState2 = appStoreStore.getState(); - appStoreStore.setState(Object.assign(appStoreState2, { installing: appStoreState2.installing - 1 })); - installedAppStore.setState(apps); + const appHubState2 = appHubStore.getState(); + appHubStore.setState(Object.assign(appHubState2, { installing: appHubState2.installing - 1 })); + installedAppHub.setState(apps); params.complete(apps); }) .catch((err) => { actions.showSnackbarMessage( - `${i18n.t('Failed to install an app from the app store')}: ${err.message}`, + `${i18n.t('Failed to install an app from the app hub')}: ${err.message}`, ); - appStoreStore.setState(Object.assign(appStoreStore.getState(), { - installing: appStoreStore.getState().installing - 1, + appHubStore.setState(Object.assign(appHubStore.getState(), { + installing: appHubStore.getState().installing - 1, })); log.error(err); }); diff --git a/src/components/App.component.js b/src/components/App.component.js index 000ead6..29bc3d4 100644 --- a/src/components/App.component.js +++ b/src/components/App.component.js @@ -13,12 +13,12 @@ import Snackbar from 'material-ui/Snackbar'; import FontIcon from 'material-ui/FontIcon'; import AppList from './AppList.component'; -import AppStore from './AppStore.component'; +import AppHub from './AppHub.component'; import AppTheme from '../theme'; import actions from '../actions'; -import appStoreStore from '../stores/appStore.store'; -import installedAppStore from '../stores/installedApp.store'; +import appHubStore from '../stores/appHub.store'; +import installedAppHub from '../stores/installedApp.store'; import i18n from '@dhis2/d2-i18n'; @@ -73,7 +73,7 @@ class App extends React.Component { installing: false, uploading: false, progress: undefined, - appStore: {}, + appHub: {}, lastUpdate: null, }; @@ -91,11 +91,11 @@ class App extends React.Component { componentDidMount() { this.subscriptions = [ - installedAppStore.subscribe((installedApps) => { + installedAppHub.subscribe((installedApps) => { this.setState({ installedApps, lastUpdate: new Date() }); }), - appStoreStore.subscribe((appStore) => { - this.setState({ appStore, installing: appStore.installing !== undefined && appStore.installing > 0 }); + appHubStore.subscribe((appHub) => { + this.setState({ appHub, installing: appHub.installing !== undefined && appHub.installing > 0 }); }), actions.installApp.subscribe(() => { @@ -103,7 +103,7 @@ class App extends React.Component { }), actions.appInstalled.subscribe(({ data }) => { this.setState({ uploading: false }); - this.setSection(installedAppStore.getAppFromKey(data).appType.toLowerCase() || 'app'); + this.setSection(installedAppHub.getAppFromKey(data).appType.toLowerCase() || 'app'); }), actions.refreshApps.subscribe(() => { this.setState({ uploading: false }); @@ -119,12 +119,12 @@ class App extends React.Component { } }), actions.installAppVersion.subscribe(({ data }) => { - const app = appStoreStore.getAppFromVersionId(data[0]); + const app = appHubStore.getAppFromVersionId(data[0]); this.setSection((app.appType && app.appType.toLowerCase()) || 'app'); }), ]; - actions.loadAppStore(); + actions.loadAppHub(); } componentWillUnmount() { @@ -215,7 +215,7 @@ class App extends React.Component { renderSection(key, apps, showUpload) { if (key === 'store') { - return ; + return ; } const filter = (key && key.toString().toUpperCase()) || 'APP'; @@ -226,7 +226,7 @@ class App extends React.Component { uploadProgress={this.progress} transitionUnmount={this.state.unmountSection} showUpload={showUpload && !this.state.uploading} - appStore={this.state.appStore} + appHub={this.state.appHub} appTypeFilter={filter} /> ); @@ -284,7 +284,7 @@ class App extends React.Component { }, { key: 'store', icon: 'store', - label: i18n.t('App Store'), + label: i18n.t('App Hub'), }, ].map(section => ({ key: section.key, diff --git a/src/components/AppStore.component.js b/src/components/AppHub.component.js similarity index 91% rename from src/components/AppStore.component.js rename to src/components/AppHub.component.js index c032be6..c816c95 100644 --- a/src/components/AppStore.component.js +++ b/src/components/AppHub.component.js @@ -31,7 +31,7 @@ function parseDescription(description) { */ -class AppStore extends React.Component { +class AppHub extends React.Component { constructor(props) { super(props); @@ -41,8 +41,8 @@ class AppStore extends React.Component { } componentWillMount() { - if (!Array.isArray(this.props.appStore.apps)) { - actions.loadAppStore(); + if (!Array.isArray(this.props.appHub.apps)) { + actions.loadAppHub(); } } @@ -96,7 +96,7 @@ class AppStore extends React.Component { return (
- {this.props.appStore.apps.map(app => ( + {this.props.appHub.apps.map(app => ( -
{i18n.t('App Store')}
+
{i18n.t('App Hub')}
{this.renderApps()}
) : ( @@ -180,15 +180,15 @@ class AppStore extends React.Component { ); } } -AppStore.propTypes = { - appStore: React.PropTypes.object.isRequired, +AppHub.propTypes = { + appHub: React.PropTypes.object.isRequired, }; -AppStore.defaultProps = { - appStore: {}, +AppHub.defaultProps = { + appHub: {}, }; -AppStore.contextTypes = { +AppHub.contextTypes = { d2: React.PropTypes.object, }; -export default AppStore; +export default AppHub; diff --git a/src/entry.js b/src/entry.js index 67909a0..2fb57f7 100644 --- a/src/entry.js +++ b/src/entry.js @@ -9,7 +9,7 @@ import injectTapEventPlugin from 'react-tap-event-plugin'; import D2Library from 'd2/lib/d2'; import LoadingMask from 'd2-ui/lib/loading-mask/LoadingMask.component'; -import installedAppStore from './stores/installedApp.store'; +import installedAppHub from './stores/installedApp.store'; import App from './components/App.component'; import theme from './theme'; @@ -37,7 +37,7 @@ D2Library.getManifest('manifest.webapp') .then(D2Library.init) .then((d2) => { log.debug('D2 initialized', d2); - installedAppStore.setState(d2.system.installedApps); + installedAppHub.setState(d2.system.installedApps); ReactDOM.render( , document.getElementById('app'), diff --git a/src/stores/appStore.store.js b/src/stores/appHub.store.js similarity index 100% rename from src/stores/appStore.store.js rename to src/stores/appHub.store.js From 0f101ae462130b15c28e5166b4db881bc960aca3 Mon Sep 17 00:00:00 2001 From: Viktor Varland Date: Fri, 21 Feb 2020 19:21:01 +0100 Subject: [PATCH 2/3] feat(app-hub): use the app hub --- package.json | 2 +- src/actions.js | 4 +- src/locales/en/translations.json | 6 +- src/manifest.webapp | 2 +- yarn.lock | 352 ++++++++++++------------------- 5 files changed, 137 insertions(+), 229 deletions(-) diff --git a/package.json b/package.json index e32338b..a7f4944 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "file-loader": "^3.0.1", "html-webpack-plugin": "^3.2.0", "loglevel": "^1.4.1", - "node-sass": "4.9.0", + "node-sass": "^4.13.1", "sass-loader": "^6.0.6", "style-loader": "^0.18.2", "susy": "^3.0.0", diff --git a/src/actions.js b/src/actions.js index dc45a45..881608f 100644 --- a/src/actions.js +++ b/src/actions.js @@ -100,9 +100,9 @@ actions.loadAppHub.subscribe(async () => { } const getAppHubUrl = async () => { - const response = await fetch(`${baseUrl}/configuration/settings/filter.json?type=CONFIGURATION`, fetchOptions) + const response = await fetch(`${baseUrl}/configuration/appHubUrl`, fetchOptions) const dhis2Configuration = await response.json(); - return dhis2Configuration['dhis-configurations']['apphub.api.url']; + return dhis2Configuration.apiUrl; } const getDhisVersion = async () => { diff --git a/src/locales/en/translations.json b/src/locales/en/translations.json index 53e3642..f6fe4f6 100644 --- a/src/locales/en/translations.json +++ b/src/locales/en/translations.json @@ -2,8 +2,8 @@ "App installed successfully": "", "Failed to install app": "", "App removed successfully": "", - "Installing app from the app store...": "", - "Failed to install an app from the app store": "", + "Installing app from the app hub...": "", + "Failed to install an app from the app hub": "", "Uploading...": "", "Installing...": "", "No apps found": "", @@ -12,7 +12,7 @@ "Dashboard Apps": "", "Tracker Dashboard Apps": "", "Resource Apps": "", - "App Store": "", + "App Hub": "", "By": "", "Install": "" } \ No newline at end of file diff --git a/src/manifest.webapp b/src/manifest.webapp index 1cea7f0..94475da 100644 --- a/src/manifest.webapp +++ b/src/manifest.webapp @@ -18,5 +18,5 @@ "icons": { "48": "icon.png" }, - "manifest_generated_at": "Fri Mar 08 2019 16:04:51 GMT+0100 (GMT+01:00)" + "manifest_generated_at": "Fri Feb 21 2020 19:19:12 GMT+0100 (Central European Standard Time)" } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b8392b9..d5b9b9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -859,13 +859,6 @@ ajv-keywords@^3.1.0: version "3.4.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - ajv@^5.0.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" @@ -884,6 +877,16 @@ ajv@^6.1.0: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^6.5.5: + version "6.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" + integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -1026,10 +1029,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -1081,13 +1080,15 @@ autoprefixer@^6.3.1: postcss "^5.2.16" postcss-value-parser "^3.2.3" -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= -aws4@^1.2.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +aws4@^1.8.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" + integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== babel-code-frame@^6.11.0: version "6.22.0" @@ -1218,12 +1219,6 @@ boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - bowser@^1.6.0: version "1.7.1" resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.7.1.tgz#a4de8f18a1a0dc9531eb2a92a1521fb6a9ba96a5" @@ -1464,10 +1459,6 @@ caniuse-lite@^1.0.30000939: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000942.tgz#454139b28274bce70bfe1d50c30970df7430c6e4" integrity sha512-wLf+IhZUy2rfz48tc40OH7jHjXjnvDFEYqBHluINs/6MgzoNLPf25zhE4NOVzqxLKndf+hau81sAW0RcGHIaBQ== -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1702,13 +1693,14 @@ colors@^1.0.3, colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" -commander@2.15.1, commander@^2.9.0: +commander@2.15.1: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" @@ -1904,12 +1896,6 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - crypto-browserify@^3.11.0: version "3.11.1" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.1.tgz#948945efc6757a400d6e5e5af47194d10064279f" @@ -2608,10 +2594,15 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@~3.0.0: +extend@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -2637,6 +2628,11 @@ fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -2796,12 +2792,13 @@ forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" - combined-stream "^1.0.5" + combined-stream "^1.0.6" mime-types "^2.1.12" forwarded@~0.1.2: @@ -2899,16 +2896,6 @@ gaze@^1.0.0: dependencies: globule "^1.0.0" -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" @@ -3080,25 +3067,18 @@ handlebars@^4.0.11: optionalDependencies: uglify-js "^3.1.4" -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" +har-validator@~5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" + ajv "^6.5.5" + har-schema "^2.0.0" has-ansi@^2.0.0: version "2.0.0" @@ -3184,15 +3164,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - he@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -3210,10 +3181,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - hoist-non-react-statics@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz#343db84c6018c650778898240135a1420ee22ce0" @@ -3320,11 +3287,12 @@ http-proxy@^1.17.0: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: - assert-plus "^0.2.0" + assert-plus "^1.0.0" jsprim "^1.2.2" sshpk "^1.7.0" @@ -3685,20 +3653,6 @@ is-glob@^4.0.0: dependencies: is-extglob "^2.1.1" -is-my-ip-valid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" - -is-my-json-valid@^2.12.4: - version "2.17.2" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - is-my-ip-valid "^1.0.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" @@ -3735,10 +3689,6 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -3940,10 +3890,6 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -4060,18 +4006,10 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" -lodash.clonedeep@^4.3.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" @@ -4117,10 +4055,6 @@ lodash.merge@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" -lodash.mergewith@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" - lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" @@ -4142,6 +4076,11 @@ lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +lodash@^4.17.15: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + loglevel@^1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.4.1.tgz#95b383f91a3c2756fd4ab093667e4309161f2bcd" @@ -4311,6 +4250,11 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" +mime-db@1.43.0: + version "1.43.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" + integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== + "mime-db@>= 1.29.0 < 2", mime-db@~1.29.0: version "1.29.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878" @@ -4320,7 +4264,7 @@ mime-db@~1.38.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15: version "2.1.16" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.16.tgz#2b858a52e5ecd516db897ac2be87487830698e23" dependencies: @@ -4332,6 +4276,13 @@ mime-types@~2.1.18: dependencies: mime-db "~1.38.0" +mime-types@~2.1.19: + version "2.1.26" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" + integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== + dependencies: + mime-db "1.43.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" @@ -4358,7 +4309,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -4481,9 +4432,10 @@ multicast-dns@^6.0.1: dns-packet "^1.0.1" thunky "^0.1.0" -nan@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" +nan@^2.13.2: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== nan@^2.9.2: version "2.12.1" @@ -4556,19 +4508,19 @@ node-gettext@^2.0.0: dependencies: lodash.get "^4.4.2" -node-gyp@^3.3.1: - version "3.6.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== dependencies: fstream "^1.0.0" glob "^7.0.3" graceful-fs "^4.1.2" - minimatch "^3.0.2" mkdirp "^0.5.0" nopt "2 || 3" npmlog "0 || 1 || 2 || 3 || 4" osenv "0" - request "2" + request "^2.87.0" rimraf "2" semver "~5.3.0" tar "^2.0.0" @@ -4623,9 +4575,10 @@ node-releases@^1.1.8: dependencies: semver "^5.3.0" -node-sass@4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.0.tgz#d1b8aa855d98ed684d6848db929a20771cc2ae52" +node-sass@^4.13.1: + version "4.13.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3" + integrity sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw== dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -4634,15 +4587,13 @@ node-sass@4.9.0: get-stdin "^4.0.1" glob "^7.0.3" in-publish "^2.0.0" - lodash.assign "^4.2.0" - lodash.clonedeep "^4.3.2" - lodash.mergewith "^4.6.0" + lodash "^4.17.15" meow "^3.7.0" mkdirp "^0.5.1" - nan "^2.10.0" - node-gyp "^3.3.1" + nan "^2.13.2" + node-gyp "^3.8.0" npmlog "^4.0.0" - request "~2.79.0" + request "^2.88.0" sass-graph "^2.2.4" stdout-stream "^1.4.0" "true-case-path" "^1.0.2" @@ -4741,9 +4692,10 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -oauth-sign@~0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -5042,9 +4994,10 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= pify@^2.0.0, pify@^2.3.0: version "2.3.0" @@ -5411,6 +5364,11 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" +psl@^1.1.28: + version "1.7.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" + integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== + public-encrypt@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" @@ -5447,11 +5405,11 @@ punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -punycode@^2.1.0: +punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -5460,18 +5418,10 @@ q@^1.1.2: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" -qs@6.5.2: +qs@6.5.2, qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" -qs@~6.3.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" - -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -5797,57 +5747,31 @@ replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" -request@2: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" +request@^2.87.0, request@^2.88.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" + aws-sign2 "~0.7.0" + aws4 "^1.8.0" caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" + combined-stream "~1.0.6" + extend "~3.0.2" forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" is-typedarray "~1.0.0" isstream "~0.1.2" json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" tunnel-agent "^0.6.0" - uuid "^3.0.0" - -request@~2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" + uuid "^3.3.2" require-directory@^2.1.1: version "2.1.1" @@ -6186,12 +6110,6 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - sockjs-client@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" @@ -6429,10 +6347,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -6648,11 +6562,13 @@ toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" -tough-cookie@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: - punycode "^1.4.1" + psl "^1.1.28" + punycode "^2.1.1" trim-newlines@^1.0.0: version "1.0.0" @@ -6682,10 +6598,6 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -6889,10 +6801,6 @@ utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - uuid@^3.0.1, uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" From 0bfb6b5a2f502ae7103b15ae23e07402200187f1 Mon Sep 17 00:00:00 2001 From: Viktor Varland Date: Fri, 21 Feb 2020 20:14:07 +0100 Subject: [PATCH 3/3] fix(d2): work around d2 having appHub hardcoded --- src/actions.js | 13 ++++++++++++- src/manifest.webapp | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/actions.js b/src/actions.js index 881608f..550ac76 100644 --- a/src/actions.js +++ b/src/actions.js @@ -139,7 +139,7 @@ actions.installAppVersion.subscribe((params) => { getD2().then((d2) => { actions.showSnackbarMessage(i18n.t('Installing app from the app hub...')); - d2.system.installAppVersion(versionId) + installAppVersion(versionId, d2) .then(() => d2.system.reloadApps()) .then((apps) => { actions.showSnackbarMessage(i18n.t('App installed successfully')); @@ -160,4 +160,15 @@ actions.installAppVersion.subscribe((params) => { }); }); +function installAppVersion(uid, d2) { + const api = d2.Api.getApi(); + return new Promise((resolve, reject) => { + api.post(['appHub', uid].join('/'), '', { dataType: 'text' }).then(() => { + resolve(); + }).catch((err) => { + reject(err); + }); + }); +} + export default actions; diff --git a/src/manifest.webapp b/src/manifest.webapp index 94475da..91cae1e 100644 --- a/src/manifest.webapp +++ b/src/manifest.webapp @@ -18,5 +18,5 @@ "icons": { "48": "icon.png" }, - "manifest_generated_at": "Fri Feb 21 2020 19:19:12 GMT+0100 (Central European Standard Time)" + "manifest_generated_at": "Fri Feb 21 2020 19:59:02 GMT+0100 (Central European Standard Time)" } \ No newline at end of file