Update to use beta 5.0 of CS3D (#5904)
* Update to use beta 5.0 * fix: unit tests * fix: Allow slow server/test rendering to still work * Update tests to use viewport grid compare * Fix storage of stale retries actual/diff files * cs3d linking fixees * Linking for cs3d metadata * Use metadata import for suv scaling * Fix suv import * Use type for import * fix: Metadata registration ordering * Use beta for upstream * Merge from origin/master * Revert tests to master * Undo beta version changes * Revert bun.lock file to that of master. * Reduce test failure retries to one per test. Cap the number of failed total tests to 10. Replace the JSON reporter with the HTML reporter. * Add generic provider back in * Deprecate OHIF versions of cs3d utils * fix * Undo some cs3d beta dependencies so this PR could be merged * Build fix * Fixing build issues * build issue * bun lock * Temporary cache clear to resolve build issue * Cache bust * Remove the babel hoist fix attempt * Cache netlify toml issue * Fix netlify cache issue * Try to fix cache dependency issue * Try update resolutions * babel hoist fix * fix: Remove netlify cache bust * Revert pinned versions * PR comments on duplicated suv-factors * Undo lock changes and isEqual add --------- Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com> Co-authored-by: Alireza <ar.sedghi@gmail.com>
This commit is contained in:
parent
ef8bb5559a
commit
09093b3f0a
2
.github/workflows/playwright.yml
vendored
2
.github/workflows/playwright.yml
vendored
@ -122,7 +122,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
mkdir -p packaged-test-results
|
mkdir -p packaged-test-results
|
||||||
cp -r ./tests/test-results packaged-test-results/ || true
|
cp -r ./tests/test-results packaged-test-results/ || true
|
||||||
cp ./tests/playwright-report.json packaged-test-results/ || true
|
cp -r ./tests/playwright-report packaged-test-results/ || true
|
||||||
- name: Upload directory of test results artifact
|
- name: Upload directory of test results artifact
|
||||||
if: ${{ !cancelled() }}
|
if: ${{ !cancelled() }}
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
|||||||
@ -5,8 +5,6 @@ module.exports = {
|
|||||||
moduleNameMapper: {
|
moduleNameMapper: {
|
||||||
...base.moduleNameMapper,
|
...base.moduleNameMapper,
|
||||||
'@ohif/(.*)': '<rootDir>/../../platform/$1/src',
|
'@ohif/(.*)': '<rootDir>/../../platform/$1/src',
|
||||||
'^@cornerstonejs/([^/]+)/(.*)$': '<rootDir>/../../node_modules/@cornerstonejs/$1/dist/esm/$2',
|
|
||||||
'^@cornerstonejs/([^/]+)$': '<rootDir>/../../node_modules/@cornerstonejs/$1/dist/esm',
|
|
||||||
},
|
},
|
||||||
// rootDir: "../.."
|
// rootDir: "../.."
|
||||||
// testMatch: [
|
// testMatch: [
|
||||||
|
|||||||
@ -178,14 +178,6 @@ export default async function init({
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// add metadata providers
|
|
||||||
metaData.addProvider(
|
|
||||||
csUtilities.calibratedPixelSpacingMetadataProvider.get.bind(
|
|
||||||
csUtilities.calibratedPixelSpacingMetadataProvider
|
|
||||||
)
|
|
||||||
); // this provider is required for Calibration tool
|
|
||||||
metaData.addProvider(metadataProvider.get.bind(metadataProvider), 9999);
|
|
||||||
|
|
||||||
// These are set reasonably low to allow for interleaved retrieves and slower
|
// These are set reasonably low to allow for interleaved retrieves and slower
|
||||||
// connections.
|
// connections.
|
||||||
imageLoadPoolManager.maxNumRequests = {
|
imageLoadPoolManager.maxNumRequests = {
|
||||||
@ -197,6 +189,16 @@ export default async function init({
|
|||||||
|
|
||||||
initWADOImageLoader(userAuthenticationService, appConfig, extensionManager);
|
initWADOImageLoader(userAuthenticationService, appConfig, extensionManager);
|
||||||
|
|
||||||
|
// Add OHIF metadata providers after dicomImageLoader.init().
|
||||||
|
// The linked metadata branch clears providers during loader init.
|
||||||
|
metaData.addProvider(csUtilities.genericMetadataProvider.get, 9998);
|
||||||
|
metaData.addProvider(
|
||||||
|
csUtilities.calibratedPixelSpacingMetadataProvider.get.bind(
|
||||||
|
csUtilities.calibratedPixelSpacingMetadataProvider
|
||||||
|
)
|
||||||
|
); // this provider is required for Calibration tool
|
||||||
|
metaData.addProvider(metadataProvider.get.bind(metadataProvider), 9999);
|
||||||
|
|
||||||
/* Measurement Service */
|
/* Measurement Service */
|
||||||
this.measurementServiceSource = connectToolsToMeasurementService({
|
this.measurementServiceSource = connectToolsToMeasurementService({
|
||||||
servicesManager,
|
servicesManager,
|
||||||
|
|||||||
@ -5,7 +5,6 @@ module.exports = {
|
|||||||
moduleNameMapper: {
|
moduleNameMapper: {
|
||||||
...base.moduleNameMapper,
|
...base.moduleNameMapper,
|
||||||
'@ohif/(.*)': '<rootDir>/../../platform/$1/src',
|
'@ohif/(.*)': '<rootDir>/../../platform/$1/src',
|
||||||
'^@cornerstonejs/(.*)$': '<rootDir>/../../node_modules/@cornerstonejs/$1/dist/esm',
|
|
||||||
},
|
},
|
||||||
// rootDir: "../.."
|
// rootDir: "../.."
|
||||||
// testMatch: [
|
// testMatch: [
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import OHIF from '@ohif/core';
|
import OHIF from '@ohif/core';
|
||||||
|
|
||||||
import { InstanceMetadata, PhilipsPETPrivateGroup } from '@cornerstonejs/calculate-suv/src/types';
|
import type { InstanceMetadata, PhilipsPETPrivateGroup } from '@cornerstonejs/calculate-suv/src/types';
|
||||||
|
|
||||||
const metadataProvider = OHIF.classes.MetadataProvider;
|
const metadataProvider = OHIF.classes.MetadataProvider;
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,13 @@ module.exports = {
|
|||||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
||||||
'<rootDir>/src/__mocks__/fileMock.js',
|
'<rootDir>/src/__mocks__/fileMock.js',
|
||||||
'\\.(css|less)$': 'identity-obj-proxy',
|
'\\.(css|less)$': 'identity-obj-proxy',
|
||||||
|
// calculate-suv publishes under dist/ (not dist/esm), so map it explicitly
|
||||||
|
// before package-specific catch-all @cornerstonejs mappings.
|
||||||
|
'^@cornerstonejs/calculate-suv$': '<rootDir>/../../node_modules/@cornerstonejs/calculate-suv',
|
||||||
|
'^@cornerstonejs/calculate-suv/(.*)$':
|
||||||
|
'<rootDir>/../../node_modules/@cornerstonejs/calculate-suv/$1',
|
||||||
|
'^@cornerstonejs/([^/]+)/(.*)$': '<rootDir>/../../node_modules/@cornerstonejs/$1/dist/esm/$2',
|
||||||
|
'^@cornerstonejs/([^/]+)$': '<rootDir>/../../node_modules/@cornerstonejs/$1/dist/esm',
|
||||||
},
|
},
|
||||||
// Setup
|
// Setup
|
||||||
// setupFiles: ["jest-canvas-mock/lib/index.js"],
|
// setupFiles: ["jest-canvas-mock/lib/index.js"],
|
||||||
|
|||||||
@ -14,6 +14,9 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|||||||
const SRC_DIR = path.join(__dirname, '../src');
|
const SRC_DIR = path.join(__dirname, '../src');
|
||||||
const DIST_DIR = path.join(__dirname, '../dist');
|
const DIST_DIR = path.join(__dirname, '../dist');
|
||||||
const PUBLIC_DIR = path.join(__dirname, '../public');
|
const PUBLIC_DIR = path.join(__dirname, '../public');
|
||||||
|
|
||||||
|
// Ignore node_modules except @cornerstonejs (symlinked local development).
|
||||||
|
const WATCH_IGNORED = /node_modules[\\/](?!@cornerstonejs(?:[\\/]|$))/;
|
||||||
// ~~ Env Vars
|
// ~~ Env Vars
|
||||||
const HTML_TEMPLATE = process.env.HTML_TEMPLATE || 'index.html';
|
const HTML_TEMPLATE = process.env.HTML_TEMPLATE || 'index.html';
|
||||||
const PUBLIC_URL = process.env.PUBLIC_URL || '/';
|
const PUBLIC_URL = process.env.PUBLIC_URL || '/';
|
||||||
@ -206,7 +209,8 @@ module.exports = (env, argv) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mergedConfig.watchOptions = {
|
mergedConfig.watchOptions = {
|
||||||
ignored: /node_modules\/@cornerstonejs/,
|
ignored: WATCH_IGNORED,
|
||||||
|
followSymlinks: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
return mergedConfig;
|
return mergedConfig;
|
||||||
|
|||||||
@ -4,17 +4,13 @@ export default defineConfig({
|
|||||||
testDir: './tests',
|
testDir: './tests',
|
||||||
fullyParallel: !!process.env.CI,
|
fullyParallel: !!process.env.CI,
|
||||||
forbidOnly: !!process.env.CI,
|
forbidOnly: !!process.env.CI,
|
||||||
retries: process.env.CI ? 3 : 0,
|
retries: process.env.CI ? 1 : 0,
|
||||||
|
maxFailures: process.env.CI ? 10 : undefined,
|
||||||
workers: process.env.CI ? 6 : undefined,
|
workers: process.env.CI ? 6 : undefined,
|
||||||
snapshotPathTemplate: './tests/screenshots{/projectName}/{testFilePath}/{arg}{ext}',
|
snapshotPathTemplate: './tests/screenshots{/projectName}/{testFilePath}/{arg}{ext}',
|
||||||
outputDir: './tests/test-results',
|
outputDir: './tests/test-results',
|
||||||
reporter: [
|
reporter: [
|
||||||
[
|
['html', { outputFolder: './tests/playwright-report' }],
|
||||||
process.env.CI ? 'json' : 'html',
|
|
||||||
process.env.CI
|
|
||||||
? { outputFile: './tests/playwright-report.json' }
|
|
||||||
: { outputFolder: './tests/playwright-report' },
|
|
||||||
],
|
|
||||||
],
|
],
|
||||||
globalTimeout: 800_000,
|
globalTimeout: 800_000,
|
||||||
timeout: 800_000,
|
timeout: 800_000,
|
||||||
|
|||||||
@ -27,7 +27,13 @@ const PROXY_PATH_REWRITE_TO = process.env.PROXY_PATH_REWRITE_TO;
|
|||||||
const OHIF_PORT = Number(process.env.OHIF_PORT || 3000);
|
const OHIF_PORT = Number(process.env.OHIF_PORT || 3000);
|
||||||
const OHIF_OPEN = process.env.OHIF_OPEN !== 'false';
|
const OHIF_OPEN = process.env.OHIF_OPEN !== 'false';
|
||||||
|
|
||||||
|
// Ignore node_modules except @cornerstonejs (symlinked local development).
|
||||||
|
const WATCH_IGNORED = /node_modules[\\/](?!@cornerstonejs(?:[\\/]|$))/;
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
dev: {
|
||||||
|
lazyCompilation: false,
|
||||||
|
},
|
||||||
source: {
|
source: {
|
||||||
entry: {
|
entry: {
|
||||||
index: `${SRC_DIR}/index.js`,
|
index: `${SRC_DIR}/index.js`,
|
||||||
@ -83,7 +89,8 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
watchOptions: {
|
watchOptions: {
|
||||||
ignored: /node_modules\/@cornerstonejs/,
|
ignored: WATCH_IGNORED,
|
||||||
|
followSymlinks: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user