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:
parent
ba17005b30
commit
b15ae972ca
@ -16,7 +16,7 @@
|
|||||||
- Ключи API — в настройках плагина (`data.json`), в git не попадают.
|
- Ключи 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 test` — vitest, вся папка `tests/`. Зелёным считается весь набор.
|
||||||
- `npm run build` — продакшн-сборка `main.js`.
|
- `npm run build` — продакшн-сборка `main.js`.
|
||||||
- `npm run typecheck` — два прохода: весь проект с Node-типами и `src/core` через `tsconfig.core.json` без Node-типов (`process`, `Buffer` в core — ошибка компиляции).
|
- `npm run typecheck` — два прохода: весь проект с Node-типами и `src/core` через `tsconfig.core.json` без Node-типов (`process`, `Buffer` в core — ошибка компиляции).
|
||||||
|
|||||||
@ -4,13 +4,19 @@ import { builtinModules } from 'node:module';
|
|||||||
import process from 'node:process';
|
import process from 'node:process';
|
||||||
|
|
||||||
const prod = process.argv[2] === 'production';
|
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`;
|
const PLUGIN_DIR = `${VAULT}/.obsidian/plugins/voice-note`;
|
||||||
|
|
||||||
// В dev-режиме после каждой сборки копируем плагин в тестовый vault, если он есть на этой машине.
|
// В dev-режиме после каждой сборки копируем плагин в тестовый vault, если он есть на этой машине.
|
||||||
const copyToVault = {
|
const copyToVault = {
|
||||||
name: 'copy-to-vault',
|
name: 'copy-to-vault',
|
||||||
setup(build) {
|
setup(build) {
|
||||||
|
build.onStart(() => {
|
||||||
|
if (!existsSync(VAULT)) console.warn(`[copy-to-vault] vault не найден, копирование пропущено: ${VAULT}. Задайте VOICE_NOTE_VAULT.`);
|
||||||
|
});
|
||||||
build.onEnd((result) => {
|
build.onEnd((result) => {
|
||||||
if (result.errors.length > 0 || !existsSync(VAULT)) return;
|
if (result.errors.length > 0 || !existsSync(VAULT)) return;
|
||||||
mkdirSync(PLUGIN_DIR, { recursive: true });
|
mkdirSync(PLUGIN_DIR, { recursive: true });
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user