Keep build artifacts in dist

This commit is contained in:
shi.changliang 2026-06-04 14:20:14 +08:00
parent 65a13cebf2
commit b7da3ae957
5 changed files with 46 additions and 16 deletions

2
.gitignore vendored
View file

@ -1,6 +1,4 @@
node_modules/
dist/
/main.js
/styles.css
*.hot-update.*
.DS_Store

View file

@ -43,8 +43,32 @@ pnpm
构建产物:
```text
main.js
styles.css
dist/main.js
dist/main.css
```
安装到 Obsidian 时,需要复制:
```text
manifest.json
dist/main.js
dist/main.css
```
到目标 vault 的插件目录,并把 `dist/main.css` 放置为 Obsidian 识别的 `styles.css`
```text
<vault>/.obsidian/plugins/obsync/
manifest.json
main.js
styles.css
```
也可以使用安装脚本:
```bash
pnpm run build
pnpm install-plugin "/path/to/your-vault"
```
## 插件 ID

View file

@ -6,6 +6,7 @@
"scripts": {
"dev": "vite build --watch",
"build": "tsc --noEmit --skipLibCheck && vite build",
"install-plugin": "node scripts/install-plugin.mjs",
"test": "vitest run"
},
"keywords": [

View file

@ -0,0 +1,19 @@
import { copyFileSync, mkdirSync } from "node:fs";
import { join, resolve } from "node:path";
const vaultPath = process.argv[2];
if (!vaultPath) {
console.error("Usage: pnpm install-plugin <vault-path>");
process.exit(1);
}
const pluginDir = join(resolve(vaultPath), ".obsidian", "plugins", "obsync");
mkdirSync(pluginDir, { recursive: true });
copyFileSync("manifest.json", join(pluginDir, "manifest.json"));
copyFileSync("dist/main.js", join(pluginDir, "main.js"));
copyFileSync("dist/main.css", join(pluginDir, "styles.css"));
console.log(`Installed Obsync to ${pluginDir}`);

View file

@ -1,4 +1,3 @@
import { copyFileSync, existsSync } from "node:fs";
import { builtinModules } from "node:module";
import tailwindcss from "@tailwindcss/vite";
import vue from "@vitejs/plugin-vue";
@ -24,17 +23,6 @@ export default defineConfig({
plugins: [
vue(),
tailwindcss(),
{
name: "copy-obsidian-plugin-bundle",
closeBundle() {
if (existsSync("dist/main.js")) {
copyFileSync("dist/main.js", "main.js");
}
if (existsSync("dist/main.css")) {
copyFileSync("dist/main.css", "styles.css");
}
},
},
],
build: {
lib: {