UNPKG

vite-require

Version:
46 lines (45 loc) 1.85 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.viteRequire = void 0; const path_1 = __importDefault(require("path")); const utils_1 = require("./utils"); const analyze_1 = require("./analyze"); const dynamic_require_1 = require("./dynamic-require"); function viteRequire(options = {}) { const extensions = utils_1.JS_EXTENSIONS .concat(utils_1.KNOWN_SFC_EXTENSIONS) .concat(utils_1.KNOWN_ASSET_TYPES) .concat(utils_1.KNOWN_CSS_TYPES); let config; let dynamicRequire; return { name: 'vite-require', configResolved(_config) { var _a; config = _config; options.extensions = [...new Set((((_a = config.resolve) === null || _a === void 0 ? void 0 : _a.extensions) || extensions).concat(options.extensions || []))]; dynamicRequire = new dynamic_require_1.DynamicRequire(options, _config); }, transform(code, id) { var _a; const pureId = (0, utils_1.cleanUrl)(id); if (/node_modules\/(?!\.vite\/)/.test(pureId)) return; if (!extensions.includes(path_1.default.extname(pureId))) return; if (!(0, utils_1.isCommonjs)(code)) return; if (((_a = options.filter) === null || _a === void 0 ? void 0 : _a.call(options, pureId)) === false) return; const ast = this.parse(code); const analyzed = (0, analyze_1.analyze)(ast, code); if (!analyzed.require.length) return; return dynamicRequire.transform(analyzed, id); }, }; } exports.viteRequire = viteRequire;