UNPKG

rollup-plugin-tsconfig-paths

Version:
50 lines (48 loc) 1.39 kB
// src/plugin.ts import fs from "node:fs"; import path from "node:path"; import ts from "typescript"; import { convertLogLevel, createHandler, createLogger, LogLevel } from "typescript-paths"; var PLUGIN_NAME = "tsconfig-paths"; function tsConfigPaths({ tsConfigPath, respectCoreModule, logLevel, colors = true } = {}) { let log; let handler; return { name: PLUGIN_NAME, buildStart() { log = createLogger({ logLevel: convertLogLevel(logLevel), colors, ID: PLUGIN_NAME }); log(LogLevel.Debug, `typescript version: ${ts.version}`); handler = createHandler({ log, tsConfigPath, respectCoreModule, falllback: (moduleName) => fs.existsSync(moduleName) }); return; }, async resolveId(request, importer, options) { if (!importer || request.startsWith("\0")) { return null; } const moduleName = handler == null ? void 0 : handler(request, importer); if (!moduleName) { return this.resolve(request, importer, { skipSelf: true, ...options }); } log(LogLevel.Debug, `${request} -> ${moduleName}`); if (!path.extname(moduleName)) { return this.resolve(moduleName, importer, { skipSelf: true, ...options }); } return moduleName; } }; } // src/index.mts var src_default = tsConfigPaths; export { src_default as default };