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