Alias npm submodules located in subdirectories
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
config
src
.editorconfig
.gitignore
.jshintrc
.npmignore
.tm_properties
Gruntfile.js
LICENSE.md
README.md
package.json

README.md

grunt-alias-npm-submodules

Latest GitHub Tag Latest GitHub Release Total Downloads via GitHub Node.js Module Version Downloads via npm per Month

Alias npm submodules located in subdirectories

grunt-alias-npm-submodules is a Grunt plugin. It creates alias script files in the root directory of your npm module that forward to submodules located in subdirectories to make them accessible using the npm module’s name:

// Use this:
require('your-module/submodule');

// Instead of this:
require('your-module/subdirectory/submodule');

Getting Started

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install --save-dev grunt-alias-npm-submodules@latest

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-alias-npm-submodules');

Alias task

Run this task with the grunt alias command. Task targets, files and options may be specified according to the grunt Configuring tasks guide.

Options

level

Type: Number or numeric String Default: 1 The level(s) of how deep the target file is nested in subdirectories.

Usage Examples

This will create a submodule.js alias file in the root directory:

alias: {
  options: {
    levels: 2
  },
  partial: 'level_1/level_2/submodule.js'
},

Result:

.
├── submodule.js # The alias file
└── level_1/
    └── level_2/
        └── submodule.js

When changing options.levels to 1, the result will be:

.
├── level_2 # The alias subdirectory
│   └── submodule.js # The alias file
└── level_1/
    └── level_2/
        └── submodule.js

Policy

This is communist software. It is crafted with heart and soul to the best of the author’s knowledge and belief: Not for profit but to satisfy the concrete needs. Do whatever you want with it (as long as you keep the author’s copyright notice in all copies or substantial portions of it included) for free. Imagine how the world could be if others would produce and distribute their products for the same benefits and ask yourself why they’re actually not.

License

This software is licensed under MIT License.

Copyright © 2015 Christian Grete