NAME JavaScript::Dependency::Manager - Manage your JavaScript dependencies VERSION version 0.001002 SYNOPSIS First, annotate your javascript files with "provides" and/or "requires": // provides: Ack // requires: underscore var Ack = _.throttle(function(foo) { alert('ACK! ' + foo) }, 100) // etc, etc Now you can use "JavaScript::Dependency::Manager" to automatically create a list of files needed for a given "provision". use JavaScript::Dependency::Manager; my $mgr = JavaScript::Dependency::Manager->new( lib_dir => ['root/js/lib'], provisions => { underscore => ['root/js/lib/underscore/underscore.js'], }, ); my @files = $mgr->file_list_for_provisions(['Lynx.ui.form.MWHY']); Note that I manually set a provision above. That's because "underscore" is an external library, so I shouldn't edit it's source to set it's provisions. DESCRIPTION This module simply helps you automatically create a list of necessary files based on a list of "modules", which are merely your way of identifying functions, objects, classes, or whatever else that you would like to load. It will correctly order the list of files to load based on your defined requirements. TERMS requirement A "requirement" is simply a module that a given file needs to run. provision A "provision" is simply a module that a given file has within it. METHODS file_list_for_provisions my @files = $mgr->file_list_for_provisions(['Foo', 'Bar']) This method returns a list of files needed to load a list of provisions. ATTRIBUTES lib_dir required. An "ArrayRef" of directories to scan to create the list of "requirement"s and "provision"s. recurse False by default. Set to true if you want the tool to recurse into subdirectories of the "lib_dir". scan_files True by default. Set to false if you want the tool not to scan files at all, but instead use a provided list of "requirement"s and "provision"s. DEDICATION "JavaScript::Dependency::Manager" module is dedicated to my namesake, Arthur Dale Schmidt. He was my grandfather as well as the inventor of a chemical called Sand Control 60 (SC60,) which was used in oil fields to reduce the need to redrill entire wells due to sand clogging. AUTHOR Arthur Axel "fREW" Schmidt COPYRIGHT AND LICENSE This software is copyright (c) 2012 by Arthur Axel "fREW" Schmidt. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.