From 93396baf4ec89fb9853c66d7eb8fdb2c810a09e0 Mon Sep 17 00:00:00 2001 From: Hanxx Date: Sun, 13 Feb 2022 12:19:51 +0800 Subject: [PATCH] fix: uppercase classes should be valid --- packages/plugin-utils/src/regexes.ts | 4 ++-- test/__snapshots__/examples.test.ts.snap | 18 ++++++++++++++++++ test/regex.test.ts | 1 + 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/plugin-utils/src/regexes.ts b/packages/plugin-utils/src/regexes.ts index ca24623f..20c79db9 100644 --- a/packages/plugin-utils/src/regexes.ts +++ b/packages/plugin-utils/src/regexes.ts @@ -4,8 +4,8 @@ export const regexClassSplitter = /[\s'"`{}]/g export const regexClassGroup = /([!\w+-<@][\w+:_/-]*?\w):\(((?:[!\w\s:/\\,%#.$-]|\[.*?\])*?)\)/gm export const regexAttributifyItem = /(?:\s|^)([\w+:_/-]+)\s?=\s?(['"{])((?:\\\2|\\\\|\n|\r|.)*?)(?:\2|\})/gm -export const regexClassCheck1 = /^!?[a-z\d@<>.+-](?:\([\w,.%#\(\)+-]*\)|[\w:/\\,%#\[\].$-])*$/ -export const regexClassCheck2 = /[a-z].*[\w)\]]$/ +export const regexClassCheck1 = /^!?[a-zA-Z\d@<>.+-](?:\([\w,.%#\(\)+-]*\)|[\w:/\\,%#\[\].$-])*$/ +export const regexClassCheck2 = /[a-zA-Z].*[\w)\]]$/ export const regexClassChecks = [ regexClassCheck1, regexClassCheck2, diff --git a/test/__snapshots__/examples.test.ts.snap b/test/__snapshots__/examples.test.ts.snap index 12089d24..53726b8a 100644 --- a/test/__snapshots__/examples.test.ts.snap +++ b/test/__snapshots__/examples.test.ts.snap @@ -28,6 +28,7 @@ Set { "select-none", " { expect(validClassName('!-sm:w-full')).toBeTruthy() expect(validClassName('!@sm:w-full')).toBeTruthy() expect(validClassName('p-[calc(10px+12rem)]')).toBeTruthy() + expect(validClassName('Uppercase-Class-Name')).toBeTruthy() // falsy expect(validClassName('')).toBeFalsy()