UNPKG

2.38 kBJavaScriptView Raw
1const extensions = {
2 '.babel.js': [
3 {
4 module: 'babel-core/register',
5 register: function (module) {
6 module({
7 // register on .js extension due to https://github.com/joyent/node/blob/v0.12.0/lib/module.js#L353
8 // which only captures the final extension (.babel.js -> .js)
9 extensions: '.js'
10 });
11 }
12 },
13 {
14 module: 'babel/register',
15 register: function (module) {
16 module({
17 extensions: '.js'
18 });
19 }
20 }
21 ],
22 '.cirru': 'cirru-script/lib/register',
23 '.cjsx': 'node-cjsx/register',
24 '.co': 'coco',
25 '.coffee': ['coffee-script/register', 'coffee-script'],
26 '.coffee.md': ['coffee-script/register', 'coffee-script'],
27 '.csv': 'require-csv',
28 '.eg': 'earlgrey/register',
29 '.iced': ['iced-coffee-script/register', 'iced-coffee-script'],
30 '.iced.md': 'iced-coffee-script/register',
31 '.ini': 'require-ini',
32 '.js': null,
33 '.json': null,
34 '.json5': 'json5/lib/require',
35 '.jsx': [
36 {
37 module: 'babel-core/register',
38 register: function (module) {
39 module({
40 extensions: '.jsx'
41 });
42 }
43 },
44 {
45 module: 'babel/register',
46 register: function (module) {
47 module({
48 extensions: '.jsx'
49 });
50 },
51 },
52 {
53 module: 'node-jsx',
54 register: function (module) {
55 module.install({
56 extension: '.jsx',
57 harmony: true
58 });
59 }
60 }
61 ],
62 '.litcoffee': ['coffee-script/register', 'coffee-script'],
63 '.liticed': 'iced-coffee-script/register',
64 '.ls': ['livescript', 'LiveScript'],
65 '.node': null,
66 '.toml': {
67 module: 'toml-require',
68 register: function (module) {
69 module.install();
70 }
71 },
72 '.ts': ['typescript-node/register', 'typescript-register', 'typescript-require'],
73 '.tsx': ['typescript-node/register'],
74 '.wisp': 'wisp/engine/node',
75 '.xml': 'require-xml',
76 '.yaml': 'require-yaml',
77 '.yml': 'require-yaml'
78};
79
80const jsVariantExtensions = [
81 '.js',
82 '.babel.js',
83 '.cirru',
84 '.cjsx',
85 '.co',
86 '.coffee',
87 '.coffee.md',
88 '.eg',
89 '.iced',
90 '.iced.md',
91 '.jsx',
92 '.litcoffee',
93 '.liticed',
94 '.ls',
95 '.ts',
96 '.wisp'
97];
98
99module.exports = {
100 extensions: extensions,
101 jsVariants: jsVariantExtensions.reduce(function (result, ext) {
102 result[ext] = extensions[ext];
103 return result;
104 }, {})
105};