526f54a640
- Fix RangeSetBuilder ordering crash: inline and fenced-block decorations
are now merged and sorted before being added, instead of two unsorted
passes (crashed whenever a fenced block preceded inline code in a note).
- Add explicit @codemirror/state and @codemirror/view devDependencies
(previously only transitive via @codemirror/language).
- Add Reading View support for inline `date-calc:` spans via
registerMarkdownPostProcessor (previously Live Preview only), mirroring
the approach used by Dataview's inline queries.
- Fix verbose=false being silently truthy (non-empty string) in inline
key=value config, which meant it never actually disabled verbose output.
- Fix diff type auto-inference: from/to was dead code (countdown's check
always matched first); reordered so from+to or start+end infer diff.
- Implement documented but missing birthday label support: cfg.label,
falling back to frontmatter name ("Jane's age:"), then "Age:".
- Split main.ts (777 lines) into src/ modules per AGENTS.md conventions.
- Fix duplicated command-palette prefixes, move inline JS styles to
styles.css, fix package.json author, drop orphaned showArrow setting.
Verified: unit tests against the real bundled logic (mocked obsidian
module), a reproduction of the RangeSetBuilder crash against the real
@codemirror/state package, and live end-to-end testing in Obsidian via
CDP/Playwright (Tchernobyl vault).
29 lines
874 B
JSON
29 lines
874 B
JSON
{
|
|
"name": "date-calculator",
|
|
"version": "1.1.0",
|
|
"description": "Calculate ages, countdowns, and date differences dynamically in your notes using inline code or fenced blocks.",
|
|
"main": "main.js",
|
|
"scripts": {
|
|
"dev": "node esbuild.config.mjs",
|
|
"build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production",
|
|
"version": "node version-bump.mjs && git add manifest.json versions.json"
|
|
},
|
|
"keywords": [],
|
|
"author": "Olivier Legendre",
|
|
"license": "MIT",
|
|
"devDependencies": {
|
|
"@codemirror/language": "^6.12.1",
|
|
"@codemirror/state": "^6.5.2",
|
|
"@codemirror/view": "^6.38.2",
|
|
"@lezer/common": "^1.5.0",
|
|
"@types/node": "^16.11.6",
|
|
"@typescript-eslint/eslint-plugin": "5.29.0",
|
|
"@typescript-eslint/parser": "5.29.0",
|
|
"builtin-modules": "3.3.0",
|
|
"esbuild": "0.17.3",
|
|
"obsidian": "latest",
|
|
"tslib": "2.4.0",
|
|
"typescript": "4.7.4"
|
|
}
|
|
}
|