fix: switch to esbuild bundling — single main.js at plugin root
The root cause: Obsidian's plugin loader expects main.js at the plugin root alongside manifest.json. The previous 'dist/' output + shim approach caused 'Cannot find module ./dist/main.js' because dist/ was either missing or not resolved correctly in Obsidian's module loader. Changes: - build: use esbuild to bundle all source into a single main.js (61KB) tsc --noEmit for type checking; esbuild for the actual bundle - main.js: no longer a shim — it's the fully bundled plugin - package.json: added esbuild as devDependency; obsidian moved to devDeps - install.sh: remove dist/ copy step, add cleanup of old dist/ from vault - README.md: updated manual install steps to reflect bundling
This commit is contained in:
@@ -66,11 +66,12 @@ Then copy the plugin into your vault:
|
||||
mkdir -p /path/to/vault/.obsidian/plugins/ollama-plugin
|
||||
cp manifest.json /path/to/vault/.obsidian/plugins/ollama-plugin/
|
||||
cp main.js /path/to/vault/.obsidian/plugins/ollama-plugin/
|
||||
cp -r dist /path/to/vault/.obsidian/plugins/ollama-plugin/
|
||||
# Remove old dist/ from previous installs (no longer needed with bundling)
|
||||
rm -rf /path/to/vault/.obsidian/plugins/ollama-plugin/dist
|
||||
cp -r node_modules/chromadb /path/to/vault/.obsidian/plugins/ollama-plugin/node_modules/ # optional: only needed for semantic cache
|
||||
```
|
||||
|
||||
> **Note:** The `obsidian` npm package is a dev-only type stub — Obsidian provides its own API at runtime. The `chromadb` package is only needed if you enable the semantic cache feature.
|
||||
> **Note:** The plugin is now bundled into a single `main.js` via esbuild. The `obsidian` npm package is a dev-only type stub — Obsidian provides its own API at runtime. The `chromadb` package is only needed if you enable the semantic cache feature.
|
||||
|
||||
### After installation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user