타입 검사와 emit을 위한 TypeScript 7 컴파일러 및 언어 서버의 Rust 포팅 버전으로, 기존 제품을 그대로 대체해 사용할 수 있습니다.
johnsoncodehk/muggle-string
여러 작성자가 소스 텍스트를 수정하고, language-server span과 v3 source map을 통해 결과를 원본에 매핑하는 의존성 없는 TypeScript 라이브러리입니다.
- 스타
- 25
- 포크
- 2
- 열린 이슈
- 0
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
muggle-string은 여러 곳에서 동시에 소스 텍스트를 수정하고, 수정된 출력을 원본 소스에 매핑합니다. vuejs/language-tools에서 언어 서버가 사용할 수 있도록 Vue 단일 파일 컴포넌트를 TypeScript로 변환하기 위해 만들어졌습니다. 여러 플러그인이 같은 블록을 수정하면서도 hover, completion, rename 같은 에디터 기능을 유지해야 하는 상황을 위한 라이브러리입니다.
수정 내용은 작성자별 목록에 추가해 기록하고 렌더링할 때만 정렬하므로, 텍스트를 검색하거나 복사하지 않습니다. 작성자에는 같은 위치의 수정 순서를 정하는 rank가 있어, 호출 순서가 아니라 플러그인 순서에 따라 결과가 결정됩니다. 삭제는 서로 합쳐지며, cut을 사용하면 매핑을 유지한 채 범위를 출력의 다른 위치로 옮길 수 있습니다.
같은 렌더링 결과에서 language-server span(Verbatim 및 Atom)이나 v3 source map을 생성할 수 있습니다. 라이브러리는 ES modules만 제공하며 의존성이 없습니다.
핵심 기능
- 01여러 작성자가 같은 소스를 수정하며, 호출 순서가 아닌 rank에 따라 순서가 결정됩니다.
- 02삭제와 교체가 서로를 되돌리지 않고 합쳐집니다.
- 03cut 범위를 출력의 다른 위치로 옮길 수 있습니다.
- 04같은 조각을 사용해 language-server span이나 v3 source map을 렌더링합니다.
- 05TypeScript에서 사용할 수 있으며 런타임 의존성이 없습니다.
활용 사례
- 템플릿 기반 파일 형식에서 TypeScript를 생성하는 언어 서버 플러그인 개발
- 원본 위치 매핑을 유지하면서 템플릿 언어를 HTML로 컴파일
- 한 파일을 여러 차례 수정하는 코드 변환 도구의 source map 생성
포함된 컬렉션
토픽
자주 묻는 질문
- muggle-string은(는) 무엇인가요?
- 여러 작성자가 소스 텍스트를 수정하고, language-server span과 v3 source map을 통해 결과를 원본에 매핑하는 의존성 없는 TypeScript 라이브러리입니다. muggle-string은 여러 곳에서 동시에 소스 텍스트를 수정하고, 수정된 출력을 원본 소스에 매핑합니다. vuejs/language-tools에서 언어 서버가 사용할 수 있도록 Vue 단일 파일 컴포넌트를 TypeScript로 변환하기 위해 만들어졌습니다. 여러 플러그인이 같은 블록을 수정하면서도 hover, completion, rename 같은 에디터 기능을 유지해야 하는 상황을 위한 라이브러리입니다.
- muggle-string은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- muggle-string은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- muggle-string은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. muggle-string의 마지막 커밋은 2026년 11월 6일입니다.
- muggle-string은(는) 어디에 사용할 수 있나요?
- 템플릿 기반 파일 형식에서 TypeScript를 생성하는 언어 서버 플러그인 개발 원본 위치 매핑을 유지하면서 템플릿 언어를 HTML로 컴파일 한 파일을 여러 차례 수정하는 코드 변환 도구의 source map 생성
- muggle-string은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/johnsoncodehk/muggle-string
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
TypeScript 7 컴파일러(tsc)를 실험적으로 Rust로 포팅한 프로젝트로, 동일한 CLI·언어 서버·API와 기본 제공 Effect 진단 기능을 제공합니다.
ES6+ 코드를 파싱하고 이름을 맹글링 및 압축하는 JavaScript 툴킷으로, 최신 JavaScript를 최소화하기 위해 유지 관리되는 uglify-es 포크입니다.
여러 저장소의 소스 코드에 레시피를 적용해 프레임워크 마이그레이션과 보안 수정을 수행하는 오픈소스 자동 리팩터링 엔진입니다.
Volar.js 기반 Vue 언어 도구로, Vue 에디터 언어 서버와 vue-tsc 타입 검사기 및 관련 패키지를 제공합니다.
VS Code용 Microsoft 공식 C/C++ 확장으로, IntelliSense 편집 기능과 C/C++ 코드 디버깅을 제공합니다.