Skip to content

Commit 2c60b33

Browse files
authored
postcss-preset-env: add @csstools/postcss-property-rule-prelude-list, @csstools/postcss-syntax-descriptor-syntax-production (#1748)
1 parent bbbbdd2 commit 2c60b33

49 files changed

Lines changed: 531 additions & 142 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package-lock.json

Lines changed: 6 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugin-packs/postcss-preset-env/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changes to PostCSS Preset Env
22

3+
### Unreleased (minor)
4+
5+
- Added `@csstools/postcss-property-rule-prelude-list` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-property-rule-prelude-list#readme) for usage details.
6+
- Added `@csstools/postcss-syntax-descriptor-syntax-production` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-syntax-descriptor-syntax-production#readme) for usage details.
7+
- Updated [`cssdb`](https://github.com/csstools/cssdb) to [`8.6.0`](https://github.com/csstools/cssdb/blob/main/CHANGELOG.md#860-december-26-2025)
8+
39
### 10.5.0
410

511
_December 4, 2025_

plugin-packs/postcss-preset-env/FEATURES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,14 @@ The `ID` listed is the key for PostCSS Preset Env configuration in your project.
5959
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/place-properties.svg" height="18">](https://cssdb.org/#place-properties) | `place-properties` | Place Properties | [example](https://preset-env.cssdb.org/features/#place-properties) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-place#readme) |
6060
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/position-area-property.svg" height="18">](https://cssdb.org/#position-area-property) | `position-area-property` | `position-area` property | [example](https://preset-env.cssdb.org/features/#position-area-property) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-position-area-property#readme) |
6161
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/prefers-color-scheme-query.svg" height="18">](https://cssdb.org/#prefers-color-scheme-query) | `prefers-color-scheme-query` | `prefers-color-scheme` Media Query | [example](https://preset-env.cssdb.org/features/#prefers-color-scheme-query) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-prefers-color-scheme#readme) |
62+
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/property-rule-prelude-list.svg" height="18">](https://cssdb.org/#property-rule-prelude-list) | `property-rule-prelude-list` | `@property` prelude list | [example](https://preset-env.cssdb.org/features/#property-rule-prelude-list) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-property-rule-prelude-list#readme) |
6263
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/random-function.svg" height="18">](https://cssdb.org/#random-function) | `random-function` | `random()` function | [example](https://preset-env.cssdb.org/features/#random-function) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-random-function#readme) |
6364
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/rebeccapurple-color.svg" height="18">](https://cssdb.org/#rebeccapurple-color) | `rebeccapurple-color` | `rebeccapurple` Color | [example](https://preset-env.cssdb.org/features/#rebeccapurple-color) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-rebeccapurple#readme) |
6465
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/relative-color-syntax.svg" height="18">](https://cssdb.org/#relative-color-syntax) | `relative-color-syntax` | Relative Colors | [example](https://preset-env.cssdb.org/features/#relative-color-syntax) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-relative-color-syntax#readme) |
6566
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/scope-pseudo-class.svg" height="18">](https://cssdb.org/#scope-pseudo-class) | `scope-pseudo-class` | `:scope()` Reference Element Pseudo-class | [example](https://preset-env.cssdb.org/features/#scope-pseudo-class) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-scope-pseudo-class#readme) |
6667
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/sign-functions.svg" height="18">](https://cssdb.org/#sign-functions) | `sign-functions` | `abs()` and `sign()` functions | [example](https://preset-env.cssdb.org/features/#sign-functions) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-sign-functions#readme) |
6768
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/stepped-value-functions.svg" height="18">](https://cssdb.org/#stepped-value-functions) | `stepped-value-functions` | `round()`, `mod()` and `rem()` functions | [example](https://preset-env.cssdb.org/features/#stepped-value-functions) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-stepped-value-functions#readme) |
69+
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/syntax-descriptor-syntax-production.svg" height="18">](https://cssdb.org/#syntax-descriptor-syntax-production) | `syntax-descriptor-syntax-production` | `<syntax>` production in `syntax` descriptors | [example](https://preset-env.cssdb.org/features/#syntax-descriptor-syntax-production) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-syntax-descriptor-syntax-production#readme) |
6870
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/system-ui-font-family.svg" height="18">](https://cssdb.org/#system-ui-font-family) | `system-ui-font-family` | `system-ui` Font Family | [example](https://preset-env.cssdb.org/features/#system-ui-font-family) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-system-ui-font-family#readme) |
6971
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/text-decoration-shorthand.svg" height="18">](https://cssdb.org/#text-decoration-shorthand) | `text-decoration-shorthand` | `text-decoration` shorthand | [example](https://preset-env.cssdb.org/features/#text-decoration-shorthand) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-text-decoration-shorthand#readme) |
7072
| [<img alt="Baseline Status" src="https://cssdb.org/images/badges-baseline/trigonometric-functions.svg" height="18">](https://cssdb.org/#trigonometric-functions) | `trigonometric-functions` | `sin()`, `cos()`, `tan()`, `asin()`, `acos()`, `atan()` and `atan2()` functions | [example](https://preset-env.cssdb.org/features/#trigonometric-functions) | [docs](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-trigonometric-functions#readme) |

plugin-packs/postcss-preset-env/dist/index.cjs

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

plugin-packs/postcss-preset-env/dist/index.d.ts

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,19 @@ import type { pluginOptions as pluginOptions_49 } from 'postcss-place';
4646
import type { pluginOptions as pluginOptions_5 } from 'css-blank-pseudo';
4747
import type { pluginOptions as pluginOptions_50 } from '@csstools/postcss-position-area-property';
4848
import type { pluginOptions as pluginOptions_51 } from 'css-prefers-color-scheme';
49-
import type { pluginOptions as pluginOptions_52 } from '@csstools/postcss-random-function';
50-
import type { pluginOptions as pluginOptions_53 } from 'postcss-color-rebeccapurple';
51-
import type { pluginOptions as pluginOptions_54 } from '@csstools/postcss-relative-color-syntax';
52-
import type { pluginOptions as pluginOptions_55 } from '@csstools/postcss-scope-pseudo-class';
53-
import type { pluginOptions as pluginOptions_56 } from '@csstools/postcss-sign-functions';
54-
import type { pluginOptions as pluginOptions_57 } from '@csstools/postcss-stepped-value-functions';
55-
import type { pluginOptions as pluginOptions_58 } from '@csstools/postcss-system-ui-font-family';
56-
import type { pluginOptions as pluginOptions_59 } from '@csstools/postcss-text-decoration-shorthand';
49+
import type { pluginOptions as pluginOptions_52 } from '@csstools/postcss-property-rule-prelude-list';
50+
import type { pluginOptions as pluginOptions_53 } from '@csstools/postcss-random-function';
51+
import type { pluginOptions as pluginOptions_54 } from 'postcss-color-rebeccapurple';
52+
import type { pluginOptions as pluginOptions_55 } from '@csstools/postcss-relative-color-syntax';
53+
import type { pluginOptions as pluginOptions_56 } from '@csstools/postcss-scope-pseudo-class';
54+
import type { pluginOptions as pluginOptions_57 } from '@csstools/postcss-sign-functions';
55+
import type { pluginOptions as pluginOptions_58 } from '@csstools/postcss-stepped-value-functions';
56+
import type { pluginOptions as pluginOptions_59 } from '@csstools/postcss-syntax-descriptor-syntax-production';
5757
import type { pluginOptions as pluginOptions_6 } from '@csstools/postcss-cascade-layers';
58-
import type { pluginOptions as pluginOptions_60 } from '@csstools/postcss-trigonometric-functions';
59-
import type { pluginOptions as pluginOptions_61 } from '@csstools/postcss-unset-value';
58+
import type { pluginOptions as pluginOptions_60 } from '@csstools/postcss-system-ui-font-family';
59+
import type { pluginOptions as pluginOptions_61 } from '@csstools/postcss-text-decoration-shorthand';
60+
import type { pluginOptions as pluginOptions_62 } from '@csstools/postcss-trigonometric-functions';
61+
import type { pluginOptions as pluginOptions_63 } from '@csstools/postcss-unset-value';
6062
import type { pluginOptions as pluginOptions_7 } from 'postcss-attribute-case-insensitive';
6163
import type { pluginOptions as pluginOptions_8 } from '@csstools/postcss-color-function';
6264
import type { pluginOptions as pluginOptions_9 } from '@csstools/postcss-color-function-display-p3-linear';
@@ -267,26 +269,30 @@ export declare type pluginsOptions = {
267269
'position-area-property'?: subPluginOptions<pluginOptions_50>;
268270
/** plugin options for "css-prefers-color-scheme" */
269271
'prefers-color-scheme-query'?: subPluginOptions<pluginOptions_51>;
272+
/** plugin options for "@csstools/postcss-property-rule-prelude-list" */
273+
'property-rule-prelude-list'?: subPluginOptions<pluginOptions_52>;
270274
/** plugin options for "@csstools/postcss-random-function" */
271-
'random-function'?: subPluginOptions<pluginOptions_52>;
275+
'random-function'?: subPluginOptions<pluginOptions_53>;
272276
/** plugin options for "postcss-color-rebeccapurple" */
273-
'rebeccapurple-color'?: subPluginOptions<pluginOptions_53>;
277+
'rebeccapurple-color'?: subPluginOptions<pluginOptions_54>;
274278
/** plugin options for "@csstools/postcss-relative-color-syntax" */
275-
'relative-color-syntax'?: subPluginOptions<pluginOptions_54>;
279+
'relative-color-syntax'?: subPluginOptions<pluginOptions_55>;
276280
/** plugin options for "@csstools/postcss-scope-pseudo-class" */
277-
'scope-pseudo-class'?: subPluginOptions<pluginOptions_55>;
281+
'scope-pseudo-class'?: subPluginOptions<pluginOptions_56>;
278282
/** plugin options for "@csstools/postcss-sign-functions" */
279-
'sign-functions'?: subPluginOptions<pluginOptions_56>;
283+
'sign-functions'?: subPluginOptions<pluginOptions_57>;
280284
/** plugin options for "@csstools/postcss-stepped-value-functions" */
281-
'stepped-value-functions'?: subPluginOptions<pluginOptions_57>;
285+
'stepped-value-functions'?: subPluginOptions<pluginOptions_58>;
286+
/** plugin options for "@csstools/postcss-syntax-descriptor-syntax-production" */
287+
'syntax-descriptor-syntax-production'?: subPluginOptions<pluginOptions_59>;
282288
/** plugin options for "@csstools/postcss-system-ui-font-family" */
283-
'system-ui-font-family'?: subPluginOptions<pluginOptions_58>;
289+
'system-ui-font-family'?: subPluginOptions<pluginOptions_60>;
284290
/** plugin options for "@csstools/postcss-text-decoration-shorthand" */
285-
'text-decoration-shorthand'?: subPluginOptions<pluginOptions_59>;
291+
'text-decoration-shorthand'?: subPluginOptions<pluginOptions_61>;
286292
/** plugin options for "@csstools/postcss-trigonometric-functions" */
287-
'trigonometric-functions'?: subPluginOptions<pluginOptions_60>;
293+
'trigonometric-functions'?: subPluginOptions<pluginOptions_62>;
288294
/** plugin options for "@csstools/postcss-unset-value" */
289-
'unset-value'?: subPluginOptions<pluginOptions_61>;
295+
'unset-value'?: subPluginOptions<pluginOptions_63>;
290296
};
291297

292298
/** postcss-clamp plugin options */

plugin-packs/postcss-preset-env/dist/index.mjs

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

plugin-packs/postcss-preset-env/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,13 @@
8181
"@csstools/postcss-oklab-function": "^4.0.12",
8282
"@csstools/postcss-position-area-property": "^1.0.0",
8383
"@csstools/postcss-progressive-custom-properties": "^4.2.1",
84+
"@csstools/postcss-property-rule-prelude-list": "^1.0.0",
8485
"@csstools/postcss-random-function": "^2.0.1",
8586
"@csstools/postcss-relative-color-syntax": "^3.0.12",
8687
"@csstools/postcss-scope-pseudo-class": "^4.0.1",
8788
"@csstools/postcss-sign-functions": "^1.1.4",
8889
"@csstools/postcss-stepped-value-functions": "^4.0.9",
90+
"@csstools/postcss-syntax-descriptor-syntax-production": "^1.0.0",
8991
"@csstools/postcss-system-ui-font-family": "^1.0.0",
9092
"@csstools/postcss-text-decoration-shorthand": "^4.0.3",
9193
"@csstools/postcss-trigonometric-functions": "^4.0.9",
@@ -95,7 +97,7 @@
9597
"css-blank-pseudo": "^7.0.1",
9698
"css-has-pseudo": "^7.0.3",
9799
"css-prefers-color-scheme": "^10.0.0",
98-
"cssdb": "^8.5.2",
100+
"cssdb": "^8.6.0",
99101
"postcss-attribute-case-insensitive": "^7.0.1",
100102
"postcss-clamp": "^4.1.0",
101103
"postcss-color-functional-notation": "^7.0.12",

plugin-packs/postcss-preset-env/scripts/plugins-data.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,16 @@
324324
"id": "random-function",
325325
"importName": "postcssRandomFunction"
326326
},
327+
{
328+
"packageName": "@csstools/postcss-property-rule-prelude-list",
329+
"id": "property-rule-prelude-list",
330+
"importName": "postcssPropertyRulePreludeList"
331+
},
332+
{
333+
"packageName": "@csstools/postcss-syntax-descriptor-syntax-production",
334+
"id": "syntax-descriptor-syntax-production",
335+
"importName": "postcssSyntaxDescriptorSyntaxProduction"
336+
},
327337
{
328338
"packageName": "@csstools/postcss-progressive-custom-properties",
329339
"id": "progressive-custom-properties",

plugin-packs/postcss-preset-env/src/lib/ids-by-execution-order.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ export default [
5656
'opacity-percentage',
5757
'text-decoration-shorthand',
5858
'unset-value',
59+
'property-rule-prelude-list',
60+
'syntax-descriptor-syntax-production',
5961

6062
// Math functions.
6163
'random-function',

plugin-packs/postcss-preset-env/src/plugins/plugins-by-id.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ import postcssPlace from 'postcss-place';
5454
import postcssPositionAreaProperty from '@csstools/postcss-position-area-property';
5555
import postcssPrefersColorScheme from 'css-prefers-color-scheme';
5656
import postcssProgressiveCustomProperties from '@csstools/postcss-progressive-custom-properties';
57+
import postcssPropertyRulePreludeList from '@csstools/postcss-property-rule-prelude-list';
5758
import postcssRandomFunction from '@csstools/postcss-random-function';
5859
import postcssColorRebeccapurple from 'postcss-color-rebeccapurple';
5960
import postcssRelativeColorSyntax from '@csstools/postcss-relative-color-syntax';
6061
import postcssScopePseudoClass from '@csstools/postcss-scope-pseudo-class';
6162
import postcssSignFunctions from '@csstools/postcss-sign-functions';
6263
import postcssSteppedValueFunctions from '@csstools/postcss-stepped-value-functions';
64+
import postcssSyntaxDescriptorSyntaxProduction from '@csstools/postcss-syntax-descriptor-syntax-production';
6365
import postcssSystemUIFontFamily from '@csstools/postcss-system-ui-font-family';
6466
import postcssTextDecorationShorthand from '@csstools/postcss-text-decoration-shorthand';
6567
import postcssTrigonometricFunctions from '@csstools/postcss-trigonometric-functions';
@@ -124,12 +126,14 @@ export const pluginsById = new Map(
124126
['position-area-property', postcssPositionAreaProperty],
125127
['prefers-color-scheme-query', postcssPrefersColorScheme],
126128
['progressive-custom-properties', postcssProgressiveCustomProperties],
129+
['property-rule-prelude-list', postcssPropertyRulePreludeList],
127130
['random-function', postcssRandomFunction],
128131
['rebeccapurple-color', postcssColorRebeccapurple],
129132
['relative-color-syntax', postcssRelativeColorSyntax],
130133
['scope-pseudo-class', postcssScopePseudoClass],
131134
['sign-functions', postcssSignFunctions],
132135
['stepped-value-functions', postcssSteppedValueFunctions],
136+
['syntax-descriptor-syntax-production', postcssSyntaxDescriptorSyntaxProduction],
133137
['system-ui-font-family', postcssSystemUIFontFamily],
134138
['text-decoration-shorthand', postcssTextDecorationShorthand],
135139
['trigonometric-functions', postcssTrigonometricFunctions],

0 commit comments

Comments
 (0)