UNPKG

2.27 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 '.iced': ['iced-coffee-script/register', 'iced-coffee-script'],
29 '.iced.md': 'iced-coffee-script/register',
30 '.ini': 'require-ini',
31 '.js': null,
32 '.json': null,
33 '.json5': 'json5/lib/require',
34 '.jsx': [
35 {
36 module: 'babel-core/register',
37 register: function (module) {
38 module({
39 extensions: '.jsx'
40 });
41 }
42 },
43 {
44 module: 'babel/register',
45 register: function (module) {
46 module({
47 extensions: '.jsx'
48 });
49 },
50 },
51 {
52 module: 'node-jsx',
53 register: function (module) {
54 module.install({
55 extension: '.jsx',
56 harmony: true
57 });
58 }
59 }
60 ],
61 '.litcoffee': ['coffee-script/register', 'coffee-script'],
62 '.liticed': 'iced-coffee-script/register',
63 '.ls': ['livescript', 'LiveScript'],
64 '.node': null,
65 '.toml': {
66 module: 'toml-require',
67 register: function (module) {
68 module.install();
69 }
70 },
71 '.ts': ['typescript-register', 'typescript-require'],
72 '.wisp': 'wisp/engine/node',
73 '.xml': 'require-xml',
74 '.yaml': 'require-yaml',
75 '.yml': 'require-yaml'
76};
77
78const jsVariantExtensions = [
79 '.js',
80 '.babel.js',
81 '.cirru',
82 '.cjsx',
83 '.co',
84 '.coffee',
85 '.coffee.md',
86 '.iced',
87 '.iced.md',
88 '.jsx',
89 '.litcoffee',
90 '.liticed',
91 '.ls',
92 '.ts',
93 '.wisp'
94];
95
96module.exports = {
97 extensions: extensions,
98 jsVariants: jsVariantExtensions.reduce(function (result, ext) {
99 result[ext] = extensions[ext];
100 return result;
101 }, {})
102};