Hi! Thanks for stopping by. Hopefully this document helps you get your bearings in contributing to modular-css. If it doesn't don't hesitate to ask questions, either by starting a discussion, pinging me on twitter, or via email. I'm always happy to see new folk interested in contributing!
- Fork the project
- Clone your fork
npm ito install all the dependenciesnpm testto verify that things are working for you locally- Make your changes
npm test <package>will run just the tests for the package you're changing. This can help with iteration speed!npx changesetwill create a changeset entry for the change if it's user-facing.
CI will run against any PRs you post, so it's a good idea to get your local tests passing first.
modular-css is a monorepo, so there's a bit of configuration in the root but the meat of the project lives within the packages/ folders. Here's a quick-n-dirty breakdown of some of them:
packages/processor- TheProcessoris the main piece of infrastructure for the entire project. It's a wrapper around a series of postcss pipelines and plugins that handles all of the functionality likecomposes,@value, and the rest.packages/rollup- rollup plugin that acts as an interface between the rollup process and aProcessorinstance.packages/vite- vite plugin that acts as an interface between the vite process and aProcessorinstance.
There's several other ways to use modular-css tucked away in the packages/ folders, feel free to peruse the README.md files to get more details about each package.
Open an issue and check out the issue template, provide as much info as you can! A github repo that will reliably reproduce the issue is by far the fastest way to get traction on getting your issue fixed.
Open an issue, or maybe stop by our GitHub Discussions and let's chat about it!
The PR template lays out expectations around tests passing and documentation. The docs in particular aren't where they should be yet but by golly we'll get 'em there together!