Initial commit
[yaffs-website] / node_modules / interpret / index.js
1 const extensions = {
2   '.babel.js': [
3     {
4       module: 'babel-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-core/register',
15       register: function (module) {
16         module({
17           extensions: '.js'
18         });
19       }
20     },
21     {
22       module: 'babel/register',
23       register: function (module) {
24         module({
25           extensions: '.js'
26         });
27       }
28     }
29   ],
30   '.buble.js': [
31     {
32       module: 'buble/register',
33       register: function (module) {
34         module({
35           extensions: '.js'
36         });
37       }
38     }
39   ],
40   '.cirru': 'cirru-script/lib/register',
41   '.cjsx': 'node-cjsx/register',
42   '.co': 'coco',
43   '.coffee': ['coffee-script/register', 'coffee-script'],
44   '.coffee.md': ['coffee-script/register', 'coffee-script'],
45   '.csv': 'require-csv',
46   '.eg': 'earlgrey/register',
47   '.iced': ['iced-coffee-script/register', 'iced-coffee-script'],
48   '.iced.md': 'iced-coffee-script/register',
49   '.ini': 'require-ini',
50   '.js': null,
51   '.json': null,
52   '.json5': 'json5/lib/require',
53   '.jsx': [
54     {
55       module: 'babel-register',
56       register: function (module) {
57         module({
58           extensions: '.jsx'
59         });
60       }
61     },
62     {
63       module: 'babel-core/register',
64       register: function (module) {
65         module({
66           extensions: '.jsx'
67         });
68       }
69     },
70     {
71       module: 'babel/register',
72       register: function (module) {
73         module({
74           extensions: '.jsx'
75         });
76       },
77     },
78     {
79       module: 'node-jsx',
80       register: function (module) {
81         module.install({
82           extension: '.jsx',
83           harmony: true
84         });
85       }
86     }
87   ],
88   '.litcoffee': ['coffee-script/register', 'coffee-script'],
89   '.liticed': 'iced-coffee-script/register',
90   '.ls': ['livescript', 'LiveScript'],
91   '.node': null,
92   '.toml': {
93     module: 'toml-require',
94     register: function (module) {
95       module.install();
96     }
97   },
98   '.ts': ['ts-node/register', 'typescript-node/register', 'typescript-register', 'typescript-require'],
99   '.tsx': ['ts-node/register', 'typescript-node/register'],
100   '.wisp': 'wisp/engine/node',
101   '.xml': 'require-xml',
102   '.yaml': 'require-yaml',
103   '.yml': 'require-yaml'
104 };
105
106 const jsVariantExtensions = [
107   '.js',
108   '.babel.js',
109   '.buble.js',
110   '.cirru',
111   '.cjsx',
112   '.co',
113   '.coffee',
114   '.coffee.md',
115   '.eg',
116   '.iced',
117   '.iced.md',
118   '.jsx',
119   '.litcoffee',
120   '.liticed',
121   '.ls',
122   '.ts',
123   '.wisp'
124 ];
125
126 module.exports = {
127   extensions: extensions,
128   jsVariants: jsVariantExtensions.reduce(function (result, ext) {
129     result[ext] = extensions[ext];
130     return result;
131   }, {})
132 };