...This is fine for things like language features but can be a frustrating overhead for libraries that allow for compile-time code transformation as an optimization. babel-plugin-macros defines a standard interface for libraries that want to use compile-time code transformation without requiring the user to add a babel plugin to their build system (other than babel-plugin-macros, which is ideally already in place). There is cpu usage/time overhead; the client needs to run the code to generate these classes every time the page loads. There is code bundle size overhead; the client needs to receive a CSS parser in order to generate these class names, and shipping this makes the amount of js the client needs to parse larger. Eval-ing out code at compile time that will be baked into the runtime code, for instance, to get a list of directories in the filesystem.