apisurf
Version:
Analyze API surface changes between npm package versions to catch breaking changes
23 lines (22 loc) • 923 B
TypeScript
import { TypeDefinition } from './TypeDefinition.js';
/**
* Represents the public API surface of a package including exports and type information.
*/
export interface ApiSurface {
/** Set of named value exports (functions, classes, constants, etc.) */
namedExports: Set<string>;
/** Set of type-only exports (interfaces, type aliases) */
typeOnlyExports: Set<string>;
/** Whether the package has a default export */
defaultExport: boolean;
/** Array of module paths that are re-exported with export * */
starExports: string[];
/** Name of the package this API surface belongs to */
packageName: string;
/** Version of the package this API surface represents */
version: string;
/** Detailed type information for exported types and functions */
typeDefinitions?: Map<string, TypeDefinition>;
/** Repository URL from package.json */
repositoryUrl?: string;
}