From 8d7e87660eb6f169febf6e212ed4c2fea1ae10a0 Mon Sep 17 00:00:00 2001 From: sibbng Date: Fri, 27 Jan 2023 16:28:28 +0300 Subject: [PATCH] fix(preset-mini): don't generate arbitrary property if it starts with colon (#2117) --- packages/preset-mini/src/_rules/variables.ts | 2 +- test/assets/preset-mini-targets.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/preset-mini/src/_rules/variables.ts b/packages/preset-mini/src/_rules/variables.ts index 81e132d894..64716ebf81 100644 --- a/packages/preset-mini/src/_rules/variables.ts +++ b/packages/preset-mini/src/_rules/variables.ts @@ -26,7 +26,7 @@ export const cssVariables: Rule[] = [ ] export const cssProperty: Rule[] = [ - [/^\[(--(\w|\\\W)+|[\w-]+):(.+)\]$/, ([match, prop,, value]) => { + [/^\[(--(\w|\\\W)+|[\w-]+):([^:].*)\]$/, ([match, prop,, value]) => { if (!isURI(match.slice(1, -1))) return { [prop]: h.bracket(`[${value}]`) } }], diff --git a/test/assets/preset-mini-targets.ts b/test/assets/preset-mini-targets.ts index 22bfe107c1..bae1b93d14 100644 --- a/test/assets/preset-mini-targets.ts +++ b/test/assets/preset-mini-targets.ts @@ -1067,6 +1067,7 @@ export const presetMiniNonTargets = [ '[name].[hash:9]', '["update:modelValue"]', '[https://en.wikipedia.org/wiki]', + '[Baz::class]', // escaped arbitrary css properties only allowed in css variables '[cant\~escape:me]', ]