0.2.1 • Published 9 years ago

dotjem-ng-files v0.2.1

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

npm-ng-files

Build Status

Collects angular files from a set of directives and orders them according to their dependencies.

Install

npm install dotjem-ng-files

Getting Started

For the most simple usecase, use getSources

var ngFiles = require('dotjem-ng-files');
var filesPromise = ngFiles.getSources('first dir', 'second dir', ... , "n'th dir");

filesPromise.then(function(angularOrderedFiles) {
  
});

If you wan't to collect files in separate contexts, use the AngularContext.

var ngFiles = require('dotjem-ng-files');
var context = new ngFiles.AngularContext('first dir', 'second dir', ... , "n'th dir");
context
  .load('antoher dir')
  .load('more dirs', 'here');
  
context.sources().then(function(angularOrderedFiles) {
  
});

context.modules().then(function(orderedModules) {
  var files = orderedModules.map(function(module) { module.sources(); });
});

Caveats:

The angular context will look for specific files and treats them in a specific way.

  • If a folder contains a file that ends with .module.js that folder is treated as a module. -- The module file must contain a mudule definition: angular.module('name', ['dependency']); -- All files in a module folder and subfolders of it will be loaded into the module.
  • If a file inside a module folder contains .config. that file is treated as a configuration file and is loaded last. -- Modules may have multiple config files and petterns like name.config.routing.js and name.config.js are supported.

As such a structure could be:

scritpts/
  module1/
    module1.module.js
    module1.config.js
    controllers/
      myController.js
  module2/
    module2.module.js
    somefile.js
    module2.config.js
    controllers/
      myOtherController.js
  subs/
    module3/
      module3.module.js
      somefile.js
      module3.config.js
      controllers/
        myThirdController.js
    module4/
      module4.module.js
      somefile.js
      module4.config.specific.js
      module4.config.other.js
      controllers/
        myFinalController.js

if a module dependency is not loaded as part of the process, it's considered a 3rd party deppendency and ignored when building the tree as it is expected that all modules of that sort is loaded first.

Final note, this is still experimental.

0.2.1

9 years ago

0.1.1

10 years ago

0.1.0

10 years ago