UNPKG

unplugin-typegpu

Version:

Build plugins for TypeGPU, enabling seamless JavaScript -> WGSL transpilation and improved debugging.

1 lines 2.85 kB
{"version":3,"sources":["/Users/iwo/Projects/wigsill/packages/unplugin-typegpu/dist/chunk-NQODVO3L.cjs","../src/bun.ts"],"names":["bun_default","rawOptions","options","defu","defaultOptions","include","build","args","text","earlyPruneRegex","pattern","result","babel_default"],"mappings":"AAAA,mfAAsD,6FCC/B,wEACN,IAIVA,CAAAA,CAASC,CAAAA,EAAmC,CACjD,IAAMC,CAAAA,CAAUC,4BAAAA,CAAKF,CAAYG,mBAAc,CAAA,CACzCC,CAAAA,CAAUH,CAAAA,CAAQ,OAAA,CACxB,EAAA,CAAI,CAAA,CAAEG,EAAAA,WAAmB,MAAA,CAAA,CACvB,MAAM,IAAI,KAAA,CACR,yFACF,CAAA,CAEF,EAAA,CAAIH,CAAAA,CAAQ,OAAA,CACV,MAAM,IAAI,KAAA,CAAM,4CAA4C,CAAA,CAG9D,MAAO,CACL,IAAA,CAAM,kBAAA,CACN,KAAA,CAAMI,CAAAA,CAAO,CACXA,CAAAA,CAAM,MAAA,CAAO,CAAE,MAAA,CAAQD,CAAQ,CAAA,CAAG,MAAOE,CAAAA,EAAS,CAChD,IAAMC,CAAAA,CAAO,MAAM,GAAA,CAAI,IAAA,CAAKD,CAAAA,CAAK,IAAI,CAAA,CAAE,IAAA,CAAK,CAAA,CAG5C,EAAA,CAAIE,mBAAAA,CAAgB,KAAA,CAAOC,CAAAA,EAAY,CAACA,CAAAA,CAAQ,IAAA,CAAKF,CAAI,CAAC,CAAA,CACxD,MAAO,CACL,QAAA,CAAUA,CAAAA,CACV,MAAA,CAAQD,CAAAA,CAAK,MACf,CAAA,CAGF,IAAMI,CAAAA,CAAe,CAAA,CAAA,SAAA,CAAUH,CAAAA,CAAM,CACnC,OAAA,CAAS,CAAC,CAAC,YAAA,CAAc,CAAE,kBAAA,CAAoB,CAAA,CAAK,CAAC,CAAC,CAAA,CACtD,QAAA,CAAUD,CAAAA,CAAK,IAAA,CACf,OAAA,CAAS,CAACK,mBAAW,CACvB,CAAC,CAAA,CAAE,IAAA,CAEH,MAAO,CACL,QAAA,CAAUD,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAUH,CAAAA,CACpB,MAAA,CAAQD,CAAAA,CAAK,MACf,CACF,CAAC,CACH,CACF,CACF,CAAA,CAAA,cAAA","file":"/Users/iwo/Projects/wigsill/packages/unplugin-typegpu/dist/chunk-NQODVO3L.cjs","sourcesContent":[null,"import type { BunPlugin } from 'bun';\nimport * as Babel from '@babel/standalone';\nimport defu from 'defu';\nimport { defaultOptions, earlyPruneRegex, type Options } from './common.ts';\nimport babelPlugin from './babel.ts';\n\nexport default (rawOptions: Options): BunPlugin => {\n const options = defu(rawOptions, defaultOptions);\n const include = options.include;\n if (!(include instanceof RegExp)) {\n throw new Error(\n `Unsupported 'include' options in Bun plugin. Please provide a single regular expression`,\n );\n }\n if (options.exclude) {\n throw new Error(`Unsupported 'exclude' option in Bun plugin`);\n }\n\n return {\n name: 'unplugin-typegpu',\n setup(build) {\n build.onLoad({ filter: include }, async (args) => {\n const text = await Bun.file(args.path).text();\n\n // Pruning early before more expensive operations\n if (earlyPruneRegex.every((pattern) => !pattern.test(text))) {\n return {\n contents: text,\n loader: args.loader,\n };\n }\n\n const result = Babel.transform(text, {\n presets: [['typescript', { allowDeclareFields: true }]],\n filename: args.path,\n plugins: [babelPlugin],\n }).code;\n\n return {\n contents: result ?? text,\n loader: args.loader,\n };\n });\n },\n };\n};\n"]}