Do not require NODE_ENV to be set to 'production' as well, as using
the --purge option in the CLI should be explicit enough.
Co-authored-by: Arnout Roemers <roemers@zorgdomein.nl>
* add tests for the --postcss option in the new CLI
* add `oneOf` ability to the `arg()` functionality
By default, `arg()` doesn't have a way to define multiple types. We want
the possibility of using `--postcss` (Boolean) or `--postcss
./custom-path.js`. But by default this is not possible.
This commit will allow us to do a few things, mainly:
- Keep the same API using the `{ type: oneOf(String, Boolean), description: '...' }`
- Keep the `--help` output similar
What we did behind the scenes is make sure to put the non recognized
flags in the `_` arguments list. This is possible by doing `permissive:
true`. We then manually parse those and resolve the correct value.
* ensure that we can use a custom `--postcss ./with-custom-path.js`
* 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.
- when used on the CLI, lib/cli.js was writing the output of log
statements to STDOUT; this caused consumers of the CLI who wanted to
pipe the processed output (css) to other unix utilities to end up with
invalid CSS due to the log messages appearing at the start and end of
the files
- this commit fixes this by replacing `console.log` with `console.warn`
and `console.error`, which both write output to STDERR
Import default config from separate path (require('tailwindcss/defaultConfig')) to allow importing the default config without importing all of Tailwind, which causes errors with Webpack due to a dynamic require.
Moving to subcommands broke this without us noticing. It's probably a
good idea to add a big dirty integration test for this that just
executes the CLI command and makes sure the file was created.