{"mappings":";AAAA,OAAOA,MAAU,YAIX,SAAUC,EAA0B,CACtC,OAAAC,EAAS,GAET,QAAAC,EAAU,EAAI,EACd,CAAA,EAAE,CACF,MAAO,CACH,KAAM,wBACN,MAAM,CAAE,eAAAC,EAAgB,UAAAC,EAAW,OAAAC,CAAM,EAAE,CACvCD,EAAU,CAAE,OAAQ,4BAA4B,EAAKE,IAC1C,CACH,KAAMP,EAAK,QAAQ,yDAAW,cAAc,GAEnD,EACDK,EAAU,CAAE,OAAQ,6BAA6B,EAAKE,IAC3C,CACH,KAAMP,EAAK,QAAQ,yDAAW,eAAe,GAEpD,EA6BDK,EAAU,CAAE,OAAQ,gCAAgC,EAAI,KAC7C,CACH,KAAML,EAAK,QAAQ,yDAAW,eAAe,GAEpD,EACDK,EAAU,CAAE,OAAQ,+BAA+B,EAAI,KAC5C,CACH,KAAML,EAAK,QAAQ,yDAAW,eAAe,GAEpD,EAED,IAAMQ,EAAsB,CAAA,EACxBL,GACAK,EAAU,KACNR,EAAK,QAAQ,yDAAW,kCAAkC,CAAC,EAG/DE,GACAM,EAAU,KACNR,EAAK,QAAQ,yDAAW,iCAAiC,CAAC,EAG9DI,EAAe,QACfA,EAAe,OAAO,KAAK,GAAGI,CAAS,EAEvCJ,EAAe,OAAS,CAAC,GAAG,IAAI,IAAIA,EAAe,MAAM,CAAC,GAE1DA,EAAe,OAAS,CAAC,GAAGI,CAAS,CAE7C,EAER,CAEA,IAAAC,EAAeR","names":["path","NodeGlobalsPolyfillPlugin","buffer","process","initialOptions","onResolve","onLoad","arg","polyfills","index_default"],"sources":["../esm/npm/@esbuild-plugins/node-globals-polyfill@0.2.3/node_modules/@esbuild-plugins/node-globals-polyfill/src/index.ts"],"sourcesContent":["import path from 'path'\nimport fs from 'fs'\nimport * as esbuild from 'esbuild'\n\nexport function NodeGlobalsPolyfillPlugin({\n    buffer = false,\n    // define = {},\n    process = true,\n} = {}): esbuild.Plugin {\n    return {\n        name: 'node-globals-polyfill',\n        setup({ initialOptions, onResolve, onLoad }) {\n            onResolve({ filter: /_node-buffer-polyfill_\\.js/ }, (arg) =\u003e {\n                return {\n                    path: path.resolve(__dirname, '../Buffer.js'),\n                }\n            })\n            onResolve({ filter: /_node-process-polyfill_\\.js/ }, (arg) =\u003e {\n                return {\n                    path: path.resolve(__dirname, '../process.js'),\n                }\n            })\n\n            // TODO esbuild cannot use virtual modules for inject: https://github.com/evanw/esbuild/issues/2762\n            // onLoad({ filter: /_virtual-process-polyfill_\\.js/ }, (arg) =\u003e {\n            //     const data = fs\n            //         .readFileSync(path.resolve(__dirname, '../process.js'))\n            //         .toString()\n\n            //     const keys = Object.keys(define)\n            //     return {\n            //         loader: 'js',\n            //         contents: data.replace(\n            //             `const defines = {}`,\n            //             'const defines = {\\n' +\n            //                 keys\n            //                     .filter((x) =\u003e x.startsWith('process.'))\n            //                     .sort((a, b) =\u003e a.length - b.length)\n            //                     .map(\n            //                         (k) =\u003e\n            //                             `  ${JSON.stringify(k).replace(\n            //                                 'process.',\n            //                                 '',\n            //                             )}: ${define[k]},`,\n            //                     )\n            //                     .join('\\n') +\n            //                 '\\n}',\n            //         ),\n            //     }\n            // })\n            onResolve({ filter: /_virtual-process-polyfill_\\.js/ }, () =\u003e {\n                return {\n                    path: path.resolve(__dirname, '../process.js'),\n                }\n            })\n            onResolve({ filter: /_virtual-buffer-polyfill_\\.js/ }, () =\u003e {\n                return {\n                    path: path.resolve(__dirname, '../_buffer.js'),\n                }\n            })\n\n            const polyfills: string[] = []\n            if (process) {\n                polyfills.push(\n                    path.resolve(__dirname, '../_virtual-process-polyfill_.js'),\n                )\n            }\n            if (buffer) {\n                polyfills.push(\n                    path.resolve(__dirname, '../_virtual-buffer-polyfill_.js'),\n                )\n            }\n            if (initialOptions.inject) {\n                initialOptions.inject.push(...polyfills)\n                // handle duplicate plugin\n                initialOptions.inject = [...new Set(initialOptions.inject)]\n            } else {\n                initialOptions.inject = [...polyfills]\n            }\n        },\n    }\n}\n\nexport default NodeGlobalsPolyfillPlugin\n"],"version":3}
