fdd2629795
* use esbuild for React instead of tsdx * remove tsdx from Vue * use consistent names * add jest and prettier * update scripts * ignore some folders for prettier * run lint script instead of tsdx lint * run prettier en-masse This has a few changes because of the new prettier version. * bump typescript to latest version * make typescript happy * cleanup playground package.json * make esbuild a dev dependency * make scripts consistent * fix husky hooks * add dedicated watch script * add `yarn playground-react` and `yarn react-playground` (alias) This will make sure to run a watcher for the actual @headlessui/react package, and start a development server in the playground-react package. * ignore formatting in the .next folder * run prettier on playground-react package * setup playground-vue Still not 100% working, but getting there! * add playground aliases in @headlessui/vue and @headlessui/react This allows you to run `yarn react playground` or `yarn vue playground` from the root. * add `clean` script * move examples folder in playground-vue to root * ensure new lines for consistency in scripts * fix typescript issue * fix typescript issues in playgrounds * make sure to run prettier on everything it can * run prettier on all files * improve error output If you minify the code, then it could happen that the errors are a bit obscure. This will hardcode the component name to improve errors. * add the `prettier-plugin-tailwindcss` plugin, party! * update changelog
49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# Contributing
|
|
|
|
Thanks for your interest in contributing to Headless UI! Please take a moment to review this document **before submitting a pull request**.
|
|
|
|
## Pull requests
|
|
|
|
**Please ask first before starting work on any significant new features.**
|
|
|
|
It's never a fun experience to have your pull request declined after investing a lot of time and effort into a new feature. To avoid this from happening, we request that contributors create [an issue](https://github.com/tailwindlabs/headlessui/issues) to first discuss any significant new features. This includes things like adding new components, exposing internal information, etc.
|
|
Also make sure that you are making changes to both the `React` and `Vue` versions so that we can ensure feature parity.
|
|
|
|
## Monorepo
|
|
|
|
The Headless UI repo is a monorepo using `yarn` workspaces. Note that we are using `yarn` version 1.
|
|
|
|
## Coding standards
|
|
|
|
Our code formatting rules are defined by TSDX, which uses `eslint` and we also use `prettier`. You can check your code against these standards by running:
|
|
|
|
```sh
|
|
yarn lint
|
|
```
|
|
|
|
To automatically fix any style violations in your code, you can run:
|
|
|
|
```sh
|
|
yarn lint --fix
|
|
```
|
|
|
|
## Running tests
|
|
|
|
You can run the test suite using the following commands:
|
|
|
|
```sh
|
|
yarn test
|
|
```
|
|
|
|
You can also run them for React of Vue individually:
|
|
|
|
```sh
|
|
yarn react test
|
|
|
|
# or
|
|
|
|
yarn vue test
|
|
```
|
|
|
|
Please ensure that the tests are passing when submitting a pull request. If you're adding new features to Headless UI, please include tests.
|