UNPKG

esbuild-plugin-peggy

Version:

An esbuild plugin for importing PEG.js / Peggy grammar files directly into your JavaScript or TypeScript projects.

2 lines (1 loc) 1.07 kB
"use strict";var u=Object.create;var r=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)r(t,n,{get:e[n],enumerable:!0})},p=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of P(e))!y.call(t,o)&&o!==n&&r(t,o,{get:()=>e[o],enumerable:!(i=d(e,o))||i.enumerable});return t};var m=(t,e,n)=>(n=t!=null?u(c(t)):{},p(e||!t||!t.__esModule?r(n,"default",{value:t,enumerable:!0}):n,t)),B=t=>p(r({},"__esModule",{value:!0}),t);var O={};f(O,{peggyPlugin:()=>A});module.exports=B(O);var a=m(require("fs")),g=require("peggy"),h=()=>(Date.now()*Math.random()).toString(36).slice(0,8),x=`peggy-${h()}`,A=t=>({name:x,setup(e){e.onLoad({filter:/\.peg(js|gy)$/,namespace:"file"},n=>{var s;let i=a.default.readFileSync(n.path,"utf8"),o=Array.isArray(t)?(s=t.find(({pathPattern:l})=>l.test(n.path)))==null?void 0:s.options:t;return{contents:`export default ${(0,g.generate)(i,o)}`,loader:"ts"}})}});0&&(module.exports={peggyPlugin});