This is a fix to pnpm deployment which needs testing as the final part of origin/master release No functional changes * fix(docs): remove stray tool-call tags breaking the MDX build platform/docs/docs/migration-guide/3p12-to-3p13/build-tooling.md ended with two orphan closing tags (leftover tool-call serialization artifacts): </content> </invoke> Docusaurus compiles Markdown as MDX (JSX-aware), so the orphan closing tag failed the docs build: MDX compilation failed ... Unexpected closing slash in tag, expected an open tag first (build-tooling.md line 402) This was the remaining blocker for build-and-deploy-docs once the --no-frozen-lockfile change let the install step succeed. A scan of the docs tree found no other such artifacts. Verified locally: docusaurus build now generates static files with no MDX errors. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Update lockfile and avoid freshness check on every command * fix(release): keep workspace:* in the repo, concretize only at publish The release flow rewrote internal @ohif/* dependency specifiers to the concrete version and committed them, so pnpm-lock.yaml (which records workspace links) drifted from the manifests on every version bump. The resulting ERR_PNPM_OUTDATED_LOCKFILE broke every frozen install: Netlify (viewer-dev), the docs deploy, pnpm's pre-run deps check, and post-merge installs. Keep workspace:* everywhere in the committed repo and move the concrete-version substitution to publish time only: - publish-version.mjs: bump each package's own `version` field only; stop rewriting @ohif/* dependency/peerDependency specifiers. - publish-package.mjs: publish with `pnpm publish --no-git-checks` instead of `npm publish`. pnpm rewrites workspace:* to the exact version in the published tarball; npm would publish the literal "workspace:*", which npm/yarn consumers cannot resolve. - One-time: revert the 25 workspace manifests' @ohif/* specifiers to workspace:* (version fields untouched) and regenerate pnpm-lock.yaml to match. Because internal deps are workspace:* (links, not versions in the lockfile), version bumps no longer change pnpm-lock.yaml, so it stays in sync and frozen installs keep working. Verified: `pnpm install --frozen-lockfile` passes, and `pnpm pack` of @ohif/core emits a tarball whose @ohif/ui dependency is the exact version (3.13.0-beta.92), not workspace:*. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(ci): correct build-docs install comment for workspace:* release flow publish-version.mjs no longer rewrites @ohif/* deps to concrete versions, so the old comment was stale. Internal deps stay workspace:* and the lockfile stays consistent; pnpm publish concretizes only the published tarball. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ci(docs): use --frozen-lockfile now that the lockfile no longer drifts With internal deps as workspace:* the lockfile stays in sync across version bumps, so the docs deploy can install frozen -- failing fast on genuine lockfile drift instead of silently reconciling. The --no-frozen-lockfile workaround is no longer needed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ci: use --frozen-lockfile in CI install steps now that the lockfile is stable Internal @ohif/* deps are workspace:* so pnpm-lock.yaml no longer drifts; the UNIT_TESTS/BUILD/NPM_PUBLISH installs can run frozen and fail fast on genuine drift. Kept --no-frozen-lockfile only where it is still required: the Dockerfile (platform/docs is excluded from the build context) and the playwright CS3D-version step (mutates @cornerstonejs versions before installing). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * test: stability of seg load mpr test * Better drag fix for crosshairs --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
108 lines
4.8 KiB
JSON
108 lines
4.8 KiB
JSON
{
|
|
"name": "@ohif/app",
|
|
"version": "3.13.0-beta.92",
|
|
"productVersion": "3.4.0",
|
|
"description": "OHIF Viewer",
|
|
"author": "OHIF Contributors",
|
|
"license": "MIT",
|
|
"repository": "OHIF/Viewers",
|
|
"main": "dist/index.umd.js",
|
|
"module": "src/index.js",
|
|
"engines": {
|
|
"node": ">=24"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"README.md"
|
|
],
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"scripts": {
|
|
"build:viewer": "cross-env NODE_ENV=production pnpm run build",
|
|
"build:dev": "cross-env NODE_ENV=development pnpm run build",
|
|
"build:aws": "cross-env NODE_ENV=development APP_CONFIG=config/aws_static.js pnpm run build && gzip -9 -r dist",
|
|
"version:update": "cd ../.. && node ./version.mjs && cd platform/app",
|
|
"build:viewer:ci": "pnpm run version:update && cross-env NODE_ENV=production PUBLIC_URL=/ APP_CONFIG=config/netlify.js QUICK_BUILD=false pnpm run build",
|
|
"build:viewer:qa": "cross-env NODE_ENV=production APP_CONFIG=config/google.js pnpm run build",
|
|
"build:viewer:demo": "cross-env NODE_ENV=production APP_CONFIG=config/demo.js HTML_TEMPLATE=rollbar.html QUICK_BUILD=false pnpm run build",
|
|
"build": "cross-env NODE_OPTIONS=--max-old-space-size=24576 rspack build --config .webpack/webpack.pwa.js",
|
|
"clean": "shx rm -rf dist",
|
|
"clean:deep": "pnpm run clean && shx rm -rf node_modules",
|
|
"dev:fast": "cross-env NODE_OPTIONS=--max-old-space-size=16384 rsbuild dev --config ../../rsbuild.config.ts",
|
|
"dev": "cross-env NODE_ENV=development rspack serve --config .webpack/webpack.pwa.js",
|
|
"dev:no:cache": "cross-env NODE_ENV=development rspack serve --config .webpack/webpack.pwa.js",
|
|
"dev:orthanc": "cross-env NODE_ENV=development PROXY_TARGET=http://localhost:3000/pacs/dicom-web PROXY_DOMAIN=http://localhost:8042 PROXY_PATH_REWRITE_FROM=/pacs/dicom-web PROXY_PATH_REWRITE_TO=/dicom-web APP_CONFIG=config/docker-nginx-orthanc.js rspack serve --config .webpack/webpack.pwa.js",
|
|
"dev:orthanc:no:cache": "cross-env NODE_ENV=development PROXY_TARGET=http://localhost:3000/pacs/dicom-web PROXY_DOMAIN=http://localhost:8042 PROXY_PATH_REWRITE_FROM=/pacs/dicom-web PROXY_PATH_REWRITE_TO=/dicom-web APP_CONFIG=config/docker-nginx-orthanc.js rspack serve --config .webpack/webpack.pwa.js",
|
|
"dev:dcm4chee": "cross-env NODE_ENV=development APP_CONFIG=config/local_dcm4chee.js rspack serve --config .webpack/webpack.pwa.js",
|
|
"dev:static": "cross-env NODE_ENV=development APP_CONFIG=config/local_static.js rspack serve --config .webpack/webpack.pwa.js",
|
|
"dev:viewer": "pnpm run dev",
|
|
"start": "pnpm run dev",
|
|
"test:e2e": "cypress open",
|
|
"test:e2e:local": "cypress run --config video=false --browser chrome --spec 'cypress/integration/common/**/*,cypress/integration/pwa/**/*'",
|
|
"test:e2e:serve": "cross-env APP_CONFIG=config/e2e.js pnpm start",
|
|
"test:unit": "jest --watchAll",
|
|
"test:unit:ci": "jest --ci --runInBand --collectCoverage",
|
|
"ci:generateSuccessVersion": "node -p -e \"require('./package.json').version\" > success_version.txt"
|
|
},
|
|
"dependencies": {
|
|
"@babel/runtime": "7.29.7",
|
|
"@cornerstonejs/codec-charls": "1.2.3",
|
|
"@cornerstonejs/codec-libjpeg-turbo-8bit": "1.2.2",
|
|
"@cornerstonejs/codec-openjpeg": "1.3.0",
|
|
"@cornerstonejs/codec-openjph": "2.4.7",
|
|
"@cornerstonejs/dicom-image-loader": "5.0.2",
|
|
"@emotion/serialize": "1.3.3",
|
|
"@ohif/core": "workspace:*",
|
|
"@ohif/i18n": "workspace:*",
|
|
"@ohif/ui": "workspace:*",
|
|
"@ohif/ui-next": "workspace:*",
|
|
"@svgr/webpack": "8.1.0",
|
|
"@types/react": "18.3.23",
|
|
"classnames": "2.5.1",
|
|
"core-js": "3.45.1",
|
|
"cornerstone-math": "0.1.10",
|
|
"dcmjs": "0.49.4",
|
|
"detect-gpu": "4.0.50",
|
|
"dicom-parser": "1.8.21",
|
|
"file-loader": "6.2.0",
|
|
"hammerjs": "2.0.8",
|
|
"history": "5.3.0",
|
|
"i18next": "17.3.1",
|
|
"i18next-browser-languagedetector": "3.1.1",
|
|
"lodash.isequal": "4.5.0",
|
|
"oidc-client": "1.11.5",
|
|
"oidc-client-ts": "3.3.0",
|
|
"prop-types": "15.8.1",
|
|
"query-string": "6.14.1",
|
|
"react": "18.3.1",
|
|
"react-dom": "18.3.1",
|
|
"react-dropzone": "10.2.2",
|
|
"react-i18next": "12.3.1",
|
|
"react-resize-detector": "10.0.1",
|
|
"react-router": "6.30.3",
|
|
"react-router-dom": "6.30.3",
|
|
"react-shepherd": "6.1.1",
|
|
"shepherd.js": "13.0.3",
|
|
"url-loader": "4.1.1",
|
|
"zustand": "4.5.5"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/plugin-transform-private-methods": "7.29.7",
|
|
"@rspack/cli": "^2.0.0",
|
|
"@rspack/core": "^2.0.0",
|
|
"@rspack/dev-server": "^2.0.0",
|
|
"@rspack/plugin-react-refresh": "^2.0.0",
|
|
"@types/node": "20.19.9",
|
|
"cross-env": "7.0.3",
|
|
"cssnano": "5.1.15",
|
|
"identity-obj-proxy": "3.0.x",
|
|
"mini-css-extract-plugin": "2.9.2",
|
|
"postcss-import": "14.1.0",
|
|
"postcss-preset-env": "7.8.3",
|
|
"shx": "0.3.4",
|
|
"tailwindcss": "3.2.4"
|
|
},
|
|
"proxy": "http://localhost:8042"
|
|
}
|