dgp1130 / rules_prerender

A Bazel rule set for prerending HTML pages.
14 stars 0 forks source link

Remove `@aspect_rules_rollup` from user workspace when not needed #56

Closed dgp1130 closed 1 year ago

dgp1130 commented 1 year ago

Currently we have to include @aspect_rules_rollup for all @rules_prerender users because the build rules are referenced, even if the targets are never built because they are using prerender_pages_unbundled(). This is an unnecessary dependency and should be removed by refactoring the BUILD rules to not require when not needed.

https://github.com/dgp1130/rules_prerender/blob/975929fc85c3af766d73246fe66fffb2f0660eb6/repositories.bzl#L18-L20

We also currently require users install @rollup/plugin-node-resolve in their package.json, which definitely shouldn't be required either. See https://github.com/dgp1130/rules_prerender/issues/48#issuecomment-1426594555 for more context.

dgp1130 commented 1 year ago

In #26 I ended up deleting @aspect_rules_rollup usage since it was more convenient to make a custom rule which invokes the rollup binary directly. This has the side effect of not requiring users to manually install @aspect_rules_rollup. I was also previously able to remove @rollup/plugin-node-resolve from user-space, so we should have a proper dependency now, one which doesn't leak into user code.