프로젝트 소개
Pts는 시각화와 크리에이티브 코딩을 목표로 하는 TypeScript 및 JavaScript 라이브러리입니다. 캔버스에서 드로잉과 애니메이션을 위한 프리미티브를 제공하며, 브라우저 스크립트와 npm 패키지 두 가지 형태로 배포됩니다.
사용 옵션
- 브라우저 스크립트: dist 디렉토리에서 pts.js 또는 pts.min.js를 다운로드하거나, cdnjs, jsDelivr, unpkg 같은 CDN에서 로드할 수 있습니다. 클래식 스크립트는 라이브러리를 globalThis.Pts로 노출합니다.
- 패키지: npm install pts로 설치합니다. 이 라이브러리는 ESM 우선이며 CommonJS 호환 진입점도 제공하므로, import { CanvasSpace, Group, Line, Pt } from "pts"로 가져오거나 require("pts")로 요구할 수 있습니다.
README에 나열된 스타터 프로젝트 및 통합 예시로는 pts-starter-kit, pts-react-example, react-pts-canvas npm 패키지가 있습니다. 가이드와 데모는 프로젝트 사이트에서 확인할 수 있습니다.
개발
유지 관리되는 빌드 환경은 Node 24 라인의 Node 24.18 이상이며, 게시된 라이브러리는 현재 Node 20 및 22 릴리스에서도 테스트됩니다. 설정은 pnpm install --frozen-lockfile, pnpm exec playwright install chromium, pnpm check를 사용합니다. 개별 명령에는 build, typecheck, test, test:browser, test:integrations, check:package, format, format:watch가 포함됩니다.
pnpm check 명령은 포맷팅, 린팅, 타입, 단위 테스트, 결정적 문서, 실제 브라우저에서의 문서 및 번들 동작, 재현 가능한 아티팩트, 패키징된 패키지, ESM 및 CommonJS 해석, 선언, 트리 셰이킹을 검증합니다. 패키징된 패키지 통합 스위트는 test/integrations 아래의 유지 관리되는 React, Vue, skia-canvas, 단일 파일 바닐라 픽스처를 빌드하고 실행합니다.
Prettier가 저장소 포맷팅 규칙을 정의합니다. pnpm format을 한 번 실행하거나 pnpm format:watch를 계속 실행하면 변경되는 유지 관리 소스 파일이 다시 포맷됩니다. 권장 VS Code 확장 및 작업 공간 설정은 저장 시 Prettier를 활성화하며, pnpm check는 CI에서 포맷되지 않은 변경 사항을 거부합니다.
문서 생성
문서 생성기는 TypeDoc의 Node API를 사용하여 명시적 소스 진입점에서 사용자 정의 정적 문서 JSON을 재구축합니다. 또한 문서 SPA를 탐색할 수 없는 에이전트 및 기타 클라이언트를 위해 docs.md, guide.md, llms.txt를 생성합니다. 생성된 문서는 체크인되며, pnpm check:docs는 이를 메모리에서 재생성하고 오래되었거나 추가된 파일을 보고하며, Chromium에서 탐색, 검색, 앵커, 반응형 레이아웃을 테스트합니다.
기여 및 라이선스
이슈와 소규모 풀 리퀘스트는 환영하며, 대규모 변경은 관리자와 논의 후 시작해야 합니다. 이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여되며, 저작권은 2017년부터 현재까지 William Ngan 및 기여자에게 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.