UNPKG

vite-plugin-react-server

Version:
31 lines (29 loc) 6.62 kB
/** * vite-plugin-react-server * Copyright (c) Nico Brinkkemper * MIT License */ function parsePattern(pattern) { const flagMatch = pattern.match(/^(.+)\/([gimsuy]+)$/); let patternStr; let flags; if (flagMatch) { patternStr = flagMatch[1]; flags = flagMatch[2]; } else { patternStr = pattern; } let regexStr = patternStr.replace(/\{([^}]+)\}/g, (_match, contents) => { const alternatives = contents.split(",").map((s) => s.trim()); return `(${alternatives.join("|")})`; }).replace(/[.+?^${}[\]\\]/g, "\\$&").replace(/\*/g, ".*"); if (!regexStr.startsWith("^")) { regexStr = "^" + regexStr; } if (!regexStr.endsWith("$")) { regexStr = regexStr + "$"; } return new RegExp(regexStr, flags); } export { parsePattern }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VQYXR0ZXJuLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vY29uZmlnL3BhcnNlUGF0dGVybi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnZlcnRzIGEgdXNlci1mcmllbmRseSBwYXR0ZXJuIHN0cmluZyB0byBhIFJlZ0V4cC5cbiAqIFN1cHBvcnRzOlxuICogLSBTaW1wbGUgcGF0dGVybnMgbGlrZSBcIiouanNcIiAtPiAvXFwuanMkL1xuICogLSBCYXNpYyB3aWxkY2FyZHMgbGlrZSBcIioue2pzLHRzfVwiIC0+IC9cXC4oanN8dHMpJC9cbiAqIC0gRXNjYXBlZCBjaGFyYWN0ZXJzIHdpdGggYmFja3NsYXNoXG4gKiAtIE9wdGlvbmFsIGZsYWdzIGF0IHRoZSBlbmQgbGlrZSBcIiouanMvaVwiIC0+IC9cXC5qcyQvaVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gRmlsZSBleHRlbnNpb25zXG4gKiBwYXJzZVBhdHRlcm4oXCIqLmpzXCIpLnRlc3QoXCJmaWxlLmpzXCIpICAgICAvLyB0cnVlXG4gKiBwYXJzZVBhdHRlcm4oXCIqLntqcyx0c31cIikudGVzdChcImZpbGUudHNcIikgLy8gdHJ1ZVxuICpcbiAqIC8vIERpcmVjdG9yeSBwYXR0ZXJuc1xuICogcGFyc2VQYXR0ZXJuKFwic3JjLyouanNcIikudGVzdChcInNyYy9maWxlLmpzXCIpICAgICAvLyB0cnVlXG4gKiBwYXJzZVBhdHRlcm4oXCJzcmMvKi5qc1wiKS50ZXN0KFwiZmlsZS5qc1wiKSAgICAgICAgIC8vIGZhbHNlXG4gKlxuICogLy8gQ2FzZSBzZW5zaXRpdml0eVxuICogcGFyc2VQYXR0ZXJuKFwiKi5qc1wiKS50ZXN0KFwiZmlsZS5KU1wiKSAgICAgLy8gZmFsc2VcbiAqIHBhcnNlUGF0dGVybihcIiouanMvaVwiKS50ZXN0KFwiZmlsZS5KU1wiKSAgIC8vIHRydWVcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQYXR0ZXJuKHBhdHRlcm46IHN0cmluZyk6IFJlZ0V4cCB7XG4gIC8vIFNURVAgMTogRXh0cmFjdCByZWdleCBmbGFncyBmcm9tIHRoZSBlbmQgb2YgdGhlIHBhdHRlcm5cbiAgLy8gXG4gIC8vIFdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHBhdHRlcm4gZW5kcyB3aXRoIFwiL2ZsYWdzXCIgd2hlcmUgZmxhZ3MgYXJlIHZhbGlkIHJlZ2V4IGZsYWdzLlxuICAvLyBWYWxpZCByZWdleCBmbGFncyBhcmU6IGcgKGdsb2JhbCksIGkgKGNhc2UtaW5zZW5zaXRpdmUpLCBtIChtdWx0aWxpbmUpLCBzIChkb3RBbGwpLCB1ICh1bmljb2RlKSwgeSAoc3RpY2t5KVxuICAvL1xuICAvLyBFeGFtcGxlczpcbiAgLy8gLSBcIiouanMvaVwiICAgIC0+IHBhdHRlcm5TdHIgPSBcIiouanNcIiwgZmxhZ3MgPSBcImlcIlxuICAvLyAtIFwic3JjLyouanNcIiAgLT4gcGF0dGVyblN0ciA9IFwic3JjLyouanNcIiwgZmxhZ3MgPSB1bmRlZmluZWQgKG5vIGZsYWdzKVxuICAvLyAtIFwiKi5qcy9naVwiICAgLT4gcGF0dGVyblN0ciA9IFwiKi5qc1wiLCBmbGFncyA9IFwiZ2lcIlxuICAvL1xuICAvLyBUaGUgcmVnZXggL14oLispXFwvKFtnaW1zdXldKykkLyBicmVha3MgZG93biBhczpcbiAgLy8gLSBeKC4rKSAgICAgICAtPiBDYXB0dXJlIGV2ZXJ5dGhpbmcgZnJvbSBzdGFydCwgYnV0IGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXJcbiAgLy8gLSBcXC8gICAgICAgICAgLT4gTWF0Y2ggYSBsaXRlcmFsIGZvcndhcmQgc2xhc2hcbiAgLy8gLSAoW2dpbXN1eV0rKSAtPiBDYXB0dXJlIG9uZSBvciBtb3JlIHZhbGlkIHJlZ2V4IGZsYWdzXG4gIC8vIC0gJCAgICAgICAgICAgLT4gTXVzdCBiZSBhdCB0aGUgZW5kIG9mIHRoZSBzdHJpbmdcbiAgY29uc3QgZmxhZ01hdGNoID0gcGF0dGVybi5tYXRjaCgvXiguKylcXC8oW2dpbXN1eV0rKSQvKTtcbiAgbGV0IHBhdHRlcm5TdHI6IHN0cmluZztcbiAgbGV0IGZsYWdzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIFxuICBpZiAoZmxhZ01hdGNoKSB7XG4gICAgLy8gUGF0dGVybiBoYXMgZmxhZ3M6IFwiKi5qcy9pXCIgLT4gZmxhZ01hdGNoWzFdID0gXCIqLmpzXCIsIGZsYWdNYXRjaFsyXSA9IFwiaVwiXG4gICAgcGF0dGVyblN0ciA9IGZsYWdNYXRjaFsxXTtcbiAgICBmbGFncyA9IGZsYWdNYXRjaFsyXTtcbiAgfSBlbHNlIHtcbiAgICAvLyBQYXR0ZXJuIGhhcyBubyBmbGFnczogXCIqLmpzXCIgLT4gdXNlIHRoZSB3aG9sZSBwYXR0ZXJuXG4gICAgcGF0dGVyblN0ciA9IHBhdHRlcm47XG4gIH1cblxuICAvLyBTVEVQIDI6IENvbnZlcnQgZ2xvYi1saWtlIHBhdHRlcm5zIHRvIHJlZ2V4IHBhdHRlcm5zXG4gIC8vXG4gIC8vIFdlIG5lZWQgdG8gY29udmVydCB1c2VyLWZyaWVuZGx5IGdsb2IgcGF0dGVybnMgaW50byBwcm9wZXIgcmVnZXggcGF0dGVybnM6XG4gIC8vIC0gXCIqLmpzXCIgICAgICAtPiBcIi4qXFwuanMkXCIgICAgIChhbnkgY2hhcmFjdGVycywgdGhlbiAuanMgYXQgdGhlIGVuZClcbiAgLy8gLSBcIioue2pzLHRzfVwiIC0+IFwiLipcXC4oanN8dHMpJFwiIChhbnkgY2hhcmFjdGVycywgdGhlbiAuanMgT1IgLnRzIGF0IHRoZSBlbmQpXG4gIC8vIC0gXCJzcmMvKi5qc1wiICAtPiBcIl5zcmNcXC8uKlxcLmpzJFwiIChzdGFydHMgd2l0aCBzcmMvLCB0aGVuIGFueSBjaGFyYWN0ZXJzLCB0aGVuIC5qcyBhdCB0aGUgZW5kKVxuICBsZXQgcmVnZXhTdHIgPSBwYXR0ZXJuU3RyXG4gICAgLy8gQ29udmVydCBnbG9iIGJyYWNlIGV4cGFuc2lvbiB7YSxifSB0byByZWdleCBhbHRlcm5hdGlvbiAoYXxiKSBGSVJTVFxuICAgIC5yZXBsYWNlKC9cXHsoW159XSspXFx9L2csIChfbWF0Y2gsIGNvbnRlbnRzKSA9PiB7XG4gICAgICBjb25zdCBhbHRlcm5hdGl2ZXMgPSBjb250ZW50cy5zcGxpdCgnLCcpLm1hcCgoczogc3RyaW5nKSA9PiBzLnRyaW0oKSk7XG4gICAgICByZXR1cm4gYCgke2FsdGVybmF0aXZlcy5qb2luKCd8Jyl9KWA7XG4gICAgfSlcbiAgICAvLyBFc2NhcGUgc3BlY2lhbCByZWdleCBjaGFyYWN0ZXJzIGV4Y2VwdCBmb3IgKCApIHwgYW5kIC9cbiAgICAucmVwbGFjZSgvWy4rP14ke31bXFxdXFxcXF0vZywgXCJcXFxcJCZcIilcbiAgICAvLyBDb252ZXJ0IGdsb2Igd2lsZGNhcmRzICgqKSB0byByZWdleCB3aWxkY2FyZHMgKC4qKVxuICAgIC5yZXBsYWNlKC9cXCovZywgXCIuKlwiKTtcblxuICAvLyBTVEVQIDM6IEVuc3VyZSB0aGUgcGF0dGVybiBtYXRjaGVzIHRoZSBlbnRpcmUgc3RyaW5nIGZyb20gc3RhcnQgdG8gZW5kXG4gIC8vIEFkZCBeIGF0IHRoZSBiZWdpbm5pbmcgYW5kICQgYXQgdGhlIGVuZCBpZiBub3QgYWxyZWFkeSBwcmVzZW50XG4gIGlmICghcmVnZXhTdHIuc3RhcnRzV2l0aCgnXicpKSB7XG4gICAgcmVnZXhTdHIgPSAnXicgKyByZWdleFN0cjtcbiAgfVxuICBpZiAoIXJlZ2V4U3RyLmVuZHNXaXRoKCckJykpIHtcbiAgICByZWdleFN0ciA9IHJlZ2V4U3RyICsgJyQnO1xuICB9XG5cbiAgLy8gU1RFUCA0OiBDcmVhdGUgYW5kIHJldHVybiB0aGUgUmVnRXhwIG9iamVjdFxuICByZXR1cm4gbmV3IFJlZ0V4cChyZWdleFN0ciwgZmxhZ3MpO1xufSAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUF1Qk8sU0FBUyxhQUFhLE9BQXlCLEVBQUE7QUFnQnBELEVBQU0sTUFBQSxTQUFBLEdBQVksT0FBUSxDQUFBLEtBQUEsQ0FBTSxxQkFBcUIsQ0FBQTtBQUNyRCxFQUFJLElBQUEsVUFBQTtBQUNKLEVBQUksSUFBQSxLQUFBO0FBRUosRUFBQSxJQUFJLFNBQVcsRUFBQTtBQUViLElBQUEsVUFBQSxHQUFhLFVBQVUsQ0FBQyxDQUFBO0FBQ3hCLElBQUEsS0FBQSxHQUFRLFVBQVUsQ0FBQyxDQUFBO0FBQUEsR0FDZCxNQUFBO0FBRUwsSUFBYSxVQUFBLEdBQUEsT0FBQTtBQUFBO0FBU2YsRUFBQSxJQUFJLFdBQVcsVUFFWixDQUFBLE9BQUEsQ0FBUSxjQUFnQixFQUFBLENBQUMsUUFBUSxRQUFhLEtBQUE7QUFDN0MsSUFBTSxNQUFBLFlBQUEsR0FBZSxRQUFTLENBQUEsS0FBQSxDQUFNLEdBQUcsQ0FBQSxDQUFFLElBQUksQ0FBQyxDQUFBLEtBQWMsQ0FBRSxDQUFBLElBQUEsRUFBTSxDQUFBO0FBQ3BFLElBQUEsT0FBTyxDQUFJLENBQUEsRUFBQSxZQUFBLENBQWEsSUFBSyxDQUFBLEdBQUcsQ0FBQyxDQUFBLENBQUEsQ0FBQTtBQUFBLEdBQ2xDLEVBRUEsT0FBUSxDQUFBLGlCQUFBLEVBQW1CLE1BQU0sQ0FFakMsQ0FBQSxPQUFBLENBQVEsT0FBTyxJQUFJLENBQUE7QUFJdEIsRUFBQSxJQUFJLENBQUMsUUFBQSxDQUFTLFVBQVcsQ0FBQSxHQUFHLENBQUcsRUFBQTtBQUM3QixJQUFBLFFBQUEsR0FBVyxHQUFNLEdBQUEsUUFBQTtBQUFBO0FBRW5CLEVBQUEsSUFBSSxDQUFDLFFBQUEsQ0FBUyxRQUFTLENBQUEsR0FBRyxDQUFHLEVBQUE7QUFDM0IsSUFBQSxRQUFBLEdBQVcsUUFBVyxHQUFBLEdBQUE7QUFBQTtBQUl4QixFQUFPLE9BQUEsSUFBSSxNQUFPLENBQUEsUUFBQSxFQUFVLEtBQUssQ0FBQTtBQUNuQzs7OzsifQ==