Skip to content

Latest commit

 

History

History
179 lines (125 loc) · 6.01 KB

rollup.md

File metadata and controls

179 lines (125 loc) · 6.01 KB

Rollup

Rollup bundles modules into one or more files.

Guide

Reference

Starlark reference

Install

Add rollup as an external dependency.

Use

example/package.json

{}

example/a.js

export const a = "apple";

example/b.js

import { a } from "./a";

console.log(a);

example/rollup.config.js

export default {
  input: `${process.env.ROLLUP_INPUT_ROOT}/index.js`,
  output: { file: process.env.ROLLUP_OUTPUT, format: "cjs" },
};

example/BUILD.bzl

load("@better_rules_javascript//javascript:rules.bzl", "js_file", "js_library")
load("@better_rules_javascript//rollup:rules.bzl", "configure_rollup", "rollup_bundle")

cjs_root(
  name = "root",
  descriptor = "package.json"
)

js_library(
    name = "js",
    root = ":root",
    srcs = ["a.js", "b.js"],
)

js_file(
    name = "rollup_config",
    root = ":root",
    src = "rollup.config.js",
)

configure_rollup(
    name = "rollup",
    config = ":rollup_config",
    dep = "@npm//rollup:lib",
)

rollup_bundle(
    name = "bundle",
    dep = ":b",
    rollup = ":rollup",
)

//rollup:providers.bzl

RollupInfo

RollupInfo(bin, config_path)

Rollup configuration

FIELDS

Name Description
bin Rollup executable
config_path -

//rollup:rules.bzl

rollup

rollup(name, bin, config, config_dep)

Rollup tools.

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
bin Rollup executable Label required
config Config. String required
config_dep Config dependency. Label required

rollup_bundle

rollup_bundle(name, dep, output, rollup)

Rollup bundle

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
dep JavaScript dependencies Label optional None
output Output directory. Defaults to the name as the target. String optional ""
rollup Rollup tools Label required

configure_rollup

configure_rollup(name, dep, config, config_dep, visibility)

Set up rollup tools.

PARAMETERS

Name Description Default Value
name Name none
dep Rollup library none
config Configuration none
config_dep

-

none
visibility

-

None