eslint-import-resolver-typescript-bun
Version:
[](https://github.com/import-js/eslint-import-resolver-typescript/actions/workflows/ci.yml) [ || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolve = exports.interfaceVersion = void 0;
const node_fs_1 = require("node:fs");
const debug_1 = __importDefault(require("debug"));
const eslint_import_resolver_typescript_1 = require("eslint-import-resolver-typescript");
const IMPORTER_NAME = "eslint-import-resolver-typescript-bun";
const log = (0, debug_1.default)(IMPORTER_NAME);
const findBunModules = () => {
const { found, path } = (0, eslint_import_resolver_typescript_1.resolve)("bun-types", "bun-types");
if (!found || !path) {
log("bun-types not found.");
return undefined;
}
// TODO: Better way to inspect .d.ts file.
const bunTypesDefinition = (0, node_fs_1.readFileSync)(path, "utf-8");
const bunModules = new Set(bunTypesDefinition
.split("\n")
// Find `declare module "bun..." {`
.filter((line) => line.includes('declare module "bun'))
// Extract `bun...` parts only
.map((line) => line.split('"')[1]));
log("found bun modules:", bunModules);
return bunModules;
};
const bunModules = findBunModules();
exports.interfaceVersion = 2;
const resolve = function (source, file, config) {
if (bunModules === null || bunModules === void 0 ? void 0 : bunModules.has(source)) {
log("matched bun modules:", source);
return { found: true, path: null };
}
return (0, eslint_import_resolver_typescript_1.resolve)(source, file, config);
};
exports.resolve = resolve;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscUNBQXVDO0FBQ3ZDLGtEQUEwQjtBQUMxQix5RkFBeUU7QUFFekUsTUFBTSxhQUFhLEdBQUcsdUNBQXVDLENBQUM7QUFFOUQsTUFBTSxHQUFHLEdBQUcsSUFBQSxlQUFLLEVBQUMsYUFBYSxDQUFDLENBQUM7QUFFakMsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO0lBQzFCLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBQSwyQ0FBUyxFQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1RCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDNUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELDBDQUEwQztJQUMxQyxNQUFNLGtCQUFrQixHQUFHLElBQUEsc0JBQVksRUFBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQ3hCLGtCQUFrQjtTQUNmLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDWixtQ0FBbUM7U0FDbEMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkQsOEJBQThCO1NBQzdCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNyQyxDQUFDO0lBQ0YsR0FBRyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUNGLE1BQU0sVUFBVSxHQUFHLGNBQWMsRUFBRSxDQUFDO0FBRXZCLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBRTNCLE1BQU0sT0FBTyxHQUFxQixVQUFVLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTTtJQUNyRSxJQUFJLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1QixHQUFHLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPLElBQUEsMkNBQVMsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQU5XLFFBQUEsT0FBTyxXQU1sQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgZGVidWcgZnJvbSBcImRlYnVnXCI7XG5pbXBvcnQgeyByZXNvbHZlIGFzIHJlc29sdmVUcyB9IGZyb20gXCJlc2xpbnQtaW1wb3J0LXJlc29sdmVyLXR5cGVzY3JpcHRcIjtcblxuY29uc3QgSU1QT1JURVJfTkFNRSA9IFwiZXNsaW50LWltcG9ydC1yZXNvbHZlci10eXBlc2NyaXB0LWJ1blwiO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZyhJTVBPUlRFUl9OQU1FKTtcblxuY29uc3QgZmluZEJ1bk1vZHVsZXMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZm91bmQsIHBhdGggfSA9IHJlc29sdmVUcyhcImJ1bi10eXBlc1wiLCBcImJ1bi10eXBlc1wiKTtcbiAgaWYgKCFmb3VuZCB8fCAhcGF0aCkge1xuICAgIGxvZyhcImJ1bi10eXBlcyBub3QgZm91bmQuXCIpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVE9ETzogQmV0dGVyIHdheSB0byBpbnNwZWN0IC5kLnRzIGZpbGUuXG4gIGNvbnN0IGJ1blR5cGVzRGVmaW5pdGlvbiA9IHJlYWRGaWxlU3luYyhwYXRoLCBcInV0Zi04XCIpO1xuICBjb25zdCBidW5Nb2R1bGVzID0gbmV3IFNldChcbiAgICBidW5UeXBlc0RlZmluaXRpb25cbiAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgLy8gRmluZCBgZGVjbGFyZSBtb2R1bGUgXCJidW4uLi5cIiB7YFxuICAgICAgLmZpbHRlcigobGluZSkgPT4gbGluZS5pbmNsdWRlcygnZGVjbGFyZSBtb2R1bGUgXCJidW4nKSlcbiAgICAgIC8vIEV4dHJhY3QgYGJ1bi4uLmAgcGFydHMgb25seVxuICAgICAgLm1hcCgobGluZSkgPT4gbGluZS5zcGxpdCgnXCInKVsxXSlcbiAgKTtcbiAgbG9nKFwiZm91bmQgYnVuIG1vZHVsZXM6XCIsIGJ1bk1vZHVsZXMpO1xuICByZXR1cm4gYnVuTW9kdWxlcztcbn07XG5jb25zdCBidW5Nb2R1bGVzID0gZmluZEJ1bk1vZHVsZXMoKTtcblxuZXhwb3J0IGNvbnN0IGludGVyZmFjZVZlcnNpb24gPSAyO1xuXG5leHBvcnQgY29uc3QgcmVzb2x2ZTogdHlwZW9mIHJlc29sdmVUcyA9IGZ1bmN0aW9uIChzb3VyY2UsIGZpbGUsIGNvbmZpZykge1xuICBpZiAoYnVuTW9kdWxlcz8uaGFzKHNvdXJjZSkpIHtcbiAgICBsb2coXCJtYXRjaGVkIGJ1biBtb2R1bGVzOlwiLCBzb3VyY2UpO1xuICAgIHJldHVybiB7IGZvdW5kOiB0cnVlLCBwYXRoOiBudWxsIH07XG4gIH1cbiAgcmV0dXJuIHJlc29sdmVUcyhzb3VyY2UsIGZpbGUsIGNvbmZpZyk7XG59O1xuIl19
;