Skip to content

Babel Plugin

The Babel plugin writes extracted CSS to a file on disk instead of a virtual module. Use it with webpack, Parcel, or any Babel pipeline.

Terminal window
bun add typewritingclass
bun add -d typewritingclass-babel typewritingclass-compiler
babel.config.json
{
"plugins": [
["typewritingclass-babel", {
"outputFile": "dist/twc.css",
"strict": true
}]
]
}
OptionTypeDefaultDescription
outputFilestring"twc.css"Path for the extracted CSS file.
strictbooleantrueError on non-static cx() args. See Strict Mode.

Since CSS is written to disk, include it via HTML or a bundler import:

<link rel="stylesheet" href="/dist/twc.css" />
import './dist/twc.css'
webpack.config.js
module.exports = {
module: {
rules: [
{ test: /\.tsx?$/, use: 'babel-loader' },
{ test: /\.css$/, use: ['style-loader', 'css-loader'] },
],
},
}
FeatureViteesbuildBabel
CSS outputVirtual moduleVirtual moduleFile on disk
HMRYesVia watchNo
Importvirtual:twc.cssvirtual:twc.css<link> or bundler
Best forVite projectsesbuild projectswebpack/Parcel/CRA

For new projects, the Vite plugin is recommended.