module-alias
Advanced tools
Comparing version 1.0.5 to 1.0.6
44
index.js
var Module = require('module').Module | ||
var nodePath = require('path') | ||
var module_paths = [] | ||
var module_aliases = {} | ||
var modulePaths = [] | ||
var moduleAliases = {} | ||
var old_nodeModulePaths = Module._nodeModulePaths | ||
var oldNodeModulePaths = Module._nodeModulePaths | ||
Module._nodeModulePaths = function (from) { | ||
var paths = old_nodeModulePaths.call(this, from) | ||
var paths = oldNodeModulePaths.call(this, from) | ||
@@ -14,3 +14,3 @@ // Only include the module path for top-level modules | ||
if (from.indexOf('node_modules') === -1) { | ||
paths = module_paths.concat(paths) | ||
paths = modulePaths.concat(paths) | ||
} | ||
@@ -21,8 +21,8 @@ | ||
var old_resolveFilename = Module._resolveFilename | ||
var oldResolveFilename = Module._resolveFilename | ||
Module._resolveFilename = function (request, self) { | ||
for (var alias in module_aliases) { | ||
for (var alias in moduleAliases) { | ||
if (request.indexOf(alias) === 0) { | ||
request = nodePath.join( | ||
module_aliases[alias], | ||
moduleAliases[alias], | ||
request.substr(alias.length) | ||
@@ -33,3 +33,3 @@ ) | ||
return old_resolveFilename.apply(this, arguments) | ||
return oldResolveFilename.apply(this, arguments) | ||
} | ||
@@ -57,4 +57,4 @@ | ||
if (module_paths.indexOf(path) === -1) { | ||
module_paths.push(path) | ||
if (modulePaths.indexOf(path) === -1) { | ||
modulePaths.push(path) | ||
// Enable the search path for the current top-level module | ||
@@ -80,3 +80,3 @@ addPathHelper(path, require.main.paths) | ||
function addAlias (alias, target) { | ||
module_aliases[alias] = target | ||
moduleAliases[alias] = target | ||
} | ||
@@ -91,3 +91,3 @@ | ||
// Reset all changes in paths caused by addPath function | ||
module_paths.forEach(function (path) { | ||
modulePaths.forEach(function (path) { | ||
removePathHelper(path, require.main.paths) | ||
@@ -101,4 +101,4 @@ var parent = module.parent | ||
module_paths = [] | ||
module_aliases = {} | ||
modulePaths = [] | ||
moduleAliases = {} | ||
} | ||
@@ -124,3 +124,3 @@ | ||
try { | ||
var npm_package = require(base + '/package.json') | ||
var npmPackage = require(base + '/package.json') | ||
} catch (e) { | ||
@@ -130,3 +130,3 @@ // Do nothing | ||
if (typeof npm_package !== 'object') { | ||
if (typeof npmPackage !== 'object') { | ||
throw Error('Unable to read ' + base + '/package.json') | ||
@@ -139,3 +139,3 @@ } | ||
var aliases = npm_package._moduleAliases || {} | ||
var aliases = npmPackage._moduleAliases || {} | ||
@@ -154,8 +154,8 @@ for (var alias in aliases) { | ||
if (npm_package._moduleDirectories instanceof Array) { | ||
npm_package._moduleDirectories.forEach(function (dir) { | ||
if (npmPackage._moduleDirectories instanceof Array) { | ||
npmPackage._moduleDirectories.forEach(function (dir) { | ||
if (dir === 'node_modules') return | ||
var module_path = nodePath.join(base, dir) | ||
addPath(module_path) | ||
var modulePath = nodePath.join(base, dir) | ||
addPath(modulePath) | ||
}) | ||
@@ -162,0 +162,0 @@ } |
{ | ||
"name": "module-alias", | ||
"description": "Create aliases of directories and register custom module paths in NodeJS like a boss!", | ||
"version": "1.0.5", | ||
"version": "1.0.6", | ||
"author": { | ||
@@ -6,0 +6,0 @@ "name": "Nikita Gavrilov", |
@@ -17,3 +17,5 @@ # module-alias | ||
```js | ||
require('@deep/module') | ||
var module = require('@deep/module') | ||
// Or ES6 | ||
import module from '@deep/module' | ||
``` | ||
@@ -34,5 +36,4 @@ | ||
"_moduleAliases": { | ||
"@root" : "", // Application's root | ||
"@root" : ".", // Application's root | ||
"@client" : "src/client", | ||
"@admin" : "src/client/admin", | ||
"@deep" : "src/some/very/deep/directory", | ||
@@ -43,3 +44,3 @@ "@my_module" : "src/some-file.js", | ||
// Custom modules directory (optional) | ||
// Custom module directories (optional) | ||
"_moduleDirectories": ["node_modules_custom"], | ||
@@ -54,9 +55,15 @@ ``` | ||
And you're all set! Now you can do stuff like: | ||
**And you're all set!** Now you can do stuff like: | ||
```js | ||
require('something') | ||
const module = require('@root/some-module') | ||
const veryDeepModule = require('@deep/my-module') | ||
const customModule = require('my_custom_module') // module from `node_modules_custom` directory | ||
// Or ES6 | ||
import 'something' | ||
import module from '@root/some-module' | ||
import veryDeepModule from '@deep/my-module' | ||
import myModule from '@my_module' // module from `node_modules_custom` directory | ||
import customModule from 'my_custom_module' // module from `node_modules_custom` directory | ||
``` | ||
@@ -63,0 +70,0 @@ |
8694
137