$
This commit is contained in:
44
node_modules/rechoir/lib/extension.js
generated
vendored
Normal file
44
node_modules/rechoir/lib/extension.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
'use strict';
|
||||
|
||||
var path = require('path');
|
||||
|
||||
function getLongExtension(basename) {
|
||||
if (basename[basename.length - 1] === '.') {
|
||||
return null;
|
||||
}
|
||||
|
||||
var startIndex = (basename[0] === '.') ? 1 : 0;
|
||||
|
||||
var dotIndex = basename.indexOf('.', startIndex);
|
||||
if (dotIndex <= startIndex) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return basename.slice(dotIndex);
|
||||
}
|
||||
|
||||
function getPossibleExtensions(longExtension) {
|
||||
var arr = [longExtension];
|
||||
var len = longExtension.length;
|
||||
var startIndex = 1;
|
||||
|
||||
while (startIndex < len) {
|
||||
var dotIndex = longExtension.indexOf('.', startIndex);
|
||||
if (dotIndex < 0) {
|
||||
break;
|
||||
}
|
||||
arr.push(longExtension.slice(dotIndex));
|
||||
startIndex = dotIndex + 1;
|
||||
}
|
||||
|
||||
return arr;
|
||||
}
|
||||
|
||||
module.exports = function(input) {
|
||||
var basename = path.basename(input);
|
||||
var longExtension = getLongExtension(basename);
|
||||
if (!longExtension) {
|
||||
return;
|
||||
}
|
||||
return getPossibleExtensions(longExtension);
|
||||
};
|
13
node_modules/rechoir/lib/normalize.js
generated
vendored
Normal file
13
node_modules/rechoir/lib/normalize.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
function normalizer(config) {
|
||||
if (typeof config === 'string') {
|
||||
return { module: config };
|
||||
}
|
||||
return config;
|
||||
}
|
||||
|
||||
module.exports = function(config) {
|
||||
if (Array.isArray(config)) {
|
||||
return config.map(normalizer);
|
||||
}
|
||||
return normalizer(config);
|
||||
};
|
15
node_modules/rechoir/lib/register.js
generated
vendored
Normal file
15
node_modules/rechoir/lib/register.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
var resolve = require('resolve');
|
||||
|
||||
module.exports = function(cwd, moduleName, register) {
|
||||
var result;
|
||||
try {
|
||||
var modulePath = resolve.sync(moduleName, { basedir: cwd });
|
||||
result = require(modulePath);
|
||||
if (typeof register === 'function') {
|
||||
register(result);
|
||||
}
|
||||
} catch (e) {
|
||||
result = e;
|
||||
}
|
||||
return result;
|
||||
};
|
Reference in New Issue
Block a user