angular / angular/angular-cli

Tailwind JIT not updating styles when using styleUrls

Open
#24,469 6 comments 0 reactions 0 assignees View on GitHub
area: @ngtools/webpack freq1: low severity3: broken type: bug/fix
Dominant language
TypeScript
Stars
27k
Forks
11.8k
Avg merge
14h 23m
Merged PRs (30d)
162

Description

### Command

serve

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

When using `styleUrls` to specify the path to the tailwind css entrypoint file separately, the JIT will not detect changes properly.

To clarify:

```ts
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss', '../tailwind.css'] // notice tailwind is separated here
})
```

Now if I try to use any class that is not already used in the HTML, the changes will not propagate properly. Only killing `ng serve` and restarting it will work.

I have attached a simple repro.

### Minimal Reproduction

Repro at:

https://github.com/andreialecu/angular-tw-jit-repro

Run
```
yarn
yarn start
```

Open `http://localhost:4200/` in the browser.

Then go into `app.component.html` and try to change `bg-green-200` to `bg-red-200`, you will see that the background disappears because `bg-red-200` does not exist.

If you ctrl+c then run `yarn start` again, the background will update.

### Exception or Error

_No response_

### Your Environment

```text
Angular CLI: 13.3.10
Node: 16.14.2
Package Manager: yarn 1.22.19
OS: darwin arm64

Angular: 13.3.12
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1303.10
@angular-devkit/build-angular 13.3.10
@angular-devkit/core 13.3.10
@angular-devkit/schematics 13.3.10
@angular/cli 13.3.10
@schematics/angular 13.3.10
rxjs 7.5.7
typescript 4.6.4
```

### Anything else relevant?

Possibly related:

https://github.com/angular/angular-cli/issues/21749
https://stackoverflow.com/a/73446036

Contributor guide

Open the contributing guide

Research direction

Start with the linked minimal reproduction: run yarn, then yarn start, and edit app.component.html while tailwind.css is listed separately in styleUrls. Observe the generated background style before and after restarting the serve process. Done means changing a previously unused Tailwind class updates the served styles without restarting.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, tailwindcss, typescript
Domain
build-system, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.