From 24e1385aca46dba4cfb3d0cbabce023a0374c37a Mon Sep 17 00:00:00 2001 From: Adam Wathan Date: Wed, 11 Jul 2018 11:51:47 -0400 Subject: [PATCH] Only enable shadow lookup if shadowLookup experiment is enabled --- __tests__/applyAtRule.test.js | 7 ++++++- src/lib/substituteClassApplyAtRules.js | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/__tests__/applyAtRule.test.js b/__tests__/applyAtRule.test.js index 18c739314..873fc8678 100644 --- a/__tests__/applyAtRule.test.js +++ b/__tests__/applyAtRule.test.js @@ -202,7 +202,12 @@ test('you can apply utility classes that do not actually exist as long as they w .foo { margin-top: 1rem; } ` - return run(input).then(result => { + const config = { + ...defaultConfig, + experiments: { shadowLookup: true }, + } + + return run(input, config).then(result => { expect(result.css).toEqual(expected) expect(result.warnings().length).toBe(0) }) diff --git a/src/lib/substituteClassApplyAtRules.js b/src/lib/substituteClassApplyAtRules.js index 2848f231e..01dfb3c28 100644 --- a/src/lib/substituteClassApplyAtRules.js +++ b/src/lib/substituteClassApplyAtRules.js @@ -59,7 +59,9 @@ function findClass(classToApply, classTable, shadowLookup, onError) { export default function(config, generatedUtilities) { return function(css) { const classLookup = buildClassTable(css) - const shadowLookup = buildShadowTable(generatedUtilities) + const shadowLookup = _.get(config, 'experiments.shadowLookup', false) + ? buildShadowTable(generatedUtilities) + : {} css.walkRules(rule => { rule.walkAtRules('apply', atRule => {