* 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
* Move border reset to borderColor plugin, support opacity
* Update JIT tests
* Don't use opacity variable for default border color when borderOpacity is disabled
* Fix tests
* 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
This will make sure that we tackle a few additional edge cases:
- When the `name` is the same as a reserved keyword, then it will be
used as a `name` as well. E.g.: 1s ease ease infinite; Will result in
a name of `ease` as well.
- We take care of trimming and multiple spaces.
- We don't generate 8k tests anymore, which means that these specific
tests only take a second instead of 10 seconds.