UNPKG

convex

Version:

Client for the Convex Cloud

42 lines 1.59 kB
/** * Normally esbuild can output a metafile containing the dependency * graph. However if bundling fails (say no dependency can be found) * then no metafile is produced. * * This plugin produces a similar dependency graph even in incomplete * bundling runs that are aborted early due to an error. * * It is WAY SLOWER! * * This enables a bundler error to be annotated with an import trace * describing why that file was imported. */ import * as esbuild from "esbuild"; interface ImportTracer { /** * Traces all import chains from a specific entry point to the specified file. * @param entryPoint The entry point to start the trace from. * @param filename The file to trace import chains to. * @returns An array of import chains, each chain being an array of file paths. */ traceImportChains(entryPoint: string, filename: string): string[][]; /** * Returns a copy of the entire dependency graph. * @returns A map where keys are importers and values are sets of imported files. */ getDependencyGraph(): Map<string, Set<string>>; } interface ImportTracerPlugin { plugin: esbuild.Plugin; tracer: ImportTracer; } /** * Creates an esbuild plugin that tracks import dependencies. * The plugin builds a dependency graph during bundling without * reimplementing module resolution logic. * * @returns An object containing the plugin and a tracer for analyzing import chains. */ declare function createImportTracerPlugin(): ImportTracerPlugin; export default createImportTracerPlugin; //# sourceMappingURL=depgraph.d.ts.map