UNPKG

rollup-plugin-node-builtins

Version:
74 lines (68 loc) 3.1 kB
import {join} from 'path'; const libs = new Map(); // our es6 versions libs.set('process', require.resolve('process-es6')); libs.set('buffer', require.resolve('buffer-es6')); libs.set('util', require.resolve(join('..', 'src', 'es6', 'util'))); libs.set('sys', libs.get('util')); libs.set('events', require.resolve(join('..', 'src', 'es6', 'events'))); libs.set('stream', require.resolve(join('..', 'src', 'es6', 'stream'))); libs.set('path', require.resolve(join('..', 'src', 'es6', 'path'))); libs.set('querystring', require.resolve(join('..', 'src', 'es6', 'qs'))); libs.set('punycode', require.resolve(join('..', 'src', 'es6', 'punycode'))); libs.set('url', require.resolve(join('..', 'src', 'es6', 'url'))); libs.set('string_decoder', require.resolve(join('..', 'src', 'es6', 'string-decoder'))); libs.set('http', require.resolve(join('..', 'src', 'es6', 'http'))); libs.set('https', require.resolve(join('..', 'src', 'es6', 'http'))); libs.set('os', require.resolve(join('..', 'src', 'es6', 'os'))); libs.set('assert', require.resolve(join('..', 'src', 'es6', 'assert'))); libs.set('constants', require.resolve('./constants')); libs.set('_stream_duplex', require.resolve(join('..', 'src', 'es6', 'readable-stream', 'duplex'))); libs.set('_stream_passthrough', require.resolve(join('..', 'src', 'es6', 'readable-stream', 'passthrough'))); libs.set('_stream_readable', require.resolve(join('..', 'src', 'es6', 'readable-stream', 'readable'))); libs.set('_stream_writable', require.resolve(join('..', 'src', 'es6', 'readable-stream', 'writable'))); libs.set('_stream_transform', require.resolve(join('..', 'src', 'es6', 'readable-stream', 'transform'))); libs.set('timers', require.resolve(join('..', 'src', 'es6', 'timers'))); libs.set('console', require.resolve(join('..', 'src', 'es6', 'console'))); libs.set('vm', require.resolve(join('..', 'src', 'es6', 'vm'))); libs.set('zlib', require.resolve(join('..', 'src', 'es6', 'zlib'))); libs.set('tty', require.resolve(join('..', 'src', 'es6', 'tty'))); libs.set('domain', require.resolve(join('..', 'src', 'es6', 'domain'))); const CRYPTO_PATH = require.resolve('crypto-browserify'); const FS_PATH = require.resolve('browserify-fs'); const EMPTY_PATH = require.resolve(join('..', 'src', 'es6', 'empty')); // not shimmed libs.set('dns', EMPTY_PATH); libs.set('dgram', EMPTY_PATH); libs.set('child_process', EMPTY_PATH); libs.set('cluster', EMPTY_PATH); libs.set('module', EMPTY_PATH); libs.set('net', EMPTY_PATH); libs.set('readline', EMPTY_PATH); libs.set('repl', EMPTY_PATH); libs.set('tls', EMPTY_PATH); export default function (opts) { opts = opts || {}; let cryptoPath = EMPTY_PATH; let fsPath = EMPTY_PATH; if (opts.crypto) { cryptoPath = CRYPTO_PATH; } if (opts.fs) { fsPath = FS_PATH; } return {resolveId(importee) { if (importee && importee.slice(-1) === '/') { importee === importee.slice(0, -1); } if (libs.has(importee)) { return libs.get(importee); } if (importee === 'crypto') { return cryptoPath; } if (importee === 'fs') { return fsPath; } }}; }