Commit graph

56 commits

Author SHA1 Message Date
Robin Malfait
1473ec2749
drop comments 2021-06-30 18:48:21 +02:00
Robin Malfait
88fffadceb
add cache for the selector parser 2021-06-30 18:38:39 +02:00
Adam Wathan
2926cadcc5 WIP 2021-06-30 11:51:34 -04:00
Adam Wathan
a6e79f9e85
Improve extractor for arbitrary values with quotes (#4817)
Fixes #4801.
2021-06-26 10:20:49 -04:00
Adam Wathan
59c7e32a3b
Ignore "!*" in templates (#4816)
Fixes #4746
2021-06-26 10:20:36 -04:00
schelmo
973d53d6dc
fix: do not return the userConfigPath if its null (#4773) 2021-06-23 14:12:42 -04:00
Robin Malfait
0413b84c12
ensure peer variants don't include multiple ~ characters (#4757)
Fixes: #4726
2021-06-22 20:40:52 -04:00
Adam Wathan
1d72dc2699
Error when dash is used as custom separator (#4704) 2021-06-18 16:01:38 -04:00
Brad Cornes
243e8814d8
Resolve purge paths relative to the current working directory (#4655)
* resolve purge paths relative to cwd

* simplify test
2021-06-15 16:37:04 -04:00
Robin Malfait
38a71d8d60
Use tmp file as a touch file (#4650)
* use `~/.cache/tailwindcss` as default touch dir

When more tools catch up with the latest postcss dependency tracking,
then we probably don't even need this anymore. However, it is a good
practice to put (global) caches in ~/.cache and (global) configs in
~/.config

Fixes: #4569

* change test to verify @tailwind base slightly

Because of some changes in tailwind itself, the base selector contains a
ton of new --tw-* custom properties. Keeping this up to date might be a
bit of an annoying challenge. So instead we now check for the selector
to be present.

* add `tmp` package

* use a (simple) temporary file, instead of a full cache dir
2021-06-15 10:06:29 -04:00
Robin Malfait
0d47ffd2d3
Fix cloning issues (#4646)
* ensure postcss 7 is dropped from dev dependencies as well

Drop incorrect "help" text

* ensure we are cloning nodes

This is an issue in postcss 7 and fixed in postcss 8. However the compat build still suffers form this issue.
2021-06-14 17:48:28 +02:00
Adam Wathan
546cff81e7
Allow quotes in arbitrary value blocks (#4625) 2021-06-11 09:55:35 -04:00
Robin Malfait
8518fee9ea
implement purge safelist (#4580)
* fix --help output in tests

* add tests to ensure we can use `purge.safelist`

* implement the `purge.safelist` for strings

* proxy `purge.safelist` to `purge.options.safelist`

This allows us to have a similar API in `AOT` and `JIT` mode.

* only proxy `purge.safelist` to `purge.options.safelist` if
`purge.options.safelist` doesn't exists yet.
2021-06-09 10:00:09 -04:00
Brad Cornes
f1e31682c8
cleanup old contexts in config hash map (#4571) 2021-06-07 13:49:38 -04:00
Adam Wathan
b9dd8b0a6d
Add peer variant (#4556) 2021-06-04 10:32:49 -04:00
Adam Wathan
746a12602e
Improve new JIT-compatible CLI (#4558)
Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2021-06-04 10:28:09 -04:00
Adam Wathan
05d26a5d43 Make createContext arguments optional
For Brad!
2021-06-03 11:08:04 -04:00
Robin Malfait
d6b11b3807
Group variant stacking (#4551)
* make group variant stacking work

* simplify stacking group variants
2021-06-03 15:25:46 +02:00
Brad Cornes
739c0fb83e
Add glob property to dir-dependency messages (#4539)
* add `glob` property to `dir-dependency` messages

* Add `glob` to `dir-dependency` messages
2021-06-02 08:59:14 -04:00
Robin Malfait
4528bdc2d8
Start of new CLI (#4526)
* Ignore workspace settings

* Parameterize setting up the context

* WIP

* WIP

* WIP

* WIP

* wip

* WIP

Co-Authored-By: Jesse Katsumata <niconico.clarinet@gmail.com>

* WIP

Co-Authored-By: Jesse Katsumata <niconico.clarinet@gmail.com>

* WIP

Co-Authored-By: Jesse Katsumata <niconico.clarinet@gmail.com>

* Update some comments

Co-Authored-By: Jesse Katsumata <niconico.clarinet@gmail.com>

* Fix bug

* WIP

* WIP'

* more things

* log console.time calls conditionally based on process.env.DEBUG

* add `init` command

* clean up when using --jit

* Make config file optional

* cleanup path.resolve calls

path.resolve('.') is the same as path.resolve(process.cwd(), '.')

* implement `--help`

* shush eslint

* drop unnecessary file

Co-authored-by: Adam Wathan <adam.wathan@gmail.com>
Co-authored-by: Jesse Katsumata <niconico.clarinet@gmail.com>
2021-06-01 14:02:23 +02:00
Adam Wathan
b574273884
Use tracking context by default (#4514) 2021-05-31 10:02:56 -04:00
Adam Wathan
7264a5b71b
Generate group parent classes correctly with custom separator (#4508) 2021-05-30 15:02:55 -04:00
Adam Wathan
15642fbcc8 Compare adjacent rules ignoring whitespace 2021-05-30 14:55:30 -04:00
Adam Wathan
ca6b21a6bc Update plugin name 2021-05-27 12:37:20 -04:00
Robin Malfait
dfdfba25a2
Split context (#4489)
* Remove watcher from context

* WIP

* WIP

* format

* abstract configDependencies

* abstract fileModifiedMap

* abstract candidateFiles

* abstract changedContent to each strategy

* little bit of cleanup

* formatting

Co-authored-by: Adam Wathan <adam.wathan@gmail.com>
2021-05-27 12:29:07 -04:00
Adam Wathan
d1e9632064
JIT: Add exhaustive pseudo-class and pseudo-element variant support (#4482)
* Add first-line, first-letter, and marker variants

* Add selection variant

Co-Authored-By: Eric Rodrigues Pires <eric@eric.dev.br>

* Add remaining pseudo-class variants

* Add target pseudo-class

Co-Authored-By: Peter Neupauer <peter@neupauer.sk>

* add test for parallel variants

* implement parallel variants

Co-authored-by: Eric Rodrigues Pires <eric@eric.dev.br>
Co-authored-by: Peter Neupauer <peter@neupauer.sk>
Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2021-05-27 17:09:29 +02:00
Brad Cornes
8cd60171e0 always populate the file modified map 2021-05-26 18:20:29 +01:00
Robin Malfait
e119fc9745
make sure to populate the file modified map 2021-05-26 18:20:46 +02:00
Adam Wathan
342a52fccc Don't reuse fileModifiedMap from existing context
This causes changes in template files to be ignored on the second build.
2021-05-26 10:25:28 -04:00
Brad Cornes
55653ba004 move fileModifiedMap to context (fixes #4400) (#4470) 2021-05-26 09:43:05 -04:00
Brad Cornes
6bf6738683 Add transform and extract APIs (#4469)
* add `transform` and `extract` APIs

* make svelte transform part of the transformer stuff
2021-05-26 09:43:05 -04:00
Brad Cornes
e6395c817e replace parse-glob (fixes #4454) (#4458) 2021-05-26 09:43:05 -04:00
Adam Wathan
1849e35f14 Refactor internals to decouple watch strategies and extract IO
Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2021-05-26 09:43:05 -04:00
Adam Wathan
c8a5f816f4
JIT: Add support for before/after pseudo-elements (#4461) 2021-05-26 08:57:02 -04:00
Adam Wathan
2f1541123d JIT: Assign source to nodes inserted into @tailwind directives 2021-05-24 15:08:38 -04:00
Adam Wathan
5fa665835f Fix formatting issues 2021-05-20 13:43:17 -04:00
Brad Cornes
787348b373
use dir-dependency messages (#4388) 2021-05-20 07:09:57 -04:00
Adam Wathan
23da6b6172
JIT: Replace @tailwind screens with @tailwind variants (#4356)
* Update CHANGELOG

* JIT: Replace `@tailwind screens` with `@tailwind variants`
2021-05-14 13:58:52 -04:00
Adam Wathan
87df93de0a
Support opacity modifiers for colors in JIT (#4348)
* Support opacity modifiers for colors in JIT

* Add test for function colors

* Support opacity modifiers for plugins with arbitrary "any" type
2021-05-14 13:07:56 -04:00
Adam Wathan
6be797633f Remove accidental log 2021-05-13 12:06:50 -04:00
Adam Wathan
30dc2990c3
Error when @layer used without matching @tailwind directive (#4335)
Also refactor to only detect `@tailwind` directives once per build to improve performance.
2021-05-12 16:58:03 -04:00
Robin Malfait
87a4516871
add a link to the docs describing JIT watch mode (#4332)
This will help people, when the process looks like it is "hanging",
while in fact it is watching for changes.
2021-05-12 13:44:48 -04:00
Adam Wathan
6d51f9a08a Add read-only variant to JIT 2021-05-11 15:36:18 -04:00
Adam Wathan
522787ac41 Revert fix lint errors?! 2021-05-11 14:25:34 -04:00
Adam Wathan
9fc13a6564 Fix lint errors 2021-05-11 13:55:02 -04:00
Adam Wathan
a22398cbdb Add empty variant support to JIT 2021-05-07 14:48:41 -04:00
Alex
212bec9354
use href to get the full path of the file (#4044)
* use href to get the full path of the file
fixes https://github.com/tailwindlabs/tailwindcss/issues/4043

* drop query strings and document fragment from path
2021-05-07 14:48:09 -04:00
Brad Cornes
477dd06ec3
Resolve purge paths (#4214)
* resolve purge paths

* add test for purgecss pattern resolution

* resolve purgecss patterns relative to the config file if there is one

* account for raw content when transforming purgecss options

* append test name to postcss `from` option in purge tests
fixes tests hanging

* add test for relative purge path resolution in JIT mode
2021-05-07 13:46:19 -04:00
Adam Wathan
e764df5055
Support forcing coercion type with arbitrary value syntax (#4263)
* Support forcing coercion type with arbitrary value syntax

* Refactor + more tests
2021-05-07 08:59:24 -04:00
Brad Cornes
4a374ebe5e
[JIT] Add support for "raw" purge content (#4272)
* add support for "raw" purge content

* add support for raw content extensions
2021-05-07 08:58:58 -04:00