UNPKG

3.31 kBJavaScriptView Raw
1'use strict';
2
3var path = require('path');
4
5var libs = new Map();
6
7// our es6 versions
8libs.set('process', require.resolve('process-es6'));
9libs.set('buffer', require.resolve('buffer-es6'));
10libs.set('util', require.resolve(path.join('..', 'src', 'es6', 'util')));
11libs.set('sys', libs.get('util'));
12libs.set('events', require.resolve(path.join('..', 'src', 'es6', 'events')));
13libs.set('stream', require.resolve(path.join('..', 'src', 'es6', 'stream')));
14libs.set('path', require.resolve(path.join('..', 'src', 'es6', 'path')));
15libs.set('querystring', require.resolve(path.join('..', 'src', 'es6', 'qs')));
16libs.set('punycode', require.resolve(path.join('..', 'src', 'es6', 'punycode')));
17libs.set('url', require.resolve(path.join('..', 'src', 'es6', 'url')));
18libs.set('string_decoder', require.resolve(path.join('..', 'src', 'es6', 'string-decoder')));
19libs.set('http', require.resolve(path.join('..', 'src', 'es6', 'http')));
20libs.set('https', require.resolve(path.join('..', 'src', 'es6', 'http')));
21libs.set('os', require.resolve(path.join('..', 'src', 'es6', 'os')));
22libs.set('assert', require.resolve(path.join('..', 'src', 'es6', 'assert')));
23libs.set('constants', require.resolve('./constants'));
24libs.set('_stream_duplex', require.resolve(path.join('..', 'src', 'es6', 'readable-stream', 'duplex')));
25libs.set('_stream_passthrough', require.resolve(path.join('..', 'src', 'es6', 'readable-stream', 'passthrough')));
26libs.set('_stream_readable', require.resolve(path.join('..', 'src', 'es6', 'readable-stream', 'readable')));
27libs.set('_stream_writable', require.resolve(path.join('..', 'src', 'es6', 'readable-stream', 'writable')));
28libs.set('_stream_transform', require.resolve(path.join('..', 'src', 'es6', 'readable-stream', 'transform')));
29libs.set('timers', require.resolve(path.join('..', 'src', 'es6', 'timers')));
30libs.set('console', require.resolve(path.join('..', 'src', 'es6', 'console')));
31libs.set('vm', require.resolve(path.join('..', 'src', 'es6', 'vm')));
32libs.set('zlib', require.resolve(path.join('..', 'src', 'es6', 'zlib')));
33libs.set('tty', require.resolve(path.join('..', 'src', 'es6', 'tty')));
34libs.set('domain', require.resolve(path.join('..', 'src', 'es6', 'domain')));
35
36var CRYPTO_PATH = require.resolve('crypto-browserify');
37var FS_PATH = require.resolve('browserify-fs');
38var EMPTY_PATH = require.resolve(path.join('..', 'src', 'es6', 'empty'));
39
40// not shimmed
41libs.set('dns', EMPTY_PATH);
42libs.set('dgram', EMPTY_PATH);
43libs.set('child_process', EMPTY_PATH);
44libs.set('cluster', EMPTY_PATH);
45libs.set('module', EMPTY_PATH);
46libs.set('net', EMPTY_PATH);
47libs.set('readline', EMPTY_PATH);
48libs.set('repl', EMPTY_PATH);
49libs.set('tls', EMPTY_PATH);
50
51var index = function (opts) {
52 opts = opts || {};
53 var cryptoPath = EMPTY_PATH;
54 var fsPath = EMPTY_PATH;
55 if (opts.crypto) {
56 cryptoPath = CRYPTO_PATH;
57 }
58 if (opts.fs) {
59 fsPath = FS_PATH;
60 }
61 return {
62 resolveId: function resolveId(importee) {
63 if (importee && importee.slice(-1) === '/') {
64 importee === importee.slice(0, -1);
65 }
66 if (libs.has(importee)) {
67 return libs.get(importee);
68 }
69 if (importee === 'crypto') {
70 return cryptoPath;
71 }
72 if (importee === 'fs') {
73 return fsPath;
74 }
75 }
76 };
77};
78
79module.exports = index;