babel-plugin-evaluate

A babel plugin to evaluate code at build-time.
Why?
I wanted to evaluate some functions and calculations in build process that didn't need to run at runtime, to remove the modules themselves from the bundle to reduce its size.
Setup
npm install babel-plugin-evaluate
Usage
Evaluate modules in node_modules
module.exports = {
plugins: [["babel-plugin-evaluate", { name: "polished" }]],
};
import { rgba } from "polished";
const val = "blue";
const obj = {
color: "#123456",
red: "red",
};
const a = rgba(val, 0.5);
const b = rgba(obj["color"], 0.5);
const c = rgba(obj.red, 0.5);
Evaluate local modules
module.exports = {
plugins: [["babel-plugin-evaluate", { name: /\/constants\// }]],
};
export const foo = 2 * 7;
export const bar = "bar" + "baz";
import { foo, bar } from "./constants/foo.js";
const fooVal = foo;
const barVal = bar;
Contribute
All contributions are welcome.
If you find a problem, feel free to create an issue or a PR.
Making a Pull Request
- Clone this repo.
- Run
npm install
. - Commit your fix.
- Add tests to cover your fix.
- Make a PR and confirm all the CI checks passed.