Skip to content

Commit 6cae2c1

Browse files
committed
chore: bump version
1 parent b835927 commit 6cae2c1

10 files changed

Lines changed: 781 additions & 776 deletions

File tree

.changeset/witty-fans-sell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@weapp-tailwindcss/postcss": patch
3+
---
4+
5+
chore: 优化 uni-app x 场景下的样式生成

apps/rsmax-app-ts/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"postinstall": "weapp-tw patch"
1616
},
1717
"dependencies": {
18-
"react": "^19.1.0",
19-
"react-dom": "^19.1.0",
18+
"react": "^19.1.1",
19+
"react-dom": "^19.1.1",
2020
"rsmax": "^1.3.13"
2121
},
2222
"devDependencies": {

apps/taro-webpack-tailwindcss-v4/package.json

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -46,39 +46,39 @@
4646
},
4747
"dependencies": {
4848
"@babel/runtime": "^7.28.2",
49-
"@tarojs/components": "4.1.4",
50-
"@tarojs/helper": "4.1.4",
51-
"@tarojs/plugin-framework-react": "4.1.4",
52-
"@tarojs/plugin-html": "^4.1.4",
53-
"@tarojs/plugin-platform-alipay": "4.1.4",
54-
"@tarojs/plugin-platform-h5": "4.1.4",
55-
"@tarojs/plugin-platform-harmony-hybrid": "4.1.4",
56-
"@tarojs/plugin-platform-jd": "4.1.4",
57-
"@tarojs/plugin-platform-qq": "4.1.4",
58-
"@tarojs/plugin-platform-swan": "4.1.4",
59-
"@tarojs/plugin-platform-tt": "4.1.4",
60-
"@tarojs/plugin-platform-weapp": "4.1.4",
61-
"@tarojs/react": "4.1.4",
62-
"@tarojs/runtime": "4.1.4",
63-
"@tarojs/shared": "4.1.4",
64-
"@tarojs/taro": "4.1.4",
65-
"react": "18.3.1",
66-
"react-dom": "^18.3.1"
49+
"@tarojs/components": "4.1.5",
50+
"@tarojs/helper": "4.1.5",
51+
"@tarojs/plugin-framework-react": "4.1.5",
52+
"@tarojs/plugin-html": "^4.1.5",
53+
"@tarojs/plugin-platform-alipay": "4.1.5",
54+
"@tarojs/plugin-platform-h5": "4.1.5",
55+
"@tarojs/plugin-platform-harmony-hybrid": "4.1.5",
56+
"@tarojs/plugin-platform-jd": "4.1.5",
57+
"@tarojs/plugin-platform-qq": "4.1.5",
58+
"@tarojs/plugin-platform-swan": "4.1.5",
59+
"@tarojs/plugin-platform-tt": "4.1.5",
60+
"@tarojs/plugin-platform-weapp": "4.1.5",
61+
"@tarojs/react": "4.1.5",
62+
"@tarojs/runtime": "4.1.5",
63+
"@tarojs/shared": "4.1.5",
64+
"@tarojs/taro": "4.1.5",
65+
"react": "19.1.1",
66+
"react-dom": "^19.1.1"
6767
},
6868
"devDependencies": {
6969
"@babel/core": "^7.28.0",
7070
"@babel/plugin-proposal-class-properties": "7.18.6",
7171
"@babel/preset-react": "^7.27.1",
7272
"@pmmmwh/react-refresh-webpack-plugin": "^0.6.1",
7373
"@tailwindcss/postcss": "^4.1.11",
74-
"@tarojs/cli": "4.1.4",
75-
"@tarojs/taro-loader": "4.1.4",
76-
"@tarojs/webpack5-runner": "4.1.4",
74+
"@tarojs/cli": "4.1.5",
75+
"@tarojs/taro-loader": "4.1.5",
76+
"@tarojs/webpack5-runner": "4.1.5",
7777
"@types/node": "^24.1.0",
7878
"@types/react": "^19.1.9",
7979
"@types/webpack-env": "^1.13.6",
8080
"@weapp-tailwindcss/merge": "workspace:*",
81-
"babel-preset-taro": "4.1.4",
81+
"babel-preset-taro": "4.1.5",
8282
"postcss": "^8.5.6",
8383
"react-refresh": "^0.17.0",
8484
"tailwindcss": "catalog:tailwindcss4",

packages/postcss/src/selectorParser.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export function getCombinatorSelectorAst(options: IStyleHandlerOptions) {
4747
}
4848

4949
function createRuleTransform(rule: Rule, options: IStyleHandlerOptions) {
50-
const { escapeMap, mangleContext, cssSelectorReplacement, cssRemoveHoverPseudoClass } = options
50+
const { escapeMap, mangleContext, cssSelectorReplacement, cssRemoveHoverPseudoClass, uniAppX } = options
5151

5252
const transform: SyncProcessor = (selectors) => {
5353
selectors.walk((selector, index) => {
@@ -138,6 +138,11 @@ function createRuleTransform(rule: Rule, options: IStyleHandlerOptions) {
138138
}
139139
}
140140
}
141+
if (uniAppX) {
142+
if (selector.value === '::before' || selector.value === '::after' || selector.value === '::backdrop' || selector.value === '::file-selector-button') {
143+
selector.remove()
144+
}
145+
}
141146
}
142147
else if (selector.type === 'combinator') {
143148
// .space-x-4 > :not([hidden]) ~ :not([hidden])
@@ -182,6 +187,12 @@ function createRuleTransform(rule: Rule, options: IStyleHandlerOptions) {
182187
// // }
183188
// }
184189
})
190+
// clean
191+
selectors.walk((selector) => {
192+
if (selector.type === 'selector') {
193+
selector.length === 0 && selector.remove()
194+
}
195+
})
185196
if (selectors.length === 0) {
186197
rule.remove()
187198
}
@@ -218,6 +229,11 @@ export function isOnlyBeforeAndAfterPseudoElement(node: Rule) {
218229
return b && a
219230
}
220231

232+
/**
233+
* enforce post
234+
* @param rule
235+
* @returns
236+
*/
221237
export function getFallbackRemove(rule?: Rule) {
222238
const fallbackRemove = psp((selectors) => {
223239
let maybeImportantId = false
@@ -228,7 +244,7 @@ export function getFallbackRemove(rule?: Rule) {
228244
if (selector.type === 'universal') {
229245
selector.parent?.remove()
230246
}
231-
if (selector.type === 'pseudo') {
247+
else if (selector.type === 'pseudo') {
232248
if (selector.value === ':is') {
233249
if (maybeImportantId && selector.nodes[0]?.type === 'selector') {
234250
selector.replaceWith(selector.nodes[0])
@@ -265,11 +281,14 @@ export function getFallbackRemove(rule?: Rule) {
265281
}
266282
}
267283
}
268-
if (selector.type === 'attribute') {
284+
else if (selector.type === 'attribute') {
269285
if (selector.attribute === 'hidden') {
270286
rule?.remove()
271287
}
272288
}
289+
// else if (selector.type === 'selector') {
290+
// selector.length === 0 && selector.remove()
291+
// }
273292
})
274293
selectors.walk((selector) => {
275294
if (selector.type === 'pseudo') {

packages/postcss/test/__snapshots__/uni-app-x.test.ts.snap

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,7 @@
11
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
22

33
exports[`uni-app-x > app.uvue?vue&type=style&index=0&lang.css > css 1`] = `
4-
"::before,::after {
5-
--tw-content: ""}
6-
view,text,::before,::after {
7-
--tw-border-spacing-x: 0;
8-
--tw-border-spacing-y: 0;
9-
--tw-translate-x: 0;
10-
--tw-translate-y: 0;
11-
--tw-rotate: 0;
12-
--tw-skew-x: 0;
13-
--tw-skew-y: 0;
14-
--tw-scale-x: 1;
15-
--tw-scale-y: 1;
16-
--tw-pan-x: ;
17-
--tw-pan-y: ;
18-
--tw-pinch-zoom: ;
19-
--tw-scroll-snap-strictness: proximity;
20-
--tw-gradient-from-position: ;
21-
--tw-gradient-via-position: ;
22-
--tw-gradient-to-position: ;
23-
--tw-ordinal: ;
24-
--tw-slashed-zero: ;
25-
--tw-numeric-figure: ;
26-
--tw-numeric-spacing: ;
27-
--tw-numeric-fraction: ;
28-
--tw-ring-inset: ;
29-
--tw-ring-offset-width: 0px;
30-
--tw-ring-offset-color: #fff;
31-
--tw-ring-color: rgba(59, 130, 246, 0.5);
32-
--tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);
33-
--tw-ring-shadow: 0 0 rgba(0,0,0,0);
34-
--tw-shadow: 0 0 rgba(0,0,0,0);
35-
--tw-shadow-colored: 0 0 rgba(0,0,0,0);
36-
--tw-blur: ;
37-
--tw-brightness: ;
38-
--tw-contrast: ;
39-
--tw-grayscale: ;
40-
--tw-hue-rotate: ;
41-
--tw-invert: ;
42-
--tw-saturate: ;
43-
--tw-sepia: ;
44-
--tw-drop-shadow: ;
45-
--tw-backdrop-blur: ;
46-
--tw-backdrop-brightness: ;
47-
--tw-backdrop-contrast: ;
48-
--tw-backdrop-grayscale: ;
49-
--tw-backdrop-hue-rotate: ;
50-
--tw-backdrop-invert: ;
51-
--tw-backdrop-opacity: ;
52-
--tw-backdrop-saturate: ;
53-
--tw-backdrop-sepia: ;
54-
--tw-contain-size: ;
55-
--tw-contain-layout: ;
56-
--tw-contain-paint: ;
57-
--tw-contain-style:
58-
}
59-
::backdrop {
4+
"view,text {
605
--tw-border-spacing-x: 0;
616
--tw-border-spacing-y: 0;
627
--tw-translate-x: 0;

packages/postcss/test/__snapshots__/v4.test.ts.snap

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,7 +1435,7 @@ page,:host {
14351435
}
14361436
}
14371437
1438-
view,text,::after,::before,::backdrop,::file-selector-button {
1438+
view,text {
14391439
box-sizing: border-box;
14401440
padding: 0;
14411441
margin: 0;
@@ -1539,7 +1539,7 @@ img,video {
15391539
height: auto;
15401540
}
15411541
1542-
button,input,select,optgroup,textarea,::file-selector-button {
1542+
button,input,select,optgroup,textarea {
15431543
font: inherit;
15441544
font-variation-settings: inherit;
15451545
font-feature-settings: inherit;
@@ -1558,10 +1558,6 @@ select[multiple] optgroup option,select[size] optgroup option {
15581558
padding-left: 20px;
15591559
}
15601560
1561-
::file-selector-button {
1562-
margin-right: 4px;
1563-
}
1564-
15651561
::placeholder {
15661562
color: color-mix(in oklab, currentcolor 50%, transparent);
15671563
opacity: 1;
@@ -1597,7 +1593,7 @@ textarea {
15971593
box-shadow: none;
15981594
}
15991595
1600-
button,input,::file-selector-button {
1596+
button,input {
16011597
appearance: button;
16021598
}
16031599

packages/weapp-tailwindcss/src/presets.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ export function uniAppX(options: UniAppXOptions) {
5959
)
6060
}
6161

62+
// export interface TaroOptions {
63+
// rem2rpx?: UserDefinedOptions['rem2rpx']
64+
// rawOptions?: UserDefinedOptions
65+
// }
66+
6267
// export function taro() {
6368

6469
// }

packages/weapp-tailwindcss/test/__snapshots__/uni-app-x.test.ts.snap

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
22

33
exports[`uni-app-x > tailwindcss3 index.uvue.ts case 1 > css 1`] = `
4-
"::before,::after {
5-
--tw-content: ""}
6-
view,text,::before,::after {
4+
"view,text {
75
--tw-border-spacing-x: 0;
86
--tw-border-spacing-y: 0;
97
--tw-translate-x: 0;
@@ -60,59 +58,6 @@ view,text,::before,::after {
6058
border-width: 0;
6159
border-style: solid;
6260
border-color: currentColor}
63-
::backdrop {
64-
--tw-border-spacing-x: 0;
65-
--tw-border-spacing-y: 0;
66-
--tw-translate-x: 0;
67-
--tw-translate-y: 0;
68-
--tw-rotate: 0;
69-
--tw-skew-x: 0;
70-
--tw-skew-y: 0;
71-
--tw-scale-x: 1;
72-
--tw-scale-y: 1;
73-
--tw-pan-x: ;
74-
--tw-pan-y: ;
75-
--tw-pinch-zoom: ;
76-
--tw-scroll-snap-strictness: proximity;
77-
--tw-gradient-from-position: ;
78-
--tw-gradient-via-position: ;
79-
--tw-gradient-to-position: ;
80-
--tw-ordinal: ;
81-
--tw-slashed-zero: ;
82-
--tw-numeric-figure: ;
83-
--tw-numeric-spacing: ;
84-
--tw-numeric-fraction: ;
85-
--tw-ring-inset: ;
86-
--tw-ring-offset-width: 0px;
87-
--tw-ring-offset-color: #fff;
88-
--tw-ring-color: rgba(59, 130, 246, 0.5);
89-
--tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);
90-
--tw-ring-shadow: 0 0 rgba(0,0,0,0);
91-
--tw-shadow: 0 0 rgba(0,0,0,0);
92-
--tw-shadow-colored: 0 0 rgba(0,0,0,0);
93-
--tw-blur: ;
94-
--tw-brightness: ;
95-
--tw-contrast: ;
96-
--tw-grayscale: ;
97-
--tw-hue-rotate: ;
98-
--tw-invert: ;
99-
--tw-saturate: ;
100-
--tw-sepia: ;
101-
--tw-drop-shadow: ;
102-
--tw-backdrop-blur: ;
103-
--tw-backdrop-brightness: ;
104-
--tw-backdrop-contrast: ;
105-
--tw-backdrop-grayscale: ;
106-
--tw-backdrop-hue-rotate: ;
107-
--tw-backdrop-invert: ;
108-
--tw-backdrop-opacity: ;
109-
--tw-backdrop-saturate: ;
110-
--tw-backdrop-sepia: ;
111-
--tw-contain-size: ;
112-
--tw-contain-layout: ;
113-
--tw-contain-paint: ;
114-
--tw-contain-style:
115-
}
11661
.mt-_32d43rpx_ {
11762
margin-top: 32.43rpx
11863
}

0 commit comments

Comments
 (0)