//#region rolldown:runtime var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) { key = keys[i]; if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: ((k) => from[k]).bind(null, key), enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); //#endregion const node_path = __toESM(require("node:path")); const picomatch = __toESM(require("picomatch")); const acorn = __toESM(require("acorn")); //#region src/utils/general.ts function toArray(array) { array = array || []; if (Array.isArray(array)) return array; return [array]; } //#endregion //#region src/utils/filter.ts const BACKSLASH_REGEX = /\\/g; function normalize(path) { return path.replace(BACKSLASH_REGEX, "/"); } const ABSOLUTE_PATH_REGEX = /^(?:\/|(?:[A-Z]:)?[/\\|])/i; function isAbsolute(path) { return ABSOLUTE_PATH_REGEX.test(path); } function getMatcherString(glob, cwd) { if (glob.startsWith("**") || isAbsolute(glob)) return normalize(glob); const resolved = (0, node_path.resolve)(cwd, glob); return normalize(resolved); } function patternToIdFilter(pattern) { if (pattern instanceof RegExp) return (id) => { const normalizedId = normalize(id); const result = pattern.test(normalizedId); pattern.lastIndex = 0; return result; }; const cwd = process.cwd(); const glob = getMatcherString(pattern, cwd); const matcher = (0, picomatch.default)(glob, { dot: true }); return (id) => { const normalizedId = normalize(id); return matcher(normalizedId); }; } function patternToCodeFilter(pattern) { if (pattern instanceof RegExp) return (code) => { const result = pattern.test(code); pattern.lastIndex = 0; return result; }; return (code) => code.includes(pattern); } function createFilter(exclude, include) { if (!exclude && !include) return; return (input) => { if (exclude?.some((filter) => filter(input))) return false; if (include?.some((filter) => filter(input))) return true; return !(include && include.length > 0); }; } function normalizeFilter(filter) { if (typeof filter === "string" || filter instanceof RegExp) return { include: [filter] }; if (Array.isArray(filter)) return { include: filter }; return { exclude: filter.exclude ? toArray(filter.exclude) : void 0, include: filter.include ? toArray(filter.include) : void 0 }; } function createIdFilter(filter) { if (!filter) return; const { exclude, include } = normalizeFilter(filter); const excludeFilter = exclude?.map(patternToIdFilter); const includeFilter = include?.map(patternToIdFilter); return createFilter(excludeFilter, includeFilter); } function createCodeFilter(filter) { if (!filter) return; const { exclude, include } = normalizeFilter(filter); const excludeFilter = exclude?.map(patternToCodeFilter); const includeFilter = include?.map(patternToCodeFilter); return createFilter(excludeFilter, includeFilter); } function createFilterForId(filter) { const filterFunction = createIdFilter(filter); return filterFunction ? (id) => !!filterFunction(id) : void 0; } function createFilterForTransform(idFilter, codeFilter) { if (!idFilter && !codeFilter) return; const idFilterFunction = createIdFilter(idFilter); const codeFilterFunction = createCodeFilter(codeFilter); return (id, code) => { let fallback = true; if (idFilterFunction) fallback &&= idFilterFunction(id); if (!fallback) return false; if (codeFilterFunction) fallback &&= codeFilterFunction(code); return fallback; }; } function normalizeObjectHook(name, hook) { let handler; let filter; if (typeof hook === "function") handler = hook; else { handler = hook.handler; const hookFilter = hook.filter; if (name === "resolveId" || name === "load") filter = createFilterForId(hookFilter?.id); else filter = createFilterForTransform(hookFilter?.id, hookFilter?.code); } return { handler, filter: filter || (() => true) }; } //#endregion //#region src/utils/context.ts function parse(code, opts = {}) { return acorn.Parser.parse(code, { sourceType: "module", ecmaVersion: "latest", locations: true, ...opts }); } //#endregion Object.defineProperty(exports, '__toESM', { enumerable: true, get: function () { return __toESM; } }); Object.defineProperty(exports, 'normalizeObjectHook', { enumerable: true, get: function () { return normalizeObjectHook; } }); Object.defineProperty(exports, 'parse', { enumerable: true, get: function () { return parse; } }); Object.defineProperty(exports, 'toArray', { enumerable: true, get: function () { return toArray; } });