UNPKG

682 BJavaScriptView Raw
1const path = require('path');
2const resolve = require('resolve');
3const interpret = require('interpret');
4
5exports.registerFor = function (filepath, cwd) {
6 var ext = path.extname(filepath);
7 if (Object.keys(require.extensions).indexOf(ext) !== -1) {
8 return;
9 }
10 if (!cwd) {
11 cwd = path.dirname(path.resolve(filepath));
12 }
13 var moduleName = interpret.extensions[ext];
14 if (moduleName) {
15 var compiler = require(resolve.sync(moduleName, {basedir: cwd}));
16 var register = interpret.register[moduleName];
17 if (register) {
18 register(compiler);
19 }
20 }
21}
22
23exports.load = function (filepath) {
24 exports.registerFor(filepath);
25 return require(filepath);
26};