UNPKG

module-replacements

Version:

This package provides a set of manifests which each define a mapping of JS modules to their suggested replacements.

54 lines (53 loc) 1.49 kB
export interface EngineConstraint { engine: string; minVersion?: string; maxVersion?: string; } export interface KnownUrlDescriptor { type: 'mdn' | 'node' | 'e18e'; id: string; } export type KnownUrl = KnownUrlDescriptor | string; interface ModuleReplacementLike { id: string; engines?: EngineConstraint[]; url?: KnownUrl; } export interface DocumentedModuleReplacement extends ModuleReplacementLike { type: 'documented'; replacementModule: string; } export interface NativeModuleReplacement extends ModuleReplacementLike { type: 'native'; url: KnownUrl; description?: string; webFeatureId?: { featureId: string; compatKey: string; }; nodeFeatureId?: { moduleName: string; exportName?: string; }; } export interface SimpleModuleReplacement extends ModuleReplacementLike { type: 'simple'; description: string; example?: string; } export interface RemovalReplacement extends ModuleReplacementLike { type: 'removal'; description: string; } export type ModuleReplacement = DocumentedModuleReplacement | NativeModuleReplacement | SimpleModuleReplacement | RemovalReplacement; export interface ModuleReplacementMapping { type: 'module'; moduleName: string; replacements: string[]; url?: KnownUrl; } export interface ManifestModule { mappings: Record<string, ModuleReplacementMapping>; replacements: Record<string, ModuleReplacement>; } export {};