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
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 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
*/
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 ',
dist_abstract => 'Say something pithy here',
dist_version => '0.34',
# ...
);
SEE ALSO
Home of the JavaScript Archive Network.
Home page for JSON, the JavaScript Object Notation, which the format
used in the META.json file generated by this module.
The description of JavaScript namespaces on which JSAN modules are
based.
SUPPORT
This module is stored in an open repository at the following address:
Patches against Module::Build::JSAN are welcome. Please send bug reports
to Please send bug reports to .
AUTHORS
David Wheeler
Casey West
Rob Kinyon
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.