@ohif-i18n - Replace use of context to import locales (#575)

This commit is contained in:
Rodrigo Antinarelli 2019-06-27 07:01:11 -03:00 committed by Erik Ziegler
parent 6548dffb42
commit d04bb323f7
25 changed files with 1625 additions and 1755 deletions

40
.gitattributes vendored
View File

@ -1 +1,39 @@
* text eol=lf # These settings are for any web project
# Handle line endings automatically for files detected as text
# and leave all files detected as binary untouched.
* text=auto
# Force the following filetypes to have unix eols, so Windows does not break them
*.* text eol=lf
# Windows forced line-endings
/.idea/* text eol=crlf
#
## These files are binary and should be left untouched
#
# (binary is a macro for -text -diff)
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.mov binary
*.mp4 binary
*.mp3 binary
*.flv binary
*.fla binary
*.swf binary
*.gz binary
*.zip binary
*.7z binary
*.ttf binary
*.eot binary
*.woff binary
*.pyc binary
*.pdf binary
*.ez binary
*.bz2 binary
*.swp binary

View File

@ -86,13 +86,15 @@ requires at least React > 16.8 😉
OHIF Viewer already sets a main OHIF Viewer already sets a main
[I18nextProvider](https://react.i18next.com/latest/i18nextprovider) connected to [I18nextProvider](https://react.i18next.com/latest/i18nextprovider) connected to
the shared i18n instance from `@ohif/i18n`, all extensions inside OHIF Viewer the shared i18n instance from `@ohif/i18n`, all extensions inside OHIF Viewer
will share this same provider at the end, you don't need to set new providers at all. will share this same provider at the end, you don't need to set new providers at
all.
But, if you need to use it completely outside of OHIF viewer, you can set the But, if you need to use it completely outside of OHIF viewer, you can set the
I18nextProvider this way: I18nextProvider this way:
```js ```js
import i18n, { I18nextProvider } from '@ohif/i18n'; import i18n from '@ohif/i18n';
import { I18nextProvider } from 'react-i18next';
import App from './App'; import App from './App';
<I18nextProvider i18n={i18n}> <I18nextProvider i18n={i18n}>
@ -101,7 +103,8 @@ import App from './App';
``` ```
After setting `I18nextProvider` in your React App, all translations from After setting `I18nextProvider` in your React App, all translations from
`@ohif/i18n` should be available following the basic [With React](#with-react) usage. `@ohif/i18n` should be available following the basic [With React](#with-react)
usage.
--- ---
@ -135,42 +138,74 @@ becomes a new namespace automatically.
- UserPreferencesModal - Translations for the react-viewerbase Preferences Modal - UserPreferencesModal - Translations for the react-viewerbase Preferences Modal
### How to use another NameSpace inside the current NameSpace? ### How to use another NameSpace inside the current NameSpace?
i18next provides a parsing feature able to get translations strings from any NameSpace,
like this following example getting data from `Common` NameSpace: i18next provides a parsing feature able to get translations strings from any
NameSpace, like this following example getting data from `Common` NameSpace:
``` ```
$t(Common:Reset) $t(Common:Reset)
``` ```
## - Extending Languages in @ohif/i18n ## - Extending Languages in @ohif/i18n
Sometimes, even using the same language, some nouns or jargons can change according to Sometimes, even using the same language, some nouns or jargons can change
the country, states or even from Hospital to Hospital. according to the country, states or even from Hospital to Hospital.
In this cases, you don't need to set an entire language again, you can extend languages creating a new folder inside a pre existent language folder and @ohif/i18n will do the hard work. In this cases, you don't need to set an entire language again, you can extend
languages creating a new folder inside a pre existent language folder and
@ohif/i18n will do the hard work.
This new folder must to be called with a double character name, like the `UK` in the following file tree: This new folder must to be called with a double character name, like the `UK` in
the following file tree:
```bash ```bash
|-- src |-- src
|-- locales |-- locales
index.js
|-- en |-- en
|-- Buttons.json |-- Buttons.json
index.js
| UK | UK
|-- Buttons.js |-- Buttons.js
indes.js
| US | US
|-- Buttons.js |-- Buttons.js
index.js
... ...
``` ```
All properties inside a Namespace will be merged in the new sub language, e.g `en-US` and `en-UK` will merge the props with `en`. All properties inside a Namespace will be merged in the new sub language, e.g
`en-US` and `en-UK` will merge the props with `en`, using i18next's fallback
languages tool.
This feature is based on i18next's fallback languages tool. You will need to export all Json files in your `index.js` file, mounting an
object like this:
```js
{
en: {
NameSpace: {
keyWord1: 'keyWord1Translation',
keyWord2: 'keyWord2Translation',
keyWord3: 'keyWord3Translation',
}
},
'en-UK': {
NameSpace: {
keyWord1: 'keyWord1DifferentTranslation',
}
}
}
```
Please check the `index.js` files inside locales folder for an example of this
exporting structure.
### - Extending languages dynamically ### - Extending languages dynamically
Once you have access to the i18n instance, you can use the You have access to the i18next instance, so you can use the
[addResourceBundle](https://www.i18next.com/how-to/add-or-load-translations#add-after-init) [addResourceBundle](https://www.i18next.com/how-to/add-or-load-translations#add-after-init)
method to add and change language resources. method to add and change language resources as needed.
E.g. E.g.
@ -188,69 +223,76 @@ i18next.addResourceBundle('pt-BR', 'Buttons', {
To set a brand new language you can do it in two different ways: To set a brand new language you can do it in two different ways:
- Opening a pull request for `@ohif/i18n` and sharing the translation with the - Opening a pull request for `@ohif/i18n` and sharing the translation with the
community. 😍 Please see [Contributing](#contributing-with-new-languages) section community. 😍 Please see [Contributing](#contributing-with-new-languages)
for further information. section for further information.
- Setting it only in your project or extension: - Setting it only in your project or extension:
You'll need a folder structure like the following, which you can load using the `node context` and send it to `addLocales` method. You'll need a a final object like the following, what is setting French as
language, and send it to `addLocales` method.
Folder structure: ```js
```bash const newLanguage =
|-- ... {
|-- src fr: {
|-- locales Commons: {
|-- en "Reset": "Réinitialiser",
|-- Buttons.json "Previous": "Précédent",
|-- es },
| CO Buttons: {
|-- Buttons.js "Rectangle": "Rectangle",
|-- Buttons.json "Circle": "Cercle",
... }
}
``` ```
To make it easier to translate, you can copy the .json files in the /locales
folder and theirs index.js exporters, keeping same keys and NameSpaces.
Importing the main index.js file, will provide you an Object as expected by the
method `addlocales`;
E.g. of `addLocales` usage E.g. of `addLocales` usage
```js ```js
import { addLocales } from '@ohif/i18n'; import { addLocales } from '@ohif/i18n';
import locales from './locales/index.js';
const localesPath = './locales'; addLocales(locales);
const context = require.context(localesPath, true, /\.json$/);
addLocales(context);
``` ```
Also, [i18next](https://www.i18next.com/how-to/add-or-load-translations#add-after-init) provides a few methods to deal with languages, you have access to it's instance importing the default of @ohif/i18n; You can also set them manually, one by one, using this
Fell fre to play around with i18next like this: [method](#extending-languages-dynamically).
```
import i18next from '@ohif/i18n';
i18next.addResourceBundle('en', 'namespace1', {
key: 'hello from namespace 1'
});
```
--- ---
## language Detections ## Language Detections
@ohif/i18n uses [i18next-browser-languageDetector](https://github.com/i18next/i18next-browser-languageDetector) to manage detections, also exports a method called initI18n that accepts a new detector config as parameter.
@ohif/i18n uses
[i18next-browser-languageDetector](https://github.com/i18next/i18next-browser-languageDetector)
to manage detections, also exports a method called initI18n that accepts a new
detector config as parameter.
### Changing the language ### Changing the language
OHIF Viewer accepts a query param called `lng` in the url to change the language.
OHIF Viewer accepts a query param called `lng` in the url to change the
language.
E.g. E.g.
``` ```
https://docs.ohif.org/demo/?lng=es-MX https://docs.ohif.org/demo/?lng=es-MX
``` ```
### Language Persistence ### Language Persistence
The user's language preference is kept automatically by the detector and stored at a cookie called 'i18next', and in a localstorage key called 'i18nextLng'.
These names can be changed with a new [Detector Config](https://github.com/i18next/i18next-browser-languageDetector).
The user's language preference is kept automatically by the detector and stored
at a cookie called 'i18next', and in a localstorage key called 'i18nextLng'.
These names can be changed with a new
[Detector Config](https://github.com/i18next/i18next-browser-languageDetector).
## Debugging translations ## Debugging translations
There is an environment variable responsible for debugging the translations, called `REACT_APP_I18N_DEBUG`. There is an environment variable responsible for debugging the translations,
called `REACT_APP_I18N_DEBUG`.
Run the project as following to get full debug information: Run the project as following to get full debug information:

View File

@ -0,0 +1,4 @@
# @ohif/i18n
More information available at
[OHIF Docs](https://docs.ohif.org/essentials/translating.html).

View File

@ -1,6 +1,6 @@
{ {
"name": "@ohif/i18n", "name": "@ohif/i18n",
"version": "0.0.4", "version": "0.0.6",
"description": "OHIF extension for internationalization", "description": "OHIF extension for internationalization",
"author": "OHIF", "author": "OHIF",
"license": "MIT", "license": "MIT",
@ -48,7 +48,6 @@
"rollup": "^1.1.2", "rollup": "^1.1.2",
"rollup-plugin-babel": "^4.2.0", "rollup-plugin-babel": "^4.2.0",
"rollup-plugin-commonjs": "^9.2.0", "rollup-plugin-commonjs": "^9.2.0",
"rollup-plugin-copy": "^2.0.1",
"rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-builtins": "^2.1.2",
"rollup-plugin-node-resolve": "^4.0.0", "rollup-plugin-node-resolve": "^4.0.0",
"rollup-plugin-peer-deps-external": "^2.2.0", "rollup-plugin-peer-deps-external": "^2.2.0",

View File

@ -7,7 +7,6 @@ import url from 'rollup-plugin-url';
import pkg from './package.json'; import pkg from './package.json';
// Deal with https://github.com/rollup/rollup-plugin-commonjs/issues/297 // Deal with https://github.com/rollup/rollup-plugin-commonjs/issues/297
import builtins from 'rollup-plugin-node-builtins'; import builtins from 'rollup-plugin-node-builtins';
import copy from 'rollup-plugin-copy';
import json from 'rollup-plugin-json'; import json from 'rollup-plugin-json';
const globals = { const globals = {
@ -16,9 +15,9 @@ const globals = {
'react-redux': 'ReactRedux', 'react-redux': 'ReactRedux',
'react-resize-detector': 'ReactResizeDetector', 'react-resize-detector': 'ReactResizeDetector',
'prop-types': 'PropTypes', 'prop-types': 'PropTypes',
'i18next': 'i18next', i18next: 'i18next',
'react-i18next': 'react-i18next', 'react-i18next': 'react-i18next',
'i18next-browser-languagedetector': 'LngDetector' 'i18next-browser-languagedetector': 'LngDetector',
}; };
export default { export default {
@ -46,16 +45,12 @@ export default {
postcss({ postcss({
modules: false, modules: false,
}), }),
copy({
targets: ['src/locales'],
outputFolder: 'dist',
}),
json({ json({
// ignores indent and generates the smallest code // ignores indent and generates the smallest code
compact: true, // Default: false compact: true, // Default: false
// generate a named export for every property of the JSON object // generate a named export for every property of the JSON object
namedExports: true // Default: true namedExports: true, // Default: true
}), }),
url(), url(),
babel({ babel({
@ -68,5 +63,5 @@ export default {
include: ['node_modules/**', '.yalc/**'], include: ['node_modules/**', '.yalc/**'],
}), }),
], ],
external: Object.keys(pkg.peerDependencies || {}) external: Object.keys(pkg.peerDependencies || {}),
}; };

View File

@ -4,64 +4,25 @@ import LngDetector from 'i18next-browser-languagedetector';
import customDebug from './debugger'; import customDebug from './debugger';
import pkg from '../package.json'; import pkg from '../package.json';
import { debugMode, detectionOptions } from './config'; import { debugMode, detectionOptions } from './config';
import locales from './locales';
let translate; let translate;
function getNameSpaceString(key) { function addLocales(newLocales) {
const nameSpaceMatcher = key.match(/[^/]+$/g); customDebug(`Adding locales ${newLocales}`, 'info');
let finalNameSpace;
if (nameSpaceMatcher !== null) { let resourceBundle = [];
finalNameSpace = nameSpaceMatcher[0].replace('.json', '');
}
return finalNameSpace; Object.keys(newLocales).map(key => {
} Object.keys(newLocales[key]).map(namespace => {
const locale = newLocales[key][namespace];
function getKeyForNameSpaces(key) { resourceBundle.push({ key, namespace, locale });
const cleanedKey = key.match(/[/\\].+(?=[/\\])/); i18n.addResourceBundle(key, namespace, locale, true, true);
let finalKey; });
if (cleanedKey !== null) {
finalKey = cleanedKey[0].replace(/[/\\]/, '');
finalKey = finalKey.replace(/[/\\]/, '-');
}
return finalKey;
}
function getLocales() {
var isTestEnvironment = process.env.NODE_ENV === 'test';
// require.context is exclusive from webpack. This conditional is needed to escape while running tests
if (isTestEnvironment) {
return {};
}
const context = require.context(`./locales`, true, /\.json$/);
const locales = {};
context.keys().forEach(key => {
locales[getKeyForNameSpaces(key)] = {
...locales[getKeyForNameSpaces(key)],
[getNameSpaceString(key)]: context(key),
};
}); });
return locales;
}
function addLocales(context) {
context.keys().forEach(key => {
i18n.addResourceBundle(
getKeyForNameSpaces(key),
getNameSpaceString(key),
context(key),
true,
true
);
});
customDebug(`Locales added successfully`, 'info'); customDebug(`Locales added successfully`, 'info');
customDebug(resourceBundle, 'info');
} }
function initI18n(detection = detectionOptions) { function initI18n(detection = detectionOptions) {
@ -69,7 +30,7 @@ function initI18n(detection = detectionOptions) {
.use(LngDetector) .use(LngDetector)
.use(initReactI18next) .use(initReactI18next)
.init({ .init({
resources: getLocales(), resources: locales,
debug: debugMode, debug: debugMode,
keySeparator: false, keySeparator: false,
interpolation: { interpolation: {

View File

@ -0,0 +1,7 @@
import Header from './Header.json';
export default {
'en-UK': {
Header,
},
};

View File

@ -0,0 +1,7 @@
import Header from './Header.json';
export default {
'en-US': {
Header,
},
};

View File

@ -0,0 +1,23 @@
import Buttons from './Buttons.json';
import CineDialog from './CineDialog.json';
import Common from './Common.json';
import Header from './Header.json';
import MeasurementTable from './MeasurementTable.json';
import UserPreferencesModal from './UserPreferencesModal.json';
/** Sublanguages */
import en_US from './US';
import en_UK from './UK';
export default {
en: {
Buttons,
CineDialog,
Common,
Header,
MeasurementTable,
UserPreferencesModal,
},
...en_US,
...en_UK,
};

View File

@ -0,0 +1,7 @@
import Header from './Header.json';
export default {
'es-AR': {
Header,
},
};

View File

@ -38,5 +38,7 @@
"Manual": "Manual", "Manual": "Manual",
"Save": "Guardar", "Save": "Guardar",
"Reset to Defaults": "$t(Common:reset) por defectos", "Reset to Defaults": "$t(Common:reset) por defectos",
"Cancel": "Cancelar" "Cancel": "Cancelar",
"2D MPR": "2D MPR",
"WWWC": "WWWC"
} }

View File

@ -1,5 +1,5 @@
{ {
"reset": "Reiniciar", "Reset": "Reiniciar",
"Previous": "Anterior", "Previous": "Anterior",
"Next": "Próximo", "Next": "Próximo",
"Play": "Play", "Play": "Play",

View File

@ -0,0 +1,7 @@
import Header from './Header.json';
export default {
'es-MX': {
Header,
},
};

View File

@ -7,5 +7,6 @@
"NonTargets": "NonObjetivos", "NonTargets": "NonObjetivos",
"MAX": "máximo", "MAX": "máximo",
"Chest Wall Posterior": "Pared pectoral posterior", "Chest Wall Posterior": "Pared pectoral posterior",
"Bone Extremity": "Extremidad ósea" "Bone Extremity": "Extremidad ósea",
"Measurements": "Mediciones"
} }

View File

@ -0,0 +1,23 @@
import Buttons from './Buttons.json';
import CineDialog from './CineDialog.json';
import Common from './Common.json';
import Header from './Header.json';
import MeasurementTable from './MeasurementTable.json';
import UserPreferencesModal from './UserPreferencesModal.json';
/** Sublanguages */
import es_AR from './AR';
import es_MX from './MX';
export default {
es: {
Buttons,
CineDialog,
Common,
Header,
MeasurementTable,
UserPreferencesModal,
},
...es_AR,
...es_MX,
};

View File

@ -0,0 +1,7 @@
import en from './en';
import es from './es';
export default {
...en,
...es,
};

View File

@ -1,6 +1,6 @@
{ {
"name": "@ohif/extension-vtk", "name": "@ohif/extension-vtk",
"version": "0.0.7", "version": "0.0.8",
"description": "OHIF extension for VTK.js", "description": "OHIF extension for VTK.js",
"author": "OHIF", "author": "OHIF",
"license": "MIT", "license": "MIT",
@ -20,7 +20,7 @@
"lint": "eslint -c .eslintrc --fix src && prettier --single-quote --write src/**/*.{js,jsx,json,css}" "lint": "eslint -c .eslintrc --fix src && prettier --single-quote --write src/**/*.{js,jsx,json,css}"
}, },
"peerDependencies": { "peerDependencies": {
"@ohif/i18n": "0.0.4", "@ohif/i18n": "0.0.6",
"cornerstone-core": "^2.2.8", "cornerstone-core": "^2.2.8",
"cornerstone-wado-image-loader": "^2.2.3", "cornerstone-wado-image-loader": "^2.2.3",
"dcmjs": "^0.4.7", "dcmjs": "^0.4.7",

View File

@ -1,8 +1,8 @@
import { addLocales } from '@ohif/i18n'; import { addLocales } from '@ohif/i18n';
import locales from './locales';
function loadLocales() { function loadLocales() {
const context = require.context(`./locales`, true, /\.json$/); addLocales(locales);
addLocales(context);
} }
export default loadLocales; export default loadLocales;

View File

@ -0,0 +1,7 @@
import Buttons from './Buttons.json';
export default {
en: {
Buttons
}
};

View File

@ -0,0 +1,7 @@
import Buttons from './Buttons.json';
export default {
es: {
Buttons
}
};

View File

@ -0,0 +1,7 @@
import en from './en';
import es from './es';
export default {
...en,
...es
};

View File

@ -1,5 +1,5 @@
var path = require('path') var path = require('path');
var webpack = require('webpack') var webpack = require('webpack');
const autoprefixer = require('autoprefixer'); const autoprefixer = require('autoprefixer');
@ -13,25 +13,25 @@ const cssRules = [
{ {
loader: 'postcss-loader', loader: 'postcss-loader',
options: { options: {
plugins: () => [autoprefixer('last 2 version', 'ie >= 10')], plugins: () => [autoprefixer('last 2 version', 'ie >= 10')]
}, }
}, }
], ]
}, },
{ {
test: /\.glsl$/i, test: /\.glsl$/i,
include: /vtk\.js[\/\\]Sources/, include: /vtk\.js[\/\\]Sources/,
loader: 'shader-loader', loader: 'shader-loader'
}, },
{ {
test: /\.worker\.js$/, test: /\.worker\.js$/,
include: /vtk\.js[\/\\]Sources/, include: /vtk\.js[\/\\]Sources/,
use: [ use: [
{ {
loader: 'worker-loader', loader: 'worker-loader',
options: { inline: true, fallback: false }, options: { inline: true, fallback: false }
}, }
], ]
}, },
{ {
test: /\.css$/, test: /\.css$/,
@ -42,22 +42,22 @@ const cssRules = [
loader: 'css-loader', loader: 'css-loader',
options: { options: {
localIdentName: '[name]-[local]_[sha512:hash:base64:5]', localIdentName: '[name]-[local]_[sha512:hash:base64:5]',
modules: true, modules: true
}, }
}, },
{ {
loader: 'postcss-loader', loader: 'postcss-loader',
options: { options: {
plugins: () => [autoprefixer('last 2 version', 'ie >= 10')], plugins: () => [autoprefixer('last 2 version', 'ie >= 10')]
}, }
}, }
], ]
}, }
]; ];
var entry = path.join(__dirname, './src/index.js') var entry = path.join(__dirname, './src/index.js');
const sourcePath = path.join(__dirname, './src') const sourcePath = path.join(__dirname, './src');
const outputPath = path.join(__dirname, './dist') const outputPath = path.join(__dirname, './dist');
module.exports = { module.exports = {
entry, entry,
@ -66,43 +66,45 @@ module.exports = {
filename: 'index.umd.js', filename: 'index.umd.js',
library: '@ohif/extension-vtk', library: '@ohif/extension-vtk',
libraryTarget: 'umd', libraryTarget: 'umd',
globalObject: 'this', globalObject: 'this'
}, },
module: { module: {
rules: [ rules: [
{ {
test: /\.(js|jsx)$/, test: /\.(js|jsx)$/,
exclude: /node_modules/, exclude: /node_modules/,
use: ['babel-loader'], use: ['babel-loader']
} }
].concat(cssRules), ].concat(cssRules)
}, },
resolve: { resolve: {
modules: [path.resolve(__dirname, 'node_modules'), sourcePath], modules: [path.resolve(__dirname, 'node_modules'), sourcePath]
}, },
externals: [{ externals: [
{
'cornerstone-core': { 'cornerstone-core': {
commonjs: 'cornerstone-core', commonjs: 'cornerstone-core',
commonjs2: 'cornerstone-core', commonjs2: 'cornerstone-core',
amd: 'cornerstone-core', amd: 'cornerstone-core',
root: 'cornerstone', root: 'cornerstone'
}, },
'cornerstone-math': { 'cornerstone-math': {
commonjs: 'cornerstone-math', commonjs: 'cornerstone-math',
commonjs2: 'cornerstone-math', commonjs2: 'cornerstone-math',
amd: 'cornerstone-math', amd: 'cornerstone-math',
root: 'cornerstoneMath', root: 'cornerstoneMath'
}, }
}, },
'@ohif/i18n',
'ohif-core', 'ohif-core',
'dcmjs', 'dcmjs',
'react-viewerbase', 'react-viewerbase',
'react',//: 'React', 'react', //: 'React',
'react-dom',//: 'ReactDOM', 'react-dom', //: 'ReactDOM',
'react-redux',//: 'ReactRedux', 'react-redux', //: 'ReactRedux',
'react-resize-detector',//: 'ReactResizeDetector', 'react-resize-detector', //: 'ReactResizeDetector',
'react-viewerbase',//: 'reactViewerbase', 'react-viewerbase', //: 'reactViewerbase',
'prop-types'//: 'PropTypes' 'prop-types' //: 'PropTypes'
/*/\b(vtk.js)/*/ /*/\b(vtk.js)/*/
], ]
} };

View File

@ -755,7 +755,7 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
"@ohif/i18n@0.0.4", "@ohif/i18n@^0.0.4": "@ohif/i18n@^0.0.4":
version "0.0.4" version "0.0.4"
resolved "https://registry.yarnpkg.com/@ohif/i18n/-/i18n-0.0.4.tgz#e54176e7799e311dbaff37995f9d2745b58cbd0f" resolved "https://registry.yarnpkg.com/@ohif/i18n/-/i18n-0.0.4.tgz#e54176e7799e311dbaff37995f9d2745b58cbd0f"
integrity sha512-lW+S9weZbJS300yCRR8Ygb1KTULbD1Qx5ZGcYUXyseJIWr5jeJ4V/6FdS30w8u8ejiIVwF8rYOguHsmueQrkdw== integrity sha512-lW+S9weZbJS300yCRR8Ygb1KTULbD1Qx5ZGcYUXyseJIWr5jeJ4V/6FdS30w8u8ejiIVwF8rYOguHsmueQrkdw==
@ -791,9 +791,9 @@
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@*": "@types/node@*":
version "12.0.5" version "12.0.8"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.5.tgz#ac14404c33d1a789973c45379a67f7f7e58a01b9" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.8.tgz#551466be11b2adc3f3d47156758f610bd9f6b1d8"
integrity sha512-CFLSALoE+93+Hcb5pFjp0J1uMrrbLRe+L1+gFwerJ776R3TACSF0kTVRQ7AvRa7aFx70nqYHAc7wQPlt9kY2Mg== integrity sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==
"@types/normalize-package-data@^2.4.0": "@types/normalize-package-data@^2.4.0":
version "2.4.0" version "2.4.0"
@ -1234,9 +1234,9 @@ autoprefixer@^9.5.1:
postcss-value-parser "^3.3.1" postcss-value-parser "^3.3.1"
babel-eslint@^10.0.1: babel-eslint@^10.0.1:
version "10.0.1" version "10.0.2"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456"
integrity sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ== integrity sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q==
dependencies: dependencies:
"@babel/code-frame" "^7.0.0" "@babel/code-frame" "^7.0.0"
"@babel/parser" "^7.0.0" "@babel/parser" "^7.0.0"
@ -1298,7 +1298,7 @@ binary-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
bluebird@^3.5.3: bluebird@^3.5.5:
version "3.5.5" version "3.5.5"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
@ -1413,14 +1413,14 @@ browserify-zlib@^0.2.0:
dependencies: dependencies:
pako "~1.0.5" pako "~1.0.5"
browserslist@^4.6.0, browserslist@^4.6.1: browserslist@^4.6.0, browserslist@^4.6.1, browserslist@^4.6.2:
version "4.6.1" version "4.6.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.1.tgz#ee5059b1aec18cbec9d055d6cb5e24ae50343a9b" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.3.tgz#0530cbc6ab0c1f3fc8c819c72377ba55cf647f05"
integrity sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ== integrity sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==
dependencies: dependencies:
caniuse-lite "^1.0.30000971" caniuse-lite "^1.0.30000975"
electron-to-chromium "^1.3.137" electron-to-chromium "^1.3.164"
node-releases "^1.1.21" node-releases "^1.1.23"
buffer-from@^1.0.0: buffer-from@^1.0.0:
version "1.1.1" version "1.1.1"
@ -1447,21 +1447,21 @@ builtin-status-codes@^3.0.0:
integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
cacache@^11.3.2: cacache@^11.3.2:
version "11.3.2" version "11.3.3"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
dependencies: dependencies:
bluebird "^3.5.3" bluebird "^3.5.5"
chownr "^1.1.1" chownr "^1.1.1"
figgy-pudding "^3.5.1" figgy-pudding "^3.5.1"
glob "^7.1.3" glob "^7.1.4"
graceful-fs "^4.1.15" graceful-fs "^4.1.15"
lru-cache "^5.1.1" lru-cache "^5.1.1"
mississippi "^3.0.0" mississippi "^3.0.0"
mkdirp "^0.5.1" mkdirp "^0.5.1"
move-concurrently "^1.0.1" move-concurrently "^1.0.1"
promise-inflight "^1.0.1" promise-inflight "^1.0.1"
rimraf "^2.6.2" rimraf "^2.6.3"
ssri "^6.0.1" ssri "^6.0.1"
unique-filename "^1.1.1" unique-filename "^1.1.1"
y18n "^4.0.0" y18n "^4.0.0"
@ -1529,10 +1529,10 @@ camelcase@^5.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
caniuse-lite@^1.0.30000971: caniuse-lite@^1.0.30000971, caniuse-lite@^1.0.30000975:
version "1.0.30000974" version "1.0.30000975"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000974.tgz#b7afe14ee004e97ce6dc73e3f878290a12928ad8" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000975.tgz#d4e7131391dddcf2838999d3ce75065f65f1cdfc"
integrity sha512-xc3rkNS/Zc3CmpMKuczWEdY2sZgx09BkAxfvkxlAEBTqcMHeL8QnPqhKse+5sRTi3nrw2pJwToD2WvKn1Uhvww== integrity sha512-ZsXA9YWQX6ATu5MNg+Vx/cMQ+hM6vBBSqDeJs8ruk9z0ky4yIHML15MoxcFt088ST2uyjgqyUGRJButkptWf0w==
cardboard-vr-display@^1.0.15: cardboard-vr-display@^1.0.15:
version "1.0.16" version "1.0.16"
@ -1810,18 +1810,18 @@ copy-descriptor@^0.1.0:
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
core-js-compat@^3.1.1: core-js-compat@^3.1.1:
version "3.1.3" version "3.1.4"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.3.tgz#0cc3ba4c7f62928c2837e1cffbe8dc78b4f1ae14" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408"
integrity sha512-EP018pVhgwsKHz3YoN1hTq49aRe+h017Kjz0NQz3nXV0cCRMvH3fLQl+vEPGr4r4J5sk4sU3tUC7U1aqTCeJeA== integrity sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==
dependencies: dependencies:
browserslist "^4.6.0" browserslist "^4.6.2"
core-js-pure "3.1.3" core-js-pure "3.1.4"
semver "^6.1.0" semver "^6.1.1"
core-js-pure@3.1.3: core-js-pure@3.1.4:
version "3.1.3" version "3.1.4"
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.3.tgz#4c90752d5b9471f641514f3728f51c1e0783d0b5" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769"
integrity sha512-k3JWTrcQBKqjkjI0bkfXS0lbpWPxYuHWfMMjC1VDmzU4Q58IwSbuXSo99YO/hUHlw/EB4AlfA2PVxOGkrIq6dA== integrity sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==
core-js@^1.0.0: core-js@^1.0.0:
version "1.2.7" version "1.2.7"
@ -2132,16 +2132,7 @@ direction@^1.0.1:
resolved "https://registry.yarnpkg.com/direction/-/direction-1.0.3.tgz#5030e1e091e923904067d015dbaafd08f4d27d26" resolved "https://registry.yarnpkg.com/direction/-/direction-1.0.3.tgz#5030e1e091e923904067d015dbaafd08f4d27d26"
integrity sha512-8bHRqMt4w/kND19KBksE4NOJo+gIOPuiZfxQvbd6xikfKbuNBYBdLIw0hA/4lWzBaDpwpW+Olmg1BjD9+0LU2w== integrity sha512-8bHRqMt4w/kND19KBksE4NOJo+gIOPuiZfxQvbd6xikfKbuNBYBdLIw0hA/4lWzBaDpwpW+Olmg1BjD9+0LU2w==
dnd-core@^7.0.2: dnd-core@^7.0.2, dnd-core@^7.4.4:
version "7.4.4"
resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-7.4.4.tgz#9a27d991a1c1e2882fa7888ea6132db04c739db1"
integrity sha512-xR8SINDCJG9AmKSjXUMJ1PEl8ih1+xSHH8x4DgBtzScXnEtpCnV1ibDZNV0uyps9VgkXTTbYYzJdF04y0v0e3Q==
dependencies:
asap "^2.0.6"
invariant "^2.2.4"
redux "^4.0.1"
dnd-core@^7.4.4:
version "7.6.0" version "7.6.0"
resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-7.6.0.tgz#5907ca291bdcf6dce98322e4d0937efe1b167e85" resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-7.6.0.tgz#5907ca291bdcf6dce98322e4d0937efe1b167e85"
integrity sha512-JboJ8BKh5nsW2KXbhCY1SzYV+vV3TlQQzgOEtB4IyYbefkhSOwG8wOgcyTD95TyypPaCh8nqxrrRTEC1c8rVMA== integrity sha512-JboJ8BKh5nsW2KXbhCY1SzYV+vV3TlQQzgOEtB4IyYbefkhSOwG8wOgcyTD95TyypPaCh8nqxrrRTEC1c8rVMA==
@ -2236,10 +2227,10 @@ duplexify@^3.4.2, duplexify@^3.6.0:
readable-stream "^2.0.0" readable-stream "^2.0.0"
stream-shift "^1.0.0" stream-shift "^1.0.0"
electron-to-chromium@^1.3.137: electron-to-chromium@^1.3.164:
version "1.3.148" version "1.3.165"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.148.tgz#5796c0d9eb0358d397163413b90bf376c5d8bf08" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.165.tgz#51864c9e3c9bd9e1c020b9493fddcc0f49888e3a"
integrity sha512-nuCOlXNlGMQmdzihIPGm2K3Yf3H1hke/1rK381i02pH8wNliJU9hVNnOi/xjmxt+mjABd/BzufP5nPHWKshLWA== integrity sha512-iIS8axR524EAnvUtWUNnREnYjQrS0zUvutIKYgTVuN3MzcjrV31EuJYKw7DGOtFO9DQw+JiXeaVDPQWMskG1wQ==
elegant-spinner@^1.0.1: elegant-spinner@^1.0.1:
version "1.0.1" version "1.0.1"
@ -2760,11 +2751,12 @@ find-up@^3.0.0:
locate-path "^3.0.0" locate-path "^3.0.0"
find-up@^4.0.0: find-up@^4.0.0:
version "4.0.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.0.0.tgz#c367f8024de92efb75f2d4906536d24682065c3a" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
integrity sha512-zoH7ZWPkRdgwYCDVoQTzqjG8JSPANhtvLhh4KVUHyKnaUJJrNeFmWIkTcNuJmR3GLMEmGYEf2S2bjgx26JTF+Q== integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
dependencies: dependencies:
locate-path "^5.0.0" locate-path "^5.0.0"
path-exists "^4.0.0"
findup-sync@^2.0.0: findup-sync@^2.0.0:
version "2.0.0" version "2.0.0"
@ -2980,7 +2972,7 @@ glob@7.0.x:
once "^1.3.0" once "^1.3.0"
path-is-absolute "^1.0.0" path-is-absolute "^1.0.0"
glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3: glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
version "7.1.4" version "7.1.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@ -3251,9 +3243,9 @@ i18next-browser-languagedetector@^3.0.1:
integrity sha512-WFjPLNPWl62uu07AHY2g+KsC9qz0tyMq+OZEB/H7N58YKL/JLiCz9U709gaR20Mule/Ppn+uyfVx5REJJjn1HA== integrity sha512-WFjPLNPWl62uu07AHY2g+KsC9qz0tyMq+OZEB/H7N58YKL/JLiCz9U709gaR20Mule/Ppn+uyfVx5REJJjn1HA==
i18next@^17.0.3: i18next@^17.0.3:
version "17.0.3" version "17.0.4"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-17.0.3.tgz#82d67826d13e8ca2cd2a3c87871533414e952d03" resolved "https://registry.yarnpkg.com/i18next/-/i18next-17.0.4.tgz#c690b9de0c950ff8abe626562d03c4144dd75030"
integrity sha512-vQyW6a4ZLt3Dxnd6GXSnhbW5DwGYC4uLPKk1MFE5pfFbR9CEiNatdwwUZDQfrcNOh2x0eOGDFYeCEyLlkLvDQA== integrity sha512-+lwmv3FT8Sv/HwVPjkR6rtEFhgOqt9L/CTehzyxvL/NdkeUYbFZJfE57MsBToB6LFWg3d0sZJIVgYqCpWzUyLQ==
dependencies: dependencies:
"@babel/runtime" "^7.3.1" "@babel/runtime" "^7.3.1"
@ -3340,11 +3332,6 @@ indexes-of@^1.0.1:
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
indexof@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
inflight@^1.0.4: inflight@^1.0.4:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@ -4351,9 +4338,9 @@ ms@2.0.0:
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
ms@^2.1.1: ms@^2.1.1:
version "2.1.1" version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
mute-stream@0.0.7: mute-stream@0.0.7:
version "0.0.7" version "0.0.7"
@ -4423,9 +4410,9 @@ node-fetch@^1.0.1:
is-stream "^1.0.1" is-stream "^1.0.1"
node-libs-browser@^2.0.0: node-libs-browser@^2.0.0:
version "2.2.0" version "2.2.1"
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA== integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
dependencies: dependencies:
assert "^1.1.1" assert "^1.1.1"
browserify-zlib "^0.2.0" browserify-zlib "^0.2.0"
@ -4437,7 +4424,7 @@ node-libs-browser@^2.0.0:
events "^3.0.0" events "^3.0.0"
https-browserify "^1.0.0" https-browserify "^1.0.0"
os-browserify "^0.3.0" os-browserify "^0.3.0"
path-browserify "0.0.0" path-browserify "0.0.1"
process "^0.11.10" process "^0.11.10"
punycode "^1.2.4" punycode "^1.2.4"
querystring-es3 "^0.2.0" querystring-es3 "^0.2.0"
@ -4449,7 +4436,7 @@ node-libs-browser@^2.0.0:
tty-browserify "0.0.0" tty-browserify "0.0.0"
url "^0.11.0" url "^0.11.0"
util "^0.11.0" util "^0.11.0"
vm-browserify "0.0.4" vm-browserify "^1.0.1"
node-pre-gyp@^0.12.0: node-pre-gyp@^0.12.0:
version "0.12.0" version "0.12.0"
@ -4467,7 +4454,7 @@ node-pre-gyp@^0.12.0:
semver "^5.3.0" semver "^5.3.0"
tar "^4" tar "^4"
node-releases@^1.1.21: node-releases@^1.1.23:
version "1.1.23" version "1.1.23"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.23.tgz#de7409f72de044a2fa59c097f436ba89c39997f0" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.23.tgz#de7409f72de044a2fa59c097f436ba89c39997f0"
integrity sha512-uq1iL79YjfYC0WXoHbC/z28q/9pOl8kSHaXdWmAAc8No+bDwqkZbzIJz55g/MUsPgSGm9LZ7QSUbzTcH5tz47w== integrity sha512-uq1iL79YjfYC0WXoHbC/z28q/9pOl8kSHaXdWmAAc8No+bDwqkZbzIJz55g/MUsPgSGm9LZ7QSUbzTcH5tz47w==
@ -4880,10 +4867,10 @@ pascalcase@^0.1.1:
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
path-browserify@0.0.0: path-browserify@0.0.1:
version "0.0.0" version "0.0.1"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
path-dirname@^1.0.0: path-dirname@^1.0.0:
version "1.0.2" version "1.0.2"
@ -4895,6 +4882,11 @@ path-exists@^3.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
path-is-absolute@^1.0.0: path-is-absolute@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
@ -5371,9 +5363,9 @@ react-dom@^16.6.3:
scheduler "^0.13.6" scheduler "^0.13.6"
react-i18next@^10.11.0: react-i18next@^10.11.0:
version "10.11.0" version "10.11.1"
resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-10.11.0.tgz#a6854e556d3aff9f5f161b4aa871d43cfff6bd9b" resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-10.11.1.tgz#29b9be5161143a11a7d3ee28769c091b26c525a5"
integrity sha512-jmxLZK8mf+KxG3RUIiu/COperTq1c7+iHNsna7LODOYEYaoj6EXFuchOytnB80GoUOb0JC1csT37Zp+U5nPQqQ== integrity sha512-uzfMdGFbe0bZQkR8XyBUw1BV4rPBQ6X3+TgvMWdW94LeKrDrXBcyfokdejTYQpMlOMtf7TGrhQT9fLIfr+gftg==
dependencies: dependencies:
"@babel/runtime" "^7.3.1" "@babel/runtime" "^7.3.1"
html-parse-stringify2 "2.0.1" html-parse-stringify2 "2.0.1"
@ -5829,20 +5821,13 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
resolve@^1.1.6: resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1:
version "1.11.0" version "1.11.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232"
integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw== integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==
dependencies: dependencies:
path-parse "^1.0.6" path-parse "^1.0.6"
resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1:
version "1.11.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==
dependencies:
path-parse "^1.0.6"
restore-cursor@^2.0.0: restore-cursor@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@ -5856,7 +5841,7 @@ ret@~0.1.10:
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
version "2.6.3" version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@ -5978,7 +5963,7 @@ semver-compare@^1.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
semver@^6.1.0: semver@^6.1.0, semver@^6.1.1:
version "6.1.1" version "6.1.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b"
integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ== integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==
@ -6065,9 +6050,9 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
simple-git@^1.85.0: simple-git@^1.85.0:
version "1.113.0" version "1.115.0"
resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.113.0.tgz#668989728a1e9cf4ec6c72b69ea2eecc93489bea" resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.115.0.tgz#159a49cf95c5126d5903e36df67504a8c634e817"
integrity sha512-i9WVsrK2u0G/cASI9nh7voxOk9mhanWY9eGtWBDSYql6m49Yk5/Fan6uZsDr/xmzv8n+eQ8ahKCoEr8cvU3h+g== integrity sha512-PXcDVDgXifUE7/M2xUfQQ8uG3r73+kYRyPmsbc/iWwUrPbOASHt8p+HEbu85k546qmXixbcSPDg83kegw1vqcA==
dependencies: dependencies:
debug "^4.0.1" debug "^4.0.1"
@ -6532,9 +6517,9 @@ synchronous-promise@^2.0.6:
integrity sha512-LO95GIW16x69LuND1nuuwM4pjgFGupg7pZ/4lU86AmchPKrhk0o2tpMU2unXRrqo81iAFe1YJ0nAGEVwsrZAgg== integrity sha512-LO95GIW16x69LuND1nuuwM4pjgFGupg7pZ/4lU86AmchPKrhk0o2tpMU2unXRrqo81iAFe1YJ0nAGEVwsrZAgg==
table@^5.2.3: table@^5.2.3:
version "5.4.0" version "5.4.1"
resolved "https://registry.yarnpkg.com/table/-/table-5.4.0.tgz#d772a3216e68829920a41a32c18eda286c95d780" resolved "https://registry.yarnpkg.com/table/-/table-5.4.1.tgz#0691ae2ebe8259858efb63e550b6d5f9300171e8"
integrity sha512-nHFDrxmbrkU7JAFKqKbDJXfzrX2UBsWmrieXFTGxiI5e4ncg3VqsZeI4EzNmX0ncp4XNGVeoxIWJXfCIXwrsvw== integrity sha512-E6CK1/pZe2N75rGZQotFOdmzWQ1AILtgYbMAbAjvms0S1l5IDB47zG3nCnFGB/w+7nB3vKofbLXCH7HPBo864w==
dependencies: dependencies:
ajv "^6.9.1" ajv "^6.9.1"
lodash "^4.17.11" lodash "^4.17.11"
@ -6696,9 +6681,9 @@ trough@^1.0.0:
integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==
tslib@^1.9.0: tslib@^1.9.0:
version "1.9.3" version "1.10.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
tty-browserify@0.0.0: tty-browserify@0.0.0:
version "0.0.0" version "0.0.0"
@ -6723,9 +6708,9 @@ typedarray@^0.0.6:
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
ua-parser-js@^0.7.18: ua-parser-js@^0.7.18:
version "0.7.19" version "0.7.20"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098"
integrity sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ== integrity sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==
unherit@^1.0.4: unherit@^1.0.4:
version "1.1.2" version "1.1.2"
@ -6795,9 +6780,9 @@ unique-filename@^1.1.1:
unique-slug "^2.0.0" unique-slug "^2.0.0"
unique-slug@^2.0.0: unique-slug@^2.0.0:
version "2.0.1" version "2.0.2"
resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
dependencies: dependencies:
imurmurhash "^0.1.4" imurmurhash "^0.1.4"
@ -6941,12 +6926,10 @@ vfile@^3.0.0:
unist-util-stringify-position "^1.0.0" unist-util-stringify-position "^1.0.0"
vfile-message "^1.0.0" vfile-message "^1.0.0"
vm-browserify@0.0.4: vm-browserify@^1.0.1:
version "0.0.4" version "1.1.0"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
dependencies:
indexof "0.0.1"
void-elements@^2.0.1: void-elements@^2.0.1:
version "2.0.1" version "2.0.1"
@ -7013,9 +6996,9 @@ webpack-sources@^1.3.0:
source-map "~0.6.1" source-map "~0.6.1"
webpack@^4.33.0: webpack@^4.33.0:
version "4.33.0" version "4.34.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.33.0.tgz#c30fc4307db432e5c5e3333aaa7c16a15a3b277e" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.34.0.tgz#a4c30129482f7b4ece4c0842002dedf2b56fab58"
integrity sha512-ggWMb0B2QUuYso6FPZKUohOgfm+Z0sVFs8WwWuSH1IAvkWs428VDNmOlAxvHGTB9Dm/qOB/qtE5cRx5y01clxw== integrity sha512-ry2IQy1wJjOefLe1uJLzn5tG/DdIKzQqNlIAd2L84kcaADqNvQDTBlo8UcCNyDaT5FiaB+16jhAkb63YeG3H8Q==
dependencies: dependencies:
"@webassemblyjs/ast" "1.8.5" "@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-module-context" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5"

View File

@ -58,6 +58,10 @@
"not ie <= 11", "not ie <= 11",
"not op_mini all" "not op_mini all"
], ],
"resolutions": {
"browserslist": "4.6.2",
"caniuse-lite": "1.0.30000974"
},
"files": [ "files": [
"dist" "dist"
], ],
@ -77,7 +81,7 @@
"@ohif/extension-dicom-microscopy": "0.0.8", "@ohif/extension-dicom-microscopy": "0.0.8",
"@ohif/extension-dicom-pdf": "0.0.7", "@ohif/extension-dicom-pdf": "0.0.7",
"@ohif/extension-vtk": "0.0.7", "@ohif/extension-vtk": "0.0.7",
"@ohif/i18n": "0.0.4", "@ohif/i18n": "0.0.6",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"cornerstone-core": "^2.2.8", "cornerstone-core": "^2.2.8",
"cornerstone-math": "^0.1.8", "cornerstone-math": "^0.1.8",
@ -115,7 +119,7 @@
"@babel/preset-react": "^7.0.0", "@babel/preset-react": "^7.0.0",
"@semantic-release/exec": "3.3.3", "@semantic-release/exec": "3.3.3",
"@svgr/rollup": "^4.3.0", "@svgr/rollup": "^4.3.0",
"babel-eslint": "^10.0.1", "babel-eslint": "10.0.1",
"codecov": "3.5.0", "codecov": "3.5.0",
"commitizen": "3.1.x", "commitizen": "3.1.x",
"core-js": "^3.1.4", "core-js": "^3.1.4",

2699
yarn.lock

File diff suppressed because it is too large Load Diff