|
1 | 1 | # Contributing
|
2 | 2 |
|
| 3 | +## Requirements |
| 4 | + |
| 5 | +Before getting started, ensure your system has access to the following tools: |
| 6 | + |
| 7 | +- [Node.js](https://nodejs.org/) |
| 8 | +- [Rustup](https://rustup.rs/) |
| 9 | +- [pnpm](https://pnpm.io/) |
| 10 | + |
| 11 | +## Getting started |
| 12 | + |
| 13 | +```sh |
| 14 | +# Install dependencies |
| 15 | +pnpm install |
| 16 | + |
| 17 | +# Install Rust toolchain and WASM targets |
| 18 | +rustup default stable |
| 19 | +rustup target add wasm32-wasip1-threads |
| 20 | + |
| 21 | +# Build the project |
| 22 | +pnpm build |
| 23 | +``` |
| 24 | + |
| 25 | +## Development workflow |
| 26 | + |
| 27 | +During development, you can run tests in watch mode: |
| 28 | + |
| 29 | +```sh |
| 30 | +pnpm tdd |
| 31 | +``` |
| 32 | + |
| 33 | +The `playgrounds` directory contains example projects you can use to test your changes. To start the Vite playground, use: |
| 34 | + |
| 35 | +```sh |
| 36 | +pnpm build && pnpm vite |
| 37 | +``` |
| 38 | + |
3 | 39 | ## Bug fixes
|
4 | 40 |
|
5 | 41 | If you've found a bug in Tailwind that you'd like to fix, [submit a pull request](https://github.com/tailwindlabs/tailwindcss/pulls) with your changes. Include a helpful description of the problem and how your changes address it, and provide tests so we can verify the fix works as expected.
|
@@ -28,10 +64,40 @@ pnpm run format
|
28 | 64 |
|
29 | 65 | ## Running tests
|
30 | 66 |
|
31 |
| -You can run the test suite using the following commands: |
| 67 | +You can run the TypeScript and Rust test suites using the following command: |
| 68 | + |
| 69 | +```sh |
| 70 | +pnpm test |
| 71 | +``` |
| 72 | + |
| 73 | +To run the integration tests, use: |
| 74 | + |
| 75 | +```sh |
| 76 | +pnpm build && pnpm test:integrations |
| 77 | +``` |
| 78 | + |
| 79 | +Additionally, some features require testing in browesers (i.e to ensure CSS variable resolution works as expected). These can be run via: |
32 | 80 |
|
33 | 81 | ```sh
|
34 |
| -pnpm build && pnpm test |
| 82 | +pnpm build && pnpm test:ui |
35 | 83 | ```
|
36 | 84 |
|
37 |
| -Please ensure that the tests are passing when submitting a pull request. If you're adding new features to Tailwind, please include tests. |
| 85 | +Please ensure that all tests are passing when submitting a pull request. If you're adding new features to Tailwind CSS, always include tests. |
| 86 | + |
| 87 | +After a successful build, you can also use the npm package tarballs created inside the `dist/` folder to install your build in other local projects. |
| 88 | + |
| 89 | +## Pull request process |
| 90 | + |
| 91 | +When submitting a pull request: |
| 92 | + |
| 93 | +- Ensure the pull request title and description explain the changes you made and why you made them. |
| 94 | +- Include a test plan section that outlines how you tested your contributions. We do not accept contributions without tests. |
| 95 | +- Ensure all tests pass. You can add the tag `[ci-all]` in your pull request description to run the test suites across all platforms. |
| 96 | + |
| 97 | +When a pull request is created, Tailwind CSS maintainers will be notified automatically. |
| 98 | + |
| 99 | +## Communication |
| 100 | + |
| 101 | +- **GitHub discussions**: For feature ideas and general questions |
| 102 | +- **GitHub issues**: For bug reports |
| 103 | +- **GitHub pull requests**: For code contributions |
0 commit comments