forked from schrodinger/pymol-open-source
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
67 lines (67 loc) · 4.49 KB
/
Copy pathpackage.json
File metadata and controls
67 lines (67 loc) · 4.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
"name": "tenmol",
"version": "0.0.0",
"private": true,
"type": "module",
"description": "React web front-end for the PyMOL engine in this repository (monorepo root).",
"packageManager": "pnpm@9.15.4",
"engines": {
"node": ">=22",
"pnpm": ">=9"
},
"scripts": {
"bootstrap": "bash scripts/bootstrap.sh",
"doctor": "node scripts/doctor.mjs",
"preflight": "node scripts/doctor.mjs",
"dev": "concurrently --kill-others --names bridge,web --prefix-colors cyan,green \"pnpm run dev:bridge\" \"pnpm run dev:web\"",
"dev:bridge": "bash scripts/dev-bridge.sh",
"dev:web": "pnpm --filter @tenmol/web dev",
"build": "pnpm -r run build",
"typecheck": "pnpm -r run typecheck",
"test": "vitest run --passWithNoTests",
"//test:ci": "CI gate. `pnpm test` alone exits 0 when the include glob matches nothing; this asserts the suite actually ran. See scripts/test-floor.mjs.",
"test:ci": "node scripts/test-floor.mjs",
"test:watch": "vitest",
"test:bridge": "bash -c 'if [ -d packages/bridge/tests ]; then bash scripts/dev-bridge.sh --exec python -m pytest packages/bridge/tests -q; else echo \"no packages/bridge/tests yet (WP-02 owns them) - skipping\"; fi'",
"//lint": "--max-warnings 0: no-unused-vars, consistent-type-imports and no-explicit-any are all `warn`, so without this a warning count can grow without limit and CI never notices.",
"lint": "eslint . --max-warnings 0",
"lint:fix": "eslint . --fix",
"ownership": "node scripts/ownership.mjs",
"//coverage": "The command/rep-coverage scoreboard and ratchet. Prints the backlog burndown (real vs. total PyMOL cmd symbols, reps built); `--write` regenerates docs/parity-dashboard.md. See scripts/coverage.mjs and packages/engine-ts/test/coverage.test.ts.",
"coverage": "node scripts/coverage.mjs",
"parity": "node scripts/parity.mjs",
"//parity:visual": "The visual renderer-parity scoreboard + ratchet. Scores committed goldens vs PyMOL refs (browser-free, deterministic) into docs/screenshots/visual/scoreboard.{json,md}; `--check` fails if the mean regressed below the committed baseline. See scripts/parity-visual.mjs; view scenes with `pnpm exec node apps/web/e2e/gallery.mjs`.",
"parity:visual": "node scripts/parity-visual.mjs",
"//parity:engine": "The engine-parity gate: differential equivalence of the TypeScript engine vs. golden snapshots (and vs. real PyMOL with --remote). See scripts/parity-engine.mjs and tools/parity.",
"parity:engine": "node scripts/parity-engine.mjs",
"docs:dev": "cd docs && npx -y mint@4.2.778 dev",
"docs:broken-links": "cd docs && npx -y mint@4.2.778 broken-links",
"docs:api": "node tools/gen-api/emit-docs.mjs",
"//docs:api:check": "CI gate. Regenerate the MDX API reference from the committed api-schema.json and fail if the committed pages drifted -- same discipline as the committed TypeScript in packages/protocol/src/generated/.",
"docs:api:check": "node tools/gen-api/emit-docs.mjs && git diff --exit-code docs/api-reference",
"//docs:coverage": "The doc-coverage ratchet. Prints a scoreboard; pass --max-undocumented N to gate. See scripts/doc-coverage.mjs.",
"docs:coverage": "node scripts/doc-coverage.mjs",
"docs:lint:py": "ruff check --select D2,D4 packages/bridge",
"format": "prettier --write --ignore-unknown package.json tsconfig.base.json eslint.config.js .prettierrc pnpm-workspace.yaml vitest.workspace.ts \"scripts/*.mjs\" \"apps/**/*\" \"packages/**/*\" docs/README.md \"!**/dist/**\" \"!**/generated/**\" \"!**/node_modules/**\"",
"format:check": "prettier --check --ignore-unknown package.json tsconfig.base.json eslint.config.js .prettierrc pnpm-workspace.yaml vitest.workspace.ts \"scripts/*.mjs\" \"apps/**/*\" \"packages/**/*\" docs/README.md \"!**/dist/**\" \"!**/generated/**\" \"!**/node_modules/**\"",
"clean": "rm -rf .turbo *.tsbuildinfo apps/*/dist apps/*/.turbo apps/*/*.tsbuildinfo apps/*/node_modules packages/*/dist packages/*/.turbo packages/*/*.tsbuildinfo packages/*/node_modules node_modules"
},
"devDependencies": {
"@eslint/js": "^9.39.4",
"@types/node": "^22.20.1",
"concurrently": "^9.2.4",
"eslint": "^9.39.4",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-jsdoc": "^50.6.9",
"globals": "^16.5.0",
"jsdom": "^25.0.1",
"pixelmatch": "^6.0.0",
"playwright-core": "^1.62.1",
"pngjs": "^7.0.0",
"@types/pngjs": "^6.0.5",
"prettier": "^3.9.6",
"typescript": "^5.9.3",
"typescript-eslint": "^8.65.0",
"vitest": "catalog:"
}
}