Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/green-labs/res_tailwindcss

ReScript PPX which validates the tailwindcss class names
https://github.com/green-labs/res_tailwindcss

ppx rescript tailwindcss

Last synced: about 2 hours ago
JSON representation

ReScript PPX which validates the tailwindcss class names

Awesome Lists containing this project

README

        

# ReScript Tailwindcss

A ReScript PPX, which validates the tailwindcss class names

## Motivation

The [tailwind-ppx](https://github.com/dylanirlbeck/tailwind-ppx) is the only ppx to validate the tailwindcss class names in compile time. But, it was archived, and written by `ocaml-migrate-parsetree`. My team considered taking over the repository and maintaining it but decided to rewrite it from the scratch with `ppxlib` and `menhir`. Additionally, we improve the logic to find the invalid class name with [Spelling Corrector](https://norvig.com/spell-correct.html) algorithm.

Plus, the arbitrary values in the JIT mode of Tailwindcss are supported!

```html

...

...

...

...

...

...

...

...

svg]:rotate-180")> ...

```

## Install

```
yarn add -D @greenlabs/res-tailwindcss
```

`` should be replaced with the relative location of your generated tailwindcss file from your project root in which the `bsconfig.json` file is located.

```
// bsconfig.json

"ppx-flags": [
...,
["@greenlabs/res-tailwindcss/ppx", "--path "]
],
```

## Example

```rescript

svg]:rotate-180")>
...


```

## Development

1. Create a sandbox with opam

```
opam switch create tailwindcss 4.14.0
```

2. Install dependencies

```
opam install . --deps-only --with-test
```

3. Build

```
opam exec -- dune build
```

4. Test

```
cd rescript

(install dependencies)
yarn

(build --watch)
yarn res:clean && yarn res:watch

(run test --watch)
yarn test:watch
```