remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Parses JavaScript error stack traces using Source Maps to map them back to the original source code, providing context information and line details to help developers locate and fix issues.
Implements WebAssembly-based Source Map parsing to efficiently process JavaScript stack traces and extract relevant context information from source code.
ソースマップパーサー
このプロジェクトは、JavaScriptエラーのスタックトレースをソースコードにマッピングし、関連するコンテキスト情報を抽出できるWebAssemblyベースのソースマップパーサーを実装します。開発者はJavaScriptエラーのスタックトレースをソースコードに簡単にマッピングできるため、問題を迅速に特定して解決できます。このドキュメントは、開発者がこのツールをより深く理解し、活用するのに役立つことを目的としています。
MCP統合
注: Node.js 18+のサポートが必要です
オプション1: NPXで直接実行する
オプション2: ビルド成果物をダウンロードする
GitHub リリースページから対応するバージョンのビルド成果物をダウンロードし、次のコマンドを実行します。
ランタイムパラメータ設定
システムランタイムパラメータは、さまざまなシナリオのニーズに合わせて環境変数を通じて柔軟に設定できます。
SOURCE_MAP_PARSER_RESOURCE_CACHE_MAX_SIZE
: リソースキャッシュが占有する最大メモリ容量を設定します。デフォルトは200MBです。この値を適切に調整することで、パフォーマンスとメモリ使用量のバランスをとることができます。SOURCE_MAP_PARSER_CONTEXT_OFFSET_LINE
: エラー箇所の周囲に表示するコンテキストコード行数を定義します。デフォルトは1行です。この値を増やすと、より多くのコンテキスト情報が提供され、問題の診断が容易になります。
例:
機能の概要
- スタック解析: 指定された行番号、列番号、ソース マップ ファイルに基づいて、対応するソース コードの場所を解析します。
- バッチ処理: 複数のスタック トレースを同時に解析し、バッチ結果を返すことをサポートします。
- コンテキスト抽出: 指定された行数のコンテキスト コードを抽出し、開発者がエラーが発生する環境をよりよく理解できるようにします。
MCP サービスツールの説明
operating_guide
MCPサービスの利用手順をご確認いただけます。チャットでのやり取りを通じて、MCPサービスの利用方法に関する情報を提供します。
parse_stack
スタック トレースとソース マップ アドレスを指定してスタック情報を解析します。
リクエスト例
- スタック: 行番号、列番号、ソース マップ アドレスなどのスタック情報。
- line: 行番号、必須。
- column: 列番号、必須。
- sourceMapUrl: ソース マップ アドレス (必須)。
応答例
解析結果の説明
success
: 解析が成功したかどうかを示します。token
: 解析が成功したときに返される Token オブジェクト。ソース コードの行番号、列番号、コンテキスト コードなどの情報が含まれます。error
: 解析が失敗したときに返されるエラー情報。
実行例
システムプロンプト
実際のニーズに応じて、システムプロンプトを使用して、モデルにスタック情報の解析方法を指示することができます。セキュリティやパフォーマンス上の理由から、ソースマップをブラウザに直接公開して解析するのではなく、ソースマップのアップロードパスを処理したいチームもあるかもしれません。例えば、パスbar-special.js
をspecial/bar.js.map
に変換する場合などです。このような場合、プロンプトルールを通じてモデルにパス変換を指示することができます。
次に例を示します。
実行時の例
エラースタック
よくある質問
1. WebAssemblyモジュールの読み込み失敗
ツールが次のエラー メッセージを返す場合は、次のようにトラブルシューティングしてください。
パーサー初期化エラー: WebAssembly.instantiate(): 無効な値型 'externref'、--experimental-wasm-reftypes @+86 で有効にしてください
- Node.jsのバージョンを確認:Node.jsのバージョンが18以上であることを確認してください。18未満の場合は、Node.jsをアップグレードしてください。
- 実験的フラグを有効にする: Node.js のバージョンが 18 以上であるにもかかわらず問題が発生する場合は、次のコマンドを使用してツールを起動します。Copy
地域開発ガイド
1. 依存関係をインストールする
Node.js と npm がインストールされていることを確認してから、次のコマンドを実行してプロジェクトの依存関係をインストールします。
2. MCPサービスへのリンク
MCP サーバーを起動するには、次のコマンドを実行します。
内部ロジックの概要
1. メインファイルの説明
stack_parser_js_sdk.js
: WebAssembly モジュールの JavaScript ラッパー。コア スタック解析機能を提供します。parser.ts
: パーサーのメイン実装。WebAssembly モジュールの初期化、ソースマップ コンテンツの取得、スタック情報の解析を担当します。server.ts
: MCP サーバーの実装。外部呼び出し用のparse_stack
ツール インターフェイスを提供します。
2. 解析ロジックを変更する
解析ロジックを変更するには、 parser.ts
ファイル内のgetSourceToken
メソッドを編集します。
3. 新しいツールを追加する
server.ts
ファイルでは、 server.tool
メソッドを使用して新しいツール インターフェイスを追加できます。
注記
- ソース マップ ファイル: 指定されたソース マップ ファイルのアドレスにアクセス可能であり、ファイル形式が正しいことを確認します。
- エラー処理: 解析中に、ネットワーク エラー、ファイル形式エラー、その他の問題が発生する可能性があります。呼び出しを行うときは適切なエラー処理を実装することをお勧めします。
寄稿ガイドライン
このプロジェクトを改善するために、Issue および Pull Request による貢献を歓迎します。
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。
You must be authenticated.
JavaScript エラー スタック トレースを元のソース コードにマッピングし、コンテキスト情報を抽出して、開発者が問題を見つけて修正できるようにします。
- MCP Integration
- Feature Overview
- MCP Service Tool Description
- Example Run
- FAQ
- Local Development Guide
- Notes
- Contribution Guidelines
- License