build: test vault path from VOICE_NOTE_VAULT, warn when missing (M-3, #3)

Default stays the author's test vault. Without the vault the dev build used to skip copying silently; now it says so and names the variable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-10-10 19:23:01 +04:00
parent ba17005b30
commit b15ae972ca
2 changed files with 8 additions and 2 deletions

View File

@ -16,7 +16,7 @@
- Ключи API — в настройках плагина (`data.json`), в git не попадают.
## Команды
- `npm run dev` — сборка в watch-режиме в тестовый vault.
- `npm run dev` — сборка в watch-режиме в тестовый vault. Другой vault — через `VOICE_NOTE_VAULT=<путь> npm run dev`; если vault не найден, копирование пропускается с предупреждением.
- `npm test` — vitest, вся папка `tests/`. Зелёным считается весь набор.
- `npm run build` — продакшн-сборка `main.js`.
- `npm run typecheck` — два прохода: весь проект с Node-типами и `src/core` через `tsconfig.core.json` без Node-типов (`process`, `Buffer` в core — ошибка компиляции).

View File

@ -4,13 +4,19 @@ import { builtinModules } from 'node:module';
import process from 'node:process';
const prod = process.argv[2] === 'production';
const VAULT = '/Users/andrey.epifancev/Library/Mobile Documents/iCloud~md~obsidian/Documents/voice-note-test';
// Путь к тестовому vault: переменная окружения VOICE_NOTE_VAULT, иначе vault автора.
const VAULT =
process.env.VOICE_NOTE_VAULT ||
'/Users/andrey.epifancev/Library/Mobile Documents/iCloud~md~obsidian/Documents/voice-note-test';
const PLUGIN_DIR = `${VAULT}/.obsidian/plugins/voice-note`;
// В dev-режиме после каждой сборки копируем плагин в тестовый vault, если он есть на этой машине.
const copyToVault = {
name: 'copy-to-vault',
setup(build) {
build.onStart(() => {
if (!existsSync(VAULT)) console.warn(`[copy-to-vault] vault не найден, копирование пропущено: ${VAULT}. Задайте VOICE_NOTE_VAULT.`);
});
build.onEnd((result) => {
if (result.errors.length > 0 || !existsSync(VAULT)) return;
mkdirSync(PLUGIN_DIR, { recursive: true });