feat: Update to WADO Image Loader 4.0.3 to add dynamically imported WebAssembly codec support 🚀 (#2538)

* feat: update to prerelease of WADO Image Loader, add copy plugin to pull dist/dynamic-import into OHIF

* fix: Set empty public path

* perf: Add webpackPrefetch tags to lazy loaded components

* Switch to using webpack alias to use dynamic import version of WADO Image Loader

* fix lockfile

* prevent polyfilling zlib

* bump to wado image loader 4.0.3 with fix for public path
This commit is contained in:
Erik Ziegler 2021-09-24 09:06:52 +02:00 committed by GitHub
parent 898f93e19d
commit 3c9f3cb273
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 232 additions and 88 deletions

View File

@ -21,7 +21,7 @@ function transpileJavaScript(mode) {
: excludeNodeModulesExcept([]);
return {
test: /\.jsx?$/,
test: /\.(mjs|js|jsx)?$/,
// These are packages that are not transpiled to our lowest supported
// JS version (currently ES5). Most of these leverage ES6+ features,
// that we need to transpile to a different syntax.

View File

@ -13,7 +13,7 @@ const cssToJavaScript = require('./rules/cssToJavaScript.js');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
.BundleAnalyzerPlugin;
const TerserJSPlugin = require('terser-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CopyPlugin = require('copy-webpack-plugin');
// ~~ ENV VARS
const NODE_ENV = process.env.NODE_ENV;
@ -39,9 +39,18 @@ module.exports = (env, argv, { SRC_DIR, DIST_DIR }) => {
app: `${SRC_DIR}/index.js`,
},
optimization: {
splitChunks: {
// include all types of chunks
chunks: 'all',
},
//runtimeChunk: 'single',
minimize: isProdBuild,
sideEffects: true,
},
output: {
clean: true,
publicPath: '/',
},
context: SRC_DIR,
stats: {
colors: true,
@ -69,7 +78,7 @@ module.exports = (env, argv, { SRC_DIR, DIST_DIR }) => {
],
},
resolve: {
mainFields: ['browser', 'module', 'main'],
mainFields: ['module', 'browser', 'main'],
alias: {
// Viewer project
'@': path.resolve(__dirname, '../platform/viewer/src'),
@ -80,6 +89,8 @@ module.exports = (env, argv, { SRC_DIR, DIST_DIR }) => {
'@hooks': path.resolve(__dirname, '../platform/viewer/src/hooks'),
'@routes': path.resolve(__dirname, '../platform/viewer/src/routes'),
'@state': path.resolve(__dirname, '../platform/viewer/src/state'),
'cornerstone-wado-image-loader':
'cornerstone-wado-image-loader/dist/dynamic-import/cornerstoneWADOImageLoader.min.js',
},
// Which directories to search when resolving modules
modules: [
@ -93,7 +104,7 @@ module.exports = (env, argv, { SRC_DIR, DIST_DIR }) => {
extensions: ['.js', '.jsx', '.json', '*'],
// symlinked resources are resolved to their real path, not their symlinked location
symlinks: true,
fallback: { fs: false, path: false },
fallback: { fs: false, path: false, zlib: false },
},
plugins: [
new webpack.DefinePlugin({
@ -120,6 +131,15 @@ module.exports = (env, argv, { SRC_DIR, DIST_DIR }) => {
}),
// Uncomment to generate bundle analyzer
// new BundleAnalyzerPlugin(),
new CopyPlugin({
patterns: [
{
from:
'../../../node_modules/cornerstone-wado-image-loader/dist/dynamic-import',
to: DIST_DIR,
},
],
}),
],
};
@ -130,13 +150,6 @@ module.exports = (env, argv, { SRC_DIR, DIST_DIR }) => {
terserOptions: {},
}),
];
/*config.plugins.push(
new MiniCssExtractPlugin({
filename: 'dist/[name].bundle.css',
chunkFilename: 'dist/[id].css',
})
);*/
}
if (isQuickBuild) {

View File

@ -31,12 +31,12 @@
"peerDependencies": {
"@ohif/core": "^0.50.0",
"@ohif/ui": "^0.50.0",
"cornerstone-core": "^2.3.0",
"cornerstone-math": "^0.1.9",
"cornerstone-core": "2.5.0",
"cornerstone-math": "0.1.9",
"cornerstone-tools": "5.1.2",
"cornerstone-wado-image-loader": "^3.1.2",
"cornerstone-wado-image-loader": "4.0.3",
"dcmjs": "0.16.1",
"dicom-parser": "^1.8.3",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
"prop-types": "^15.6.2",
"react": "^17.0.2",
@ -47,6 +47,6 @@
"@babel/runtime": "7.7.6",
"lodash.merge": "^4.6.2",
"lodash.debounce": "4.0.8",
"react-cornerstone-viewport": "4.0.5"
"react-cornerstone-viewport": "4.1.1"
}
}

View File

@ -4,7 +4,7 @@ import commandsModule from './commandsModule.js';
import CornerstoneViewportDownloadForm from './CornerstoneViewportDownloadForm';
const Component = React.lazy(() => {
return import('./OHIFCornerstoneViewport');
return import(/* webpackPrefetch: true */ './OHIFCornerstoneViewport');
});
const OHIFCornerstoneViewport = props => {

View File

@ -1,7 +1,7 @@
import cornerstone from 'cornerstone-core';
import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader';
import dicomParser from 'dicom-parser';
import { errorHandler } from '@ohif/core'
import { errorHandler } from '@ohif/core';
let initialized = false;
@ -32,12 +32,24 @@ export default function initWADOImageLoader(UserAuthenticationService) {
beforeSend: function(xhr) {
const headers = UserAuthenticationService.getAuthorizationHeader();
// Request:
// JPEG-LS Lossless (1.2.840.10008.1.2.4.80) if available, otherwise accept
// whatever transfer-syntax the origin server provides.
// For now we use image/jls and image/x-jls because some servers still use the old type
// http://dicom.nema.org/medical/dicom/current/output/html/part18.html
const xhrRequestHeaders = {
//accept: 'multipart/related; type="image/x-jls"',
// 'multipart/related; type="image/x-jls", multipart/related; type="image/jls"; transfer-syntax="1.2.840.10008.1.2.4.80", multipart/related; type="image/x-jls", multipart/related; type="application/octet-stream"; transfer-syntax=*',
};
if (headers && headers.Authorization) {
xhr.setRequestHeader('Authorization', headers.Authorization);
xhrRequestHeaders.Authorization = headers.Authorization;
}
return xhrRequestHeaders;
},
errorInterceptor: error => {
errorHandler.getHTTPErrorHandler(error)
errorHandler.getHTTPErrorHandler(error);
},
});

View File

@ -37,7 +37,7 @@
"react-i18next": "^10.11.0",
"react-router": "next",
"react-router-dom": "next",
"webpack": "^5.43.0",
"webpack": "^5.50.0",
"webpack-merge": "^5.7.3"
},
"dependencies": {

View File

@ -31,16 +31,16 @@
"peerDependencies": {
"@ohif/core": "^0.50.0",
"@ohif/ui": "^0.50.0",
"cornerstone-core": "^2.3.0",
"cornerstone-core": "^2.5.0",
"cornerstone-math": "^0.1.9",
"cornerstone-tools": "5.1.2",
"cornerstone-wado-image-loader": "^3.1.2",
"cornerstone-tools": "6.0.0",
"cornerstone-wado-image-loader": "4.0.3",
"dcmjs": "0.16.1",
"dicom-parser": "^1.8.3",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
"prop-types": "^15.6.2",
"react": "^17.0.2",
"react-cornerstone-viewport": "4.0.5"
"react-cornerstone-viewport": "4.1.1"
},
"dependencies": {
"@babel/runtime": "7.7.6",

View File

@ -5,7 +5,9 @@ import id from './id.js';
import init from './init';
const Component = React.lazy(() => {
return import('./viewports/OHIFCornerstoneSRViewport');
return import(
/* webpackPrefetch: true */ './viewports/OHIFCornerstoneSRViewport'
);
});
const OHIFCornerstoneSRViewport = props => {

View File

@ -29,14 +29,14 @@
"peerDependencies": {
"@ohif/core": "^0.50.0",
"classnames": "^2.2.6",
"cornerstone-core": "^2.3.0",
"cornerstone-tools": "5.1.2",
"cornerstone-core": "^2.5.0",
"cornerstone-tools": "6.0.0",
"dcmjs": "0.16.1",
"prop-types": "^15.6.2",
"react": "^16.13.1",
"react-cornerstone-viewport": "^4.0.5",
"react-cornerstone-viewport": "^4.1.1",
"react-dom": "^16.13.1",
"webpack": "^5.43.0",
"webpack": "^5.50.0",
"webpack-merge": "^5.7.3"
},
"dependencies": {

View File

@ -1,7 +1,9 @@
import React from 'react';
const Component = React.lazy(() => {
return import('./viewports/TrackedCornerstoneViewport');
return import(
/* webpackPrefetch: true */ './viewports/TrackedCornerstoneViewport'
);
});
const OHIFCornerstoneViewport = props => {
@ -12,7 +14,11 @@ const OHIFCornerstoneViewport = props => {
);
};
function getViewportModule({ servicesManager, commandsManager, extensionManager }) {
function getViewportModule({
servicesManager,
commandsManager,
extensionManager,
}) {
const ExtendedOHIFCornerstoneTrackingViewport = props => {
return (
<OHIFCornerstoneViewport

View File

@ -35,7 +35,7 @@
"@babel/runtime": "7.7.6"
},
"devDependencies": {
"webpack": "^5.43.0",
"webpack": "^5.50.0",
"webpack-merge": "^5.7.3"
}
}

View File

@ -53,10 +53,7 @@
"dependencies": {
"@babel/runtime": "7.7.6",
"core-js": "^3.2.1",
"cornerstone-core": "2.3.0",
"shader-loader": "^1.3.1",
"webpack": "^5.43.0",
"worker-loader": "^3.0.8",
"cornerstone-core": "2.5.0",
"wslink": "^0.1.8"
},
"peerDependencies": {
@ -115,9 +112,13 @@
"terser-webpack-plugin": "^5.1.4",
"unused-webpack-plugin": "2.4.0",
"webpack-cli": "^4.7.2",
"webpack-dev-server": "^3.11.2",
"webpack-hot-middleware": "^2.25.0",
"webpack-merge": "^5.7.3",
"workbox-webpack-plugin": "^6.1.5"
"workbox-webpack-plugin": "^6.1.5",
"shader-loader": "^1.3.1",
"webpack": "^5.50.0",
"worker-loader": "^3.0.8"
},
"husky": {
"hooks": {

View File

@ -30,11 +30,11 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage"
},
"peerDependencies": {
"cornerstone-core": "^2.3.0",
"cornerstone-tools": "5.1.2",
"cornerstone-core": "^2.5.0",
"cornerstone-tools": "6.0.0",
"cornerstone-math": "0.1.9",
"cornerstone-wado-image-loader": "^3.1.2",
"dicom-parser": "^1.8.3",
"cornerstone-wado-image-loader": "4.0.3",
"dicom-parser": "^1.8.9",
"@ohif/ui": "^1.8.2"
},
"dependencies": {

View File

@ -1 +1,2 @@
node_modules
storybook-static

View File

@ -112,6 +112,7 @@ module.exports = (env, argv) => {
port: 3000,
host: '0.0.0.0',
public: 'http://localhost:' + 3000,
//writeToDisk: true,
historyApiFallback: {
disableDotRule: true,
},

View File

@ -45,11 +45,9 @@
"README.md"
],
"peerDependencies": {
"cornerstone-core": "^2.3.0"
"cornerstone-core": "^2.5.0"
},
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"@babel/runtime": "7.7.6",
"@ohif/core": "^2.5.1",
"@ohif/extension-cornerstone": "^2.4.0",
@ -59,12 +57,12 @@
"@ohif/ui": "^2.0.0",
"@types/react": "^16.0.0",
"classnames": "^2.2.6",
"core-js": "^3.2.1",
"core-js": "^3.16.1",
"cornerstone-math": "^0.1.9",
"cornerstone-tools": "5.1.2",
"cornerstone-wado-image-loader": "^3.1.2",
"cornerstone-tools": "6.0.0",
"cornerstone-wado-image-loader": "4.0.3",
"dcmjs": "0.16.1",
"dicom-parser": "^1.8.3",
"dicom-parser": "^1.8.9",
"dotenv-webpack": "^1.7.0",
"hammerjs": "^2.0.8",
"history": "5.0.0",
@ -75,6 +73,8 @@
"oidc-client": "1.11.5",
"prop-types": "^15.7.2",
"query-string": "^6.12.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-dropzone": "^10.1.7",
"react-i18next": "^10.11.0",
"react-resize-detector": "^4.2.0",
@ -82,16 +82,16 @@
"react-router-dom": "next"
},
"devDependencies": {
"webpack": "^5.43.0",
"webpack-cli": "^4.7.2",
"@percy/cypress": "^2.3.0",
"cypress": "^6.4.0",
"cypress-file-upload": "^3.5.3",
"identity-obj-proxy": "3.0.x",
"lodash": "4.17.15",
"tailwindcss": "2.2.4",
"terser-webpack-plugin": "^5.1.1",
"webpack": "^5.50.0",
"webpack-bundle-analyzer": "^4.4.2",
"webpack-merge": "^5.7.3",
"tailwindcss": "2.2.4"
"webpack-cli": "^4.7.2",
"webpack-merge": "^5.7.3"
}
}

View File

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8" />
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="theme-color" content="#000000" />
<meta name="mobile-web-app-capable" content="yes">
@ -69,13 +69,14 @@
<script type="text/javascript">
window.PUBLIC_URL = '<%= PUBLIC_URL %>';
</script>
<script type="text/javascript" src="<%= PUBLIC_URL %>app-config.js"></script>
<script type="module" src="<%= PUBLIC_URL %>init-service-worker.js"></script>
<script rel="preload" as="script" type="text/javascript" src="<%= PUBLIC_URL %>app-config.js"></script>
<script rel="preload" as="script" type="module" src="<%= PUBLIC_URL %>init-service-worker.js"></script>
<title>OHIF Viewer</title>
<!-- WEB FONTS -->
<link href="https://fonts.googleapis.com/css?family=Lato:100,300,400,500,700&display=swap" rel="stylesheet" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css?family=Lato:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/>
<!-- EXTENSIONS -->
<!-- <script type="text/javascript" src="path/to/some-extension.js"></script>

View File

@ -2,7 +2,6 @@ import dcmjs from 'dcmjs';
import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader';
import FileLoader from './fileLoader';
const DICOMFileLoader = new (class extends FileLoader {
fileType = 'application/dicom';
loadFile(file, imageId) {
@ -16,13 +15,13 @@ const DICOMFileLoader = new (class extends FileLoader {
dicomData.dict
);
dataset.url = imageId
dataset.url = imageId;
dataset._meta = dcmjs.data.DicomMetaDictionary.namifyDataset(
dicomData.meta
);
return dataset
return dataset;
}
})();

162
yarn.lock
View File

@ -1161,6 +1161,21 @@
exec-sh "^0.3.2"
minimist "^1.2.0"
"@cornerstonejs/codec-charls@^0.1.1":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@cornerstonejs/codec-charls/-/codec-charls-0.1.1.tgz#e55d4aa908732d0cc902888b7f3856c5a996df7f"
integrity sha512-Y250DGVzmownJ7WgpHxNqWvfTnv4/malaKm/tWm0xE1FxhQE8iErMWFpKxpNDk3MdfXO4/98piVsUwmJMiWoDQ==
"@cornerstonejs/codec-libjpeg-turbo-8bit@^0.0.7":
version "0.0.7"
resolved "https://registry.yarnpkg.com/@cornerstonejs/codec-libjpeg-turbo-8bit/-/codec-libjpeg-turbo-8bit-0.0.7.tgz#2ea9b575eed19e6e7e3701b7a50a4ae0ffbef0c4"
integrity sha512-qgm6BuVAy5mNP8SJ+A6+VbmPnqgj8jPvJrw4HbUoAzndmf9/VHjTYwawn3kmZWya5ErFAsXQ6c0U0noB1LKAiA==
"@cornerstonejs/codec-openjpeg@^0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@cornerstonejs/codec-openjpeg/-/codec-openjpeg-0.1.0.tgz#5bca10ae2980ff681ebcdace2074a0adaf12ad86"
integrity sha512-9mwseBidYPQ1rGPcUU8JriQnzUi5Bgtontqca7gw47uzxC4Zamoc1Kuho5LUpbS1LSnOLePOkDrg/LCYhJIq8g==
"@csstools/convert-colors@^1.4.0":
version "1.4.0"
resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
@ -3571,6 +3586,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818"
integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==
"@types/json-schema@^7.0.8":
version "7.0.9"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
"@types/lodash@^4.14.53":
version "4.14.171"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.171.tgz#f01b3a5fe3499e34b622c362a46a609fdb23573b"
@ -3656,6 +3676,11 @@
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/resize-observer-browser@^0.1.6":
version "0.1.6"
resolved "https://registry.yarnpkg.com/@types/resize-observer-browser/-/resize-observer-browser-0.1.6.tgz#d8e6c2f830e2650dc06fe74464472ff64b54a302"
integrity sha512-61IfTac0s9jvNtBCpyo86QeaN8qqpMGHdK0uGKCCIy2dt5/Yk84VduHIdWAcmkC5QvdkPL0p5eWYgUZtHKKUVg==
"@types/resolve@1.17.1":
version "1.17.1"
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
@ -3968,6 +3993,11 @@ acorn-globals@^4.1.0:
acorn "^6.0.1"
acorn-walk "^6.0.1"
acorn-import-assertions@^1.7.6:
version "1.7.6"
resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz#580e3ffcae6770eebeec76c3b9723201e9d01f78"
integrity sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==
acorn-jsx@^5.0.1, acorn-jsx@^5.2.0:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
@ -6049,6 +6079,11 @@ core-js@^2.4.1, core-js@^2.5.7, core-js@^2.6.5:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.16.1:
version "3.16.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.1.tgz#f4485ce5c9f3c6a7cb18fa80488e08d362097249"
integrity sha512-AAkP8i35EbefU+JddyWi12AWE9f2N/qr/pwnDtWz4nyUIBGMJPX99ANFFRSw6FefM374lDujdtLDyhN2A/btHw==
core-js@^3.2.1, core-js@^3.8.3, core-js@^3.9.1:
version "3.15.2"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz#740660d2ff55ef34ce664d7e2455119c5bdd3d61"
@ -6059,36 +6094,34 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
cornerstone-core@2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/cornerstone-core/-/cornerstone-core-2.3.0.tgz#b16430b0dc3883c795fbbd5f64d0f6357f91c889"
integrity sha512-1LiCfRIlQvR1j8OhF7/3pvvQvvnTYZUywEkuoEo5K5mMrlKdrQMS75uW1uXb/nXShQDJyyjtTCQSVGgv2yHA+w==
cornerstone-core@2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/cornerstone-core/-/cornerstone-core-2.5.0.tgz#1051ffc34420ad7484e61d2f3bdbc41a5ebc1956"
integrity sha512-mJzvRJh8J7d5FJutjaL9cT8ZNnmj6l5PHROsyktZq1ojh4vkXfHECQ2izIQu8nmtJ9A6SyQRj4v5Uxn7hijzKw==
cornerstone-math@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/cornerstone-math/-/cornerstone-math-0.1.7.tgz#7c55536f02e7221b05fc49a4c780bb82c234ce39"
integrity sha512-svsDSoqLNFM9niCV2AtV2DNmRkYztT1v80lVdbA5hkgdGdpWg5/h2On794zbqBK+aI3hNOHufERDsI4wdXGknA==
cornerstone-math@^0.1.9:
cornerstone-math@0.1.9, cornerstone-math@^0.1.9:
version "0.1.9"
resolved "https://registry.yarnpkg.com/cornerstone-math/-/cornerstone-math-0.1.9.tgz#7ce5509e8b9f465b01f7c548470725e7569859fc"
integrity sha512-NxdooV73asEQgav1S+0e+a4K+W3CXJdLXyFkVN24qqCtmIpzZzwtw3F9KWPCekzSAJmbhtQ3HicOQj3d4vRtuw==
cornerstone-tools@5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/cornerstone-tools/-/cornerstone-tools-5.1.2.tgz#d2a03341c837c9288e2b70e314136d31e85c8c46"
integrity sha512-MrOXOxkEuLPHd6cqJ0mwU+R9OaNk08XC1yKjUS9dF6UbIq9HdwFJ6Fj0rcIA2MXYYjVN6tFwMM8H+0k7R3KxCA==
cornerstone-tools@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/cornerstone-tools/-/cornerstone-tools-6.0.0.tgz#6840658f4508e60cd206b17d6e56160367f616f1"
integrity sha512-VU4MrsO2NcQK6CUxuYFdiNvdWjF/NV/fs8jCePazYCoFDDKIYcUM9UmoYXAapFE2mon65p4u9wUAvuIuLeBQwA==
dependencies:
"@babel/runtime" "7.1.2"
cornerstone-math "0.1.7"
cornerstone-math "0.1.9"
cornerstone-wado-image-loader@^3.1.2:
version "3.3.1"
resolved "https://registry.yarnpkg.com/cornerstone-wado-image-loader/-/cornerstone-wado-image-loader-3.3.1.tgz#2d37a4278f087f9ea66b98dd384c3584bd4f202b"
integrity sha512-XckOmywvAmFz61G5/FSk+Thd051sU2peiT/EA1nFQ4uatMKKO6xFuOYcr8qB6pmeiQlUnuOVdX5l7GmYbqfT5w==
cornerstone-wado-image-loader@4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/cornerstone-wado-image-loader/-/cornerstone-wado-image-loader-4.0.3.tgz#4848a238af9b10742af6d08e204527acf5260c25"
integrity sha512-0KuMC6+hEFsCwVOBH4idKwPpbLdccPzP7i5Ja4q7E/kfwCE71uL8AzHhx96XcLeFN8oR8T+nzv8X6j0lyY32SA==
dependencies:
dicom-parser "^1.8.3"
pako "^1.0.10"
"@cornerstonejs/codec-charls" "^0.1.1"
"@cornerstonejs/codec-libjpeg-turbo-8bit" "^0.0.7"
"@cornerstonejs/codec-openjpeg" "^0.1.0"
dicom-parser "^1.8.9"
pako "^2.0.4"
cors@^2.8.4:
version "2.8.5"
@ -6637,6 +6670,11 @@ date-fns@^2.2.1:
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.22.1.tgz#1e5af959831ebb1d82992bf67b765052d8f0efc4"
integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg==
date-fns@^2.23.0:
version "2.24.0"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.24.0.tgz#7d86dc0d93c87b76b63d213b4413337cfd1c105d"
integrity sha512-6ujwvwgPID6zbI0o7UbURi2vlLDR9uP26+tW6Lg+Ji3w7dd0i3DOcjcClLjLPranT60SSEFBwdSyYwn/ZkPIuw==
dateformat@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
@ -6961,10 +6999,10 @@ dezalgo@^1.0.0:
asap "^2.0.0"
wrappy "1"
dicom-parser@^1.8.3:
version "1.8.7"
resolved "https://registry.yarnpkg.com/dicom-parser/-/dicom-parser-1.8.7.tgz#36df15f8b4250e56f164d8a50484c45e0a5668de"
integrity sha512-JRh6ciXii1JiDFxd3yUiteNZbOd4Ebmq9HBJlxEJ4Gd1CC5tMIs8zoztK69Ih0UeT96ixbmanb4M2mjaaYT8sg==
dicom-parser@^1.8.9:
version "1.8.9"
resolved "https://registry.yarnpkg.com/dicom-parser/-/dicom-parser-1.8.9.tgz#c69b036b8234df1cfad9978d0d6f0caad1582e74"
integrity sha512-OdLBIh460sy0aVeBZ/XSjbzEvXDS18XWxTdTinYmIHNi2jZfo6UuxscX4/VuYslduQ9LaeY6sdEXe9P9e6qlvA==
dicomweb-client@^0.6.0:
version "0.6.0"
@ -12872,11 +12910,16 @@ package-json@^6.3.0:
registry-url "^5.0.0"
semver "^6.2.0"
pako@^1.0.10, pako@^1.0.5:
pako@^1.0.5:
version "1.0.11"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
pako@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d"
integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==
parallel-transform@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
@ -14674,6 +14717,17 @@ react-cornerstone-viewport@4.0.5:
prop-types "^15.7.2"
react-resize-detector "^4.2.1"
react-cornerstone-viewport@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/react-cornerstone-viewport/-/react-cornerstone-viewport-4.1.1.tgz#713536c031b1e1d0d9f58ad80ee34f15998e5759"
integrity sha512-cJ3D7WglieGxcR49hivORk1YnSCQFbj8HVNj7JFaddix8jMqIkBpmbN5En5+8yM3ujgdj1n66uaLWNoP7JE9Qw==
dependencies:
classnames "^2.3.1"
date-fns "^2.23.0"
lodash.debounce "^4.0.8"
prop-types "^15.7.2"
react-resize-detector "^6.7.6"
react-dates@21.2.1:
version "21.2.1"
resolved "https://registry.yarnpkg.com/react-dates/-/react-dates-21.2.1.tgz#a979ed6876326ccfbf754a019bc95458cc061ad8"
@ -15000,6 +15054,16 @@ react-resize-detector@^4.2.0, react-resize-detector@^4.2.1:
raf-schd "^4.0.2"
resize-observer-polyfill "^1.5.1"
react-resize-detector@^6.7.6:
version "6.7.6"
resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-6.7.6.tgz#4416994e5ead7eba76606e3a248a1dfca49b67a3"
integrity sha512-/6RZlul1yePSoYJxWxmmgjO320moeLC/khrwpEVIL+D2EjLKhqOwzFv+H8laMbImVj7Zu4FlMa0oA7au3/ChjQ==
dependencies:
"@types/resize-observer-browser" "^0.1.6"
lodash.debounce "^4.0.8"
lodash.throttle "^4.1.1"
resize-observer-polyfill "^1.5.1"
react-router-config@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988"
@ -16011,6 +16075,15 @@ schema-utils@^3.0.0:
ajv "^6.12.5"
ajv-keywords "^3.5.2"
schema-utils@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
dependencies:
"@types/json-schema" "^7.0.8"
ajv "^6.12.5"
ajv-keywords "^3.5.2"
section-matter@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
@ -18229,7 +18302,12 @@ webpack-sources@^2.3.0:
source-list-map "^2.0.1"
source-map "^0.6.1"
webpack@^5.40.0, webpack@^5.43.0:
webpack-sources@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.0.tgz#b16973bcf844ebcdb3afde32eda1c04d0b90f89d"
integrity sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==
webpack@^5.40.0:
version "5.44.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.44.0.tgz#97b13a02bd79fb71ac6301ce697920660fa214a1"
integrity sha512-I1S1w4QLoKmH19pX6YhYN0NiSXaWY8Ou00oA+aMcr9IUGeF5azns+IKBkfoAAG9Bu5zOIzZt/mN35OffBya8AQ==
@ -18258,6 +18336,36 @@ webpack@^5.40.0, webpack@^5.43.0:
watchpack "^2.2.0"
webpack-sources "^2.3.0"
webpack@^5.50.0:
version "5.50.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.50.0.tgz#5562d75902a749eb4d75131f5627eac3a3192527"
integrity sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==
dependencies:
"@types/eslint-scope" "^3.7.0"
"@types/estree" "^0.0.50"
"@webassemblyjs/ast" "1.11.1"
"@webassemblyjs/wasm-edit" "1.11.1"
"@webassemblyjs/wasm-parser" "1.11.1"
acorn "^8.4.1"
acorn-import-assertions "^1.7.6"
browserslist "^4.14.5"
chrome-trace-event "^1.0.2"
enhanced-resolve "^5.8.0"
es-module-lexer "^0.7.1"
eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
graceful-fs "^4.2.4"
json-parse-better-errors "^1.0.2"
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
schema-utils "^3.1.0"
tapable "^2.1.1"
terser-webpack-plugin "^5.1.3"
watchpack "^2.2.0"
webpack-sources "^3.2.0"
webpackbar@^5.0.0-3:
version "5.0.0-3"
resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.0-3.tgz#f4f96c8fb13001b2bb1348252db4c980ab93aaac"