leethobbit_obsidian-strong-.../package.json
Dan 20c0b49a77 Review fix pass: data-loss criticals, codec hardening, leak cleanup
Full senior-review sweep (all findings fixed, 530 tests green):

- Prep board: sync cached body after own section writes (typed scenes
  could vanish from the UI and then be erased from disk)
- Dashboard: pip toggle is now a read-modify-write against the note's
  current Fronts section, re-located by name (stale cache silently
  deleted fronts added on Foundation)
- CampaignStore: notify on body-only changes to managed notes (root
  cause under both criticals); self-write marks now outlive done() so
  the cache echo still reads as a self-write (in-flight counted)
- sections.ts: fence-aware parsing (fenced ## lines no longer corrupt
  managed writes); body-split tolerates BOM and empty frontmatter
- Frontmatter codecs: unknown-key passthrough on write (newer-version
  fields survive older-plugin writes), id-bearing secret rows survive
  empty text (tombstone resurrection), ledger/session-zero patches read
  current state inside processFrontMatter instead of metadataCache
- Monster builder: attack-count round-trip no longer corrupts damage at
  CR 1/8, 9, 16, 17; CR fractions render as 1/8-1/2; preview title live
- Wizard double-fire guard; loadIfDeferred in openView; starter/demo
  builders refuse re-runs; safer filenames (#^[], reserved names)
- Per-render listener scopes (RenderScopes) for header/rail, prep, run
  scenes/secrets, tables; popout-safe timers; toast/undo handle cleanup
- Log-row rollback on failed writes; 0x table weights round-trip;
  duplicate doom lines preserved; obsidian dep pinned to 1.13.1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 10:58:35 -04:00

33 lines
984 B
JSON

{
"name": "strong-start",
"version": "0.6.1",
"description": "Create, manage, and run TTRPG campaigns with Sly Flourish's eight steps of lazy RPG prep.",
"main": "main.js",
"type": "module",
"scripts": {
"dev": "node esbuild.config.mjs",
"build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production",
"typecheck": "tsc -noEmit -skipLibCheck",
"lint": "eslint src main.ts",
"test": "vitest run",
"test:watch": "vitest",
"version": "node version-bump.mjs && git add manifest.json versions.json",
"announce": "node scripts/gen-discord-announcement.mjs"
},
"keywords": [
"obsidian"
],
"author": "Daniel King",
"license": "MIT",
"devDependencies": {
"@types/node": "^20.11.0",
"esbuild": "^0.20.0",
"eslint": "^9.39.4",
"eslint-plugin-obsidianmd": "^0.3.0",
"obsidian": "1.13.1",
"tslib": "^2.6.2",
"typescript": "^5.4.0",
"typescript-eslint": "^8.62.0",
"vitest": "^1.4.0"
}
}