Skip to content

Commit a2dc950

Browse files
committed
Check if a Rule has a selectors property before accessing it
1 parent d7d269e commit a2dc950

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## [5.6.1] - 2025-04-07
4+
5+
- Check that a rule has a `selectors` property before accessing it and in this way avoid an issue with Tailwind.
6+
37
## [5.6.0] - 2024-12-13
48

59
- Add new directives to freeze rules and declarations `/*rtl:freeze*/`, `/*rtl:begin:freeze*/` and `/*rtl:end:freeze*/`

src/utilities/selectors.ts

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,26 @@ const addPrefix = (prefix: string, selector: string): string => {
2828
};
2929

3030
export const addSelectorPrefixes = (rule: Rule, prefixes: strings): void => {
31-
rule.selectors = isString(prefixes)
32-
? rule.selectors.map((selector: string): string => {
33-
if (store.rulesPrefixRegExp.test(selector)) {
34-
return selector;
35-
}
36-
return addPrefix(prefixes, selector);
37-
})
38-
: rule.selectors.reduce((selectors: string[], selector: string): string[] => {
39-
if (store.rulesPrefixRegExp.test(selector)) {
40-
selectors = [...selectors, selector];
41-
} else {
42-
selectors = selectors.concat(
43-
prefixes.map((prefix: string): string => addPrefix(prefix, selector))
44-
);
45-
}
46-
return selectors;
47-
}, []);
31+
32+
if (rule.selectors) {
33+
rule.selectors = isString(prefixes)
34+
? rule.selectors.map((selector: string): string => {
35+
if (store.rulesPrefixRegExp.test(selector)) {
36+
return selector;
37+
}
38+
return addPrefix(prefixes, selector);
39+
})
40+
: rule.selectors.reduce((selectors: string[], selector: string): string[] => {
41+
if (store.rulesPrefixRegExp.test(selector)) {
42+
selectors = [...selectors, selector];
43+
} else {
44+
selectors = selectors.concat(
45+
prefixes.map((prefix: string): string => addPrefix(prefix, selector))
46+
);
47+
}
48+
return selectors;
49+
}, []);
50+
}
4851
};
4952

5053
export const hasSelectorsPrefixed = (rule: Rule): boolean => {

0 commit comments

Comments
 (0)