mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
- .githooks/pre-push + scripts/pre-push-gate.mjs --hook: gate:small runs by default for issue/* branches with an executable diff; C/D-only diffs and non-issue refs are skipped, HP_PREPUSH_GATE=0 turns it off, =1 forces it. A non-HEAD push with an executable diff is rejected (the gate checks the working tree). The gate runs with every GIT_* variable removed: git gives hooks GIT_DIR (and GIT_CONFIG_PARAMETERS with the pusher's -c), and unit tests that `git init` temporary repositories otherwise write into the real one — seen on the first live run. The manual #343 mode is unchanged. - scripts/sandbox-bootstrap.sh: idempotent worktree / deps / chromium (npm @sparticuz/chromium@152.0.0 + Playwright shims) / bundle / check steps, no owner paths or credentials. - scripts/test-chunk.mjs, npm run test:chunk -- N/M: round-robin over test/*.test.mjs sorted by code point. - Tests, seven mutants, docs/DEVELOPMENT.md «Локальный контур за 5 минут», docs/TESTING.md. package.json changed → bundle rebuilt (fingerprint input). Issue: #633 User-Visible: no
76 lines
4.0 KiB
JSON
Executable File
76 lines
4.0 KiB
JSON
Executable File
{
|
|
"name": "houseplan-card",
|
|
"version": "1.78.0-beta.1",
|
|
"description": "Interactive house plan Lovelace card for Home Assistant",
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "tsc --noEmit && rollup -c",
|
|
"watch": "rollup -c --watch",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node --test test/*.test.mjs",
|
|
"benchmark:wall-model": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node scripts/benchmark-wall-segment-model.mjs",
|
|
"bundle:sync": "npm run build && node scripts/bundle-sync.mjs",
|
|
"gate:small": "node scripts/gate-small.mjs",
|
|
"test:chunk": "node scripts/test-chunk.mjs",
|
|
"toolchain:check": "node scripts/toolchain-pins.mjs --check",
|
|
"bundle:budget": "node scripts/bundle-budget.mjs",
|
|
"lint:unused": "node scripts/unused-locals-gate.mjs",
|
|
"invariants": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node scripts/model-invariants.mjs",
|
|
"docs:capture": "node scripts/assert-capture-env.mjs docs && npm run build && node demo/docs/capture.mjs",
|
|
"docs:accept": "node scripts/docs-accept.mjs",
|
|
"smokes:select": "node scripts/smoke-select.mjs",
|
|
"inventory": "node scripts/inventory.mjs",
|
|
"audit:config": "node scripts/config-audit.mjs",
|
|
"benchmark:large-house": "node demo/benchmark_large_house.mjs",
|
|
"benchmark:large-house-isometric": "node demo/benchmark_large_house.mjs --profile=large-house-isometric-v1",
|
|
"benchmark:isometric-stage3-dense": "node demo/benchmark_large_house.mjs --profile=isometric-stage3-dense-v1",
|
|
"benchmark:large-house-plan-snap": "node demo/benchmark_large_house.mjs --profile=large-house-plan-snap-v1",
|
|
"benchmark:large-house-interaction": "node demo/benchmark_large_house.mjs --profile=large-house-interaction-v1",
|
|
"benchmark:glow": "node demo/benchmark_glow.mjs",
|
|
"benchmark:compare": "node demo/performance/compare.mjs",
|
|
"benchmark:optimize-geometry-preflight": "node demo/benchmark_optimize_geometry_preflight.mjs",
|
|
"benchmark:coincident-partitions": "node demo/benchmark_coincident_partitions.mjs",
|
|
"benchmark:safe-resize": "node demo/benchmark_safe_resize.mjs",
|
|
"benchmark:safe-resize-render": "node demo/benchmark_safe_resize_render.mjs",
|
|
"benchmark:wall-union-isolation": "node demo/benchmark_wall_union_isolation.mjs",
|
|
"golden:capture": "node demo/golden/run.mjs --mode=capture",
|
|
"golden:verify": "node demo/golden/run.mjs --mode=verify",
|
|
"golden:wsl:capture": "node scripts/golden-wsl-artifact.mjs",
|
|
"continuity:screencast": "node demo/screencast_visual_continuity.mjs",
|
|
"golden:accept": "node demo/golden/accept.mjs",
|
|
"release:check": "node scripts/release-prerelease.mjs --check",
|
|
"release:prerelease": "node scripts/release-prerelease.mjs",
|
|
"release:notes": "node scripts/release-notes.mjs",
|
|
"prepare": "node scripts/install-hooks.mjs",
|
|
"benchmark:junction-limits": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node demo/benchmark_junction_limits.mjs",
|
|
"benchmark:wall-draw-click": "node demo/benchmark_wall_draw_click.mjs",
|
|
"benchmark:zigbee-topology": "tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs && node demo/benchmark_zigbee_topology.mjs",
|
|
"furniture:generate": "node scripts/generate-furniture-assets.mjs",
|
|
"furniture:check": "node scripts/generate-furniture-assets.mjs --check",
|
|
"pdf-font:generate": "node scripts/generate-pdf-font.mjs",
|
|
"pdf-font:check": "node scripts/generate-pdf-font.mjs --check"
|
|
},
|
|
"devDependencies": {
|
|
"@mdi/js": "^7.4.47",
|
|
"@rollup/plugin-json": "^6.1.0",
|
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
"@rollup/plugin-terser": "^0.4.4",
|
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
"opentype.js": "^1.3.4",
|
|
"pdfjs-dist": "^6.3.289",
|
|
"playwright": "^1.62.0",
|
|
"rollup": "^4.18.0",
|
|
"subset-font": "^2.7.0",
|
|
"tslib": "^2.6.2",
|
|
"typescript": "^5.4.5"
|
|
},
|
|
"dependencies": {
|
|
"lit": "^3.1.3",
|
|
"polyclip-ts": "^0.16.8"
|
|
},
|
|
"overrides": {
|
|
"serialize-javascript": "^7.0.5"
|
|
}
|
|
}
|