{"mappings":"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","names":["escapeStringRegexp","fs","path","EMPTY_PATH","builtinsPolyfills","libs","NAME","NAMESPACE","removeEndingSlash","importee","NodeModulesPolyfillPlugin","options","namespace","name","commonjsNamespace","polyfilledBuiltins","builtinsPolyfills","polyfilledBuiltinsNames","onLoad","onResolve","initialOptions","_a","loader","args","argsPath","isCommonjs","resolved","contents","fs","resolveDir","path","commonJsTemplate","e","filter","n","escapeStringRegexp","resolver","ignoreRequire","importPath","index_default"],"sources":["../esm/npm/@esbuild-plugins/node-modules-polyfill@0.2.2/node_modules/@esbuild-plugins/node-modules-polyfill/src/index.ts","../esm/npm/@esbuild-plugins/node-modules-polyfill@0.2.2/node_modules/@esbuild-plugins/node-modules-polyfill/src/polyfills.ts"],"sourcesContent":["import { OnResolveArgs, Plugin } from 'esbuild'\nimport escapeStringRegexp from 'escape-string-regexp'\nimport fs from 'fs'\nimport path from 'path'\nimport esbuild from 'esbuild'\nimport { builtinsPolyfills } from './polyfills'\n\n// import { NodeResolvePlugin } from '@esbuild-plugins/node-resolve'\nconst NAME = 'node-modules-polyfills'\nconst NAMESPACE = NAME\n\nfunction removeEndingSlash(importee) {\n    if (importee \u0026\u0026 importee.slice(-1) === '/') {\n        importee = importee.slice(0, -1)\n    }\n    return importee\n}\n\nexport interface NodePolyfillsOptions {\n    name?: string\n    namespace?: string\n}\n\nexport function NodeModulesPolyfillPlugin(\n    options: NodePolyfillsOptions = {},\n): Plugin {\n    const { namespace = NAMESPACE, name = NAME } = options\n    if (namespace.endsWith('commonjs')) {\n        throw new Error(`namespace ${namespace} must not end with commonjs`)\n    }\n    // this namespace is needed to make ES modules expose their default export to require: require('assert') will give you import('assert').default\n    const commonjsNamespace = namespace + '-commonjs'\n    const polyfilledBuiltins = builtinsPolyfills()\n    const polyfilledBuiltinsNames = [...polyfilledBuiltins.keys()]\n\n    return {\n        name,\n        setup: function setup({ onLoad, onResolve, initialOptions }) {\n            // polyfills contain global keyword, it must be defined\n            if (initialOptions?.define \u0026\u0026 !initialOptions.define?.global) {\n                initialOptions.define['global'] = 'globalThis'\n            } else if (!initialOptions?.define) {\n                initialOptions.define = { global: 'globalThis' }\n            }\n\n            // TODO these polyfill module cannot import anything, is that ok?\n            async function loader(\n                args: esbuild.OnLoadArgs,\n            ): Promise\u003cesbuild.OnLoadResult\u003e {\n                try {\n                    const argsPath = args.path.replace(/^node:/, '')\n                    const isCommonjs = args.namespace.endsWith('commonjs')\n\n                    const resolved = polyfilledBuiltins.get(\n                        removeEndingSlash(argsPath),\n                    )\n                    const contents = await (\n                        await fs.promises.readFile(resolved)\n                    ).toString()\n                    let resolveDir = path.dirname(resolved)\n\n                    if (isCommonjs) {\n                        return {\n                            loader: 'js',\n                            contents: commonJsTemplate({\n                                importPath: argsPath,\n                            }),\n                            resolveDir,\n                        }\n                    }\n                    return {\n                        loader: 'js',\n                        contents,\n                        resolveDir,\n                    }\n                } catch (e) {\n                    console.error('node-modules-polyfill', e)\n                    return {\n                        contents: `export {}`,\n                        loader: 'js',\n                    }\n                }\n            }\n            onLoad({ filter: /.*/, namespace }, loader)\n            onLoad({ filter: /.*/, namespace: commonjsNamespace }, loader)\n            const filter = new RegExp(\n                [\n                    ...polyfilledBuiltinsNames,\n                    ...polyfilledBuiltinsNames.map((n) =\u003e `node:${n}`),\n                ]\n                    .map(escapeStringRegexp)\n                    .join('|'), // TODO builtins could end with slash, keep in mind in regex\n            )\n            async function resolver(args: OnResolveArgs) {\n                const argsPath = args.path.replace(/^node:/, '')\n                const ignoreRequire = args.namespace === commonjsNamespace\n\n                if (!polyfilledBuiltins.has(argsPath)) {\n                    return\n                }\n\n                const isCommonjs =\n                    !ignoreRequire \u0026\u0026 args.kind === 'require-call'\n\n                return {\n                    namespace: isCommonjs ? commonjsNamespace : namespace,\n                    path: argsPath,\n                }\n            }\n            onResolve({ filter }, resolver)\n            // onResolve({ filter: /.*/, namespace }, resolver)\n        },\n    }\n}\n\nfunction commonJsTemplate({ importPath }) {\n    return `\nconst polyfill = require('${importPath}')\n\nif (polyfill \u0026\u0026 polyfill.default) {\n    module.exports = polyfill.default\n    for (let k in polyfill) {\n        module.exports[k] = polyfill[k]\n    }\n} else if (polyfill)  {\n    module.exports = polyfill\n}\n\n\n`\n}\n\nexport default NodeModulesPolyfillPlugin\n","// Taken from https://github.com/ionic-team/rollup-plugin-node-polyfills/blob/master/src/modules.ts\n\nimport { NodePolyfillsOptions } from '.'\n\nconst EMPTY_PATH = require.resolve(\n    'rollup-plugin-node-polyfills/polyfills/empty.js',\n)\n\nexport function builtinsPolyfills() {\n    const libs = new Map()\n\n    libs.set(\n        'process',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/process-es6'),\n    )\n    libs.set(\n        'buffer',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/buffer-es6'),\n    )\n    libs.set(\n        'util',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/util'),\n    )\n    libs.set('sys', libs.get('util'))\n    libs.set(\n        'events',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/events'),\n    )\n    libs.set(\n        'stream',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/stream'),\n    )\n    libs.set(\n        'path',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/path'),\n    )\n    libs.set(\n        'querystring',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/qs'),\n    )\n    libs.set(\n        'punycode',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/punycode'),\n    )\n    libs.set(\n        'url',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/url'),\n    )\n    libs.set(\n        'string_decoder',\n        require.resolve(\n            'rollup-plugin-node-polyfills/polyfills/string-decoder',\n        ),\n    )\n    libs.set(\n        'http',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/http'),\n    )\n    libs.set(\n        'https',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/http'),\n    )\n    libs.set('os', require.resolve('rollup-plugin-node-polyfills/polyfills/os'))\n    libs.set(\n        'assert',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/assert'),\n    )\n    libs.set(\n        'constants',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/constants'),\n    )\n    libs.set(\n        '_stream_duplex',\n        require.resolve(\n            'rollup-plugin-node-polyfills/polyfills/readable-stream/duplex',\n        ),\n    )\n    libs.set(\n        '_stream_passthrough',\n        require.resolve(\n            'rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough',\n        ),\n    )\n    libs.set(\n        '_stream_readable',\n        require.resolve(\n            'rollup-plugin-node-polyfills/polyfills/readable-stream/readable',\n        ),\n    )\n    libs.set(\n        '_stream_writable',\n        require.resolve(\n            'rollup-plugin-node-polyfills/polyfills/readable-stream/writable',\n        ),\n    )\n    libs.set(\n        '_stream_transform',\n        require.resolve(\n            'rollup-plugin-node-polyfills/polyfills/readable-stream/transform',\n        ),\n    )\n    libs.set(\n        'timers',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/timers'),\n    )\n    libs.set(\n        'console',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/console'),\n    )\n    libs.set('vm', require.resolve('rollup-plugin-node-polyfills/polyfills/vm'))\n    libs.set(\n        'zlib',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/zlib'),\n    )\n    libs.set(\n        'tty',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/tty'),\n    )\n    libs.set(\n        'domain',\n        require.resolve('rollup-plugin-node-polyfills/polyfills/domain'),\n    )\n\n    // not shimmed\n    libs.set('dns', EMPTY_PATH)\n    libs.set('dgram', EMPTY_PATH)\n    libs.set('child_process', EMPTY_PATH)\n    libs.set('cluster', EMPTY_PATH)\n    libs.set('module', EMPTY_PATH)\n    libs.set('net', EMPTY_PATH)\n    libs.set('readline', EMPTY_PATH)\n    libs.set('repl', EMPTY_PATH)\n    libs.set('tls', EMPTY_PATH)\n    libs.set('fs', EMPTY_PATH)\n    libs.set('crypto', EMPTY_PATH)\n\n    // libs.set(\n    //     'fs',\n    //     require.resolve('rollup-plugin-node-polyfills/polyfills/browserify-fs'),\n    // )\n\n    // TODO enable crypto and fs https://github.com/ionic-team/rollup-plugin-node-polyfills/issues/20\n    // libs.set(\n    //     'crypto',\n    //     require.resolve(\n    //         'rollup-plugin-node-polyfills/polyfills/crypto-browserify',\n    //     ),\n    // )\n\n    return libs\n}\n"],"version":3}
