The new `install-plugin` script automates plugin installation to Obsidian vaults
with support for both vault paths and direct plugin directory targets. It
includes options for skipping builds and dry runs.
Documentation in IMPLEMENTATION.md now includes usage examples for the new
installation method alongside the existing manual installation instructions.
The test runner bundles TypeScript tests with esbuild and executes them using Node's built-in test runner. Tests cover
document downloader behavior, path utilities, rmapi bridge configuration, style refinement, and ZIP file handling. Mock
implementations for Obsidian plugin interfaces enable isolated unit testing.
- Use Node filesystem APIs instead of shell commands for temp cleanup
- Add absolute path helpers for cross-platform compatibility
- Generate both main.js and dist/main.js artifacts
- Improve error handling in document downloader
- Track additional document metadata in sync tracker
- Replace Unix-specific `find` with recursive directory traversal
The build system now generates two output files (main.js and dist/main.js) for
better compatibility with Obsidian's plugin loading. Path handling has been
centralized in new utilities to ensure cross-platform behavior, replacing shell
commands that had Windows compatibility issues.