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 |