module-augmentation
1
总安装量
1
周安装量
#48825
全站排名
安装命令
npx skills add https://github.com/marius-townhouse/effective-typescript-skills --skill module-augmentation
Agent 安装分布
mcpjam
1
openhands
1
replit
1
windsurf
1
zencoder
1
Skill 文档
Use Module Augmentation to Improve Types
Overview
Module augmentation allows you to add declarations to existing modules, including third-party libraries. This is useful when a library’s types are incomplete or when you’re extending a library with plugins. Use declare module to add properties, methods, or types to existing modules.
When to Use This Skill
- Extending third-party types
- Adding properties to existing interfaces
- Plugins that extend core types
- Declaration merging needed
- Augmenting global types
The Iron Rule
Use module augmentation to add to existing types. Declare the same module name and add your declarations.
Example
// 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
Reference
- Effective TypeScript, 2nd Edition by Dan Vanderkam
- Item 71: Use Module Augmentation to Improve Types