콘텐츠로 이동

Exporter SDK

내보내기 도구는 DrawtonomySnapshot에 대한 순수 함수 모음입니다. 새 대상 형식을 추가하는 일은 자기완결적입니다 — 새 모듈 하나, 테스트 몇 개, 그리고 선택적인 UI 훅.

이 페이지는 빠른 안내서입니다. 아키텍처, API, 테스트 패턴, esmini 시각 검사를 포함한 전체 가이드는 공개 저장소에 있습니다.

Exporter Developer Guide (日本語)

Terminal window
git clone https://github.com/kosuke55/drawtonomy.git
cd drawtonomy
pnpm install
cd packages/drawtonomy-sdk
pnpm exec vitest exporter # watch 모드
packages/drawtonomy-sdk/src/exporter/my-format.ts
import type { DrawtonomySnapshot } from '../types'
export function exportToMyFormat(snapshot: DrawtonomySnapshot): string {
// 도형을 순회하며 형식을 생성합니다.
return ''
}
packages/drawtonomy-sdk/__tests__/exporter/my-format.test.ts
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)!