UNPKG

eslint-import-resolver-typescript-bun

Version:

[![GitHub Actions](https://github.com/opsbr/eslint-import-resolver-typescript-bun/workflows/release/badge.svg)](https://github.com/import-js/eslint-import-resolver-typescript/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/eslint-import-res

39 lines 5.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || 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