mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
Add option to disable autoprefixer in CLI
This commit is contained in:
parent
69b41b2daf
commit
d8df647fa0
@ -56,5 +56,17 @@ describe('cli', () => {
|
||||
expect(utils.writeFile.mock.calls[0][1]).toContain('.example')
|
||||
})
|
||||
})
|
||||
|
||||
it('compiles CSS file with autoprefixer', () => {
|
||||
cli(['build', inputCssPath]).then(() => {
|
||||
expect(process.stdout.write.mock.calls[0][0]).toContain('-ms-input-placeholder')
|
||||
})
|
||||
})
|
||||
|
||||
it('compiles CSS file without autoprefixer', () => {
|
||||
cli(['build', inputCssPath, '--no-autoprefixer']).then(() => {
|
||||
expect(process.stdout.write.mock.calls[0][0]).not.toContain('-ms-input-placeholder')
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@ -22,11 +22,16 @@ export const options = [
|
||||
usage: '-c, --config <file>',
|
||||
description: 'Tailwind config file.',
|
||||
},
|
||||
{
|
||||
usage: '--no-autoprefixer',
|
||||
description: "Don't add vendor prefixes using autoprefixer.",
|
||||
},
|
||||
]
|
||||
|
||||
export const optionMap = {
|
||||
output: ['output', 'o'],
|
||||
config: ['config', 'c'],
|
||||
noAutoprefixer: ['no-autoprefixer'],
|
||||
}
|
||||
|
||||
/**
|
||||
@ -60,11 +65,11 @@ function stopWithHelp(...msgs) {
|
||||
* @param {string} outputFile
|
||||
* @return {Promise}
|
||||
*/
|
||||
function build(inputFile, configFile, outputFile) {
|
||||
function build(inputFile, configFile, outputFile, autoprefix) {
|
||||
const css = utils.readFile(inputFile)
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
postcss([tailwind(configFile), autoprefixer])
|
||||
postcss([tailwind(configFile)].concat(autoprefix ? [autoprefixer] : []))
|
||||
.process(css, {
|
||||
from: inputFile,
|
||||
to: outputFile,
|
||||
@ -82,8 +87,10 @@ function build(inputFile, configFile, outputFile) {
|
||||
* @param {string} outputFile
|
||||
* @return {Promise}
|
||||
*/
|
||||
function buildToStdout(inputFile, configFile, outputFile) {
|
||||
return build(inputFile, configFile, outputFile).then(result => process.stdout.write(result.css))
|
||||
function buildToStdout(inputFile, configFile, outputFile, autoprefix) {
|
||||
return build(inputFile, configFile, outputFile, autoprefix).then(result =>
|
||||
process.stdout.write(result.css)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -95,12 +102,12 @@ function buildToStdout(inputFile, configFile, outputFile) {
|
||||
* @param {int[]} startTime
|
||||
* @return {Promise}
|
||||
*/
|
||||
function buildToFile(inputFile, configFile, outputFile, startTime) {
|
||||
function buildToFile(inputFile, configFile, outputFile, autoprefix, startTime) {
|
||||
utils.header()
|
||||
utils.log()
|
||||
utils.log(emoji.go, 'Building...', chalk.bold.cyan(inputFile))
|
||||
|
||||
return build(inputFile, configFile, outputFile).then(result => {
|
||||
return build(inputFile, configFile, outputFile, autoprefix).then(result => {
|
||||
utils.writeFile(outputFile, result.css)
|
||||
|
||||
const prettyTime = prettyHrtime(process.hrtime(startTime))
|
||||
@ -126,6 +133,7 @@ export function run(cliParams, cliOptions) {
|
||||
const inputFile = cliParams[0]
|
||||
const configFile = cliOptions.config && cliOptions.config[0]
|
||||
const outputFile = cliOptions.output && cliOptions.output[0]
|
||||
const autoprefix = !cliOptions.noAutoprefixer
|
||||
|
||||
!inputFile && stopWithHelp('CSS file is required.')
|
||||
!utils.exists(inputFile) && stop(chalk.bold.magenta(inputFile), 'does not exist.')
|
||||
@ -135,8 +143,8 @@ export function run(cliParams, cliOptions) {
|
||||
stop(chalk.bold.magenta(configFile), 'does not exist.')
|
||||
|
||||
const buildPromise = outputFile
|
||||
? buildToFile(inputFile, configFile, outputFile, startTime)
|
||||
: buildToStdout(inputFile, configFile, outputFile)
|
||||
? buildToFile(inputFile, configFile, outputFile, autoprefix, startTime)
|
||||
: buildToStdout(inputFile, configFile, outputFile, autoprefix)
|
||||
|
||||
buildPromise.then(resolve).catch(reject)
|
||||
})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user