Repolode
johnsoncodehk

johnsoncodehk/muggle-string

複数の編集元によるソーステキストの書き換えと、language-server spanやv3 source mapを使った書き換え後テキストから元ソースへのマッピングを行う、依存関係のないTypeScriptライブラリ。

スター
20
フォーク
2
未解決の Issue
0
最終コミット
昨日

これは何?

muggle-stringは複数の箇所からソーステキストを書き換え、書き換え後の出力を元のソースに対応付けます。vuejs/language-tools向けに開発され、Vueの単一ファイルコンポーネントをlanguage server用のTypeScriptに変換します。複数のプラグインが同じブロックを編集しても、hover、completion、renameといったエディター機能を維持できるようにします。

編集内容は編集元ごとのリストに追加して記録し、出力の生成時にのみソートするため、テキストの検索やコピーは発生しません。各編集元にはランクがあり、同じ位置での順序を決めるため、呼び出し順ではなくプラグインの順序によって結果が決まります。削除は組み合わせて適用でき、cutを使えばマッピングを保ったまま範囲を出力内の別の場所へ移動できます。

同じ出力パーツから、language-server span(VerbatimとAtom)またはv3 source mapを生成できます。ライブラリはES modulesのみで提供され、依存関係はありません。

主な機能

  • 01複数の編集元が同じソースを編集でき、順序は呼び出し順ではなくランクで決まります。
  • 02削除や置換を互いに打ち消すことなく組み合わせられます。
  • 03cutした範囲を出力内の別の位置へ移動できます。
  • 04同じパーツからlanguage-server spanまたはv3 source mapを生成できます。
  • 05TypeScriptで利用でき、実行時の依存関係はありません。

ユースケース

  • テンプレートベースのファイル形式からTypeScriptを生成するlanguage serverプラグインの構築。
  • 元の位置とのマッピングを維持しながら、テンプレート言語をHTMLにコンパイルする。
  • 1つのファイルに多数の編集を加えるコード変換ツールのsource map生成。

収録されている特集

トピック

#source-map#code-transformation#typescript#language-server#compiler

よくある質問

muggle-string とは?
複数の編集元によるソーステキストの書き換えと、language-server spanやv3 source mapを使った書き換え後テキストから元ソースへのマッピングを行う、依存関係のないTypeScriptライブラリ。 muggle-stringは複数の箇所からソーステキストを書き換え、書き換え後の出力を元のソースに対応付けます。vuejs/language-tools向けに開発され、Vueの単一ファイルコンポーネントをlanguage server用のTypeScriptに変換します。複数のプラグインが同じブロックを編集しても、hover、completion、renameといったエディター機能を維持できるようにします。
muggle-string は無料で使えますか?ライセンスは?
muggle-string は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
muggle-string は今もメンテナンスされていますか?
活発にメンテナンス中。muggle-string の最終コミットは 2026年11月5日 です。
muggle-string は何に使えますか?
テンプレートベースのファイル形式からTypeScriptを生成するlanguage serverプラグインの構築。 元の位置とのマッピングを維持しながら、テンプレート言語をHTMLにコンパイルする。 1つのファイルに多数の編集を加えるコード変換ツールのsource map生成。
muggle-string はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/johnsoncodehk/muggle-string

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

ES6+コードを対象とするJavaScriptパーサー、名前のマングラー、圧縮ツールキット。モダンなJavaScriptをminifyするためにuglify-esからフォークされ、メンテナンスが続けられています。

9357+1 今週484JavaScriptOther活発にメンテナンス更新 先月