View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Adam Kennedy > JSAN-Parse-FileDeps > JSAN::Parse::FileDeps



Annotate this POD


Open  0
View/Report Bugs
Module Version: 1.00   Source  


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 $file

The 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.

file_deps $file

The 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 library_deps.

Returns a list of local filesytem relative paths, or throws an exception on error.

find_deps_js $file

The find_deps_js method is used to extract the header content from a file, to be searched for dependencies, and potentially written to a module_deps.js file.

Returns the content as a list of lines, or throws an exception on error.

make_deps_js $file

The make_deps_js method takes a JSAN module filename in the form "foo/bar.js" and extracts the dependency header, writing it to "foo/bar_deps.js".

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 <>,

Original written by Rob Kinyon <>


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.

syntax highlighting: