[FIX] Inject code at the end of <head> tag (#14623)

* Introduce injectIntoHead and injectIntoBody

* Remove unnecessary Meteor.defer() call
pull/14590/head
Tasso Evangelista 6 years ago committed by Guilherme Gazzo
parent 14faa0d00a
commit 93dfe42f51
  1. 6
      app/chatpal-search/server/asset/config.js
  2. 12
      app/theme/server/server.js
  3. 2
      app/ui-master/server/index.js
  4. 218
      app/ui-master/server/inject.js
  5. 250
      package-lock.json

@ -1,4 +1,4 @@
import { Inject } from 'meteor/meteorhacks:inject-initial';
import { injectIntoBody } from '../../../ui-master/server';
Inject.rawBody('chatpal-enter', Assets.getText('server/asset/chatpal-enter.svg'));
Inject.rawBody('chatpal-logo-icon-darkblue', Assets.getText('server/asset/chatpal-logo-icon-darkblue.svg'));
injectIntoBody('chatpal-enter', Assets.getText('server/asset/chatpal-enter.svg'));
injectIntoBody('chatpal-logo-icon-darkblue', Assets.getText('server/asset/chatpal-logo-icon-darkblue.svg'));

@ -5,11 +5,11 @@ import less from 'less';
import Autoprefixer from 'less-plugin-autoprefix';
import { WebApp } from 'meteor/webapp';
import { Meteor } from 'meteor/meteor';
import { Inject } from 'meteor/meteorhacks:inject-initial';
import { settings } from '../../settings';
import { Logger } from '../../logger';
import { getURL } from '../../utils/lib/getURL';
import { injectIntoHead } from '../../ui-master/server';
const logger = new Logger('rocketchat:theme', {
methods: {
@ -153,10 +153,12 @@ export const theme = new class {
}
}();
settings.get('css', (key, value = '') => {
currentHash = crypto.createHash('sha1').update(value).digest('hex');
currentSize = value.length;
Inject.rawHead('css-theme', `<link rel="stylesheet" type="text/css" href="${ getURL(`/theme.css?${ currentHash }`) }">`);
Meteor.startup(() => {
settings.get('css', (key, value = '') => {
currentHash = crypto.createHash('sha1').update(value).digest('hex');
currentSize = value.length;
injectIntoHead('css-theme', `<link rel="stylesheet" type="text/css" href="${ getURL(`/theme.css?${ currentHash }`) }">`);
});
});
WebApp.rawConnectHandlers.use(function(req, res, next) {

@ -1 +1 @@
import './inject';
export * from './inject';

@ -1,11 +1,134 @@
import { Meteor } from 'meteor/meteor';
import { Inject } from 'meteor/meteorhacks:inject-initial';
import { ReactiveDict } from 'meteor/reactive-dict';
import { Tracker } from 'meteor/tracker';
import _ from 'underscore';
import s from 'underscore.string';
import { Settings } from '../../models';
import { settings } from '../../settings';
const headInjections = new ReactiveDict();
export const injectIntoHead = (key, value) => {
headInjections.set(key, value);
};
export const injectIntoBody = (key, value) => {
Inject.rawBody(key, value);
};
const applyHeadInjections = (injections) => {
if (injections.length === 0) {
return (html) => html;
}
const replacementHtml = `${ injections.join('\n').replace(/\$/g, '$$$$') }\n</head>`;
return (html) => html.replace('</head>', replacementHtml);
};
Meteor.startup(() => {
Tracker.autorun(() => {
const injections = Object.values(headInjections.all());
Inject.rawModHtml('headInjections', applyHeadInjections(injections));
});
injectIntoHead('noreferrer', '<meta name="referrer" content="origin-when-cross-origin" />');
injectIntoHead('dynamic', `<script>${ Assets.getText('server/dynamic-css.js') }</script>`);
if (process.env.DISABLE_ANIMATION || process.env.TEST_MODE === 'true') {
injectIntoHead('disable-animation', `
<style>
body, body * {
animation: none !important;
transition: none !important;
}
</style>
<script>
window.DISABLE_ANIMATION = true;
</script>
`);
}
settings.get('Assets_SvgFavicon_Enable', (key, value) => {
const standardFavicons = `
<link rel="icon" sizes="16x16" type="image/png" href="assets/favicon_16.png" />
<link rel="icon" sizes="32x32" type="image/png" href="assets/favicon_32.png" />`;
if (value) {
injectIntoHead(key,
`${ standardFavicons }
<link rel="icon" sizes="any" type="image/svg+xml" href="assets/favicon.svg" />`);
} else {
injectIntoHead(key, standardFavicons);
}
});
settings.get('theme-color-sidebar-background', (key, value) => {
const escapedValue = s.escapeHTML(value);
injectIntoHead(key, `<meta name="msapplication-TileColor" content="${ escapedValue }" />`
+ `<meta name="theme-color" content="${ escapedValue }" />`);
});
settings.get('Site_Name', (key, value = 'Rocket.Chat') => {
const escapedValue = s.escapeHTML(value);
injectIntoHead(key,
`<title>${ escapedValue }</title>`
+ `<meta name="application-name" content="${ escapedValue }">`
+ `<meta name="apple-mobile-web-app-title" content="${ escapedValue }">`);
});
settings.get('Meta_language', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
injectIntoHead(key,
`<meta http-equiv="content-language" content="${ escapedValue }">`
+ `<meta name="language" content="${ escapedValue }">`);
});
settings.get('Meta_robots', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
injectIntoHead(key, `<meta name="robots" content="${ escapedValue }">`);
});
settings.get('Meta_msvalidate01', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
injectIntoHead(key, `<meta name="msvalidate.01" content="${ escapedValue }">`);
});
settings.get('Meta_google-site-verification', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
injectIntoHead(key, `<meta name="google-site-verification" content="${ escapedValue }">`);
});
settings.get('Meta_fb_app_id', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
injectIntoHead(key, `<meta property="fb:app_id" content="${ escapedValue }">`);
});
settings.get('Meta_custom', (key, value = '') => {
injectIntoHead(key, value);
});
const baseUrl = ((prefix) => {
if (!prefix) {
return '/';
}
prefix = prefix.trim();
if (!prefix) {
return '/';
}
return /\/$/.test(prefix) ? prefix : `${ prefix }/`;
})(__meteor_runtime_config__.ROOT_URL_PATH_PREFIX);
injectIntoHead('base', `<base href="${ baseUrl }">`);
injectIntoHead('css-theme', '');
});
const renderDynamicCssList = _.debounce(Meteor.bindEnvironment(() => {
// const variables = RocketChat.models.Settings.findOne({_id:'theme-custom-variables'}, {fields: { value: 1}});
const colors = Settings.find({ _id: /theme-color-rc/i }, { fields: { value: 1, editor: 1 } }).fetch().filter((color) => color && color.value);
@ -19,7 +142,7 @@ const renderDynamicCssList = _.debounce(Meteor.bindEnvironment(() => {
}
return `--${ _id.replace('theme-color-', '') }: ${ value };`;
}).join('\n');
Inject.rawBody('dynamic-variables', `<style id='css-variables'> :root {${ css }}</style>`);
injectIntoBody('dynamic-variables', `<style id='css-variables'> :root {${ css }}</style>`);
}), 500);
renderDynamicCssList();
@ -32,12 +155,9 @@ Settings.find({ _id: /theme-color-rc/i }, { fields: { value: 1 } }).observe({
changed: renderDynamicCssList,
});
Inject.rawHead('noreferrer', '<meta name="referrer" content="origin-when-cross-origin" />');
Inject.rawHead('dynamic', `<script>${ Assets.getText('server/dynamic-css.js') }</script>`);
Inject.rawBody('icons', Assets.getText('public/icons.svg'));
injectIntoBody('icons', Assets.getText('public/icons.svg'));
Inject.rawBody('page-loading-div', `
injectIntoBody('page-loading-div', `
<div id="initial-page-loading" class="page-loading">
<div class="loading-animation">
<div class="bounce bounce1"></div>
@ -46,40 +166,6 @@ Inject.rawBody('page-loading-div', `
</div>
</div>`);
if (process.env.DISABLE_ANIMATION || process.env.TEST_MODE === 'true') {
Inject.rawHead('disable-animation', `
<style>
body, body * {
animation: none !important;
transition: none !important;
}
</style>
<script>
window.DISABLE_ANIMATION = true;
</script>
`);
}
settings.get('Assets_SvgFavicon_Enable', (key, value) => {
const standardFavicons = `
<link rel="icon" sizes="16x16" type="image/png" href="assets/favicon_16.png" />
<link rel="icon" sizes="32x32" type="image/png" href="assets/favicon_32.png" />`;
if (value) {
Inject.rawHead(key,
`${ standardFavicons }
<link rel="icon" sizes="any" type="image/svg+xml" href="assets/favicon.svg" />`);
} else {
Inject.rawHead(key, standardFavicons);
}
});
settings.get('theme-color-sidebar-background', (key, value) => {
const escapedValue = s.escapeHTML(value);
Inject.rawHead(key, `<meta name="msapplication-TileColor" content="${ escapedValue }" />`
+ `<meta name="theme-color" content="${ escapedValue }" />`);
});
settings.get('Accounts_ForgetUserSessionOnWindowClose', (key, value) => {
if (value) {
Inject.rawModHtml(key, (html) => {
@ -96,55 +182,3 @@ settings.get('Accounts_ForgetUserSessionOnWindowClose', (key, value) => {
Inject.rawModHtml(key, (html) => html);
}
});
settings.get('Site_Name', (key, value = 'Rocket.Chat') => {
const escapedValue = s.escapeHTML(value);
Inject.rawHead(key,
`<title>${ escapedValue }</title>`
+ `<meta name="application-name" content="${ escapedValue }">`
+ `<meta name="apple-mobile-web-app-title" content="${ escapedValue }">`);
});
settings.get('Meta_language', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
Inject.rawHead(key,
`<meta http-equiv="content-language" content="${ escapedValue }">`
+ `<meta name="language" content="${ escapedValue }">`);
});
settings.get('Meta_robots', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
Inject.rawHead(key, `<meta name="robots" content="${ escapedValue }">`);
});
settings.get('Meta_msvalidate01', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
Inject.rawHead(key, `<meta name="msvalidate.01" content="${ escapedValue }">`);
});
settings.get('Meta_google-site-verification', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
Inject.rawHead(key, `<meta name="google-site-verification" content="${ escapedValue }">`);
});
settings.get('Meta_fb_app_id', (key, value = '') => {
const escapedValue = s.escapeHTML(value);
Inject.rawHead(key, `<meta property="fb:app_id" content="${ escapedValue }">`);
});
settings.get('Meta_custom', (key, value = '') => {
Inject.rawHead(key, value);
});
Meteor.defer(() => {
let baseUrl;
if (__meteor_runtime_config__.ROOT_URL_PATH_PREFIX && __meteor_runtime_config__.ROOT_URL_PATH_PREFIX.trim() !== '') {
baseUrl = __meteor_runtime_config__.ROOT_URL_PATH_PREFIX;
} else {
baseUrl = '/';
}
if (/\/$/.test(baseUrl) === false) {
baseUrl += '/';
}
Inject.rawHead('base', `<base href="${ baseUrl }">`);
});

250
package-lock.json generated

@ -758,7 +758,7 @@
},
"@types/events": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
"integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA=="
},
"@types/express": {
@ -1684,7 +1684,7 @@
},
"axios": {
"version": "0.18.0",
"resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
"integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
"requires": {
"follow-redirects": "^1.3.0",
@ -2022,7 +2022,7 @@
},
"babel-plugin-add-module-exports": {
"version": "0.2.1",
"resolved": "http://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz",
"integrity": "sha1-mumh9KjcZ/DN7E9K7aHkOl/2XiU=",
"dev": true
},
@ -2043,79 +2043,79 @@
},
"babel-plugin-syntax-async-functions": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
"integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
"dev": true
},
"babel-plugin-syntax-async-generators": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
"integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
"dev": true
},
"babel-plugin-syntax-class-constructor-call": {
"version": "6.18.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
"integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
"dev": true
},
"babel-plugin-syntax-class-properties": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
"integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
"dev": true
},
"babel-plugin-syntax-decorators": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
"integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
"dev": true
},
"babel-plugin-syntax-do-expressions": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
"integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=",
"dev": true
},
"babel-plugin-syntax-dynamic-import": {
"version": "6.18.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
"dev": true
},
"babel-plugin-syntax-exponentiation-operator": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
"integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
"dev": true
},
"babel-plugin-syntax-export-extensions": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
"integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
"dev": true
},
"babel-plugin-syntax-flow": {
"version": "6.18.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
"integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
"dev": true
},
"babel-plugin-syntax-function-bind": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
"integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=",
"dev": true
},
"babel-plugin-syntax-jsx": {
"version": "6.18.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
"dev": true
},
"babel-plugin-syntax-object-rest-spread": {
"version": "6.13.0",
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
"integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
"dev": true
},
@ -2512,7 +2512,7 @@
},
"babel-preset-es2015": {
"version": "6.3.13",
"resolved": "http://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.3.13.tgz",
"resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.3.13.tgz",
"integrity": "sha1-l9zn7ykuGMubK3VF2AxZPCjZUX8=",
"dev": true,
"requires": {
@ -2540,7 +2540,7 @@
},
"babel-preset-react": {
"version": "6.3.13",
"resolved": "http://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.3.13.tgz",
"resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.3.13.tgz",
"integrity": "sha1-E9VeBqZfqqoHw5v2Op2DbgMhFvo=",
"dev": true,
"requires": {
@ -2554,7 +2554,7 @@
},
"babel-preset-stage-0": {
"version": "6.3.13",
"resolved": "http://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.3.13.tgz",
"resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.3.13.tgz",
"integrity": "sha1-eKN8VvCzmI8qeZMtywzrj/N3sNE=",
"dev": true,
"requires": {
@ -3461,7 +3461,7 @@
},
"bl": {
"version": "1.2.2",
"resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
"integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
"requires": {
"readable-stream": "^2.3.5",
@ -3560,7 +3560,7 @@
},
"boom": {
"version": "2.10.1",
"resolved": "http://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"requires": {
"hoek": "2.x.x"
@ -3845,7 +3845,7 @@
},
"readable-stream": {
"version": "1.1.14",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "~1.0.0",
@ -4201,7 +4201,7 @@
},
"chalk": {
"version": "1.1.3",
"resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
"ansi-styles": "^2.2.1",
@ -4304,7 +4304,7 @@
},
"chimp": {
"version": "0.51.1",
"resolved": "http://registry.npmjs.org/chimp/-/chimp-0.51.1.tgz",
"resolved": "https://registry.npmjs.org/chimp/-/chimp-0.51.1.tgz",
"integrity": "sha1-6hIbzfJsidV/jvNBlUDPPCeaPMU=",
"dev": true,
"requires": {
@ -4350,7 +4350,7 @@
"dependencies": {
"async": {
"version": "0.9.2",
"resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
@ -4422,7 +4422,7 @@
},
"minimist": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
@ -4474,7 +4474,7 @@
},
"progress": {
"version": "1.1.8",
"resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
"dev": true
},
@ -4497,7 +4497,7 @@
},
"chokidar": {
"version": "1.6.1",
"resolved": "http://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
"integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=",
"dev": true,
"requires": {
@ -5070,7 +5070,7 @@
},
"cryptiles": {
"version": "2.0.5",
"resolved": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"requires": {
"boom": "2.x.x"
@ -5175,7 +5175,7 @@
},
"ctype": {
"version": "0.5.3",
"resolved": "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
"resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
"integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=",
"dev": true
},
@ -5221,7 +5221,7 @@
"dependencies": {
"core-js": {
"version": "1.2.7",
"resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
}
}
@ -5608,7 +5608,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
@ -5638,7 +5638,7 @@
},
"deprecate": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz",
"integrity": "sha1-ZhSQ7SQokWpsiIPYg05WRvTkpKg="
},
"deprecated-decorator": {
@ -5690,7 +5690,7 @@
},
"readable-stream": {
"version": "1.1.14",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "~1.0.0",
@ -5738,7 +5738,7 @@
},
"doctrine": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
"resolved": "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
"integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
"dev": true,
"requires": {
@ -5757,7 +5757,7 @@
"dependencies": {
"domelementtype": {
"version": "1.1.3",
"resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
}
}
@ -6085,7 +6085,7 @@
},
"es6-promisify": {
"version": "5.0.0",
"resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
"requires": {
"es6-promise": "^4.0.3"
@ -6497,7 +6497,7 @@
},
"events": {
"version": "1.1.1",
"resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
"integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
},
"evp_bytestokey": {
@ -6898,7 +6898,7 @@
},
"external-editor": {
"version": "2.2.0",
"resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
"integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
"dev": true,
"requires": {
@ -7041,13 +7041,13 @@
"dependencies": {
"lodash": {
"version": "2.4.2",
"resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
"dev": true
},
"underscore.string": {
"version": "2.3.3",
"resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
"integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
"dev": true
}
@ -7974,7 +7974,7 @@
},
"get-stream": {
"version": "3.0.0",
"resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
},
"get-value": {
@ -8197,7 +8197,7 @@
"dependencies": {
"minimist": {
"version": "1.1.3",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
"integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
"dev": true
}
@ -9052,7 +9052,7 @@
},
"hapi": {
"version": "8.8.0",
"resolved": "http://registry.npmjs.org/hapi/-/hapi-8.8.0.tgz",
"resolved": "https://registry.npmjs.org/hapi/-/hapi-8.8.0.tgz",
"integrity": "sha1-h+N6Bum0meiXkOLcERqpZotuYX8=",
"dev": true,
"requires": {
@ -9083,7 +9083,7 @@
"dependencies": {
"accept": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/accept/-/accept-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/accept/-/accept-1.0.0.tgz",
"integrity": "sha1-g++IOWi4WkDFARYEKCoiD/AeYq0=",
"dev": true,
"requires": {
@ -9093,7 +9093,7 @@
},
"ammo": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/ammo/-/ammo-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/ammo/-/ammo-1.0.0.tgz",
"integrity": "sha1-4FlIG/aAhzj66G1GT3L6DBLWeoU=",
"dev": true,
"requires": {
@ -9103,7 +9103,7 @@
},
"boom": {
"version": "2.7.2",
"resolved": "http://registry.npmjs.org/boom/-/boom-2.7.2.tgz",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.7.2.tgz",
"integrity": "sha1-2tYo2Jf3/S4yzIIZfxMweXHPg1Q=",
"dev": true,
"requires": {
@ -9112,7 +9112,7 @@
},
"call": {
"version": "2.0.1",
"resolved": "http://registry.npmjs.org/call/-/call-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/call/-/call-2.0.1.tgz",
"integrity": "sha1-SbQnCZQ96JoyJYqpEbWHUeI3eg4=",
"dev": true,
"requires": {
@ -9122,7 +9122,7 @@
},
"catbox": {
"version": "4.3.0",
"resolved": "http://registry.npmjs.org/catbox/-/catbox-4.3.0.tgz",
"resolved": "https://registry.npmjs.org/catbox/-/catbox-4.3.0.tgz",
"integrity": "sha1-IiN3vWfxKRrA4l0AAC0GWp3385o=",
"dev": true,
"requires": {
@ -9133,7 +9133,7 @@
},
"catbox-memory": {
"version": "1.1.1",
"resolved": "http://registry.npmjs.org/catbox-memory/-/catbox-memory-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/catbox-memory/-/catbox-memory-1.1.1.tgz",
"integrity": "sha1-QqUvgLye+nJmAeltQBYDNhJIGig=",
"dev": true,
"requires": {
@ -9142,7 +9142,7 @@
},
"cryptiles": {
"version": "2.0.4",
"resolved": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz",
"integrity": "sha1-CeoXdbnhx95+YKmdQqtvCM4aEoU=",
"dev": true,
"requires": {
@ -9163,7 +9163,7 @@
},
"heavy": {
"version": "3.0.0",
"resolved": "http://registry.npmjs.org/heavy/-/heavy-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/heavy/-/heavy-3.0.0.tgz",
"integrity": "sha1-/QEIdiExYy+IVIontVQSws9SKwA=",
"dev": true,
"requires": {
@ -9174,13 +9174,13 @@
},
"hoek": {
"version": "2.14.0",
"resolved": "http://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz",
"integrity": "sha1-gSEWkfUqWoNa5J7b8eickANHaqQ=",
"dev": true
},
"inert": {
"version": "2.1.5",
"resolved": "http://registry.npmjs.org/inert/-/inert-2.1.5.tgz",
"resolved": "https://registry.npmjs.org/inert/-/inert-2.1.5.tgz",
"integrity": "sha1-eybZTEHGLAPsHU726LRe1WuDSFk=",
"dev": true,
"requires": {
@ -9202,7 +9202,7 @@
},
"iron": {
"version": "2.1.2",
"resolved": "http://registry.npmjs.org/iron/-/iron-2.1.2.tgz",
"resolved": "https://registry.npmjs.org/iron/-/iron-2.1.2.tgz",
"integrity": "sha1-WR2RiiVAdTxEbY5DfNzwz6gBEU8=",
"dev": true,
"requires": {
@ -9219,7 +9219,7 @@
},
"joi": {
"version": "6.4.1",
"resolved": "http://registry.npmjs.org/joi/-/joi-6.4.1.tgz",
"resolved": "https://registry.npmjs.org/joi/-/joi-6.4.1.tgz",
"integrity": "sha1-9Q9CRTVgBo5jg9oVrC0w3Xzra24=",
"dev": true,
"requires": {
@ -9231,7 +9231,7 @@
"dependencies": {
"isemail": {
"version": "1.1.1",
"resolved": "http://registry.npmjs.org/isemail/-/isemail-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/isemail/-/isemail-1.1.1.tgz",
"integrity": "sha1-4Mj23D9HCX53dzlcaJYnGqJWw7U=",
"dev": true
},
@ -9245,7 +9245,7 @@
},
"kilt": {
"version": "1.1.1",
"resolved": "http://registry.npmjs.org/kilt/-/kilt-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/kilt/-/kilt-1.1.1.tgz",
"integrity": "sha1-d7SmFjyn+lshN6iMFzNCFuwj1ds=",
"dev": true,
"requires": {
@ -9254,7 +9254,7 @@
},
"mimos": {
"version": "2.0.2",
"resolved": "http://registry.npmjs.org/mimos/-/mimos-2.0.2.tgz",
"resolved": "https://registry.npmjs.org/mimos/-/mimos-2.0.2.tgz",
"integrity": "sha1-wyQXF+dblZkr54esfdbbGptTmx4=",
"dev": true,
"requires": {
@ -9264,7 +9264,7 @@
"dependencies": {
"mime-db": {
"version": "1.14.0",
"resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.14.0.tgz",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.14.0.tgz",
"integrity": "sha1-1WHxC27mbbUflK5leilRp0IX7YM=",
"dev": true
}
@ -9272,7 +9272,7 @@
},
"peekaboo": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/peekaboo/-/peekaboo-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/peekaboo/-/peekaboo-1.0.0.tgz",
"integrity": "sha1-wNspJq1lTSygH3ymUKtFkadk/EI=",
"dev": true
},
@ -9284,7 +9284,7 @@
},
"shot": {
"version": "1.5.3",
"resolved": "http://registry.npmjs.org/shot/-/shot-1.5.3.tgz",
"resolved": "https://registry.npmjs.org/shot/-/shot-1.5.3.tgz",
"integrity": "sha1-SGEHREO8VHLCNRthpGtOrsAH9Xo=",
"dev": true,
"requires": {
@ -9293,7 +9293,7 @@
},
"statehood": {
"version": "2.1.1",
"resolved": "http://registry.npmjs.org/statehood/-/statehood-2.1.1.tgz",
"resolved": "https://registry.npmjs.org/statehood/-/statehood-2.1.1.tgz",
"integrity": "sha1-AfFwtmxeklqvZ5qdMiulkYb8AAk=",
"dev": true,
"requires": {
@ -9307,7 +9307,7 @@
},
"subtext": {
"version": "1.1.1",
"resolved": "http://registry.npmjs.org/subtext/-/subtext-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/subtext/-/subtext-1.1.1.tgz",
"integrity": "sha1-DJGCWuZdUXhVWT2DHjPvdaKEFWs=",
"dev": true,
"requires": {
@ -9321,7 +9321,7 @@
"dependencies": {
"content": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/content/-/content-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/content/-/content-1.0.1.tgz",
"integrity": "sha1-gD60s7eJVGD9jGnGhMd1RmmvG6E=",
"dev": true,
"requires": {
@ -9331,7 +9331,7 @@
},
"pez": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/pez/-/pez-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/pez/-/pez-1.0.0.tgz",
"integrity": "sha1-hEMYpc5wku7d/6KV4YB5rHefoBg=",
"dev": true,
"requires": {
@ -9344,7 +9344,7 @@
"dependencies": {
"b64": {
"version": "2.0.0",
"resolved": "http://registry.npmjs.org/b64/-/b64-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/b64/-/b64-2.0.0.tgz",
"integrity": "sha1-tZlbJPR+v9nxMQF6bntdZHVvtvM=",
"dev": true,
"requires": {
@ -9353,7 +9353,7 @@
},
"nigel": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/nigel/-/nigel-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/nigel/-/nigel-1.0.1.tgz",
"integrity": "sha1-RjmJr4gSePuqHTzJOCPb0XtDYKE=",
"dev": true,
"requires": {
@ -9363,7 +9363,7 @@
"dependencies": {
"vise": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/vise/-/vise-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/vise/-/vise-1.0.0.tgz",
"integrity": "sha1-KDRb5N5aNB4V/SgW/Z6j5zA+jfM=",
"dev": true,
"requires": {
@ -9378,7 +9378,7 @@
},
"topo": {
"version": "1.0.2",
"resolved": "http://registry.npmjs.org/topo/-/topo-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/topo/-/topo-1.0.2.tgz",
"integrity": "sha1-QhV8N8HeTTeIPM3R1skChHqGDbk=",
"dev": true,
"requires": {
@ -9387,7 +9387,7 @@
},
"vision": {
"version": "2.0.1",
"resolved": "http://registry.npmjs.org/vision/-/vision-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/vision/-/vision-2.0.1.tgz",
"integrity": "sha1-0BIlW6buQm0GlqNOHfMy/sVeZzw=",
"dev": true,
"requires": {
@ -9399,7 +9399,7 @@
},
"wreck": {
"version": "6.0.0",
"resolved": "http://registry.npmjs.org/wreck/-/wreck-6.0.0.tgz",
"resolved": "https://registry.npmjs.org/wreck/-/wreck-6.0.0.tgz",
"integrity": "sha1-T0CGaWHl14rOBPMqa38x8/PFFjg=",
"dev": true,
"requires": {
@ -9521,7 +9521,7 @@
},
"hawk": {
"version": "3.1.3",
"resolved": "http://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"requires": {
"boom": "2.x.x",
@ -9560,7 +9560,7 @@
},
"hoek": {
"version": "2.16.3",
"resolved": "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
},
"home-or-tmp": {
@ -9864,7 +9864,7 @@
},
"readable-stream": {
"version": "1.1.14",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "~1.0.0",
@ -10200,7 +10200,7 @@
},
"is-builtin-module": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
"requires": {
@ -10361,7 +10361,7 @@
},
"is-obj": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
},
"is-object": {
@ -10552,7 +10552,7 @@
},
"jasmine-core": {
"version": "2.99.1",
"resolved": "http://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
"integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=",
"dev": true
},
@ -10752,7 +10752,7 @@
},
"jsonfile": {
"version": "2.4.0",
"resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"dev": true,
"requires": {
@ -10858,7 +10858,7 @@
},
"kew": {
"version": "0.7.0",
"resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
"resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
"integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
"dev": true
},
@ -11019,7 +11019,7 @@
},
"graceful-fs": {
"version": "3.0.11",
"resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
"optional": true,
"requires": {
@ -11040,7 +11040,7 @@
},
"promise": {
"version": "6.1.0",
"resolved": "http://registry.npmjs.org/promise/-/promise-6.1.0.tgz",
"resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz",
"integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=",
"optional": true,
"requires": {
@ -11209,7 +11209,7 @@
},
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
@ -11221,7 +11221,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
@ -11671,7 +11671,7 @@
},
"media-typer": {
"version": "0.3.0",
"resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"mem": {
@ -12153,7 +12153,7 @@
},
"minimist": {
"version": "0.0.8",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"minimist-options": {
@ -12241,7 +12241,7 @@
},
"mkdirp": {
"version": "0.5.1",
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
@ -12599,7 +12599,7 @@
},
"ncp": {
"version": "2.0.0",
"resolved": "http://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
"integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
"optional": true
},
@ -12907,7 +12907,7 @@
},
"npm-install-package": {
"version": "2.1.0",
"resolved": "http://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz",
"integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU=",
"dev": true
},
@ -13152,7 +13152,7 @@
},
"os-locale": {
"version": "1.4.0",
"resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"requires": {
"lcid": "^1.0.0"
@ -13485,7 +13485,7 @@
},
"es6-promise": {
"version": "4.0.5",
"resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz",
"integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=",
"dev": true
},
@ -13541,7 +13541,7 @@
},
"progress": {
"version": "1.1.8",
"resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
"dev": true
},
@ -13589,7 +13589,7 @@
},
"tough-cookie": {
"version": "2.3.4",
"resolved": "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"dev": true,
"requires": {
@ -14692,7 +14692,7 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
@ -14708,7 +14708,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
@ -14742,7 +14742,7 @@
},
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
@ -14805,7 +14805,7 @@
},
"readable-stream": {
"version": "2.3.6",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
"core-util-is": "~1.0.0",
@ -14917,7 +14917,7 @@
},
"regjsgen": {
"version": "0.2.0",
"resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
"dev": true
},
@ -15103,7 +15103,7 @@
},
"requestretry": {
"version": "1.5.0",
"resolved": "http://registry.npmjs.org/requestretry/-/requestretry-1.5.0.tgz",
"resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.5.0.tgz",
"integrity": "sha1-7RV7ulNSbt6z7DKo5wSkmYvs5ic=",
"dev": true,
"requires": {
@ -15229,7 +15229,7 @@
},
"rimraf": {
"version": "2.4.5",
"resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
"integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
"requires": {
"glob": "^6.0.1"
@ -15324,7 +15324,7 @@
},
"safe-regex": {
"version": "1.1.0",
"resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"requires": {
"ret": "~0.1.10"
@ -15346,7 +15346,7 @@
},
"sax": {
"version": "1.2.1",
"resolved": "http://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
"integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
},
"schema-inspector": {
@ -15359,7 +15359,7 @@
"dependencies": {
"async": {
"version": "1.5.2",
"resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
}
}
@ -15784,7 +15784,7 @@
},
"sntp": {
"version": "1.0.9",
"resolved": "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"requires": {
"hoek": "2.x.x"
@ -16163,7 +16163,7 @@
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
"ansi-regex": "^2.0.0"
@ -16730,7 +16730,7 @@
},
"through": {
"version": "2.3.8",
"resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
@ -17420,7 +17420,7 @@
"dependencies": {
"semver": {
"version": "5.3.0",
"resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
}
}
@ -17656,7 +17656,7 @@
},
"fibers": {
"version": "1.0.15",
"resolved": "http://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
"resolved": "https://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
"dev": true
},
@ -18028,7 +18028,7 @@
},
"wrap-ansi": {
"version": "2.1.0",
"resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"requires": {
"string-width": "^1.0.1",
@ -18132,7 +18132,7 @@
},
"xolvio-ddp": {
"version": "0.12.3",
"resolved": "http://registry.npmjs.org/xolvio-ddp/-/xolvio-ddp-0.12.3.tgz",
"resolved": "https://registry.npmjs.org/xolvio-ddp/-/xolvio-ddp-0.12.3.tgz",
"integrity": "sha1-NqarlhKyQLWg0cCoNJCK8XwLjwI=",
"dev": true,
"requires": {
@ -18157,7 +18157,7 @@
},
"async": {
"version": "0.9.2",
"resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
@ -18169,7 +18169,7 @@
},
"bl": {
"version": "0.9.5",
"resolved": "http://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
"resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
"integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
"dev": true,
"requires": {
@ -18178,7 +18178,7 @@
},
"bluebird": {
"version": "2.11.0",
"resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
"integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=",
"dev": true
},
@ -18190,7 +18190,7 @@
},
"combined-stream": {
"version": "0.0.7",
"resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
"integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
"dev": true,
"requires": {
@ -18211,7 +18211,7 @@
},
"form-data": {
"version": "0.2.0",
"resolved": "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
"integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=",
"dev": true,
"requires": {
@ -18222,7 +18222,7 @@
},
"hawk": {
"version": "2.3.1",
"resolved": "http://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz",
"integrity": "sha1-HnMc45RH+h0PbXB/e87r7A/R7B8=",
"dev": true,
"requires": {
@ -18251,13 +18251,13 @@
},
"mime-db": {
"version": "1.12.0",
"resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz",
"integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=",
"dev": true
},
"mime-types": {
"version": "2.0.14",
"resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",
"integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=",
"dev": true,
"requires": {
@ -18284,7 +18284,7 @@
},
"readable-stream": {
"version": "1.0.34",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
@ -18296,7 +18296,7 @@
},
"request": {
"version": "2.53.0",
"resolved": "http://registry.npmjs.org/request/-/request-2.53.0.tgz",
"resolved": "https://registry.npmjs.org/request/-/request-2.53.0.tgz",
"integrity": "sha1-GAo66St7Y5gC5PlUXdj83rcddgw=",
"dev": true,
"requires": {
@ -18335,7 +18335,7 @@
},
"xolvio-fiber-utils": {
"version": "2.0.3",
"resolved": "http://registry.npmjs.org/xolvio-fiber-utils/-/xolvio-fiber-utils-2.0.3.tgz",
"resolved": "https://registry.npmjs.org/xolvio-fiber-utils/-/xolvio-fiber-utils-2.0.3.tgz",
"integrity": "sha1-vsjXDHQGGjFjFbun0w0lyz6C3FA=",
"dev": true,
"requires": {
@ -18345,7 +18345,7 @@
"dependencies": {
"fibers": {
"version": "1.0.15",
"resolved": "http://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
"resolved": "https://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
"dev": true
}
@ -18353,7 +18353,7 @@
},
"xolvio-jasmine-expect": {
"version": "1.1.0",
"resolved": "http://registry.npmjs.org/xolvio-jasmine-expect/-/xolvio-jasmine-expect-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/xolvio-jasmine-expect/-/xolvio-jasmine-expect-1.1.0.tgz",
"integrity": "sha1-vCud1ghCMR8EV59agtzqaisxnH0=",
"dev": true,
"requires": {
@ -18376,7 +18376,7 @@
"dependencies": {
"fibers": {
"version": "1.0.15",
"resolved": "http://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
"resolved": "https://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
"dev": true
}
@ -18414,7 +18414,7 @@
},
"yargs": {
"version": "3.32.0",
"resolved": "http://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
"integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
"requires": {
"camelcase": "^2.0.1",

Loading…
Cancel
Save