From 14113707df2ccdc70a2a1beb97cf3548fe54275b Mon Sep 17 00:00:00 2001 From: lihbr Date: Thu, 30 Apr 2020 18:43:56 +0200 Subject: [PATCH 1/3] fix: purgeEnabled evaluating to true when config.purge.enabled is false --- src/lib/purgeUnusedStyles.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib/purgeUnusedStyles.js b/src/lib/purgeUnusedStyles.js index 9146a510e..9be9e411d 100644 --- a/src/lib/purgeUnusedStyles.js +++ b/src/lib/purgeUnusedStyles.js @@ -20,9 +20,7 @@ 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 From 986372339061f36ca640b8a9c56cfd4fb527b30f Mon Sep 17 00:00:00 2001 From: lihbr Date: Thu, 30 Apr 2020 19:08:06 +0200 Subject: [PATCH 2/3] style: lint changes --- src/lib/purgeUnusedStyles.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/purgeUnusedStyles.js b/src/lib/purgeUnusedStyles.js index 9be9e411d..18683f87f 100644 --- a/src/lib/purgeUnusedStyles.js +++ b/src/lib/purgeUnusedStyles.js @@ -20,7 +20,11 @@ function removeTailwindComments(css) { } export default function purgeUnusedUtilities(config) { - const purgeEnabled = _.get(config, 'purge.enabled', 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 From ddc6e1d191a882bdc3ffdb0c54c760615ea168ed Mon Sep 17 00:00:00 2001 From: lihbr Date: Thu, 30 Apr 2020 19:13:48 +0200 Subject: [PATCH 3/3] test: add test for purge being explicitly disabled --- __tests__/purgeUnusedStyles.test.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) 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'