385 Commits

Author SHA1 Message Date
Adam Wathan
4d598d59aa 2.2.6 2021-07-21 15:43:37 -04:00
Adam Wathan
c1c5cf0923 2.2.5 2021-07-21 09:13:16 -04:00
Hunter Tunnicliff
a23065353a
Update color to v3.2.0 (#4999) 2021-07-17 15:23:36 -04:00
depfu[bot]
95688ba8d5 Update autoprefixer to version 10.3.1 2021-07-17 11:33:03 +00:00
depfu[bot]
afd132ef6e Update fast-glob to version 3.2.7 2021-07-15 19:49:00 +00:00
depfu[bot]
6acb051f67 Update eslint to version 7.30.0 2021-07-09 22:33:10 +00:00
depfu[bot]
fbe5be81ce Update postcss to version 8.3.5 2021-07-09 03:04:01 +00:00
depfu[bot]
34de2c8678 Update fast-glob to version 3.2.6 2021-07-04 17:32:52 +00:00
depfu[bot]
fc0cca4ee1 Update all of jest to version 27.0.6 2021-07-04 12:32:43 +00:00
depfu[bot]
b72bae7312 Update prettier to version 2.3.2 2021-07-03 10:48:04 +00:00
depfu[bot]
dc0a0634aa Update clean-css to version 5.1.3 2021-07-02 10:49:02 +00:00
Sergey Tatarintsev
2166b76c53
Improve production build performance for the case of many small non-tailwind stylesheets (#4644)
* Improve `purge` performance in layers mode

In layers mode, skip `purgecss` completely if source stylesheet does
not have any tailwind layers. For the legacy codebases with a lot of
non-tailwind stylesheets, it dratically improves the performance of
the production build.

* fix: purgecss should respect safelist.variables
2021-07-01 14:25:06 -04:00
depfu[bot]
bf482112a6 Update didyoumean to version 1.2.2 2021-07-01 14:21:43 +00:00
Adam Wathan
d852de6785 2.2.4 2021-06-23 15:27:53 -04:00
Adam Wathan
1eacfb9884 Remove postinstall script 2021-06-23 15:27:47 -04:00
Adam Wathan
041eed0d46 2.2.3 2021-06-23 14:32:18 -04:00
Sachin Raja
c0ee52060c
Generate plugin list file (#4725)
* Generate plugin list file

Removes the importing of all plugins in src/util/resolveConfig to avoid importing CSS.
Import the built plugin list file instead.

* Use `process.cwd()` instead of `__dirname` to resolve path

Co-authored-by: Federico Ciardi <fed.ciardi@gmail.com>

* Import core plugin list in resolveConfig test

* Generate plugin list prebabelify and on install

* Move generation from install to postinstall

Co-authored-by: Federico Ciardi <fed.ciardi@gmail.com>

Co-authored-by: Federico Ciardi <fed.ciardi@gmail.com>
2021-06-23 14:13:03 -04:00
depfu[bot]
b7b2db2592 Update chokidar to version 3.5.2 2021-06-22 13:48:26 +00:00
depfu[bot]
987374fea4 Update @babel/core to version 7.14.6 2021-06-21 22:18:45 +00:00
depfu[bot]
7a8f7e2ff5 Update postcss-load-config to version 3.1.0 2021-06-21 11:47:52 +00:00
depfu[bot]
ff14cb5ada Update cssnano to version 5.0.6 2021-06-18 18:19:00 +00:00
Robin Malfait
9e77d743c3
2.2.2 2021-06-18 16:35:36 +02:00
Robin Malfait
2fd6575095
2.2.1 2021-06-18 15:42:31 +02:00
Adam Wathan
0bc3eeb0f6 2.2.0 2021-06-17 12:01:32 -04:00
Robin Malfait
674d79d0ac
move cssnano to devDependencies 2021-06-17 17:54:32 +02:00
Robin Malfait
f63b4531f5
Add tailwindcss/nesting plugin (#4673)
* add nesting plugin

* rename @tailwindcss/nesting to tailwindcss/nesting

* ignore the built `nesting` plugin

* add a postcss7 compat version

* include `nesting` plugin when publishing

* add `build-plugins` script

This will allow us to keep the plugins in their dedicated folders +
tests + postcss7 compatibility files. However, when we copy over the
plugins to the root. For example `plugins/nesting/` -> `nesting/` we
skip files like `.test.js` and `.postcss7.js`.

* build plugins when running `prepublishOnly`

* improve compat mode

We will use a glob so that we can move all *.postcss7.* files to just
*.* likewise we will also backup to *.* to *.postcss8.* for restoring
purposes.

Concrete example:

- Current state:
  - index.js            // PostCSS 8 implementation
  - index.postcss7.js   // PostCSS 7 implementation

- Run "compat"
  - index.js            // PostCSS 7 implementation
  - index.postcss7.js   // PostCSS 7 implementation
  - index.postcss8.js   // PostCSS 8 implementation (Backup of original)

- Run "compat:restore"
  - index.js            // PostCSS 8 implementation
  - index.postcss7.js   // PostCSS 7 implementation
  - X index.postcss8.js // PostCSS 8 implementation (Removed)

* Update README.md

* ensure we `npm install` before publishing

Co-authored-by: Adam Wathan <adam.wathan@gmail.com>
2021-06-17 09:43:52 -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
depfu[bot]
03eab314df Update prettier to version 2.3.1 2021-06-12 10:49:22 +00:00
depfu[bot]
7f564d275a Update eslint to version 7.28.0 2021-06-11 23:03:43 +00:00
Robin Malfait
63a67cb8ef
improve integration tests (#4572)
* remove unused file

using syntax.js instead

* add a way to remove files that are generated from the tests

Essentially setting the restore cache contents to `null` as a special
value.

* combine the stdout and stderr output

* add jest-diff instead of relying on it existing *somewhere*

This also came with a small API change.

* add `--runInBand` to the test script

* add dedicated cli tests for the new Tailwind CLI
2021-06-07 13:50:53 -04:00
depfu[bot]
c19336ccde
Update all of jest to version 27.0.2 (#4525)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2021-06-04 11:47:17 -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
depfu[bot]
1e48728efc Update autoprefixer to version 10.2.6 2021-06-02 15:03:24 +00:00
depfu[bot]
72d09b20d5 Update object-hash to version 2.2.0 2021-06-02 09:43:02 +00:00
depfu[bot]
d02f3c86a8 Update @vercel/ncc to version 0.28.6 2021-06-01 19:32:37 +00: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
depfu[bot]
b514a5c9c2 Update @tailwindcss/aspect-ratio to version 0.2.1 2021-05-31 17:03:39 +00:00
depfu[bot]
49ccc109a9
Update @fullhuman/postcss-purgecss to version 4.0.3 (#3913)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2021-05-31 08:56:51 -04:00
depfu[bot]
e6ea821a7a Update postcss to version 8.3.0 2021-05-28 04:02:36 +00:00
Brad Cornes
e6395c817e replace parse-glob (fixes #4454) (#4458) 2021-05-26 09:43:05 -04:00
depfu[bot]
1badba55b7 Update all of babel7 to version 7.14.3 2021-05-24 21:18:33 +00:00
depfu[bot]
04d90af597 Update eslint to version 7.26.0 2021-05-21 23:01:50 +00:00
Adam Wathan
995e02fd84 Don't compile CLI
Need to figure out which dependencies are platform specific before it's safe to do this.
2021-05-20 13:49:15 -04:00
depfu[bot]
2fec61e753
Update prettier to version 2.3.0 (#4367)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2021-05-20 13:40:04 -04:00
depfu[bot]
93cfe97847 Update postcss-selector-parser to version 6.0.6 2021-05-19 08:08:33 +00:00
Robin Malfait
7565099c1f
Integrations setup (#4354)
* add integration test tools

* setup jest in the integrations folder

* add `test:integrations` script

The default `npm test` script will ignore all the tests in the
`integrations` folder.

* add integration tests with `webpack 5`

* add integration tests with `postcss-cli`

* add `npm run install:integrations` script

This script will run `npm install` in every integration, and in the
integrations folder itself (to setup Jest for example).

* add `toIncludeCss` custom matcher

* increate Jest timeout for integration tests

* add integration tests with `vite`

* add integration tests with `webpack 4`

* add isomorphic fetch

* add the ability to wait for specific stdout/stderr output

* write vite tests, assert using API calls

We will wait for the correct stdout/stderr output, once we know that we
can request the fresh css, we will fetch it and make assertions
accordingly.

Port is currently hardcoded, maybe we should use a packaage to ensure
that we use a free port.

* add integration tests with `rollup`

* add integration tests with `parcel`

* run all integration tests in band

* add .gitignore in integrations folder
2021-05-18 11:21:35 -04:00
Adam Wathan
73683d8795 Compile CLI to single file to avoid peer dependency issues 2021-05-14 17:02:15 -04:00
depfu[bot]
99f4c5f350 Update eslint-config-prettier to version 8.3.0 2021-05-12 07:12:14 +00:00
depfu[bot]
07bfce31ca
Update fs-extra to version 10.0.0 (#4305)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2021-05-11 15:21:09 -04:00
Adam Wathan
5ebe5e8309
Remove dependency on postcss-functions (#4317)
* Write postcss-functions ourselves

* Add test for nested theme calls

* Remove unused import
2021-05-11 14:33:05 -04:00