mcpField
M
module-augmentation

module-augmentation

github.com/marius-townhouse開発643 回インストール38 週間前に更新
リポジトリ

module-augmentation について

モジュール拡張で既存のモジュール宣言を拡張する方法を解説する TypeScript スキルです。ライブラリの型の補完や、プラグインおよびグローバル型の宣言に使えます。

主な機能

  1. 01サードパーティモジュールの型を拡張
  2. 02インターフェースにプロパティやメソッドを追加
  3. 03プラグインの型拡張に対応
  4. 04グローバル宣言を拡張
  5. 05declare module による宣言マージ

活用シーン

  1. 01不完全なライブラリ型の補完
  2. 02ライブラリプラグインの型追加
  3. 03既存インターフェースの拡張
  4. 04グローバル型への宣言追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/marius-townhouse/effective-typescript-skills --skill module-augmentation

インストール後、Claude Code で/module-augmentationを入力して読み込まれたか確認します。

詳細

モジュール拡張を使って型を改善する

概要

モジュール拡張を使うと、サードパーティライブラリを含む既存のモジュールに宣言を追加できます。ライブラリの型が不完全な場合や、プラグインでライブラリを拡張する場合に便利です。declare moduleを使って、既存のモジュールにプロパティ、メソッド、型を追加します。

このスキルを使う場面

  • サードパーティの型を拡張する
  • 既存のインターフェースにプロパティを追加する
  • コア型を拡張するプラグイン
  • 宣言のマージが必要な場合
  • グローバル型を拡張する

絶対ルール

モジュール拡張を使って既存の型に追加します。同じモジュール名を宣言し、宣言を追加します。

例

// Adding to an existing module
// types/vue.d.ts
declare module 'vue' {
  export interface ComponentCustomProperties {
    $myProperty: string;
    $myMethod(): void;
  }
}

// Now Vue components have these properties
// this.$myProperty works with type safety

// Augmenting global types
declare global {
  interface Window {
    myLib: MyLibrary;
  }
}

// Now window.myLib is typed

参考資料

  • Dan Vanderkam 著『Effective TypeScript』第2版
  • 項目71:モジュール拡張を使って型を改善する

コメント