0.0.4 • Published 11 years ago

easy-folderator v0.0.4

Weekly downloads
16
License
-
Repository
github
Last release
11 years ago

#Easy Folderator

An easy way to automatically include and name modules in subdirectories.

##Installation

npm install easy-folderator

##Usage

Easy Folderator makes use of promises.

Lets say we have the following directory structure:

folder/
	inner-folder/
		deeper-inner-folder/
			deeper-inner-test-module.js
		inner-test-module.js
	test-module.js

The folderator.createPackage function will return an object with the following structure:

var package = {
	innerFolder: {
		deeperInnerFolder {
			deeperInnerTestModule: /* module.exports of deeper-inner-test-module.js */
		},
		innerTestModule: /* module.exports of inner-test-module.js */
	},
	testModule: /* module.exports of test-module.js */
}

##Example

This example uses the same folder structure as above under Usage. lets say we have a folder called models with the following structure:

models/
	user.js
	post.js

Let's also say that the exports object of each model is simply this:

module.exports = __filename;

Now lets look at what will happen:

var path = require('path');
var folderator = require('easy-folderator');

var packagePath = path.join(__dirname, 'models');

folderator
	.createPackage({
		rootDir: packagePath, // a required option
		captializeModules: true
	})
	.then(function (pack) {
		console.log(pack.User);
		//	logs:
		//		/path/to/file/models/user.js
	});

##Options

Options are passed to the createPackage function via an object:

folderator
	.createPackage({
		rootDir: myPath
	})

Only rootDir is required. There are no default options so you must always pass an object with rootDir set to a string in order for the it to work.

  • rootDir required
    • rootDir is a required option that tells which folder to package up.
  • captializeModules - captializeModules is not required. When a js file is required it will capitalize it when it attaches it to the packed object if this is set to true.