normalize-string-or-regex-CNPF6PU9.mjs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { n as __toESM, t as require_binding } from "./binding-CXquf8ay.mjs";
  2. import { c as logPluginError, n as error } from "./logs-aMKUxRpj.mjs";
  3. //#region src/builtin-plugin/utils.ts
  4. var import_binding = /* @__PURE__ */ __toESM(require_binding(), 1);
  5. var BuiltinPlugin = class {
  6. name;
  7. _options;
  8. /** Vite-specific option to control plugin ordering */
  9. enforce;
  10. constructor(name, _options) {
  11. this.name = name;
  12. this._options = _options;
  13. }
  14. };
  15. function makeBuiltinPluginCallable(plugin) {
  16. let callablePlugin = new import_binding.BindingCallableBuiltinPlugin(bindingifyBuiltInPlugin(plugin));
  17. const wrappedPlugin = plugin;
  18. for (const key in callablePlugin) {
  19. const wrappedHook = async function(...args) {
  20. try {
  21. return await callablePlugin[key](...args);
  22. } catch (e) {
  23. if (e instanceof Error && !e.stack?.includes("at ")) Error.captureStackTrace(e, wrappedPlugin[key]);
  24. return error(logPluginError(e, plugin.name, {
  25. hook: key,
  26. id: key === "transform" ? args[2] : void 0
  27. }));
  28. }
  29. };
  30. const order = callablePlugin.getOrder(key);
  31. if (order == void 0) wrappedPlugin[key] = wrappedHook;
  32. else wrappedPlugin[key] = {
  33. handler: wrappedHook,
  34. order
  35. };
  36. }
  37. return wrappedPlugin;
  38. }
  39. function bindingifyBuiltInPlugin(plugin) {
  40. return {
  41. __name: plugin.name,
  42. options: plugin._options
  43. };
  44. }
  45. function bindingifyManifestPlugin(plugin, pluginContextData) {
  46. const { isOutputOptionsForLegacyChunks, ...options } = plugin._options;
  47. return {
  48. __name: plugin.name,
  49. options: {
  50. ...options,
  51. isLegacy: isOutputOptionsForLegacyChunks ? (opts) => {
  52. return isOutputOptionsForLegacyChunks(pluginContextData.getOutputOptions(opts));
  53. } : void 0
  54. }
  55. };
  56. }
  57. //#endregion
  58. //#region src/utils/normalize-string-or-regex.ts
  59. function normalizedStringOrRegex(pattern) {
  60. if (!pattern) return;
  61. if (!isReadonlyArray(pattern)) return [pattern];
  62. return pattern;
  63. }
  64. function isReadonlyArray(input) {
  65. return Array.isArray(input);
  66. }
  67. //#endregion
  68. export { makeBuiltinPluginCallable as a, bindingifyManifestPlugin as i, BuiltinPlugin as n, bindingifyBuiltInPlugin as r, normalizedStringOrRegex as t };