TypeScript AST extractor to a useful JSON structure.
The purpose of this package is to extract AST into a flat JSON structure.
After extraction, it can be used for documentation generation tool, easier code analysis without compiler, etc.
The library is inspired by API Extractor created by Microsoft.
ts-extractor
does everything api-extractor
was supposed to do and supports ALL things that latest TypeScript has, compared to a limited support in api-extractor
.
In essence, it is an evolution of what api-extractor
does, though outputs are not interchangable directly.
import * as path from "path";
import * as process from "process";
import { Extractor, GetCompilerOptions } from "ts-extractor";
async function Main(): Promise<void> {
// Absolute path to projectDirectory
const projectDirectory = process.cwd();
const pathToTsconfig = path.join(projectDirectory, "./tsconfig.json");
const compilerOptions = await GetCompilerOptions(pathToTsconfig);
const extractor = new Extractor({
CompilerOptions: compilerOptions,
ProjectDirectory: projectDirectory
});
const extractedOutput = extractor.Extract(["./src/index.ts", "./src/another-entry-file.ts"]);
console.log(extractedOutput);
}
Main();