Extensions and utilities for working with ts-morph projects and TypeScript configurations
Project instances with automatic tsconfig.json discovery and caching.``typescript
import { ProjectRegistry } from 'ts-morph-extensions';
// Create a project registry (no dependencies needed!)
const projectRegistry = new ProjectRegistry();
// Get a project for a specific file path
const project = projectRegistry.get('/path/to/your/file.ts');
// Get a source file directly (convenience method)
const sourceFile = projectRegistry.getSourceFileOrThrow('/path/to/your/file.ts');
// Also accepts file:// URIs (automatically normalized)
const projectFromUri = projectRegistry.get('file:///path/to/your/file.ts');
const sourceFileFromUri = projectRegistry.getSourceFileOrThrow('file:///path/to/your/file.ts');
// Optional: provide a custom logger and other options
const projectRegistryWithOptions = new ProjectRegistry({
logger: myCustomLogger, // Useful for debugging
overrideTsConfigPath: '/path/to/custom/tsconfig.json' // Useful for testing
});
`
, composite projects, and path mappingsInstallation
`bash
npm install ts-morph-extensions ts-morph
`Dependencies
- ts-morph (peer dependency): For TypeScript project management
- jsonc-parser`: For parsing JSON with comments (tsconfig.json files)