{ "name": "ohif-monorepo-root", "private": true, "workspaces": { "packages": [ "platform/app", "platform/cli", "platform/ui-next", "platform/ui", "platform/core", "platform/i18n", "extensions/*", "modes/*", "addOns/externals/*" ], "nohoist": [ "**/html-minifier-terser" ] }, "engines": { "node": ">=18", "npm": ">=6", "yarn": ">=1.20.0" }, "scripts": { "cm": "npx git-cz", "build": "lerna run build:viewer --stream", "build:dev": "lerna run build:dev --stream", "build:ci": "lerna run build:viewer:ci --stream", "build:qa": "lerna run build:viewer:qa --stream", "clean": "npx lerna run clean --stream", "clean:deep": "npx lerna run clean:deep --stream", "cli": "node ./platform/cli/src/index.js", "build:ui:deploy-preview": "lerna run build:ui:deploy-preview --stream", "build:demo": "lerna run build:viewer:demo --stream", "build:package-all": "lerna run build:package --stream --concurrency 4", "build:package-all-1": "lerna run build:package-1 --stream --concurrency 4", "dev:fast": "cd platform/app && yarn run dev:fast", "show:config": "echo Config is $APP_CONFIG on $PUBLIC_URL", "dev": "lerna run dev:viewer --stream", "dev:no:cache": "lerna run dev:no:cache --stream", "dev:project": ".scripts/dev.sh", "dev:orthanc": "lerna run dev:orthanc --stream", "dev:orthanc:no:cache": "lerna run dev:orthanc:no:cache --stream", "dev:dcm4chee": "lerna run dev:dcm4chee --stream", "dev:static": "lerna run dev:static --stream", "orthanc:up": "docker compose -f platform/app/.recipes/Nginx-Orthanc/docker-compose.yml up", "install:dev": "cp -f yarn.lock addOns/yarn.lock && cd addOns && yarn install --frozen-lockfile --modules-folder ../node_modules", "install:update-lockfile": "yarn install && bun install --config=./bunfig.update-lockfile.toml", "install:yarn:frozen-lockfile": "echo Deprecated - use install:frozen && yarn install --frozen-lockfile", "install:frozen": "yarn install --frozen-lockfile", "audit": "bun audit --ignore=GHSA-3ppc-4f35-3m26 --ignore=GHSA-7r86-cg39-jmmj --ignore=GHSA-23c5-xmqv-rm74 --ignore=GHSA-c2c7-rcm5-vvqj --ignore=GHSA-mp2f-45pm-3cg9", "preinstall": "node preinstall.js", "start": "yarn run dev", "test": "yarn run test:unit", "test:data": "git submodule update --init -f testdata", "test-watch": "jest --collectCoverage --watchAll", "test:unit": "jest --collectCoverage", "test:unit:ci": "lerna run test:unit:ci --parallel --stream", "test:e2e": "lerna run test:e2e --stream", "test:e2e:coverage": "nyc --reporter=html yarn run test:e2e:ci", "test:e2e:ci": "cross-env TEST_ENV=true npx playwright test", "test:e2e:ui": "cross-env TEST_ENV=true npx playwright test --ui", "test:e2e:reporter": "cross-env TEST_ENV=true npx playwright test --reporter=html", "test:e2e:update": "cross-env TEST_ENV=true npx playwright test --reporter=html --update-snapshots -g shouldUpdateThis", "test:e2e:update:debug": "cross-env TEST_ENV=true npx playwright test -g @debug --reporter=html --update-snapshots -g shouldUpdateThis", "test:e2e:headed": "cross-env TEST_ENV=true npx playwright test --headed", "test:e2e:debug": "cross-env TEST_ENV=true npx playwright test --debug", "test:e2e:dist": "lerna run test:e2e:dist --stream", "test:e2e:serve": "yarn test:data && lerna run test:e2e:serve --stream", "see-changed": "lerna changed", "docs:preview": "lerna run docs:preview --stream", "docs:publish": "chmod +x ./build-and-publish-docs.sh && ./build-and-publish-docs.sh", "release": "yarn run lerna:version && yarn run lerna:publish", "lerna:clean": "lerna clean", "lerna:cache": "./netlify-lerna-cache.sh", "lerna:restore": "./netlify-lerna-restore.sh", "lerna:customVersion": "node version.mjs", "link-list": "npm ls --depth=0 --link=true" }, "dependencies": { "execa": "8.0.1" }, "optionalDependencies": { "@percy/cypress": "3.1.6", "@playwright/test": "1.56.1" }, "devDependencies": { "@babel/core": "7.28.0", "@babel/plugin-syntax-dynamic-import": "7.8.3", "@babel/plugin-transform-arrow-functions": "7.27.1", "@babel/plugin-transform-class-properties": "7.27.1", "@babel/plugin-transform-for-of": "7.27.1", "@babel/plugin-transform-object-rest-spread": "7.28.0", "@babel/plugin-transform-private-methods": "7.27.1", "@babel/plugin-transform-private-property-in-object": "7.27.1", "@babel/plugin-transform-regenerator": "7.28.1", "@babel/plugin-transform-runtime": "7.28.0", "@babel/plugin-transform-typescript": "7.28.0", "@babel/preset-env": "7.29.5", "@babel/preset-react": "7.27.1", "@babel/preset-typescript": "7.27.1", "@istanbuljs/nyc-config-typescript": "1.0.2", "@pmmmwh/react-refresh-webpack-plugin": "0.5.17", "babel-loader": "8.4.1", "babel-plugin-istanbul": "7.0.1", "babel-plugin-transform-import-meta": "2.3.3", "cross-env": "7.0.3", "css-loader": "6.11.0", "cypress": "14.5.2", "cypress-file-upload": "5.0.8", "file-loader": "6.2.0", "nyc": "17.1.0", "playwright-test-coverage": "1.2.12", "postcss-loader": "6.2.1", "prettier": "3.6.2", "prettier-plugin-tailwindcss": "0.6.9", "shader-loader": "1.3.1", "source-map-support": "0.5.21", "style-loader": "1.3.0", "terser-webpack-plugin": "5.3.14", "ts-node": "10.9.2", "worker-loader": "3.0.8" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "src/**/*.{js,json,css}": [ "prettier --write", "git add" ] }, "resolutions": { "commander": "8.3.0", "cross-env": "7.0.3", "cross-spawn": "7.0.6", "dcmjs": "0.49.4", "path-to-regexp": "0.1.13", "nth-check": "2.1.1", "trim-newlines": "5.0.0", "glob-parent": "6.0.2", "trim": "1.0.1", "package-json": "8.1.1", "rollup": "2.80.0", "body-parser": "1.20.3", "axios": "1.17.0", "core-js": "3.45.1", "@babel/runtime-corejs2": "7.26.10", "tapable": "2.2.2", "@cornerstonejs/codec-openjpeg": "1.3.0", "node-forge": "1.4.0", "qs": "6.14.1", "lodash": "4.18.1", "lodash-es": "4.18.1", "diff": "5.2.2", "webpack": "5.105.0", "tar": "7.5.11", "serialize-javascript": "7.0.4", "svgo": "3.3.3", "flatted": "3.4.2", "handlebars": "4.7.9", "protobufjs": "7.6.1", "@babel/plugin-transform-modules-systemjs": "7.29.4", "tmp": "0.2.7", "form-data": "4.0.6", "ws": "8.21.0", "shell-quote": "1.8.4", "sigstore": "4.1.1" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" }