SDK экспортёра
Экспортёр — это набор чистых функций над DrawtonomySnapshot.
Добавление нового целевого формата самодостаточно: новый модуль,
несколько тестов и опциональный UI-хук.
Эта страница — быстрая ориентация. Полное руководство — архитектура, API, шаблоны тестирования, визуальные проверки esmini — в публичном репозитории:
➡ Exporter Developer Guide (日本語)
Быстрый старт
Заголовок раздела «Быстрый старт»git clone https://github.com/kosuke55/drawtonomy.gitcd drawtonomypnpm installcd packages/drawtonomy-sdkpnpm exec vitest exporter # режим watchМинимальный новый экспортёр
Заголовок раздела «Минимальный новый экспортёр»import type { DrawtonomySnapshot } from '../types'
export function exportToMyFormat(snapshot: DrawtonomySnapshot): string { // Обойдите фигуры, эмитируйте свой формат. return ''}import { describe, it, expect } from 'vitest'import { exportToMyFormat } from '../../src/exporter/my-format'import { createSnapshot, createLane } from '../../src/index'
describe('my-format exporter', () => { it('emits expected payload for a single lane', () => { const snapshot = createSnapshot([createLane(/* ... */)]) expect(exportToMyFormat(snapshot)).toContain('<expected/>') })})Используйте реальную сцену как фикстуру
Заголовок раздела «Используйте реальную сцену как фикстуру»Файлы drawtonomy.svg совершают обмен через SDK, поэтому можно
создать сцену в редакторе и использовать её как вход для
регрессионного теста:
import { readFileSync } from 'node:fs'import { parseDrawtonomySvg } from '@drawtonomy/sdk'
const svg = readFileSync('./fixtures/my-scene.drawtonomy.svg', 'utf-8')const snapshot = parseDrawtonomySvg(svg)!См. также
Заголовок раздела «См. также»- Архитектура экспортёра — пайплайн и почему он чистый.
- Обзор
@drawtonomy/sdk