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_names
    paces.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.

