psslides/package.json
navi 799921e213 feat: presentation runtime with lifecycle states and :thisSlide
- src/slides/compile.ts compiles a project into runtime-ready slides.
  :thisSlide is resolved to each slide's own selector before Less runs,
  so output is deterministic and never depends on which slide is visible.
- src/slides/runtime.ts mounts every slide once and moves them through
  idle -> entering -> current -> leaving via a data-ps-state attribute;
  CSS owns the animation, JS only owns the lifecycle. Rapid input
  coalesces into a single settle instead of a queue of stale operations.
  Arrow/space/Home/End keys, plus history integration: back/forward step
  through slides and a reload restores the slide you were on.
- The editor gained two buffers: HTML slides and the project Less. The
  preview and the presentation are the same runtime (present = fullscreen
  of the same stage), and broken Less keeps the last good preview while
  reporting the error.

Adds `less` (the authoring language) and `@types/less`.
2026-09-27 21:22:04 +02:00

27 lines
668 B
JSON

{
"name": "psslides",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"lint": "oxlint",
"lint:fix": "oxlint --fix",
"format": "prettier --write .",
"format:check": "prettier --check .",
"preview": "vite preview"
},
"devDependencies": {
"@types/less": "^3.0.8",
"oxlint": "^1.85.0",
"prettier": "^3.9.9",
"typescript": "~6.0.2",
"vite": "^8.3.0"
},
"dependencies": {
"emmet-monaco-es": "^5.7.0",
"less": "^4.9.1",
"monaco-editor": "0.55.1"
}
}