NAME
Module::Build::JSAN - Build JavaScript distributions for JSAN
SYNOPSIS
In Build.PL:
use Module::Build::JSAN;
my $build = Module::Build::JSAN->new(
module_name => 'Foo.Bar',
license => 'perl',
keywords => [qw(Foo Bar pithyness)],
requires => {
'JSAN' => 0.10,
'Baz.Quux' => 0.02,
},
build_requires => {
'Test.Simple' => 0.20,
},
);
$build->create_build_script;
To build a distribution:
% perl Build.PL
% ./Build dist
DESCRIPTION
This is a developer aid for creating JSAN distributions. JSAN is the "JavaScript Archive Network," a JavaScript library akin to CPAN. Visit http://www.openjsan.org/ for details.
This module works nearly identically to Module::Build, so please refer to its documentation.
DIFFERENCES
- 1 META.json
-
JSAN uses the JSON format instead of the YAML format for META files, as JSON is legal Javascript and just plain easier to work with. This means that Module::Build::JSAN will generate META.json files instead of META.yml files. Do not be alarmed. See http://www.json.org/ for more information on JSON.
- 2 ./Build deps
-
This is a new action added to Module::Build::JSAN. Run this action in order to update your JSAN dependencies while developing your JSAN library. This will allow you to develop against the latest versions of the distributions upon which your library depends.
- 3. ./Build dist
-
This action overrides that provided by Module::Build to extract all documentation from your source files or from doc/pod and convert them into HTML and plain text representations in doc/html and doc/text, respectively. This keeps your .js libraries free of the weight of documentation in the distribution.
- 4. Version, Abstract, Author
-
Like Module::Build, Module::Build::JSAN will extract the module version number, abstract, and author from the JavaScript file for which the distribution is named. The abstract and author will only be extracted if they are specified in POD in the mode of Perl CPAN modules, i.e.:
/* =head1 NAME Foo.Bar - Foo your Bar, baby =head1 AUTHOR Joe Developer <joe@foobar.com> */
The version number will be parsed from the JavaScript code only if it is specified in one of the following manners:
Foo.Bar.VERSION = '0.34'; Foo.Bar = { VERSION: '0.34' }
If none of these options works for you for some reason, just specify the abstract, author, and version number in your Build.PL file:
my $build = Module::Build::JSAN->new( module_name => 'Foo.Bar', dist_author => 'Joe Developer <joe@foobar.com>', dist_abstract => 'Say something pithy here', dist_version => '0.34', # ... );
SEE ALSO
- http://www.openjsan.org/
-
Home of the JavaScript Archive Network.
- http://www.json.org/
-
Home page for JSON, the JavaScript Object Notation, which the format used in the META.json file generated by this module.
- http://justatheory.com/computers/programming/javascript/emulating_namespaces.html
-
The description of JavaScript namespaces on which JSAN modules are based.
SUPPORT
This module is stored in an open repository at the following address:
http://github.com/theory/module-build-jsan/tree/
Patches against Module::Build::JSAN are welcome. Please send bug reports to Please send bug reports to <bug-module-build-jsan@rt.cpan.org>.
AUTHORS
- David Wheeler <david@kineticode.com>
- Casey West <casey@geeknest.com>
- Rob Kinyon <rob.kinyon@gmail.com>
COPYRIGHT AND LICENSE
Copyright 2005-2009 by David Wheeler, Casey West, and Rob Kinyon. Some Rights Reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.