3.0.1 • Published 6 years ago
load-directory v3.0.1
load-directory
npm install --save load-directoryAPI
const Require = require('load-directory');
Require.all(<path-to-directory>, <options>);Default configuration, can be overwritten with user-defined options:
{
filter: /^((?!index).+)*\..*$/, // index.js will be ignored by default
excludeDirs: /^\.(git|svn)$/, // .git, .svn directories will be ignored by default
recursive: true, // true, if files are to be required by traversing nested directories
map: module.exports.Strategies.Filename.pascalCase, // pascalCase will be applied by default
resolve: function (func) { // resolving of files will be simply return module.exports by default
return func;
}
};Usage
const Require = require('load-directory');
Require.all(__dirname, {
excludeDirs : /^primitive$/, // will exclude the directory "primitive"
map: Require.Strategies.Filename.pascalCase // will use Pascal Case to map the required filenames
});A few strategies are provided on requiring files and setting filenames on require eg. Given the file structure:
.
└── utils
├── generate_filename.js
└── predict_value.js
└── templates
└── standard.js
└── ultimate.jsExamples using strategies
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.lowerCase
});
console.log(Utils);
// { generate_filename: [Function],
// predict_value: [Function],
// templates: { standard: [Function], ultimate: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.upperCase
});
console.log(Utils);
// { GENERATE_FILENAME: [Function],
// PREDICT_VALUE: [Function],
// TEMPLATES: { STANDARD: [Function], ULTIMATE: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.dotCase
});
console.log(Utils);
// { 'generate.filename': [Function],
// 'predict.value': [Function],
// templates: { standard: [Function], ultimate: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.headerCase
});
console.log(Utils);
// { 'Generate-Filename': [Function],
// 'Predict-Value': [Function],
// Templates: { Standard: [Function], Ultimate: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.paramCase
});
console.log(Utils);
// { 'generate-filename': [Function],
// 'predict-value': [Function],
// templates: { standard: [Function], ultimate: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.sentenceCase
});
console.log(Utils);
// { 'Generate filename': [Function],
// 'Predict value': [Function],
// Templates: { Standard: [Function], Ultimate: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.snakeCase
});
console.log(Utils);
// { generate_filename: [Function],
// predict_value: [Function],
// templates: { standard: [Function], ultimate: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.camelCase
});
console.log(Utils);
// { generateFilename: [Function],
// predictValue: [Function],
// templates: { standard: [Function], ultimate: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.pascalCase
});
console.log(Utils);
// { GenerateFilename: [Function],
// PredictValue: [Function],
// Templates: { Standard: [Function], Ultimate: [Function] } }
const Utils = Require.all(__dirname + 'utils', {
map: Require.Strategies.Filename.functionCase
});
console.log(Utils);
// { generateFilename: [Function],
// predictValue: [Function],
// Templates: { standard: [Function], ultimate: [Function] } }For more workable examples, please see fixtures.
3.0.1
6 years ago
2.0.21
8 years ago
2.0.20
9 years ago
2.0.19
9 years ago
2.0.18
9 years ago
2.0.17
9 years ago
2.0.16
9 years ago
2.0.15
9 years ago
2.0.14
9 years ago
2.0.13
9 years ago
2.0.12
9 years ago
2.0.11
9 years ago
2.0.10
9 years ago
2.0.9
9 years ago
2.0.8
9 years ago
2.0.7
9 years ago
2.0.6
9 years ago
2.0.5
9 years ago
2.0.4
9 years ago
2.0.3
9 years ago
2.0.2
9 years ago
2.0.1
9 years ago
2.0.0
9 years ago
1.1.12
9 years ago
1.1.10
9 years ago
1.1.9
10 years ago
1.1.8
10 years ago
1.1.7
10 years ago
1.1.6
10 years ago
1.1.5
10 years ago
1.1.4
10 years ago
1.1.3
10 years ago
1.1.2
10 years ago
1.1.1
10 years ago
1.1.0
10 years ago
1.0.0
10 years ago