diff --git a/.webpack/webpack.base.js b/.webpack/webpack.base.js index 700e9e1b3..d7e7326c5 100644 --- a/.webpack/webpack.base.js +++ b/.webpack/webpack.base.js @@ -103,8 +103,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', + '@cornerstonejs/dicom-image-loader': + '@cornerstonejs/dicom-image-loader/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js', }, // Which directories to search when resolving modules modules: [ diff --git a/extensions/cornerstone-dicom-sr/package.json b/extensions/cornerstone-dicom-sr/package.json index 34aa3e523..e256b049b 100644 --- a/extensions/cornerstone-dicom-sr/package.json +++ b/extensions/cornerstone-dicom-sr/package.json @@ -47,6 +47,6 @@ "classnames": "^2.3.2", "@cornerstonejs/adapters": "^0.6.0", "@cornerstonejs/core": "^0.42.2", - "@cornerstonejs/tools": "^0.63.2" + "@cornerstonejs/tools": "^0.65.0" } } diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index d6a6a3ee1..153b15ac8 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -34,7 +34,11 @@ "peerDependencies": { "@ohif/core": "^3.0.0", "@ohif/ui": "^2.0.0", - "cornerstone-wado-image-loader": "^4.13.0", + "@cornerstonejs/dicom-image-loader": "^0.4.0", + "@cornerstonejs/codec-charls": "^1.2.3", + "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", + "@cornerstonejs/codec-openjpeg": "^1.2.2", + "@cornerstonejs/codec-openjph": "^2.4.2", "dcmjs": "^0.29.5", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", @@ -50,8 +54,8 @@ "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^0.6.0", "@cornerstonejs/core": "^0.42.2", - "@cornerstonejs/streaming-image-volume-loader": "^0.16.2", - "@cornerstonejs/tools": "^0.63.2", + "@cornerstonejs/streaming-image-volume-loader": "^0.18.0", + "@cornerstonejs/tools": "^0.65.0", "@kitware/vtk.js": "26.5.6", "html2canvas": "^1.4.1", "lodash.debounce": "4.0.8", diff --git a/extensions/cornerstone/src/initWADOImageLoader.js b/extensions/cornerstone/src/initWADOImageLoader.js index c072184ee..fbbf3b95d 100644 --- a/extensions/cornerstone/src/initWADOImageLoader.js +++ b/extensions/cornerstone/src/initWADOImageLoader.js @@ -1,9 +1,9 @@ import * as cornerstone from '@cornerstonejs/core'; import { volumeLoader } from '@cornerstonejs/core'; import { cornerstoneStreamingImageVolumeLoader } from '@cornerstonejs/streaming-image-volume-loader'; -import cornerstoneWADOImageLoader, { +import dicomImageLoader, { webWorkerManager, -} from 'cornerstone-wado-image-loader'; +} from '@cornerstonejs/dicom-image-loader'; import dicomParser from 'dicom-parser'; import { errorHandler } from '@ohif/core'; @@ -28,7 +28,7 @@ function initWebWorkers(appConfig) { }; if (!initialized) { - cornerstoneWADOImageLoader.webWorkerManager.initialize(config); + dicomImageLoader.webWorkerManager.initialize(config); initialized = true; } } @@ -37,18 +37,18 @@ export default function initWADOImageLoader( userAuthenticationService, appConfig ) { - cornerstoneWADOImageLoader.external.cornerstone = cornerstone; - cornerstoneWADOImageLoader.external.dicomParser = dicomParser; + dicomImageLoader.external.cornerstone = cornerstone; + dicomImageLoader.external.dicomParser = dicomParser; registerVolumeLoader( 'cornerstoneStreamingImageVolume', cornerstoneStreamingImageVolumeLoader ); - cornerstoneWADOImageLoader.configure({ + dicomImageLoader.configure({ decodeConfig: { // !! IMPORTANT !! - // We should set this flag to false, since, by default cornerstone-wado-image-loader + // We should set this flag to false, since, by default @cornerstonejs/dicom-image-loader // will convert everything to integers (to be able to work with cornerstone-2d). // Until the default is set to true (which is the case for cornerstone3D), // we should set this flag to false. diff --git a/extensions/cornerstone/src/utils/dicomLoaderService.js b/extensions/cornerstone/src/utils/dicomLoaderService.js index 54836fc12..4faaa0e6f 100644 --- a/extensions/cornerstone/src/utils/dicomLoaderService.js +++ b/extensions/cornerstone/src/utils/dicomLoaderService.js @@ -1,5 +1,5 @@ import { imageLoader } from '@cornerstonejs/core'; -import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader'; +import dicomImageLoader from '@cornerstonejs/dicom-image-loader'; import { api } from 'dicomweb-client'; import { DICOMWeb, errorHandler } from '@ohif/core'; @@ -114,7 +114,7 @@ class DicomLoaderService { } if (!someInvalidStrings(imageId)) { - return cornerstoneWADOImageLoader.wadouri.loadFileRequest(imageId); + return dicomImageLoader.wadouri.loadFileRequest(imageId); } } diff --git a/extensions/default/src/Panels/getStudiesForPatientByStudyInstanceUID.js b/extensions/default/src/Panels/getStudiesForPatientByStudyInstanceUID.js index fb5baa539..e12244885 100644 --- a/extensions/default/src/Panels/getStudiesForPatientByStudyInstanceUID.js +++ b/extensions/default/src/Panels/getStudiesForPatientByStudyInstanceUID.js @@ -8,7 +8,7 @@ async function getStudiesForPatientByStudyInstanceUID( // TODO: The `DicomMetadataStore` should short-circuit both of these requests // Data _could_ be here from route query, or if using JSON data source // We could also force this to "await" these values being available in the DICOMStore? - // Kind of like promise fulfillment in cornerstone-wado-image-loader when there are multiple + // Kind of like promise fulfillment in @cornerstonejs/dicom-image-loader when there are multiple // outgoing requests for the same data const getStudyResult = await dataSource.query.studies.search({ studyInstanceUid: StudyInstanceUID, diff --git a/extensions/measurement-tracking/package.json b/extensions/measurement-tracking/package.json index a695b0268..00aaa9836 100644 --- a/extensions/measurement-tracking/package.json +++ b/extensions/measurement-tracking/package.json @@ -33,7 +33,7 @@ "@ohif/core": "^3.0.0", "classnames": "^2.3.2", "@cornerstonejs/core": "^0.42.2", - "@cornerstonejs/tools": "^0.63.2", + "@cornerstonejs/tools": "^0.65.0", "@ohif/extension-cornerstone-dicom-sr": "^3.0.0", "dcmjs": "^0.29.5", "lodash.debounce": "^4.17.21", diff --git a/extensions/tmtv/src/utils/getStudiesForPatientByStudyInstanceUID.js b/extensions/tmtv/src/utils/getStudiesForPatientByStudyInstanceUID.js index fb5baa539..e12244885 100644 --- a/extensions/tmtv/src/utils/getStudiesForPatientByStudyInstanceUID.js +++ b/extensions/tmtv/src/utils/getStudiesForPatientByStudyInstanceUID.js @@ -8,7 +8,7 @@ async function getStudiesForPatientByStudyInstanceUID( // TODO: The `DicomMetadataStore` should short-circuit both of these requests // Data _could_ be here from route query, or if using JSON data source // We could also force this to "await" these values being available in the DICOMStore? - // Kind of like promise fulfillment in cornerstone-wado-image-loader when there are multiple + // Kind of like promise fulfillment in @cornerstonejs/dicom-image-loader when there are multiple // outgoing requests for the same data const getStudyResult = await dataSource.query.studies.search({ studyInstanceUid: StudyInstanceUID, diff --git a/platform/core/package.json b/platform/core/package.json index afd26b6cb..1bfa7985f 100644 --- a/platform/core/package.json +++ b/platform/core/package.json @@ -32,7 +32,11 @@ }, "peerDependencies": { "cornerstone-math": "0.1.9", - "cornerstone-wado-image-loader": "^4.13.0", + "@cornerstonejs/dicom-image-loader": "^0.4.0", + "@cornerstonejs/codec-charls": "^1.2.3", + "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", + "@cornerstonejs/codec-openjpeg": "^1.2.2", + "@cornerstonejs/codec-openjph": "^2.4.2", "dicom-parser": "^1.8.9", "@ohif/ui": "^2.0.0" }, diff --git a/platform/core/src/classes/MetadataProvider.js b/platform/core/src/classes/MetadataProvider.js index 02bf2b4e8..159fe169d 100644 --- a/platform/core/src/classes/MetadataProvider.js +++ b/platform/core/src/classes/MetadataProvider.js @@ -116,14 +116,14 @@ class MetadataProvider { return instance[naturalizedTagOrWADOImageLoaderTag]; } - // Maybe its a legacy CornerstoneWADOImageLoader tag then: - return this._getCornerstoneWADOImageLoaderTag( + // Maybe its a legacy dicomImageLoader tag then: + return this._getCornerstoneDICOMImageLoaderTag( naturalizedTagOrWADOImageLoaderTag, instance ); } - _getCornerstoneWADOImageLoaderTag(wadoImageLoaderTag, instance) { + _getCornerstoneDICOMImageLoaderTag(wadoImageLoaderTag, instance) { let metadata; switch (wadoImageLoaderTag) { @@ -496,7 +496,7 @@ const metadataProvider = new MetadataProvider(); export default metadataProvider; const WADO_IMAGE_LOADER_TAGS = { - // CornerstoneWADOImageLoader specific + // dicomImageLoader specific GENERAL_SERIES_MODULE: 'generalSeriesModule', PATIENT_STUDY_MODULE: 'patientStudyModule', IMAGE_PLANE_MODULE: 'imagePlaneModule', diff --git a/platform/viewer/.webpack/webpack.pwa.js b/platform/viewer/.webpack/webpack.pwa.js index 339edbde2..904f3503b 100644 --- a/platform/viewer/.webpack/webpack.pwa.js +++ b/platform/viewer/.webpack/webpack.pwa.js @@ -124,7 +124,7 @@ module.exports = (env, argv) => { patterns: [ { from: - '../../../node_modules/cornerstone-wado-image-loader/dist/dynamic-import', + '../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import', to: DIST_DIR, }, ], diff --git a/platform/viewer/package.json b/platform/viewer/package.json index fca0b294c..e8a7bceb8 100644 --- a/platform/viewer/package.json +++ b/platform/viewer/package.json @@ -66,7 +66,11 @@ "config-point": "^0.4.8", "core-js": "^3.16.1", "cornerstone-math": "^0.1.9", - "cornerstone-wado-image-loader": "^4.13.0", + "@cornerstonejs/dicom-image-loader": "^0.4.0", + "@cornerstonejs/codec-charls": "^1.2.3", + "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", + "@cornerstonejs/codec-openjpeg": "^1.2.2", + "@cornerstonejs/codec-openjph": "^2.4.2", "dcmjs": "^0.29.5", "detect-gpu": "^4.0.16", "dicom-parser": "^1.8.9", diff --git a/platform/viewer/src/routes/Local/dicomFileLoader.js b/platform/viewer/src/routes/Local/dicomFileLoader.js index 06ef398d3..1188e3169 100644 --- a/platform/viewer/src/routes/Local/dicomFileLoader.js +++ b/platform/viewer/src/routes/Local/dicomFileLoader.js @@ -1,11 +1,11 @@ import dcmjs from 'dcmjs'; -import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader'; +import dicomImageLoader from '@cornerstonejs/dicom-image-loader'; import FileLoader from './fileLoader'; const DICOMFileLoader = new (class extends FileLoader { fileType = 'application/dicom'; loadFile(file, imageId) { - return cornerstoneWADOImageLoader.wadouri.loadFileRequest(imageId); + return dicomImageLoader.wadouri.loadFileRequest(imageId); } getDataset(image, imageId) { diff --git a/platform/viewer/src/routes/Local/fileLoaderService.js b/platform/viewer/src/routes/Local/fileLoaderService.js index 88a53cef9..9100789a5 100644 --- a/platform/viewer/src/routes/Local/fileLoaderService.js +++ b/platform/viewer/src/routes/Local/fileLoaderService.js @@ -1,4 +1,4 @@ -import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader'; +import dicomImageLoader from '@cornerstonejs/dicom-image-loader'; import FileLoader from './fileLoader'; import PDFFileLoader from './pdfFileLoader'; @@ -15,7 +15,7 @@ class FileLoaderService extends FileLoader { } addFile(file) { - return cornerstoneWADOImageLoader.wadouri.fileManager.add(file); + return dicomImageLoader.wadouri.fileManager.add(file); } loadFile(file, imageId) { diff --git a/platform/viewer/src/routes/Local/pdfFileLoader.js b/platform/viewer/src/routes/Local/pdfFileLoader.js index 6304045ca..6d44d49ba 100644 --- a/platform/viewer/src/routes/Local/pdfFileLoader.js +++ b/platform/viewer/src/routes/Local/pdfFileLoader.js @@ -1,10 +1,10 @@ -import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader'; +import dicomImageLoader from '@cornerstonejs/dicom-image-loader'; import FileLoader from './fileLoader'; const PDFFileLoader = new (class extends FileLoader { fileType = 'application/pdf'; loadFile(file, imageId) { - return cornerstoneWADOImageLoader.wadouri.loadFileRequest(imageId); + return dicomImageLoader.wadouri.loadFileRequest(imageId); } getDataset(image, imageId) { diff --git a/yarn.lock b/yarn.lock index 032805b51..345d2c627 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1443,44 +1443,53 @@ resolved "https://registry.npmjs.org/@cornerstonejs/codec-openjph/-/codec-openjph-2.4.2.tgz#e96721d56f6ec96f7f95c16321d88cc8467d8d81" integrity sha512-lgdvBvvNezleY+4pIe2ceUsJzlZe/0PipdeubQ3vZZOz3xxtHHMR1XFCl4fgd8gosR8COHuD7h6q+MwgrwBsng== -"@cornerstonejs/core@^0.41.0": - version "0.41.0" - resolved "https://registry.npmjs.org/@cornerstonejs/core/-/core-0.41.0.tgz#1268bc9cb70e101b52e5eee9055a84541d76ef5d" - integrity sha512-Wk4BpDaKYz9KRr6eNiYatxg/ZNsluNN2p5QsK0qNYyquR5ABo/fuBexI160plP3jI4pDKlMH+OpbXuLx3T3ngw== - dependencies: - detect-gpu "^4.0.45" - lodash.clonedeep "4.5.0" - "@cornerstonejs/core@^0.42.2": - version "0.42.2" - resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-0.42.2.tgz#be69adbfd7b63718316a4f18fa55ca473506cee5" - integrity sha512-sLRqCOzR8cxBtQel9fltRti/rQRiYs1Wgx/CaYRPXlWID9Gj9os4j2PJHa70OiMIp4shMsF3jyVW7BPK0t6ZJQ== + version "0.42.3" + resolved "https://registry.npmjs.org/@cornerstonejs/core/-/core-0.42.3.tgz#c88d509f9f884942b1498e9c3dc1a4144e6c8854" + integrity sha512-WhNMnc8fqq0K//BWczPgaC05zM73+4r7MXC7tKLUj75+54JPouy7NQshOxP/p23nBOYcdpm1FEkTKTw61qbDVw== dependencies: detect-gpu "^4.0.45" lodash.clonedeep "4.5.0" -"@cornerstonejs/core@^0.43.1": - version "0.43.1" - resolved "https://registry.npmjs.org/@cornerstonejs/core/-/core-0.43.1.tgz#b51e3310156136e4407d56b1be9fc981022ae4dd" - integrity sha512-TT2EZHWFblkwYnMqiUWYCwtwzWEseXy819YnquWU8OzzsF14k/2JAQPvw8FB0ephv/LoVyXZPC/zARA6U30weg== +"@cornerstonejs/core@^0.44.0": + version "0.44.0" + resolved "https://registry.npmjs.org/@cornerstonejs/core/-/core-0.44.0.tgz#f1a9af5407b25510e91e3e17b55dd9f3c61c557b" + integrity sha512-EZURQAuILsmiUdp5nusUpL6pJjteVgY7DqrqkFSqeeSlDjt2j+0h+kFvvbpRAhjyWz/1OjK9vtvbRFCpwhnzJw== dependencies: detect-gpu "^4.0.45" lodash.clonedeep "4.5.0" -"@cornerstonejs/streaming-image-volume-loader@^0.16.2": - version "0.16.2" - resolved "https://registry.npmjs.org/@cornerstonejs/streaming-image-volume-loader/-/streaming-image-volume-loader-0.16.2.tgz#7ac513a21d4d8045047a7aa2fb57b5a85682c036" - integrity sha512-2FT0uyuj6+sarAFAdLjd3mGEeW4vD3OPMd/bJltJNyf0eJn0YRC6ke0PwEJj1uyJhEjbhquxsMqhGQIUN8vzpg== +"@cornerstonejs/dicom-image-loader@^0.4.0": + version "0.4.0" + resolved "https://registry.npmjs.org/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-0.4.0.tgz#c7f5c5659a10a6f4f5e96367ab6d27784daeb424" + integrity sha512-ORnF/4qAbTninkesz7ADQu832PW+/xcbUhxSPU1ZPukjr9cglynsDzKjsEYJlY10+rWzbIQ+JEgefrXZgVoT1g== dependencies: - "@cornerstonejs/core" "^0.41.0" + "@babel/eslint-parser" "^7.19.1" + "@cornerstonejs/codec-charls" "^1.2.3" + "@cornerstonejs/codec-libjpeg-turbo-8bit" "^1.2.2" + "@cornerstonejs/codec-openjpeg" "^1.2.2" + "@cornerstonejs/codec-openjph" "^2.4.2" + "@cornerstonejs/core" "^0.44.0" + coverage-istanbul-loader "^3.0.5" + date-format "^4.0.14" + dicom-parser "^1.8.9" + pako "^2.0.4" + uuid "^9.0.0" + +"@cornerstonejs/streaming-image-volume-loader@^0.18.0": + version "0.18.0" + resolved "https://registry.npmjs.org/@cornerstonejs/streaming-image-volume-loader/-/streaming-image-volume-loader-0.18.0.tgz#69ed58328428710ea0a500d42fdaad4f4f867eed" + integrity sha512-mQpX8ajlKpVsmLx1GpBqoi6/M2VolG/b+Vh/W5pduRUGekewz3p2oAwIrwiRj6R/O7XhLiNTtcae7sT1+7xqpQ== + dependencies: + "@cornerstonejs/core" "^0.44.0" cornerstone-wado-image-loader "^4.10.2" -"@cornerstonejs/tools@^0.63.2": - version "0.63.3" - resolved "https://registry.npmjs.org/@cornerstonejs/tools/-/tools-0.63.3.tgz#a66df8e8a3dc0c1bd5224d85db5d2231ab946f12" - integrity sha512-cgs/6OYcp3p+RSEOb77gR61eziTfb6Y0uK/GrdpgEet3InhFohJCst1TI8rbrHJd4wUX2VDzXHIm5gf6TlwRsA== +"@cornerstonejs/tools@^0.65.0": + version "0.65.0" + resolved "https://registry.npmjs.org/@cornerstonejs/tools/-/tools-0.65.0.tgz#419800eed71d5c16809b393d5327dfb96b074a32" + integrity sha512-OemuMWJkRx7rvfkhI0QxXC1+3DjREuI1y74vNsyLHk9tOjX6ozbURMAGwoHrUu/Bz+8Xb/n8d6IfAF1CtjaqbA== dependencies: - "@cornerstonejs/core" "^0.43.1" + "@cornerstonejs/core" "^0.44.0" lodash.clonedeep "4.5.0" lodash.get "^4.4.2" @@ -8560,22 +8569,6 @@ cornerstone-wado-image-loader@^4.10.2: pako "^2.0.4" uuid "^9.0.0" -cornerstone-wado-image-loader@^4.13.0: - version "4.13.0" - resolved "https://registry.npmjs.org/cornerstone-wado-image-loader/-/cornerstone-wado-image-loader-4.13.0.tgz#277173973b1d5ec90a2d10557df1f667065953da" - integrity sha512-pv3Ic1wDXUopa3DuSJ/IVmnrdUzEsva8ARB5w/I2JPnH3GaO80yZB6TtCqP8BUf3bl33O15k7EsGSICd2KoeCw== - dependencies: - "@babel/eslint-parser" "^7.19.1" - "@cornerstonejs/codec-charls" "^1.2.3" - "@cornerstonejs/codec-libjpeg-turbo-8bit" "^1.2.2" - "@cornerstonejs/codec-openjpeg" "^1.2.2" - "@cornerstonejs/codec-openjph" "^2.4.2" - coverage-istanbul-loader "^3.0.5" - date-format "^4.0.14" - dicom-parser "^1.8.9" - pako "^2.0.4" - uuid "^9.0.0" - cosmiconfig@^5.0.0, cosmiconfig@^5.1.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" @@ -17927,27 +17920,9 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.2 picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.2.15, postcss@^8.3.11, postcss@^8.3.5: - version "8.4.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.14: - version "8.4.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" - integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.17, postcss@^8.4.18, postcss@^8.4.19: +postcss@^8.2.15, postcss@^8.3.11, postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.18, postcss@^8.4.19: version "8.4.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== dependencies: nanoid "^3.3.4" @@ -21056,7 +21031,7 @@ table@^6.0.9: tailwindcss@3.2.4: version "3.2.4" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.4.tgz#afe3477e7a19f3ceafb48e4b083e292ce0dc0250" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz#afe3477e7a19f3ceafb48e4b083e292ce0dc0250" integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ== dependencies: arg "^5.0.2"