diff --git a/__tests__/purgeUnusedStyles.test.js b/__tests__/purgeUnusedStyles.test.js index 4a72b49c2..493e5fd8a 100644 --- a/__tests__/purgeUnusedStyles.test.js +++ b/__tests__/purgeUnusedStyles.test.js @@ -149,6 +149,30 @@ test('does not purge if the array is empty', () => { }) }) +test('does not purge if explicitly disabled', () => { + const OLD_NODE_ENV = process.env.NODE_ENV + process.env.NODE_ENV = 'production' + const inputPath = path.resolve(`${__dirname}/fixtures/tailwind-input.css`) + const input = fs.readFileSync(inputPath, 'utf8') + + return postcss([ + tailwind({ + ...defaultConfig, + purge: { enabled: false }, + }), + ]) + .process(input, { from: inputPath }) + .then(result => { + process.env.NODE_ENV = OLD_NODE_ENV + const expected = fs.readFileSync( + path.resolve(`${__dirname}/fixtures/tailwind-output.css`), + 'utf8' + ) + + expect(result.css).toBe(expected) + }) +}) + test('purges outside of production if explicitly enabled', () => { const OLD_NODE_ENV = process.env.NODE_ENV process.env.NODE_ENV = 'development' diff --git a/src/lib/purgeUnusedStyles.js b/src/lib/purgeUnusedStyles.js index 9146a510e..18683f87f 100644 --- a/src/lib/purgeUnusedStyles.js +++ b/src/lib/purgeUnusedStyles.js @@ -20,9 +20,11 @@ function removeTailwindComments(css) { } export default function purgeUnusedUtilities(config) { - const purgeEnabled = - _.get(config, 'purge.enabled', false) === true || - (config.purge !== undefined && process.env.NODE_ENV === 'production') + const purgeEnabled = _.get( + config, + 'purge.enabled', + config.purge !== undefined && process.env.NODE_ENV === 'production' + ) if (!purgeEnabled) { return removeTailwindComments