JSAN::Parse::FileDeps - Parse file-level dependencies from JSAN modules
As in Perl, two types of dependencies exist in JSAN. Distribution-level install-time dependencies, and run-time file-level dependencies.
Because JSAN modules aren't explicitly required to provide the file-level dependencies, this package was created to provide a single common module by which to determine what these dependencies are, so that all processes at all stages of the JSAN module lifecycle will have a common understanding of the dependencies that a file has, and provide certainty for the module developer.
library_deps method finds a list of all the libary dependencies for a given file,
where a library is specified in the form
"Foo.Bar" (using the pseudo-namespaces common to JSAN).
Returns a list of libraries, or throws an exception on error.
library_deps method finds a list of all the file dependencies for a given file,
where a file is specified in the form
"Foo/Bar.js" (that is,
relative to the root of the lib path for the modules).
The list is identical to,
and is calculated from,
the list of libraries returned by
Returns a list of local filesytem relative paths, or throws an exception on error.
find_deps_js method is used to extract the header content from a file,
to be searched for dependencies,
and potentially written to a
Returns the content as a list of lines, or throws an exception on error.
make_deps_js method takes a JSAN module filename in the form
"foo/bar.js" and extracts the dependency header,
writing it to
Returns true on success, or throws an exception on error.
Bugs should always be submitted via the CPAN bug tracker
For other issues, contact the maintainer
Completed and maintained by Adam Kennedy <email@example.com>, http://ali.as/
Original written by Rob Kinyon <firstname.lastname@example.org>
Copyright 2005, 2006 Rob Kinyon and Adam Kennedy. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.