| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.createReplacePlugin = void 0;
- const magic_string_1 = __importDefault(require("magic-string"));
- exports.createReplacePlugin = (test, replacements, sourcemap) => {
- const pattern = new RegExp('\\b(' +
- Object.keys(replacements)
- .map((str) => {
- return str.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
- })
- .join('|') +
- ')\\b', 'g');
- return {
- name: 'vite:replace',
- transform(code, id) {
- if (test(id)) {
- const s = new magic_string_1.default(code);
- let hasReplaced = false;
- let match;
- while ((match = pattern.exec(code))) {
- hasReplaced = true;
- const start = match.index;
- const end = start + match[0].length;
- const replacement = '' + replacements[match[1]];
- s.overwrite(start, end, replacement);
- }
- if (!hasReplaced) {
- return null;
- }
- const result = { code: s.toString() };
- if (sourcemap) {
- result.map = s.generateMap({ hires: true });
- }
- return result;
- }
- }
- };
- };
- //# sourceMappingURL=buildPluginReplace.js.map
|