app-root
Returns a list of application entry points for front-end applications (JS and Sass).
npm install app-root
An entry point (i.e., root) is a file that no other file requires/imports.
Works with AMD, CommonJS, ES6, and SASS apps.
This library is particularly useful for automatically deducing the entry point for r.js or browserify configurations as done in YA.
A directory may have many roots. This is true if you have multiple apps within a single
directory or if your app uses a multi-bundle architecture (where each page on your
site has its own JS app).
Usage
var getAppRoot = require('app-root');
getAppRoot({
directory: './js',
success: function (roots) {
...
}
});
With configurable options:
getAppRoot({
directory: './js',
success: function (roots) {
...
},
ignoreDirectories: [/.+_components/, 'vendor', 'node_modules', '.git'],
ignoreFiles: ['Gruntfile.js'],
includeNoDependencyModules: true,
config: 'path/to/my/requirejs/config.js'
});
Options
ignoreDirectories
: list of directory names (strings or regex) to ignoreignoreFiles
: list of file names (strings or regex) to ignoreincludeNoDependencyModules
: (default false) Whether or not to include, as potential roots, modules that have no dependenciesconfig
: path to your module loader configuration (for resolving aliased module paths)
Or via a shell command
approot directory
- Where
directory
is the directory containing roots you'd like to identify