Skip to content

resolve

ts
function SourceModule.resolve(
    path: string,
    fromFilePath?: string
): Promise<SourceModule | undefined>

Takes a path representing an import source and tries to resolve its physical location on disk, respecting many different things such as tsconfig path aliases.

fromFilePath can be used to define where path is being imported from, defaults to process.cwd().

Example

ts
import { SourceModule } from "@monstermann/barrels";

const module = await SourceModule.resolve("@monstermann/barrels");
ts
const module = {
    isExternal: true,
    filePath: "/Users/Foo/Bar/node_modules/@monstermann/barrels/dist/index.js",
    fileName: "index",
    extName: "js",
    dirPath: "/Users/Foo/Bar/node_modules/@monstermann/barrels/dist",
    dirName: "dist",
    tsconfigPath: "/Users/Foo/Bar/tsconfig.json",
};

An example using fromFilePath:

source.ts
ts
export * from "./utils";

To figure out where ./utils is coming from exactly:

ts
import { SourceModule } from "@monstermann/barrels";

const module = await SourceModule.resolve("./utils", "./source.ts");