Mojolicious-Plugin-AssetPack

 view release on metacpan or  search on metacpan

lib/Mojolicious/Plugin/AssetPack/Pipe/RollupJs.pm  view on Meta::CPAN


  $array_ref = $self->external;
  $self = $self->external(["vue"]);

Comma-separate list of module IDs to exclude.

=head2 globals

  $hash_ref = $self->globals;
  $self = $self->globals({vue => "Vue"});

See L<https://rollupjs.org/guide/en#output-globals-g-globals>.

Any module IDs defined here are added to L</external>.

=head2 modules

  $array_ref = $self->modules;
  $self = $self->modules(["vue"]);

List of NPM modules that the JavaScript application depends on.

=head2 plugins

  $array_ref = $self->plugins;
  $self = $self->plugins([
            [$module_name, $import_statement, $import_function_args],
            ["rollup-plugin-vue", "VuePlugin"],
            ["rollup-plugin-node-resolve", "resolve", {}],
            ["rollup-plugin-commonjs", "commonjs", {sourceMap => false}],
          ]);

List of NPM modules that should be loaded by Rollup.js.

=head1 METHODS

=head2 add_global

  $self = $self->add_global($key => $value);
  $self = $self->add_global(qw(vue Vue));

Used to add a key/value pair to L</globals>.

=head2 process

See L<Mojolicious::Plugin::AssetPack::Pipe/process>.

=head1 SEE ALSO

L<Mojolicious::Plugin::AssetPack>.

=cut

__DATA__
@@ rollup.js
#!/usr/bin/env node
"use strict"

const globals = __GLOBALS__;
const external = __EXTERNAL__;
const rollup = require("rollup");
const stdout = process.stdout;

function _interopDefault(i) {
  return i && typeof i === "object" && "default" in i ? i["default"] : i;
}

__IMPORT__

Object.keys(globals).forEach(function(g) { external.push(g) });

const inputOptions = {
  input: process.argv[2],
  external: function(name) { return external.indexOf(name) != -1 },
  plugins: [__PLUGINS__]
};

const outputOptions = {
  format: "iife",
  globals: globals,
  name: process.argv[3],
  sourcemap: "inline",
  // TODO
  banner: process.env.ROLLUP_BANNER,
  footer: process.env.ROLLUP_FOOTER,
  intro: process.env.ROLLUP_INTRO,
  outro: process.env.ROLLUP_OUTRO
};

async function build() {
  const bundle = await rollup.rollup(inputOptions);
  const { code, map } = await bundle.generate(outputOptions);
  stdout.write(code);
  if (__SOURCEMAP__) stdout.write("\n//# sourceMappingURL=" + map + "\n");
}

build();



( run in 0.933 second using v1.01-cache-2.11-cpan-98e64b0badf )