fix: CRLF notes and configurable test vault path (#3) #8
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/3-crlf-vault-path"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #3.
Bounded-задача: дизайн согласован в чате, без OpenSpec change и плана.
Что сделано
src/core/note.ts) — заметки с CRLF больше не портятся. Раньше'---\r'не опознавался как граница frontmatter:readVoiceFieldsвозвращал{}, аpatchFrontmatterдописывал второй блок---поверх существующего, и запись выпадала из очереди. Теперь строки делятся по\r?\n, аpatchFrontmatterиrenderNoteпишут в стиле переводов строк самой заметки (область статуса и транскрипт тоже). Для LF-заметок вывод не изменился байт в байт. Смешанный файл приводится к CRLF.esbuild.config.mjs,CLAUDE.md) — путь к тестовому vault берётся изVOICE_NOTE_VAULT, по умолчанию прежний. Если vault не найден, dev-сборка предупреждает об этом, а не пропускает копирование молча.Пункты T1.1 и O-2 этой issue закрыты раньше в PR #4 (
aecab76).Проверка
tests/note-frontmatter.test.tsиtests/note-body.test.ts. До правки падали 8 из них, тест «no-op when already inserted» проходил и раньше.npm testс пустым ключом: 252 passed | 1 skipped.npm run typecheck— чисто.npm run build— exit 0.VOICE_NOTE_VAULT=<временная папка> npm run devкопируетmain.jsиmanifest.jsonв<папка>/.obsidian/plugins/voice-note/.VOICE_NOTE_VAULT=/nonexistent/vault npm run devвыводит[copy-to-vault] vault не найден…, сборка проходит.Rulings I made
\r\n. Так проще, чем сохранять перевод строки построчно, а Obsidian читает оба варианта.Находки
note.tsне обрабатывает CRLFba17005esbuild.config.mjsb15ae97src/coreaecab76(PR #4)aecab76(PR #4)🤖 Generated with Claude Code