Rollup bundles modules into one or more files.
Add rollup as an external dependency.
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",
)RollupInfo(bin, config_path)
Rollup configuration
FIELDS
| Name | Description |
|---|---|
| bin | Rollup executable |
| config_path | - |
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(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(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 |