{
  "name": "@uibcdf/molsysviewer",
  "version": "0.20.0",
  "private": false,
  "repository": {
    "type": "git",
    "url": "https://github.com/uibcdf/molsysviewer",
    "directory": "molsysviewer/js"
  },
  "files": [
    "dist/*"
  ],
  "type": "module",
  "scripts": {
    "sync:pyversion": "node scripts/sync-python-version.mjs",
    "build:runtime": "node scripts/build-runtime.mjs",
    "build": "npm run sync:pyversion && npm run build:runtime",
    "build:test:js": "npx esbuild tests/unit/index.test.ts --bundle --platform=node --format=esm --outfile=tests/unit/dist-index.js",
    "test:js": "npm run build:test:js && node --test tests/unit/dist-index.js",
    "coverage:js": "npm run build:test:js && npx c8 --reporter=lcov --report-dir=coverage-js node --test tests/unit/dist-index.js",
    "test:perf": "npm run build:harness && npx esbuild tests/perf/message-toll.perf.ts tests/perf/dynamic-region-frame.perf.ts --bundle --platform=node --format=esm --outdir=tests/perf --external:playwright --external:chromium-bidi/* && node tests/perf/message-toll.perf.js && node tests/perf/dynamic-region-frame.perf.js",
    "bench:ownership": "npm run build:harness && npx esbuild tests/perf/exclusive-ownership.perf.ts --bundle --platform=node --format=esm --outfile=tests/perf/exclusive-ownership.perf.js --external:playwright --external:chromium-bidi/* && node tests/perf/exclusive-ownership.perf.js",
    "probe:ownership-picking": "npm run build:harness && npx esbuild tests/perf/exclusive-ownership-picking.probe.ts --bundle --platform=node --format=esm --outfile=tests/perf/exclusive-ownership-picking.probe.js --external:playwright --external:chromium-bidi/* && node tests/perf/exclusive-ownership-picking.probe.js",
    "probe:global-ownership-mask": "npm run build:harness && npx esbuild tests/perf/global-representation-ownership-mask.probe.ts --bundle --platform=node --format=esm --outfile=tests/perf/global-representation-ownership-mask.probe.js --external:playwright --external:chromium-bidi/* && node tests/perf/global-representation-ownership-mask.probe.js",
    "probe:per-atom-color-decorator": "npm run build:harness && npx esbuild tests/perf/per-atom-color-decorator.probe.ts --bundle --platform=node --format=esm --outfile=tests/perf/per-atom-color-decorator.probe.js --external:playwright --external:chromium-bidi/* && node tests/perf/per-atom-color-decorator.probe.js",
    "probe:region-order-ownership": "npm run build:harness && npx esbuild tests/perf/region-order-ownership.probe.ts --bundle --platform=node --format=esm --outfile=tests/perf/region-order-ownership.probe.js --external:playwright --external:chromium-bidi/* && node tests/perf/region-order-ownership.probe.js",
    "build:harness": "npx esbuild tests/e2e/harness.ts --bundle --format=iife --global-name=Harness --outfile=tests/e2e/harness.bundle.js",
    "build:e2e:environment": "npx esbuild tests/e2e/e2e-environment.probe.ts --bundle --platform=node --format=esm --outfile=tests/e2e/e2e-environment.probe.js --external:playwright --external:chromium-bidi/*",
    "build:e2e:all": "npx esbuild tests/e2e/e2e-runner.ts tests/e2e/annotations-interaction.e2e.ts tests/e2e/annotations-subpanel.e2e.ts tests/e2e/broken-anchors.e2e.ts tests/e2e/export-replay.e2e.ts tests/e2e/group-panel-interaction.e2e.ts tests/e2e/hierarchy-interaction.e2e.ts tests/e2e/history-coalescing.e2e.ts tests/e2e/measurements-interaction.e2e.ts tests/e2e/measures-subpanel.e2e.ts tests/e2e/range-selection.e2e.ts tests/e2e/region-hide.e2e.ts tests/e2e/region-subpanel.e2e.ts tests/e2e/selection-subpanel.e2e.ts tests/e2e/layers-subpanel.e2e.ts tests/e2e/shape-trajectory.e2e.ts tests/e2e/shapes-subpanel.e2e.ts tests/e2e/workflow-integration.e2e.ts tests/e2e/scientific-workflow.e2e.ts tests/e2e/scene-contracts.e2e.ts tests/e2e/scene-object-identity.e2e.ts tests/e2e/scene-object-panel-roundtrip.e2e.ts --bundle --platform=node --format=esm --outdir=tests/e2e --external:playwright --external:chromium-bidi/*",
    "test:e2e:annotations": "npm run build:harness && npx esbuild tests/e2e/annotations-interaction.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/annotations-interaction.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/annotations-interaction.e2e.js",
    "test:e2e:annotations-panel": "npm run build:harness && npx esbuild tests/e2e/annotations-subpanel.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/annotations-subpanel.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/annotations-subpanel.e2e.js",
    "test:e2e:export": "npm run build:harness && npx esbuild tests/e2e/export-replay.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/export-replay.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/export-replay.e2e.js",
    "test:e2e:group-panel": "npm run build:harness && npx esbuild tests/e2e/group-panel-interaction.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/group-panel-interaction.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/group-panel-interaction.e2e.js",
    "test:e2e:hierarchy": "npm run build:harness && npx esbuild tests/e2e/hierarchy-interaction.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/hierarchy-interaction.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/hierarchy-interaction.e2e.js",
    "test:e2e:measurements": "npm run build:harness && npx esbuild tests/e2e/measurements-interaction.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/measurements-interaction.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/measurements-interaction.e2e.js",
    "test:e2e:measures-panel": "npm run build:harness && npx esbuild tests/e2e/measures-subpanel.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/measures-subpanel.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/measures-subpanel.e2e.js",
    "test:e2e:range-selection": "npm run build:harness && npx esbuild tests/e2e/range-selection.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/range-selection.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/range-selection.e2e.js",
    "test:e2e:region-hide": "npm run build:harness && npx esbuild tests/e2e/region-hide.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/region-hide.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/region-hide.e2e.js",
    "test:e2e:regions": "npm run build:harness && npx esbuild tests/e2e/region-subpanel.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/region-subpanel.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/region-subpanel.e2e.js",
    "test:e2e:selection": "npm run build:harness && npx esbuild tests/e2e/selection-subpanel.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/selection-subpanel.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/selection-subpanel.e2e.js",
    "test:e2e:layers": "npm run build:harness && npx esbuild tests/e2e/layers-subpanel.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/layers-subpanel.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/layers-subpanel.e2e.js",
    "test:e2e:shapes": "npm run build:harness && npx esbuild tests/e2e/shape-trajectory.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/shape-trajectory.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/shape-trajectory.e2e.js",
    "test:e2e:shapes-panel": "npm run build:harness && npx esbuild tests/e2e/shapes-subpanel.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/shapes-subpanel.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/shapes-subpanel.e2e.js",
    "test:e2e:workflow": "npm run build:harness && npx esbuild tests/e2e/workflow-integration.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/workflow-integration.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/workflow-integration.e2e.js",
    "test:e2e:scientific": "npm run build:harness && npx esbuild tests/e2e/scientific-workflow.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/scientific-workflow.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/scientific-workflow.e2e.js",
    "test:e2e": "npm run test:e2e:all",
    "test:e2e:one": "npm run test:e2e:region-hide",
    "test:e2e:environment": "npm run build:e2e:environment && node tests/e2e/e2e-environment.probe.js",
    "test:e2e:all": "npm run build:harness && npm run build:e2e:all && node tests/e2e/e2e-runner.js",
    "test:e2e:scene-contracts": "npm run build:harness && npx esbuild tests/e2e/scene-contracts.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/scene-contracts.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/scene-contracts.e2e.js",
    "test:e2e:scene-object-identity": "npm run build:harness && npx esbuild tests/e2e/scene-object-identity.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/scene-object-identity.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/scene-object-identity.e2e.js",
    "test:e2e:scene-object-panel-roundtrip": "npm run build:harness && npx esbuild tests/e2e/scene-object-panel-roundtrip.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/scene-object-panel-roundtrip.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/scene-object-panel-roundtrip.e2e.js",
    "test:e2e:history-coalescing": "npm run build:harness && npx esbuild tests/e2e/history-coalescing.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/history-coalescing.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/history-coalescing.e2e.js",
    "test:e2e:broken-anchors": "npm run build:harness && npx esbuild tests/e2e/broken-anchors.e2e.ts --bundle --platform=node --format=esm --outfile=tests/e2e/broken-anchors.e2e.js --external:playwright --external:chromium-bidi/* && node tests/e2e/broken-anchors.e2e.js"
  },
  "dependencies": {
    "molstar": "^5.4.1"
  },
  "devDependencies": {
    "c8": "^10.1.3",
    "esbuild": "^0.27.0",
    "playwright": "^1.57.0",
    "typescript": "^5.6.0"
  },
  "pythonVersion": "0.20.0"
}
