Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

postcss-preset-env

Package Overview
Dependencies
Maintainers
3
Versions
125
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-preset-env - npm Package Compare versions

Comparing version 6.7.0 to 9.1.0

dist/index.cjs

985

CHANGELOG.md
# Changes to PostCSS Preset Env
### 6.7.0 (July 8, 2019)
### 9.1.0
_July 24, 2023_
- Added `@csstools/postcss-exponential-functions` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-exponential-functions#readme) for usage details.
- Added `env` option to control which [browserslist environment](https://github.com/browserslist/browserslist#configuring-for-different-environments) to target
- Fix [browserslist supports queries](https://github.com/browserslist/browserslist#full-list)
- Updated [`cssdb`](https://github.com/csstools/cssdb) to [`7.7.0`](https://github.com/csstools/cssdb/blob/main/CHANGELOG.md#770-july-24-2023) (major)
- Updated [`@csstools/postcss-logical-viewport-units`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-viewport-units) to [`2.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-viewport-units/CHANGELOG.md#201) (patch)
- Updated [`@csstools/postcss-color-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-function) to [`3.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-function/CHANGELOG.md#301) (patch)
- Updated [`@csstools/postcss-color-mix-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-mix-function) to [`2.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-mix-function/CHANGELOG.md#201) (patch)
- Updated [`@csstools/postcss-gradients-interpolation-method`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gradients-interpolation-method) to [`4.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gradients-interpolation-method/CHANGELOG.md#401) (patch)
- Updated [`@csstools/postcss-hwb-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-hwb-function) to [`3.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-hwb-function/CHANGELOG.md#301) (patch)
- Updated [`@csstools/postcss-media-minmax`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-minmax) to [`1.0.6`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-minmax/CHANGELOG.md#106) (patch)
- Updated [`@csstools/postcss-media-queries-aspect-ratio-number-values`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-queries-aspect-ratio-number-values) to [`2.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-queries-aspect-ratio-number-values/CHANGELOG.md#201) (patch)
- Updated [`@csstools/postcss-oklab-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-oklab-function) to [`3.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-oklab-function/CHANGELOG.md#301) (patch)
- Updated [`@csstools/postcss-relative-color-syntax`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-relative-color-syntax) to [`2.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-relative-color-syntax/CHANGELOG.md#201) (patch)
- Updated [`@csstools/postcss-stepped-value-functions`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-stepped-value-functions) to [`3.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-stepped-value-functions/CHANGELOG.md#301) (patch)
- Updated [`@csstools/postcss-trigonometric-functions`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-trigonometric-functions) to [`3.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-trigonometric-functions/CHANGELOG.md#301) (patch)
- Updated [`postcss-custom-properties`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-properties) to [`13.3.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-properties/CHANGELOG.md#1330) (minor)
- Updated [`postcss-lab-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-lab-function) to [`6.0.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-lab-function/CHANGELOG.md#601) (patch)
### 9.0.0
_July 3, 2023_
- Change license to `MIT-0` ([read more about this change in the blog post](https://preset-env.cssdb.org/blog/license-change/))
- Updated [`@csstools/postcss-cascade-layers`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-cascade-layers) to [`4.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-cascade-layers/CHANGELOG.md#400) (major)
- Updated [`@csstools/postcss-font-format-keywords`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-font-format-keywords) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-font-format-keywords/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-is-pseudo-class`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-is-pseudo-class) to [`4.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-is-pseudo-class/CHANGELOG.md#400) (major)
- Updated [`@csstools/postcss-logical-float-and-clear`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-float-and-clear) to [`2.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-float-and-clear/CHANGELOG.md#200) (major)
- Updated [`@csstools/postcss-logical-resize`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-resize) to [`2.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-resize/CHANGELOG.md#200) (major)
- Updated [`@csstools/postcss-logical-viewport-units`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-viewport-units) to [`2.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-viewport-units/CHANGELOG.md#200) (major)
- Updated [`@csstools/postcss-nested-calc`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nested-calc) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nested-calc/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-normalize-display-values`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-normalize-display-values) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-normalize-display-values/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-progressive-custom-properties`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-progressive-custom-properties) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-progressive-custom-properties/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-scope-pseudo-class`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-scope-pseudo-class) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-scope-pseudo-class/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-text-decoration-shorthand`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-text-decoration-shorthand) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-text-decoration-shorthand/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-unset-value`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-unset-value) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-unset-value/CHANGELOG.md#300) (major)
- Updated [`css-blank-pseudo`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-blank-pseudo) to [`6.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-blank-pseudo/CHANGELOG.md#600) (major)
- Updated [`css-has-pseudo`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-has-pseudo) to [`6.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-has-pseudo/CHANGELOG.md#600) (major)
- Updated [`css-prefers-color-scheme`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-prefers-color-scheme) to [`9.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-prefers-color-scheme/CHANGELOG.md#900) (major)
- Updated [`postcss-color-rebeccapurple`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-rebeccapurple) to [`9.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-rebeccapurple/CHANGELOG.md#900) (major)
- Updated [`postcss-dir-pseudo-class`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-dir-pseudo-class) to [`8.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-dir-pseudo-class/CHANGELOG.md#800) (major)
- Updated [`postcss-focus-visible`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-focus-visible) to [`9.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-focus-visible/CHANGELOG.md#900) (major)
- Updated [`postcss-focus-within`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-focus-within) to [`8.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-focus-within/CHANGELOG.md#800) (major)
- Updated [`postcss-gap-properties`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gap-properties) to [`5.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gap-properties/CHANGELOG.md#500) (major)
- Updated [`postcss-image-set-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-image-set-function) to [`6.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-image-set-function/CHANGELOG.md#600) (major)
- Updated [`postcss-logical`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical) to [`7.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical/CHANGELOG.md#700) (major)
- Updated [`postcss-nesting`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting) to [`12.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting/CHANGELOG.md#1200) (major)
- Updated [`postcss-overflow-shorthand`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-overflow-shorthand) to [`5.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-overflow-shorthand/CHANGELOG.md#500) (major)
- Updated [`postcss-place`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-place) to [`9.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-place/CHANGELOG.md#900) (major)
- Updated [`postcss-pseudo-class-any-link`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-pseudo-class-any-link) to [`9.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-pseudo-class-any-link/CHANGELOG.md#900) (major)
- Updated [`@csstools/postcss-ic-unit`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-ic-unit) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-ic-unit/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-media-minmax`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-minmax) to [`1.0.5`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-minmax/CHANGELOG.md#105) (patch)
- Updated [`@csstools/postcss-media-queries-aspect-ratio-number-values`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-queries-aspect-ratio-number-values) to [`2.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-queries-aspect-ratio-number-values/CHANGELOG.md#200) (major)
- Updated [`@csstools/postcss-stepped-value-functions`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-stepped-value-functions) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-stepped-value-functions/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-trigonometric-functions`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-trigonometric-functions) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-trigonometric-functions/CHANGELOG.md#300) (major)
- Updated [`postcss-color-functional-notation`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-functional-notation) to [`6.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-functional-notation/CHANGELOG.md#600) (major)
- Updated [`postcss-custom-media`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-media) to [`10.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-media/CHANGELOG.md#1000) (major)
- Updated [`postcss-custom-properties`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-properties) to [`13.2.1`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-properties/CHANGELOG.md#1321) (patch)
- Updated [`postcss-custom-selectors`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-selectors) to [`7.1.4`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-selectors/CHANGELOG.md#714) (patch)
- Updated [`postcss-double-position-gradients`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-double-position-gradients) to [`5.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-double-position-gradients/CHANGELOG.md#500) (major)
- Updated [`@csstools/postcss-gradients-interpolation-method`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gradients-interpolation-method) to [`4.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gradients-interpolation-method/CHANGELOG.md#400) (major)
- Updated [`@csstools/postcss-hwb-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-hwb-function) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-hwb-function/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-oklab-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-oklab-function) to [`3.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-oklab-function/CHANGELOG.md#300) (major)
- Updated [`@csstools/postcss-relative-color-syntax`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-relative-color-syntax) to [`2.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-relative-color-syntax/CHANGELOG.md#200) (major)
- Updated [`postcss-lab-function`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-lab-function) to [`6.0.0`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-lab-function/CHANGELOG.md#600) (major)
### 8.5.1
_June 21, 2023_
- Updated `@csstools/postcss-media-minmax` to `1.0.4` (patch)
- Updated `@csstools/postcss-media-queries-aspect-ratio-number-values` to `1.0.4` (patch)
- Updated `postcss-custom-media` to `9.1.5` (patch)
### 8.5.0
_June 14, 2023_
- Add warning when using the deprecated `@nest` rule
- Updated `@csstools/postcss-relative-color-syntax` to `1.0.2` (patch)
- Updated `postcss-nesting` to `11.3.0` (minor)
### 8.4.2
_June 1, 2023_
- Updated `@csstools/postcss-progressive-custom-properties` to `2.3.0` (minor)
- Updated `postcss-custom-properties` to `13.2.0` (minor)
- Updated `@csstools/postcss-color-function` to `2.2.3` (patch)
- Updated `@csstools/postcss-color-mix-function` to `1.0.3` (patch)
- Updated `@csstools/postcss-gradients-interpolation-method` to `3.0.6` (patch)
- Updated `@csstools/postcss-ic-unit` to `2.0.4` (patch)
- Updated `@csstools/postcss-media-minmax` to `1.0.3` (patch)
- Updated `@csstools/postcss-media-queries-aspect-ratio-number-values` to `1.0.3` (patch)
- Updated `@csstools/postcss-oklab-function` to `2.2.3` (patch)
- Updated `@csstools/postcss-relative-color-syntax` to `1.0.1` (patch)
- Updated `postcss-color-functional-notation` to `5.1.0` (minor)
- Updated `postcss-custom-media` to `9.1.4` (patch)
- Updated `postcss-double-position-gradients` to `4.0.4` (patch)
- Updated `postcss-lab-function` to `5.2.3` (patch)
### 8.4.1
_May 19, 2023_
- Added `@csstools/postcss-relative-color-syntax` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-relative-color-syntax#readme) for usage details (really this time).
### 8.4.0
_May 19, 2023_
- Added `@csstools/postcss-relative-color-syntax` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-relative-color-syntax#readme) for usage details.
- Updated `cssdb` to `7.6.0.` (minor)
- Updated `@csstools/postcss-progressive-custom-properties` to `2.2.0` (minor)
- Updated `@csstools/postcss-ic-unit` to `2.0.3` (patch)
- Updated `@csstools/postcss-text-decoration-shorthand` to `2.2.4` (patch)
- Updated `postcss-double-position-gradients` to `4.0.3` (patch)
- Updated `@csstools/postcss-color-function` to `2.2.2` (patch)
- Updated `@csstools/postcss-color-mix-function` to `1.0.2` (patch)
- Updated `@csstools/postcss-gradients-interpolation-method` to `3.0.5` (patch)
- Updated `@csstools/postcss-hwb-function` to `2.2.2` (patch)
- Updated `@csstools/postcss-oklab-function` to `2.2.2` (patch)
- Updated `postcss-lab-function` to `5.2.2` (patch)
### 8.3.3
_May 19, 2023_
- Update plugin order to preserve more original values.
- Fix exception on unknown features [#969](https://github.com/csstools/postcss-plugins/issues/969)
- Updated `@csstools/postcss-is-pseudo-class` to `3.2.1` (patch)
- Updated `postcss-logical` to `6.2.0` (minor)
### 8.3.2
_April 17, 2023_
- Updated `@csstools/postcss-gradients-interpolation-method` to `3.0.4` (patch)
### 8.3.1
_April 10, 2023_
- Updated `@csstools/postcss-logical-viewport-units` to `1.0.3` (patch)
- Updated `@csstools/postcss-media-minmax` to `1.0.2` (patch)
- Updated `@csstools/postcss-media-queries-aspect-ratio-number-values` to `1.0.2` (patch)
- Updated `@csstools/postcss-stepped-value-functions` to `2.1.1` (patch)
- Updated `@csstools/postcss-trigonometric-functions` to `2.1.1` (patch)
- Updated `postcss-custom-media` to `9.1.3` (patch)
- Updated `postcss-custom-properties` to `13.1.5` (patch)
- Updated `postcss-custom-selectors` to `7.1.3` (patch)
- Updated `@csstools/postcss-color-function` to `2.2.1` (patch)
- Updated `@csstools/postcss-color-mix-function` to `1.0.1` (patch)
- Updated `@csstools/postcss-gradients-interpolation-method` to `3.0.3` (patch)
- Updated `@csstools/postcss-hwb-function` to `2.2.1` (patch)
- Updated `@csstools/postcss-oklab-function` to `2.2.1` (patch)
- Updated `postcss-lab-function` to `5.2.1` (patch)
### 8.3.0
_March 31, 2023_
- Replace `postcss-media-minmax` with `@csstools/postcss-media-minmax` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-minmax#readme) for usage details. _We hope to revert this in the future when maintenance is resumed upstream._
- Updated `cssdb` to `7.5.3` (patch)
### 8.2.0
_March 28, 2023_
- Added `@csstools/postcss-gradients-interpolation-method` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gradients-interpolation-method#readme) for usage details.
- Updated `cssdb` to `7.5.2` (patch)
### 8.1.0
_March 25, 2023_
- Added `@csstools/postcss-color-mix-function` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-mix-function#readme) for usage details.
- Improve `debug` message format
- Updated `@csstools/postcss-cascade-layers` to `3.0.1` (patch)
- Updated `@csstools/postcss-color-function` to `2.2.0` (minor)
- Updated `@csstools/postcss-font-format-keywords` to `2.0.2` (patch)
- Updated `@csstools/postcss-hwb-function` to `2.2.0` (minor)
- Updated `@csstools/postcss-ic-unit` to `2.0.2` (patch)
- Updated `@csstools/postcss-is-pseudo-class` to `3.1.1` (minor)
- Updated `@csstools/postcss-logical-float-and-clear` to `1.0.1` (patch)
- Updated `@csstools/postcss-logical-resize` to `1.0.1` (patch)
- Updated `@csstools/postcss-logical-viewport-units` to `1.0.2` (patch)
- Updated `@csstools/postcss-media-queries-aspect-ratio-number-values` to `1.0.1` (patch)
- Updated `@csstools/postcss-nested-calc` to `2.0.2` (patch)
- Updated `@csstools/postcss-normalize-display-values` to `2.0.1` (patch)
- Updated `@csstools/postcss-oklab-function` to `2.1.0` (minor)
- Updated `@csstools/postcss-progressive-custom-properties` to `2.1.0` (minor)
- Updated `@csstools/postcss-scope-pseudo-class` to `2.0.2` (patch)
- Updated `@csstools/postcss-stepped-value-functions` to `2.1.0` (minor)
- Updated `@csstools/postcss-text-decoration-shorthand` to `2.2.1` (minor)
- Updated `@csstools/postcss-trigonometric-functions` to `2.1.0` (minor)
- Updated `@csstools/postcss-unset-value` to `2.0.1` (patch)
- Updated `autoprefixer` to `10.4.14` (patch)
- Updated `browserslist` to `4.21.5` (patch)
- Updated `css-blank-pseudo` to `5.0.2` (patch)
- Updated `css-has-pseudo` to `5.0.2` (patch)
- Updated `css-prefers-color-scheme` to `8.0.2` (patch)
- Updated `cssdb` to `7.5.1` (minor)
- Updated `postcss-attribute-case-insensitive` to `6.0.2` (patch)
- Updated `postcss-color-functional-notation` to `5.0.2` (patch)
- Updated `postcss-color-hex-alpha` to `9.0.2` (patch)
- Updated `postcss-color-rebeccapurple` to `8.0.2` (patch)
- Updated `postcss-custom-media` to `9.1.2` (patch)
- Updated `postcss-custom-properties` to `13.1.4` (patch)
- Updated `postcss-custom-selectors` to `7.1.2` (patch)
- Updated `postcss-dir-pseudo-class` to `7.0.2` (patch)
- Updated `postcss-double-position-gradients` to `4.0.2` (patch)
- Updated `postcss-focus-visible` to `8.0.2` (patch)
- Updated `postcss-focus-within` to `7.0.2` (patch)
- Updated `postcss-gap-properties` to `4.0.1` (patch)
- Updated `postcss-image-set-function` to `5.0.2` (patch)
- Updated `postcss-lab-function` to `5.2.0` (minor)
- Updated `postcss-logical` to `6.1.0` (minor)
- Updated `postcss-nesting` to `11.2.1` (minor)
- Updated `postcss-opacity-percentage` to `2.0.0` (major)
- Updated `postcss-overflow-shorthand` to `4.0.1` (patch)
- Updated `postcss-page-break` to `3.0.4` (patch)
- Updated `postcss-place` to `8.0.1` (patch)
- Updated `postcss-pseudo-class-any-link` to `8.0.2` (patch)
- Updated `postcss-selector-not` to `7.0.1` (patch)
### 8.0.1
_January 28, 2023_
- Improve `types` declaration in `package.json`
### 8.0.0
_January 24, 2023_
- See [the dedicated Wiki page](https://github.com/csstools/postcss-plugins/wiki/PostCSS-Preset-Env-8) for more information.
- Added: TypeScript support.
- Added `@csstools/postcss-media-queries-aspect-ratio-number-values` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-queries-aspect-ratio-number-values#readme) for usage details.
- Added `@csstools/postcss-logical-float-and-clear` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-float-and-clear#readme) for usage details.
- Added `@csstools/postcss-logical-resize` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-resize#readme) for usage details.
- Added `@csstools/postcss-logical-viewport-units` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-viewport-units#readme) for usage details.
- Added `logical` option to control all logical plugins.
- Added `@csstools/postcss-scope-pseudo-class` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-scope-pseudo-class#readme) for usage details.
- Updated Support for Node v14+ (major).
- Fixed: `all-property` and `overflow-wrap-property` now follow the `preserve` plugin option
- Removed a workaround to consider `blank-pseudo-class` and `prefers-color-scheme-query` as `stage: 1` features when using default options.
- Removed `postcss-env-function` (breaking).
- Removed `importFrom` and `exportTo` plugin options from multiple plugins. (breaking)
- `postcss-custom-media`
- `postcss-custom-properties`
- `postcss-custom-selectors`
- Breaking: `enableClientSidePolyfills` is now `false` by default (was `true`)
- Updated `@csstools/postcss-cascade-layers` to `3.0.0` (major)
- Updated `@csstools/postcss-color-function` to `2.0.0` (major)
- Updated `@csstools/postcss-font-format-keywords` to `2.0.0` (major)
- Updated `@csstools/postcss-hwb-function` to `2.0.0` (major)
- Updated `@csstools/postcss-ic-unit` to `2.0.0` (major)
- Updated `@csstools/postcss-is-pseudo-class` to `3.0.0` (major)
- Updated `@csstools/postcss-nested-calc` to `2.0.0` (major)
- Updated `@csstools/postcss-normalize-display-values` to `2.0.0` (major)
- Updated `@csstools/postcss-oklab-function` to `2.0.0` (major)
- Updated `@csstools/postcss-scope-pseudo-class` to `2.0.0` (major)
- Updated `@csstools/postcss-stepped-value-functions` to `2.0.0` (major)
- Updated `@csstools/postcss-text-decoration-shorthand` to `2.0.0` (major)
- Updated `@csstools/postcss-trigonometric-functions` to `2.0.0` (major)
- Updated `@csstools/postcss-unset-value` to `2.0.0` (major)
- Updated `css-blank-pseudo` to `5.0.0` (major)
- Updated `css-has-pseudo` to `5.0.0` (major)
- Updated `css-prefers-color-scheme` to `8.0.0` (major)
- Updated `postcss-attribute-case-insensitive` to `6.0.0` (major)
- Updated `postcss-color-functional-notation` to `5.0.0` (major)
- Updated `postcss-color-hex-alpha` to `9.0.0` (major)
- Updated `postcss-color-rebeccapurple` to `8.0.0` (major)
- Updated `postcss-custom-media` to `9.1.0` (major)
- Updated `postcss-custom-properties` to `13.1.0` (minor)
- Updated `postcss-custom-selectors` to `7.1.0` (minor)
- Updated `postcss-dir-pseudo-class` to `7.0.0` (major)
- Updated `postcss-double-position-gradients` to `4.0.0` (major)
- Updated `postcss-focus-visible` to `8.0.0` (major)
- Updated `postcss-focus-within` to `7.0.0` (major)
- Updated `postcss-gap-properties` to `4.0.0` (major)
- Updated `postcss-image-set-function` to `5.0.0` (major)
- Updated `postcss-lab-function` to `5.0.0` (major)
- Updated `postcss-logical` to `6.0.0` (major)
- Updated `postcss-nesting` to `11.0.0` (major)
- Updated `postcss-overflow-shorthand` to `4.0.0` (major)
- Updated `postcss-place` to `8.0.0` (major)
- Updated `postcss-pseudo-class-any-link` to `8.0.0` (major)
- Updated `postcss-selector-not` to `7.0.0` (major)
### 8.0.0-rc.0
_January 24, 2023_
- Added: TypeScript support.
- Added `@csstools/postcss-media-queries-aspect-ratio-number-values` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-media-queries-aspect-ratio-number-values#readme) for usage details.
- Added `@csstools/postcss-logical-float-and-clear` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-float-and-clear#readme) for usage details.
- Added `@csstools/postcss-logical-resize` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-resize#readme) for usage details.
- Added `@csstools/postcss-logical-viewport-units` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-viewport-units#readme) for usage details.
- Added `logical` option to control all logical plugins.
- Fixed: `all-property` and `overflow-wrap-property` now follow the `preserve` plugin option
- Removed a workaround to consider `blank-pseudo-class` and `prefers-color-scheme-query` as `stage: 1` features when using default options.
- Updated `@csstools/postcss-cascade-layers` to `3.0.0` (major)
- Updated `@csstools/postcss-color-function` to `2.0.0` (major)
- Updated `@csstools/postcss-font-format-keywords` to `2.0.0` (major)
- Updated `@csstools/postcss-hwb-function` to `2.0.0` (major)
- Updated `@csstools/postcss-ic-unit` to `2.0.0` (major)
- Updated `@csstools/postcss-is-pseudo-class` to `3.0.0` (major)
- Updated `@csstools/postcss-nested-calc` to `2.0.0` (major)
- Updated `@csstools/postcss-normalize-display-values` to `2.0.0` (major)
- Updated `@csstools/postcss-oklab-function` to `2.0.0` (major)
- Updated `@csstools/postcss-scope-pseudo-class` to `2.0.0` (major)
- Updated `@csstools/postcss-stepped-value-functions` to `2.0.0` (major)
- Updated `@csstools/postcss-text-decoration-shorthand` to `2.0.0` (major)
- Updated `@csstools/postcss-trigonometric-functions` to `2.0.0` (major)
- Updated `@csstools/postcss-unset-value` to `2.0.0` (major)
- Updated `css-blank-pseudo` to `5.0.0` (major)
- Updated `css-has-pseudo` to `5.0.0` (major)
- Updated `css-prefers-color-scheme` to `8.0.0` (major)
- Updated `postcss-attribute-case-insensitive` to `6.0.0` (major)
- Updated `postcss-color-functional-notation` to `5.0.0` (major)
- Updated `postcss-color-hex-alpha` to `9.0.0` (major)
- Updated `postcss-color-rebeccapurple` to `8.0.0` (major)
- Updated `postcss-custom-media` to `9.1.0` (major)
- Updated `postcss-custom-properties` to `13.1.0` (minor)
- Updated `postcss-custom-selectors` to `7.1.0` (minor)
- Updated `postcss-dir-pseudo-class` to `7.0.0` (major)
- Updated `postcss-double-position-gradients` to `4.0.0` (major)
- Updated `postcss-focus-visible` to `8.0.0` (major)
- Updated `postcss-focus-within` to `7.0.0` (major)
- Updated `postcss-gap-properties` to `4.0.0` (major)
- Updated `postcss-image-set-function` to `5.0.0` (major)
- Updated `postcss-lab-function` to `5.0.0` (major)
- Updated `postcss-logical` to `6.0.0` (major)
- Updated `postcss-nesting` to `11.0.0` (major)
- Updated `postcss-overflow-shorthand` to `4.0.0` (major)
- Updated `postcss-place` to `8.0.0` (major)
- Updated `postcss-pseudo-class-any-link` to `8.0.0` (major)
- Updated `postcss-selector-not` to `7.0.0` (major)
### 8.0.0-alpha.1
_November 14, 2022_
- Updated Support for Node v14+ (major).
- Removed `postcss-env-function` (breaking).
- Removed `importFrom` and `exportTo` plugin options from multiple plugins. (breaking)
- `postcss-custom-media`
- `postcss-custom-properties`
- `postcss-custom-selectors`
- Added `@csstools/postcss-scope-pseudo-class` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-scope-pseudo-class#readme) for usage details.
- Updated `postcss-custom-media` to `9.0.0` (major)
- Updated `postcss-custom-properties` to `13.0.0` (major)
- Updated `postcss-custom-selectors` to `7.0.0` (major)
- Updated `@csstools/postcss-cascade-layers` to `2.0.0` (major)
- Updated `css-blank-pseudo` to `4.1.1` (minor)
- Updated `css-has-pseudo` to `4.0.1` (patch)
- Updated `css-prefers-color-scheme` to `7.0.1` (patch)
- Updated `postcss-focus-visible` to `7.1.0` (minor)
- Updated `postcss-focus-within` to `6.1.1` (minor)
### 8.0.0-alpha.0
_July 8, 2022_
- Breaking: `enableClientSidePolyfills` is now `false` by default (was `true`)
- Updated `@csstools/postcss-stepped-value-functions` to `1.0.1` (patch)
- Updated `@csstools/postcss-trigonometric-functions` to `1.0.2` (patch)
- Updated `@csstools/postcss-unset-value` to `1.0.2` (patch)
- Updated `browserslist` to `4.21.1` (patch)
- Updated `css-blank-pseudo` to `4.0.0` (major)
- Updated `css-has-pseudo` to `4.0.0` (major)
- Updated `css-prefers-color-scheme` to `7.0.0` (major)
- Updated `postcss-attribute-case-insensitive` to `5.0.2` (patch)
- Updated `postcss-color-functional-notation` to `4.2.4` (patch)
- Updated `postcss-color-rebeccapurple` to `7.1.1` (patch)
- Updated `postcss-dir-pseudo-class` to `6.0.5` (patch)
- Updated `postcss-double-position-gradients` to `3.1.2` (patch)
- Updated `postcss-focus-visible` to `7.0.0` (major)
- Updated `postcss-focus-within` to `6.0.0` (major)
- Updated `postcss-gap-properties` to `3.0.4` (patch)
- Updated `postcss-image-set-function` to `4.0.7` (patch)
- Updated `postcss-lab-function` to `4.2.1` (patch)
- Updated `postcss-nesting` to `10.1.10` (patch)
- Updated `postcss-overflow-shorthand` to `3.0.4` (patch)
- Updated `postcss-place` to `7.0.5` (patch)
- Updated `postcss-pseudo-class-any-link` to `7.1.6` (patch)
- Updated `postcss-selector-not` to `6.0.1` (patch)
### 7.8.3
_November 14, 2022_
- Update `autoprefixer` to `10.4.13` (patch)
- Update `browserlist` to `4.21.4` (patch)
- Update `postcss-custom-properties` to `12.1.10` (patch)
- Update `@csstools/postcss-cascade-layers` to `1.1.1` (patch)
### 7.8.2
_September 15, 2022_
- Update `@csstools/postcss-cascade-layers` to `1.1.0` (minor)
- Update `autoprefixer` to `10.4.11` (patch)
- Update `postcss-custom-properties` to `12.1.9` (patch)
- Update `postcss-nesting` to `10.2.0` (minor)
### 7.8.1
_September 7, 2022_
- Update `cssdb` to `7.0.1` (patch)
- Update `@csstools/postcss-cascade-layers` to `1.0.6` (patch)
### 7.8.0
_August 16, 2022_
- Added `@csstools/postcss-nested-calc` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nested-calc#readme) for usage details.
- Added `@csstools/postcss-text-decoration-shorthand` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-text-decoration-shorthand#readme) for usage details.
- Update `@csstools/postcss-cascade-layers` to `1.0.5` (patch)
- Update `@csstools/postcss-color-function` to `1.1.1` (patch)
- Update `@csstools/postcss-font-format-keywords` to `1.0.1` (patch)
- Update `@csstools/postcss-hwb-function` to `1.0.2` (patch)
- Update `@csstools/postcss-ic-unit` to `1.0.1` (patch)
- Update `@csstools/postcss-is-pseudo-class` to `2.0.7` (patch)
- Update `@csstools/postcss-normalize-display-values` to `1.0.1` (patch)
- Update `@csstools/postcss-oklab-function` to `1.1.1` (patch)
- Update `@csstools/postcss-stepped-value-functions` to `1.0.1` (patch)
- Update `@csstools/postcss-trigonometric-functions` to `1.0.2` (patch)
- Update `@csstools/postcss-unset-value` to `1.0.2` (patch)
- Update `autoprefixer` to `10.4.8` (patch)
- Update `browserslist` to `4.21.3` (patch)
- Update `cssdb` to `7.0.0` (major)
- Update `postcss-attribute-case-insensitive` to `5.0.2` (patch)
- Update `postcss-color-functional-notation` to `4.2.4` (patch)
- Update `postcss-color-rebeccapurple` to `7.1.1` (patch)
- Update `postcss-dir-pseudo-class` to `6.0.5` (patch)
- Update `postcss-double-position-gradients` to `3.1.2` (patch)
- Update `postcss-gap-properties` to `3.0.5` (patch)
- Update `postcss-image-set-function` to `4.0.7` (patch)
- Update `postcss-lab-function` to `4.2.1` (patch)
- Update `postcss-nesting` to `10.1.10` (patch)
- Update `postcss-overflow-shorthand` to `3.0.4` (patch)
- Update `postcss-place` to `7.0.5` (patch)
- Update `postcss-pseudo-class-any-link` to `7.1.6` (patch)
- Update `postcss-selector-not` to `6.0.1` (patch)
### 7.7.2
_June 23, 2022_
- Fix `op_mini all` not working as a browser list.
- Updated `postcss-color-rebeccapurple` to `7.1.0` (minor)
- Updated `browserslist` to `4.21.0` (minor)
- Updated `@csstools/postcss-cascade-layers` to `1.0.4` (patch)
- Updated `@csstools/postcss-is-pseudo-class` to `2.0.6` (patch)
- Updated `postcss-color-hex-alpha` to `8.0.4` (patch)
- Updated `postcss-custom-media` to `8.0.2` (patch)
- Updated `postcss-custom-properties` to `12.1.8` (patch)
- Updated `postcss-custom-selectors` to `6.0.3` (patch)
- Updated `postcss-nesting` to `10.1.9` (patch)
- Updated `postcss-pseudo-class-any-link` to `7.1.5` (patch)
### 7.7.1
_June 3, 2022_
- Updated `postcss-selector-not` to `6.0.0` (major)
- Updated `@csstools/postcss-trigonometric-functions` to `1.0.1` (patch)
- Updated `postcss-attribute-case-insensitive` to `5.0.1` (patch)
- Updated `postcss-custom-media` to `8.0.1` (patch)
- Updated `postcss-custom-selectors` to `6.0.2` (patch)
- Updated `cssdb` to `6.6.3` (patch)
### 7.7.0
_May 31, 2022_
- Added `@csstools/postcss-trigonometric-functions` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-trigonometric-functions#readme) for usage details.
- Updated `@csstools/postcss-cascade-layers` to `1.0.2` (patch)
- Updated `postcss-color-functional-notation` to `4.2.3` (patch)
- Updated `postcss-nesting` to `10.1.7` (patch)
### 7.6.0
_May 19, 2022_
- Added `@csstools/postcss-cascade-layers` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-cascade-layers#readme) for usage details.
- Updated `@csstools/postcss-hwb-function` to `1.0.1` (patch)
- Updated `@csstools/postcss-is-pseudo-class` to `2.0.4` (patch)
- Updated `@csstools/postcss-unset-value` to `1.0.1` (patch)
- Updated `postcss-nesting` to `10.1.6` (patch)
- Updated `postcss-pseudo-class-any-link` to `7.1.4` (patch)
- Updated `autoprefixer` to `10.4.7` (patch)
### 7.5.0
_May 2, 2022_
- Added `@csstools/postcss-unset-value` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-unset-value#readme) for usage details.
- Added `@csstools/postcss-stepped-value-functions` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-stepped-value-functions#readme) for usage details.
- Updated `cssdb` to `6.6.0` (minor)
- Updated `autoprefixer` to `10.4.6` (patch)
### 7.4.4
_April 26, 2022_
- Updated `@csstools/postcss-color-function` to `1.1.0` (minor)
- Updated `@csstools/postcss-is-pseudo-class` to `2.0.2` (patch)
- Updated `@csstools/postcss-oklab-function` to `1.1.0` (minor)
- Updated `autoprefixer` to `10.4.5` (patch)
- Updated `browserslist` to `4.20.3` (patch)
- Updated `postcss-custom-properties` to `12.1.7` (patch)
- Updated `postcss-lab-function` to `4.2.0` (minor)
- Updated `postcss-nesting` to `10.1.4` (patch)
- Updated `postcss-pseudo-class-any-link` to `7.1.2` (patch)
### 7.4.3
_March 19, 2022_
- Fix manually enabling a feature that doesn't meet the required vendor implementations. [#310](https://github.com/csstools/postcss-plugins/issues/310)
- Updated `postcss-clamp` to `4.1.0` (minor)
- Updated `@csstools/postcss-color-function` to `1.0.3` (patch)
- Updated `@csstools/postcss-is-pseudo-class` to `2.0.1` (patch)
- Updated `@csstools/postcss-oklab-function` to `1.0.2` (patch)
- Updated `@csstools/postcss-progressive-custom-properties` to `1.3.0` (minor)
- Updated `autoprefixer` to `10.4.4` (patch)
- Updated `browserslist` to `4.20.2` (patch)
- Updated `cssdb` to `6.5.0` (minor)
- Updated `postcss-custom-properties` to `12.1.5` (patch)
- Updated `postcss-double-position-gradients` to `3.1.1` (patch)
- Updated `postcss-env-function` to `4.0.6` (patch)
- Updated `postcss-lab-function` to `4.1.2` (patch)
- Updated `postcss-nesting` to `10.1.3` (patch)
- Remove internal patch for `postcss-clamp`
- Document all features. [https://github.com/csstools/postcss-preset-env/issues/156](https://github.com/csstools/postcss-preset-env/issues/156)
[see the list of features](https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md)
### 7.4.2
_March 2, 2022_
- Adding internal patch for `postcss-clamp` to fix issue when `clamp` was being used with any other values along. [#274](https://github.com/csstools/postcss-plugins/issues/274)
### 7.4.1
_February 17, 2022_
- Updated `postcss-clamp` to `4.0.0` (major)
### 7.4.0
_February 16, 2022_
- Added `@csstools/color-function` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-function#readme) for usage details.
- Added `@csstools/oklab-function` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-oklab-function#readme) for usage details.
- Added `@csstools/ic-unit` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-ic-unit#readme) for usage details.
- Updated `@csstools/postcss-progressive-custom-properties` to `1.2.0` (minor)
- Updated `cssdb` to `6.3.1` (patch)
- Updated `postcss-double-position-gradients` to `3.1.0` (minor)
- Updated `postcss-lab-function` to `4.1.1` (patch)
### 7.3.3
_February 13, 2022_
- Updated `cssdb` to `6.3.0` (minor)
### 6.7.1
_February 13, 2022_
- Added notice when using preset-env with PostCSS > 7 to prompt to upgrade.
### 7.3.2
_February 12, 2022_
- Updated `postcss-lab-function` to `4.1.0` (minor)
`postcss-lab-function` now supports [wide gamut colors](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-lab-function#displayp3) and [out of gamut color mapping](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-lab-function#displayp3).
- Updated `css-blank-pseudo` to `3.0.3` (patch)
- Updated `css-has-pseudo` to `3.0.4` (patch)
- Updated `cssdb` to `6.2.1` (patch)
- Updated `postcss-color-functional-notation` to `4.2.2` (patch)
- Updated `postcss-color-hex-alpha` to `8.0.3` (patch)
- Updated `postcss-dir-pseudo-class` to `6.0.4` (patch)
- Updated `postcss-double-position-gradients` to `3.0.5` (patch)
- Updated `postcss-env-function` to `4.0.5` (patch)
- Updated `postcss-focus-visible` to `6.0.4` (patch)
- Updated `postcss-focus-within` to `5.0.4` (patch)
- Updated `postcss-gap-properties` to `3.0.3` (patch)
- Updated `postcss-image-set-function` to `4.0.6` (patch)
- Updated `postcss-logical` to `5.0.4` (patch)
- Updated `postcss-overflow-shorthand` to `3.0.3` (patch)
- Updated `postcss-place` to `7.0.4` (patch)
- Updated `postcss-pseudo-class-any-link` to `7.1.1` (patch)
- Updated `@csstools/postcss-progressive-custom-properties` to `1.1.0`.
### 7.3.1
_February 3, 2022_
- Ensured that `debug` option uses a single instance per run, this allows for `debug` to work on parallel runs within CI environments.
- Normalized exports to support both Common JS and ESM within our modules. This allows for the package to be processable via Webpack [#221](https://github.com/csstools/postcss-plugins/issues/221)
- Updated `postcss-opacity-percentage` to `1.1.2` (patch).
### 7.3.0
_January 31, 2022_
- Added `@csstools/postcss-is-pseudo-class` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-is-pseudo-class#readme) for usage details.
- Added `@csstools/postcss-hwb-function` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-hwb-function#readme) for usage details.
- Added `postcss-opacity-percentage` <br/> [Check the plugin README](https://github.com/mrcgrtz/postcss-opacity-percentage#readme) for usage details.
- Added `postcss-clamp` <br/> [Check the plugin README](https://github.com/polemius/postcss-clamp#readme) for usage details.
- Added `@csstools/postcss-normalize-display-values` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-normalize-display-values#readme) for usage details.
- Added `@csstools/postcss-font-format-keywords` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-font-format-keywords#readme) for usage details.
- Added `debug` [option](https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env#debug) that enables extra debugging information while processing the CSS.
- Added `enableClientSidePolyfills` [option](https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env#enableclientsidepolyfills) that allows you to control every single plugin that requires a browser library to fully work. Defaults to `true` so they're enabled by default.
- Added `minimumVendorImplementations` [option](https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env#minimumvendorimplementations) that allows you to enable/disable plugins based on their implementation status in browsers.
- Fix sourcemaps for `image-set()` function.
- Removed `caniuse-lite` dependency. This results not only in lower package size but also in better feature detection lead by changes on CSSDB.
- Updated `cssdb` to `6.1.0` (major).
- Updated `css-prefers-color-scheme` to `6.0.3` (patch)
- Updated `postcss-custom-properties` to `12.1.4` (patch)
- Updated `postcss-image-set-function` to `4.0.5` (patch)
- Updated `postcss-pseudo-class-any-link` to `7.1.0` (minor)
### 7.2.3
_January 12, 2022_
- Enhanced `importFrom` / `exportTo` so it's harder to cause unexpected issues by different shapes of data.
### 7.2.2
_January 12, 2022_
- Updated `postcss-logical` to `5.0.3` (patch)
- Updated `postcss-custom-properties` to `12.1.2` (patch)
### 7.2.1
_January 12, 2022_
- Always run plugins with side effects if certain options are set. [#140](https://github.com/csstools/postcss-plugins/issues/140)
- `custom-media-queries`
- `custom-properties`
- `environment-variables`
- `custom-selectors`
- Updated `caniuse-lite` to `1.0.30001299` (minor)
- Updated `css-blank-pseudo` to `3.0.2` (minor)
- Updated `css-has-pseudo` to `3.0.3` (minor)
- Updated `postcss-color-rebeccapurple` to `7.0.2` (minor)
- Updated `postcss-custom-properties` to `12.1.0` (minor)
- Updated `postcss-dir-pseudo-class` to `6.0.3` (minor)
- Updated `postcss-nesting` to `10.1.2` (minor)
This will ensure that CSS transforms that are not a browser polyfill are still applied.
⚠️ A future major version `postcss-preset-env` will remove this behavior completely.
### 7.2.0
_January 2, 2022_
- Added warnings and useful messages when a feature that doesn't exist is configured. [156](https://github.com/csstools/postcss-preset-env/issues/156).
When configured with these options for example:
```js
options: {
features: {
"custom-media": true,
"postcss-logical": true,
"postcss-logica": true,
}
}
```
It will yield the following warnings:
```bash
Unknown feature: "custom-media" did you mean: "custom-media-queries"
Unknown feature: "postcss-logical" did you mean: "logical-properties-and-values"
Unknown feature: "postcss-logica" did you mean: "logical-properties-and-values"
```
- Removed Sourcemaps from package tarball.
- Moved CLI to CLI Package. See [announcement](https://github.com/csstools/postcss-plugins/discussions/121).
- Updated `postcss` to 8.4 (minor)
- Updated `autoprefixer` to 10.4.1 (patch)
- Updated `caniuse-lite` to 1.0.30001295 (patch)
- Updated `css-blank-pseudo` to 3.0.1 (patch)
- Updated `css-has-pseudo` to 3.0.2 (patch)
- Updated `css-prefers-color-scheme` to 6.0.2 (patch)
- Updated `postcss-color-functional-notation` to 4.2.1 (minor)
- Updated `postcss-color-hex-alpha` to 8.0.2 (patch)
- Updated `postcss-custom-properties` to 12.0.2 (patch)
- Updated `postcss-dir-pseudo-class` to 6.0.2 (patch)
- Updated `postcss-double-position-gradients` to 3.0.4 (patch)
- Updated `postcss-env-function` to 4.0.4 (patch)
- Updated `postcss-focus-visible` to 6.0.3 (patch)
- Updated `postcss-focus-within` to 5.0.3 (patch)
- Updated `postcss-gap-properties` to 3.0.2 (patch)
- Updated `postcss-image-set-function` to 4.0.4 (patch)
- Updated `postcss-lab-function` to 4.0.3 (patch)
- Updated `postcss-logical` to 5.0.2 (patch)
- Updated `postcss-nesting` to 10.1.1 (minor)
- Updated `postcss-overflow-shorthand` to 3.0.2 (patch)
- Updated `postcss-place` to 7.0.3 (patch)
- Updated `postcss-pseudo-class-any-link` to 7.0.2 (patch)
### 7.1.0
_December 22, 2021_
- Updated [`postcss-nesting` to `10.1.0` (minor)](https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-nesting/CHANGELOG.md#changes-to-postcss-nesting)
### 7.0.2
_December 16, 2021_
- Fixed unexpected behaviours when using different versions of `postcss-values-parser` across the plugins [228](https://github.com/csstools/postcss-preset-env/issues/228)
- Updated `browserlist` to 4.19.1 (minor)
- Updated `caniuse-lite` to `1.0.30001287` (minor)
- Updated `css-blank-pseudo` to `3.0.0` (major)
- Updated `css-has-pseudo` to `3.0.0` (major)
- Updated `css-prefers-color-scheme` to `6.0.0` (major)
- Updated `postcss-color-functional-notation` to `4.1.0` (minor)
- Updated `postcss-color-hex-alpha` to `8.0.1` (patch)
- Updated `postcss-color-rebeccapurple` to `7.0.1` (patch)
- Updated `postcss-custom-properties` to `12.0.1` (patch)
- Updated `postcss-dir-pseudo-class` to `6.0.1` (patch)
- Updated `postcss-double-position-gradients` to `3.0.3` (patch)
- Updated `postcss-env-function` to `4.0.3` (patch)
- Updated `postcss-focus-visible` to `6.0.2` (patch)
- Updated `postcss-focus-within` to `5.0.2` (patch)
- Updated `postcss-gap-properties` to `3.0.1` (patch)
- Updated `postcss-image-set-function` to `4.0.3` (patch)
- Updated `postcss-lab-function` to `4.0.2` (patch)
- Updated `postcss-logical` to `5.0.1` (patch)
- Updated `postcss-nesting` to `10.0.3` (patch)
- Updated `postcss-overflow-shorthand` to `3.0.1` (patch)
- Updated `postcss-place` to `7.0.2` (patch)
- Updated `postcss-pseudo-class-any-link` to `7.0.1` (patch)
- Updated documentation
- Updated `postcss` to be a peer dependency.
### 7.0.1
_November 19, 2021_
- Fixed infinite loop in double-position-gradients [223](https://github.com/csstools/postcss-preset-env/issues/223)
- Fixed "Unknown word" errors in when parsing CSS values [224](https://github.com/csstools/postcss-preset-env/issues/224)
- Fixed "undefined" CSS values after transforms with postcss-place [225](https://github.com/csstools/postcss-preset-env/issues/225)
- Updated `postcss-color-functional-notation` to 4.0.1 (patch)
- Updated `postcss-double-position-gradients` to 3.0.1 (patch)
- Updated `postcss-env-function` to 4.0.2 (patch)
- Updated `postcss-image-set-function` to 4.0.2 (patch)
- Updated `postcss-lab-function` to 4.0.1 (patch)
- Updated `postcss-nesting` to 10.0.2 (patch)
- Updated `postcss-place` to 7.0.1 (patch)
### 7.0.0
_November 16, 2021_
- Updated `autoprefixer` to 10.4.0 (major)
- Updated `browserslist` to 4.17.5 (minor)
- Updated `caniuse-lite` to 1.0.30001272 (patch)
- Updated `css-blank-pseudo` to 2.0.0 (major)
- Updated `css-has-pseudo` to 2.0.0 (major)
- Updated `css-prefers-color-scheme` to 5.0.0 (major)
- Updated `cssdb` to 5.0.0 (major)
- Updated `postcss` to 8.3.0 (major)
- Updated `postcss-attribute-case-insensitive` to 5.0.0 (major)
- Updated `postcss-color-functional-notation` to 4.0.0 (major)
- Updated `postcss-color-hex-alpha` to 8.0.0 (major)
- Updated `postcss-color-rebeccapurple` to 7.0.0 (major)
- Updated `postcss-custom-media` to 8.0.0 (major)
- Updated `postcss-custom-properties` to 12.0.0 (major)
- Updated `postcss-custom-selectors` to 6.0.0 (major)
- Updated `postcss-dir-pseudo-class` to 6.0.0 (major)
- Updated `postcss-double-position-gradients` to 3.0.0 (major)
- Updated `postcss-env-function` to 4.0.1 (major)
- Updated `postcss-focus-visible` to 6.0.1 (major)
- Updated `postcss-focus-within` to 5.0.1 (major)
- Updated `postcss-font-variant` to 5.0.0 (major)
- Updated `postcss-gap-properties` to 3.0.0 (major)
- Updated `postcss-image-set-function` to 4.0.0 (major)
- Updated `postcss-initial` to 3.0.4 (patch)
- Updated `postcss-lab-function` to 4.0.0 (major)
- Updated `postcss-logical` to 5.0.0 (major)
- Updated `postcss-media-minmax` to 5.0.0 (major)
- Updated `postcss-nesting` to 10.0.0 (major)
- Updated `postcss-overflow-shorthand` to 3.0.0 (major)
- Updated `postcss-page-break` to 3.0.4 (major)
- Updated `postcss-place` to 7.0.0 (major)
- Updated `postcss-pseudo-class-any-link` to 7.0.0 (major)
- Updated `postcss-replace-overflow-wrap` to 4.0.0 (major)
- Removed `postcss-selector-matches`
- Removed `postcss-color-gray`
- Updated support for Node 12+ (major)
### 6.7.0
_July 8, 2019_
- Fixed the issue of autoprefixer alerting an upcoming change to the API

@@ -15,4 +830,6 @@ - Updated `autoprefixer` to 9.6.1 (minor)

### 6.6.0 (February 28, 2019)
### 6.6.0
_February 28, 2019_
- Moved browserslist detection from using each input file per process to using

@@ -31,4 +848,6 @@ the working directory on intialization, as was implied by the documentation.

### 6.5.0 (December 12, 2018)
### 6.5.0
_December 12, 2018_
- Added `css-blank-pseudo` polyfill

@@ -43,4 +862,6 @@ - Added `css-has-pseudo` polyfill

### 6.4.0 (November 6, 2018)
### 6.4.0
_November 6, 2018_
- Fixed `exportTo` option to export Custom Media, Custom Properties, and Custom

@@ -51,9 +872,13 @@ Selectors all to the same function, object, or file

### 6.3.1 (November 5, 2018)
### 6.3.1
_November 5, 2018_
- Updated `caniuse-lite` to 1.0.30000905 (patch)
- Updated `postcss-custom-properties` to 8.0.9 (patch)
### 6.3.0 (October 28, 2018)
### 6.3.0
_October 28, 2018_
- Added `postcss-double-position-gradients` 1.0.0 (major, non-breaking for this project)

@@ -65,9 +890,13 @@ - Updated `autoprefixer` to 9.3.1 (minor)

### 6.2.0 (October 22, 2018)
### 6.2.0
_October 22, 2018_
- Updated `autoprefixer` to 9.2.1 (minor)
- Updated `browserslist` to 4.3.1 (minor)
### 6.1.2 (October 19, 2018)
### 6.1.2
_October 19, 2018_
- Updated `browserslist` to 4.2.1 (patch)

@@ -77,8 +906,12 @@ - Updated `caniuse-lite` to 1.0.30000893 (patch)

### 6.1.1 (October 12, 2018)
### 6.1.1
_October 12, 2018_
- Updated: `postcss-custom-media` to 7.0.6 (patch)
### 6.1.0 (October 10, 2018)
### 6.1.0
_October 10, 2018_
- Added: `postcss-color-gray`

@@ -89,8 +922,12 @@ - Added: Passing `autoprefixer: false` disables autoprefixer

### 6.0.10 (October 2, 2018)
### 6.0.10
_October 2, 2018_
- Updated: `postcss-custom-properties` to 8.0.8 (patch)
### 6.0.9 (October 2, 2018)
### 6.0.9
_October 2, 2018_
- Updated: `browserslist` to 4.1.2 (patch)

@@ -100,4 +937,6 @@ - Updated: `postcss` to 7.0.5 (patch)

### 6.0.8 (October 1, 2018)
### 6.0.8
_October 1, 2018_
- Updated: `caniuse-lite` to 1.0.30000888 (patch)

@@ -108,32 +947,46 @@ - Updated: `postcss` to 7.0.4 (patch)

### 6.0.7 (September 23, 2018)
### 6.0.7
_September 23, 2018_
- Updated: `postcss` to 7.0.3 (patch)
- Updated: `postcss-custom-properties` to 8.0.6 (patch)
### 6.0.6 (September 23, 2018)
### 6.0.6
_September 23, 2018_
- Updated: `postcss-custom-media` to 7.0.4 (patch)
### 6.0.5 (September 23, 2018)
### 6.0.5
_September 23, 2018_
- Updated: `postcss-color-mod-function` to 3.0.3 (patch)
### 6.0.4 (September 23, 2018)
### 6.0.4
_September 23, 2018_
- Updated: `caniuse-lite` to 1.0.30000887 (patch)
- Updated: `postcss-color-mod-function` to 3.0.2 (patch)
### 6.0.3 (September 21, 2018)
### 6.0.3
_September 21, 2018_
- Updated: `caniuse-lite` to 1.0.30000885 (patch)
- Updated: `postcss-custom-properties` to 8.0.5 (patch)
### 6.0.2 (September 20, 2018)
### 6.0.2
_September 20, 2018_
- Fixed: Do not break on an empty `importFrom` object
- Fixed: Actually run `postcss-env-function`
### 6.0.1 (September 20, 2018)
### 6.0.1
_September 20, 2018_
- Fixed: Issue with the `system-ui` font family polyfill by replacing

@@ -143,4 +996,6 @@ `postcss-font-family-system-ui` with an internal polyfill, at least until the

### 6.0.0 (September 20, 2018)
### 6.0.0
_September 20, 2018_
- Added: Support for PostCSS 7+

@@ -152,17 +1007,25 @@ - Added: Support for PostCSS Values Parser 2+

### 5.4.0 (July 25, 2018)
### 5.4.0
_July 25, 2018_
- Added: `toggle` option to override which features are enabled or disabled
- Deprecated: toggle features with `toggle`, not `features`
### 5.3.0 (July 24, 2018)
### 5.3.0
_July 24, 2018_
- Updated: `postcss-lab-function` to v1.1.0 (minor update)
### 5.2.3 (July 21, 2018)
### 5.2.3
_July 21, 2018_
- Updated: `postcss-color-mod-function` to v2.4.3 (patch update)
### 5.2.2 (July 13, 2018)
### 5.2.2
_July 13, 2018_
- Updated: `autoprefixer` to v8.6.5 (patch update)

@@ -172,9 +1035,13 @@ - Updated: `caniuse-lite` to v1.0.30000865 (patch update)

### 5.2.1 (June 26, 2018)
### 5.2.1
_June 26, 2018_
- Updated: `caniuse-lite` to v1.0.30000859 (patch update)
- Updated: `postcss-attribute-case-insensitive` to v3.0.1 (patch update)
### 5.2.0 (June 25, 2018)
### 5.2.0
_June 25, 2018_
- Updated: `autoprefixer` to v8.6.3 (minor update)

@@ -185,4 +1052,6 @@ - Updated: `caniuse-lite` to v1.0.30000858 (patch update)

### 5.1.0 (May 21, 2018)
### 5.1.0
_May 21, 2018_
- Added: `autoprefixer` option to pass options into autoprefixer

@@ -194,4 +1063,6 @@ - Updated: `autoprefixer` to v8.5.0 (minor update)

### 5.0.0 (May 11, 2018)
### 5.0.0
_May 11, 2018_
- Added: `autoprefixer`

@@ -218,4 +1089,6 @@ - Added: `postcss-color-functional-notation`

### 4.1.0 (April 23, 2018)
### 4.1.0
_April 23, 2018_
- Updated: `browserslist` to v3.2.5 (patch update)

@@ -226,4 +1099,6 @@ - Updated: `caniuse-lite` to v1.0.30000830 (patch update)

### 4.0.0 (April 7, 2018)
### 4.0.0
_April 7, 2018_
- Added: `postcss-focus-within`

@@ -235,4 +1110,6 @@ - Updated: `postcss-focus-visible` to v3.0.0 (major update)

### 3.5.0 (April 5, 2018)
### 3.5.0
_April 5, 2018_
- Fixed: `selectors-matches-pseudo` mapping to allow `:matches` polyfilling

@@ -245,4 +1122,6 @@ - Updated: `postcss-dir-pseudo-class` to v3.0.0 (major update, non-breaking for this project)

### 3.4.0 (March 18, 2018)
### 3.4.0
_March 18, 2018_
- Updated: `browserslist` to v3.2.0 (minor update)

@@ -252,4 +1131,6 @@ - Updated: `postcss` to v6.0.20 (patch update)

### 3.3.0 (March 16, 2018)
### 3.3.0
_March 16, 2018_
- Updated: `postcss-apply` to v0.9.0 (minor update)

@@ -260,25 +1141,37 @@ - Updated: `browserslist` to v3.1.2 (patch update)

### 3.2.2 (February 27, 2018)
### 3.2.2
_February 27, 2018_
- Updated: `postcss-color-mod-function` to v2.4.2 (patch update)
### 3.2.1 (February 21, 2018)
### 3.2.1
_February 21, 2018_
- Updated: Use the latest tested version of all dependencies
### 3.2.0 (February 18, 2018)
### 3.2.0
_February 18, 2018_
- Added: `postcss-page-break` which has moved here from Autoprefixer
### 3.1.0 (February 17, 2018)
### 3.1.0
_February 17, 2018_
- Added: `postcss-focus-visible`
### 3.0.0 (February 16, 2018)
### 3.0.0
_February 16, 2018_
- Updated: `postcss-color-mod-function` to v2.4 (minor update)
- Updated: `postcss-custom-properties` to v7.0 (major update)
### 2.2.0 (February 14, 2018)
### 2.2.0
_February 14, 2018_
- Updated: `browserslist` to v3.1 (major update)

@@ -288,4 +1181,6 @@ - Updated: `postcss-color-mod-function` to v2.3 (minor update)

### 2.1.0 (January 22, 2018)
### 2.1.0
_January 22, 2018_
- Updated: `cssdb` to v1.5 (minor update)

@@ -295,8 +1190,12 @@ - Updated: `postcss-color-mod-function` to v2.2 (major update)

### 2.0.0 (January 16, 2018)
### 2.0.0
_January 16, 2018_
- Initial version
### 1.0.0 (December 20, 2017)
### 1.0.0
_December 20, 2017_
- Unsupported version accidentally published by a member of the community

120

LICENSE.md

@@ -1,108 +0,18 @@

# CC0 1.0 Universal
MIT No Attribution (MIT-0)
## Statement of Purpose
Copyright © CSSTools Contributors
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator and
subsequent owner(s) (each and all, an “owner”) of an original work of
authorship and/or a database (each, a “Work”).
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the “Software”), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so.
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific works
(“Commons”) that the public can reliably and without fear of later claims of
infringement build upon, modify, incorporate in other works, reuse and
redistribute as freely as possible in any form whatsoever and for any purposes,
including without limitation commercial purposes. These owners may contribute
to the Commons to promote the ideal of a free culture and the further
production of creative, cultural and scientific works, or to gain reputation or
greater distribution for their Work in part through the use and efforts of
others.
For these and/or other purposes and motivations, and without any expectation of
additional consideration or compensation, the person associating CC0 with a
Work (the “Affirmer”), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and
publicly distribute the Work under its terms, with knowledge of his or her
Copyright and Related Rights in the Work and the meaning and intended legal
effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights (“Copyright and
Related Rights”). Copyright and Related Rights include, but are not limited
to, the following:
1. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
2. moral rights retained by the original author(s) and/or performer(s);
3. publicity and privacy rights pertaining to a person’s image or likeness
depicted in a Work;
4. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(i), below;
5. rights protecting the extraction, dissemination, use and reuse of data in
a Work;
6. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation thereof,
including any amended or successor version of such directive); and
7. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations
thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time
extensions), (iii) in any current or future medium and for any number of
copies, and (iv) for any purpose whatsoever, including without limitation
commercial, advertising or promotional purposes (the “Waiver”). Affirmer
makes the Waiver for the benefit of each member of the public at large and
to the detriment of Affirmer’s heirs and successors, fully intending that
such Waiver shall not be subject to revocation, rescission, cancellation,
termination, or any other legal or equitable action to disrupt the quiet
enjoyment of the Work by the public as contemplated by Affirmer’s express
Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account
Affirmer’s express Statement of Purpose. In addition, to the extent the
Waiver is so judged Affirmer hereby grants to each affected person a
royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer’s Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future time
extensions), (iii) in any current or future medium and for any number of
copies, and (iv) for any purpose whatsoever, including without limitation
commercial, advertising or promotional purposes (the “License”). The License
shall be deemed effective as of the date CC0 was applied by Affirmer to the
Work. Should any part of the License for any reason be judged legally
invalid or ineffective under applicable law, such partial invalidity or
ineffectiveness shall not invalidate the remainder of the License, and in
such case Affirmer hereby affirms that he or she will not (i) exercise any
of his or her remaining Copyright and Related Rights in the Work or (ii)
assert any associated claims and causes of action with respect to the Work,
in either case contrary to Affirmer’s express Statement of Purpose.
4. Limitations and Disclaimers.
1. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
2. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or
otherwise, including without limitation warranties of title,
merchantability, fitness for a particular purpose, non infringement, or
the absence of latent or other defects, accuracy, or the present or
absence of errors, whether or not discoverable, all to the greatest
extent permissible under applicable law.
3. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person’s Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the Work.
4. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to this
CC0 or use of the Work.
For more information, please see
http://creativecommons.org/publicdomain/zero/1.0/.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
{
"name": "postcss-preset-env",
"version": "6.7.0",
"description": "Convert modern CSS into something browsers understand",
"author": "Jonathan Neal <jonathantneal@hotmail.com>",
"license": "CC0-1.0",
"repository": "csstools/postcss-preset-env",
"homepage": "https://github.com/csstools/postcss-preset-env#readme",
"bugs": "https://github.com/csstools/postcss-preset-env/issues",
"main": "index.js",
"module": "index.mjs",
"files": [
"index.js",
"index.js.map",
"index.mjs",
"index.mjs.map"
],
"scripts": {
"build": "rollup -c .rollup.js --silent",
"prepublishOnly": "npm test",
"pretest:tape": "npm run build",
"test": "npm run test:js && npm run test:tape",
"test:js": "eslint src/*.js src/lib/*.js src/patch/*.js --cache --ignore-path .gitignore --quiet",
"test:tape": "postcss-tape"
},
"engines": {
"node": ">=6.0.0"
},
"dependencies": {
"autoprefixer": "^9.6.1",
"browserslist": "^4.6.4",
"caniuse-lite": "^1.0.30000981",
"css-blank-pseudo": "^0.1.4",
"css-has-pseudo": "^0.10.0",
"css-prefers-color-scheme": "^3.1.1",
"cssdb": "^4.4.0",
"postcss": "^7.0.17",
"postcss-attribute-case-insensitive": "^4.0.1",
"postcss-color-functional-notation": "^2.0.1",
"postcss-color-gray": "^5.0.0",
"postcss-color-hex-alpha": "^5.0.3",
"postcss-color-mod-function": "^3.0.3",
"postcss-color-rebeccapurple": "^4.0.1",
"postcss-custom-media": "^7.0.8",
"postcss-custom-properties": "^8.0.11",
"postcss-custom-selectors": "^5.1.2",
"postcss-dir-pseudo-class": "^5.0.0",
"postcss-double-position-gradients": "^1.0.0",
"postcss-env-function": "^2.0.2",
"postcss-focus-visible": "^4.0.0",
"postcss-focus-within": "^3.0.0",
"postcss-font-variant": "^4.0.0",
"postcss-gap-properties": "^2.0.0",
"postcss-image-set-function": "^3.0.1",
"postcss-initial": "^3.0.0",
"postcss-lab-function": "^2.0.1",
"postcss-logical": "^3.0.0",
"postcss-media-minmax": "^4.0.0",
"postcss-nesting": "^7.0.0",
"postcss-overflow-shorthand": "^2.0.0",
"postcss-page-break": "^2.0.0",
"postcss-place": "^4.0.1",
"postcss-pseudo-class-any-link": "^6.0.0",
"postcss-replace-overflow-wrap": "^3.0.0",
"postcss-selector-matches": "^4.0.0",
"postcss-selector-not": "^4.0.0"
},
"devDependencies": {
"@babel/core": "^7.5.0",
"@babel/preset-env": "^7.5.2",
"babel-eslint": "^10.0.2",
"eslint": "^5.16.0",
"eslint-config-dev": "^2.0.0",
"postcss-simple-vars": "^5.0.2",
"postcss-tape": "^4.0.0",
"pre-commit": "^1.2.2",
"rollup": "^1.16.6",
"rollup-plugin-babel": "^4.3.3"
},
"eslintConfig": {
"extends": "dev",
"parser": "babel-eslint"
},
"keywords": [
"postcss",
"css",
"postcss-plugin",
"specifications",
"specs",
"features",
"lists",
"stages",
"w3c",
"csswg",
"future",
"next"
]
"name": "postcss-preset-env",
"description": "Convert modern CSS into something browsers understand",
"version": "9.1.0",
"contributors": [
{
"name": "Antonio Laguna",
"email": "antonio@laguna.es",
"url": "https://antonio.laguna.es"
},
{
"name": "Romain Menke",
"email": "romainmenke@gmail.com"
},
{
"name": "Jonathan Neal",
"email": "jonathantneal@hotmail.com"
}
],
"license": "MIT-0",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/csstools"
},
{
"type": "opencollective",
"url": "https://opencollective.com/csstools"
}
],
"engines": {
"node": "^14 || ^16 || >=18"
},
"main": "dist/index.cjs",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.cjs",
"default": "./dist/index.mjs"
}
},
"files": [
"CHANGELOG.md",
"LICENSE.md",
"README.md",
"dist"
],
"dependencies": {
"@csstools/postcss-cascade-layers": "^4.0.0",
"@csstools/postcss-color-function": "^3.0.1",
"@csstools/postcss-color-mix-function": "^2.0.1",
"@csstools/postcss-exponential-functions": "^1.0.0",
"@csstools/postcss-font-format-keywords": "^3.0.0",
"@csstools/postcss-gradients-interpolation-method": "^4.0.1",
"@csstools/postcss-hwb-function": "^3.0.1",
"@csstools/postcss-ic-unit": "^3.0.0",
"@csstools/postcss-is-pseudo-class": "^4.0.0",
"@csstools/postcss-logical-float-and-clear": "^2.0.0",
"@csstools/postcss-logical-resize": "^2.0.0",
"@csstools/postcss-logical-viewport-units": "^2.0.1",
"@csstools/postcss-media-minmax": "^1.0.6",
"@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.1",
"@csstools/postcss-nested-calc": "^3.0.0",
"@csstools/postcss-normalize-display-values": "^3.0.0",
"@csstools/postcss-oklab-function": "^3.0.1",
"@csstools/postcss-progressive-custom-properties": "^3.0.0",
"@csstools/postcss-relative-color-syntax": "^2.0.1",
"@csstools/postcss-scope-pseudo-class": "^3.0.0",
"@csstools/postcss-stepped-value-functions": "^3.0.1",
"@csstools/postcss-text-decoration-shorthand": "^3.0.0",
"@csstools/postcss-trigonometric-functions": "^3.0.1",
"@csstools/postcss-unset-value": "^3.0.0",
"autoprefixer": "^10.4.14",
"browserslist": "^4.21.9",
"css-blank-pseudo": "^6.0.0",
"css-has-pseudo": "^6.0.0",
"css-prefers-color-scheme": "^9.0.0",
"cssdb": "^7.7.0",
"postcss-attribute-case-insensitive": "^6.0.2",
"postcss-clamp": "^4.1.0",
"postcss-color-functional-notation": "^6.0.0",
"postcss-color-hex-alpha": "^9.0.2",
"postcss-color-rebeccapurple": "^9.0.0",
"postcss-custom-media": "^10.0.0",
"postcss-custom-properties": "^13.3.0",
"postcss-custom-selectors": "^7.1.4",
"postcss-dir-pseudo-class": "^8.0.0",
"postcss-double-position-gradients": "^5.0.0",
"postcss-focus-visible": "^9.0.0",
"postcss-focus-within": "^8.0.0",
"postcss-font-variant": "^5.0.0",
"postcss-gap-properties": "^5.0.0",
"postcss-image-set-function": "^6.0.0",
"postcss-initial": "^4.0.1",
"postcss-lab-function": "^6.0.1",
"postcss-logical": "^7.0.0",
"postcss-nesting": "^12.0.0",
"postcss-opacity-percentage": "^2.0.0",
"postcss-overflow-shorthand": "^5.0.0",
"postcss-page-break": "^3.0.4",
"postcss-place": "^9.0.0",
"postcss-pseudo-class-any-link": "^9.0.0",
"postcss-replace-overflow-wrap": "^4.0.0",
"postcss-selector-not": "^7.0.1",
"postcss-value-parser": "^4.2.0"
},
"peerDependencies": {
"postcss": "^8.4"
},
"devDependencies": {
"@csstools/postcss-debug-logger": "^2.0.0",
"@csstools/postcss-tape": "*",
"@webref/css": "^6.6.2",
"postcss-simple-vars": "^7.0.1"
},
"scripts": {
"prebuild": "node ./scripts/generate-plugins-data.mjs && eslint --fix ./src/plugins/*.mjs",
"build": "rollup -c ../../rollup/default.mjs && node ./scripts/update-logical-properties-test.mjs",
"docs": "node ../../.github/bin/generate-docs/install.mjs && node ./docs/generate.mjs",
"lint": "node ../../.github/bin/format-package-json.mjs",
"prepublishOnly": "npm run build && npm run test",
"test": "node .tape.mjs && node ./src/test/test.mjs && node ./test/_import.mjs && node ./test/_require.cjs",
"test:rewrite-expects": "REWRITE_EXPECTS=true node .tape.mjs"
},
"homepage": "https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env#readme",
"repository": {
"type": "git",
"url": "https://github.com/csstools/postcss-plugins.git",
"directory": "plugin-packs/postcss-preset-env"
},
"bugs": "https://github.com/csstools/postcss-plugins/issues",
"keywords": [
"css",
"csswg",
"features",
"future",
"lists",
"next",
"postcss",
"postcss-plugin",
"specifications",
"specs",
"stages",
"w3c"
],
"csstools": {
"exportName": "postcssPresetEnv",
"humanReadableName": "PostCSS Preset Env"
},
"volta": {
"extends": "../../package.json"
}
}
# PostCSS Preset Env [<img src="https://postcss.github.io/postcss/logo.svg" alt="PostCSS" width="90" height="90" align="right">][postcss]
[![NPM Version][npm-img]][npm-url]
[![Build Status][cli-img]][cli-url]
[![Support Chat][git-img]][git-url]
[<img alt="npm version" src="https://img.shields.io/npm/v/postcss-preset-env.svg" height="20">][npm-url]
[<img alt="build status" src="https://github.com/csstools/postcss-plugins/workflows/test/badge.svg" height="20">][cli-url]
[![install size][package-phobia-badge]][package-phobia]
[<img alt="Discord" src="https://shields.io/badge/Discord-5865F2?logo=discord&logoColor=white">][discord]

@@ -11,6 +12,48 @@ [PostCSS Preset Env] lets you convert modern CSS into something most browsers

```bash
npm install postcss-preset-env
## Quick start
[PostCSS Preset Env] is a [PostCSS] plugin.<br>
If you are already using [PostCSS] to build your CSS, you can simply add [PostCSS Preset Env] to your configuration.
- Install `postcss-preset-env` from npm.
- Add `postcss-preset-env` to your configuration.
- Explore the [features list](https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md).
```js
const postcssPresetEnv = require('postcss-preset-env');
const yourConfig = {
plugins: [
/* other plugins */
/* remove autoprefixer if you had it here, it's part of postcss-preset-env */
postcssPresetEnv({
/* pluginOptions */
})
]
}
```
_[Read more on how to use and install PostCSS Preset Env.](#usage)_
## How does it work?
[PostCSS Preset Env] is a Plugin Pack for [PostCSS]. It leverages the list of the features we keep an eye from [CSSDB][cssdb] and applies plugins, so you can use those new features without having to worry about browser support.
CSSDB exposes the browser support that each feature has which can come from [Can I Use](https://caniuse.com/css-all) or from [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/all) (through [mdn/browser-compat-data](https://github.com/mdn/browser-compat-data)).
By providing a list of browser targets for your project, plugins that aren't needed will be skipped. Over time your targets might change and by updating the settings your CSS bundle will only ever contain the needed fallbacks.
What [PostCSS Preset Env] does is to take the support data that comes from MDN and Can I Use and determine from a [browserslist](https://github.com/browserslist/browserslist) whether those transformations are needed. It also packs [Autoprefixer](https://github.com/postcss/autoprefixer) within and shares the list with it, so prefixes are only applied when you're going to need them given your browser support list.
### Glossary:
* **Browser list option**: [Browserslist](https://github.com/browserslist/browserslist) is a package that gives you a list of browsers for a given query. For example, `chrome < 42` will give you a list of every Chrome version that has been released up to, but not including, 42.
* **Browser support stats**: Features get introduced on browsers at certain versions. They're often visible on [MDN](https://developer.mozilla.org/en-US/) and [Can I Use](https://caniuse.com/). Comparing these stats with the needed _support_ for your project tells you if it's safe to use a feature or not.
* **CSS Feature**: A CSS feature is often part of some spec that enables a specific feature. For example, `hwb` functional notation lets you express a given color according to its hue, whiteness, and blackness. This is part of the CSS Color 4 Spec.
* **CSS Spec**: A Spec is a document that collects new features, what problems are they trying to solve and how it's intended to be solved (generally). This is usually an evolving document that goes over lengthy discussions between several people from different companies.
* **Plugin**: A plugin is package that's intended (usually) to enable a new CSS Feature by leveraging PostCSS. This doesn't need to be part of any spec. An example of the latter is [PostCSS Mixins](https://github.com/postcss/postcss-mixins), a concept that existed on Less or Sass, but it's not part of any spec. This plugin plack **only** packs plugins that enable features acknowledged by the World Wide Web Consortium (W3C) which will then be implemented by browsers later.
* **Polyfill**: A polyfill is a piece of code (usually JavaScript on the Web) used to provide modern functionality on older browsers that do not natively support it. A polyfill _should_ be indistinguishable from the native behaviour.
Here's a quick example of the syntax you can leverage by using [PostCSS Preset Env].
```pcss

@@ -88,5 +131,10 @@ @custom-media --viewport-medium (width <= 50rem);

[![Transform with Preset Env][readme-transform-with-preset-env-img]][readme-transform-with-preset-env-url]
[![Style with Preset Env][readme-style-with-preset-env-img]][readme-style-with-preset-env-url]
[**Try it out in the Playground!**](https://preset-env.cssdb.org/playground/)
⚠️ Please note that some features need a companion library that makes
the feature work. While we try to avoid this requirement, there are instances
in which this isn't possible to polyfill a new behaviour with _just_ CSS.
[See the list below](#plugins-that-need-client-library).
## Usage

@@ -100,13 +148,5 @@

Use [PostCSS Preset Env] to process your CSS:
Use [PostCSS Preset Env] as a [PostCSS] plugin:
```js
const postcssPresetEnv = require('postcss-preset-env');
postcssPresetEnv.process(YOUR_CSS /*, processOptions, pluginOptions */);
```
Or use it as a [PostCSS] plugin:
```js
const postcss = require('postcss');

@@ -122,5 +162,37 @@ const postcssPresetEnv = require('postcss-preset-env');

| [Node](INSTALL.md#node) | [PostCSS CLI](INSTALL.md#postcss-cli) | [Webpack](INSTALL.md#webpack) | [Create React App](INSTALL.md#create-react-app) | [Gulp](INSTALL.md#gulp) | [Grunt](INSTALL.md#grunt) |
| --- | --- | --- | --- | --- | --- |
- [Node](INSTALL.md#node)
- [PostCSS CLI](INSTALL.md#postcss-cli)
- [PostCSS Load Config](INSTALL.md#postcss-load-config)
- [Webpack](INSTALL.md#webpack)
- [Next.js](INSTALL.md#nextjs)
- [Gulp](INSTALL.md#gulp)
- [Grunt](INSTALL.md#grunt)
### Position in your PostCSS plugins list
[PostCSS Preset Env] only contains polyfills and fallbacks for standard CSS features and is unable to handle non-standard features and syntactic sugar.
If you also have PostCSS plugins for non-standard features and syntactic sugar,
you should place these first in the PostCSS plugins list.
```js
module.exports = {
plugins: [
"postcss-syntactic-sugar",
"postcss-non-standard",
// ...
[
"postcss-preset-env",
{
// plugin options
},
],
// ...
// maybe a minifier?
],
};
```
You can also use the [`insertBefore` / `insertAfter`](#insertbefore--insertafter) plugin options for more fine grained control.
## Options

@@ -141,5 +213,30 @@

Without any configuration options, [PostCSS Preset Env] enables **Stage 2**
features.
Default: `2`
**It is very rare for features to progress beyond stage `2`.**
**Use `minimumVendorImplementations` if you prefer to keep up with modern features.**
### minimumVendorImplementations
The `minimumVendorImplementations` option determines which CSS features to polyfill, based their implementation status.
This can be used to enable plugins that are available in browsers regardless of the [spec status](#stage).
```js
postcssPresetEnv({ minimumVendorImplementations: 2 })
```
`minimumVendorImplementations` can be `0` (no vendor has implemented it) through `3` (all major vendors).<br>
Default: `0`
**Note:**
When a feature has not yet been implemented by any vendor it can be considered experimental.<br>
Even with a single implementation it might still change in the future.<br>
Sometimes issues with a feature/specification are only discovered after it becomes available.
A value of `2` is recommended when you want to use only those features that should be [stable](#stability-and-portability).
Having 2 independent implementations is [a critical step in proposals becoming standards](https://www.w3.org/2021/Process-20211102/#implementation-experience) and a good indicator of a feature's stability.
### features

@@ -149,3 +246,3 @@

`true` to a specific feature ID will enable its polyfill, while passing `false`
will disable it.
will disable it. [List of Features](https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md)

@@ -166,6 +263,6 @@ ```js

postcssPresetEnv({
/* use stage 3 features + css color-mod (warning on unresolved) */
/* use stage 3 features + custom-selectors (preserving the original CSS) */
stage: 3,
features: {
'color-mod-function': { unresolved: 'warn' }
'custom-selectors': { preserve: true }
}

@@ -178,13 +275,24 @@ })

### env
[PostCSS Preset Env] supports standard [browserslist] configuration, which can
be a `.browserslistrc` file, a `browserslist` key in `package.json`, or
`browserslist` environment variables.
The `env` option is used by [browserslist] to determine the named environment
that should be used when you have [multiple browserslist environments](https://github.com/browserslist/browserslist#configuring-for-different-environments)
configured. If not set, Browserslist will use the `production` environment.
```js
/* use the environment named `development`, instead of the default environment of `production` */
postcssPresetEnv({ env: 'development' })
```
### browsers
The `browsers` option determines which polyfills are required based upon the
browsers you are supporting.
The `browsers` option overrides any existing [browserslist] configuration.
[PostCSS Preset Env] supports any standard [browserslist] configuration, which
can be a `.browserslistrc` file, a `browserslist` key in `package.json`, or
`browserslist` environment variables.
The `browsers` option should only be used when a standard browserslist
configuration is not available.
configuration is not available.
When the `browsers` option is used the `env` option will be ignored.

@@ -195,3 +303,3 @@ ```js

If not valid browserslist configuration is specified, the
If no valid browserslist configuration is specified, the
[default browserslist query](https://github.com/browserslist/browserslist#queries)

@@ -219,4 +327,3 @@ will be used.

[PostCSS Preset Env] includes [autoprefixer] and [`browsers`](#browsers) option
will be passed to it automatically.
[PostCSS Preset Env] includes [autoprefixer]; the [`env`](#env) and [`browsers`](#browsers) options will be passed to it automatically.

@@ -235,2 +342,36 @@ Specifying the `autoprefixer` option enables passing

⚠️ [autoprefixer] has [complex logic to fix CSS Grid in IE and older Edge](https://github.com/postcss/autoprefixer#grid-autoplacement-support-in-ie).
This can have unexpected results with certain features and when [`preserve: true`](#preserve) is used. (defaults to `true`)
```pcss
:root {
--grid-gap: 15px;
}
.test-grid {
grid-gap: var(--grid-gap);
grid-template-columns: repeat(2, 1fr);
}
```
Becomes :
```
.test-grid {
grid-gap: 15px;
grid-gap: var(--grid-gap);
-ms-grid-columns: 1fr var(--grid-gap) 1fr;
grid-template-columns: repeat(2, 1fr);
}
```
The prefixed `-ms-grid-columns` still has a custom property: `1fr var(--grid-gap) 1fr;` which won't work.<br />
This example shows issues with custom properties but other transforms might have similar issues.
If you target IE or older Edge it is best to avoid using other modern features in grid property values.<br />
As a last resort you can set [`preserve: false`](#preserve), we do not advice this as doing so purely to fix issues with CSS grid.
_older Edge is any version before chromium (<79)_
### preserve

@@ -248,136 +389,100 @@

### importFrom
### debug
The `importFrom` option specifies sources where variables like Custom Media,
Custom Properties, Custom Selectors, and Environment Variables can be imported
from, which might be CSS, JS, and JSON files, functions, and directly passed
objects.
The `debug` option enables debugging messages to stdout which should be useful to help you debug which features have been enabled/disabled and why.
### enableClientSidePolyfills
The `enableClientSidePolyfills` enables all features that also need an extra browser library to be loaded into the page for it to work. Defaults to `false`.
- Note that manually enabling/disabling features via the "feature" option overrides this flag.
- This only controls if the PostCSS plugins are enabled. It does not cause the browsers libraries to be included in your bundle.
### logical
The `logical` option can hold an object which lets you specify direction of the inline and block axes and will affect the
following features:
- `logical-properties-and-values`: [PostCSS Logical](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical#readme)
- `float-clear-logical-values`: [PostCSS Logical Float And Clear](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical#readme)
- `logical-resize`: [PostCSS Logical Resize](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-resize#readme)
- `logical-viewport-units`: [PostCSS Logical Viewport Units](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-viewport-units#readme)
It should have `blockDirection` and/or `inlineDirection` which can be any of the following:
- `top-to-bottom`
- `bottom-to-top`
- `left-to-right`
- `right-to-left`
```js
postcssPresetEnv({
/*
@custom-media --small-viewport (max-width: 30em);
@custom-selector :--heading h1, h2, h3;
:root { --color: red; }
*/
importFrom: 'path/to/file.css'
logical: { // instruct all logical plugins to set inline axis to right to left
inlineDirection: 'right-to-left',
},
});
```
Multiple sources can be passed into this option, and they will be parsed in the
order they are received. JavaScript files, JSON files, functions, and objects
will use different namespaces to import different kinds of variables.
```pcss
.element {
float: inline-start;
padding-inline-end: 10px;
}
```
```js
postcssPresetEnv({
importFrom: [
/*
@custom-media --small-viewport (max-width: 30em);
@custom-selector :--heading h1, h2, h3;
:root { --color: red; }
*/
'path/to/file.css',
Becomes :
/* module.exports = {
customMedia: { '--small-viewport': '(max-width: 30em)' },
customProperties: { '--color': 'red' },
customSelectors: { ':--heading': 'h1, h2, h3' },
environmentVariables: { '--branding-padding': '20px' }
} */
'and/then/this.js',
```
.element {
float: right;
padding-left: 10px;
}
```
/* {
"custom-media": { "--small-viewport": "(max-width: 30em)" }
"custom-properties": { "--color": "red" },
"custom-selectors": { ":--heading": "h1, h2, h3" },
"environment-variables": { "--branding-padding": "20px" }
} */
'and/then/that.json',
You can't mix two vertical directions or two horizontal directions so for example `top-to-bottom` and `right-to-left` are valid, but `top-to-bottom` and `bottom-to-top` are not.
{
customMedia: { '--small-viewport': '(max-width: 30em)' },
customProperties: { '--color': 'red' },
customSelectors: { ':--heading': 'h1, h2, h3' },
environmentVariables: { '--branding-padding': '20px' }
},
() => {
const customMedia = { '--small-viewport': '(max-width: 30em)' };
const customProperties = { '--color': 'red' };
const customSelectors = { ':--heading': 'h1, h2, h3' };
const environmentVariables = { '--branding-padding': '20px' };
You might want to tweak these values if you are using a different writing system, such as Arabic, Hebrew or Chinese for example.
return { customMedia, customProperties, customSelectors, environmentVariables };
}
]
});
```
## Stability and Portability
### exportTo
[PostCSS Preset Env] will often include very modern CSS features that are not fully ready yet.
This gives users the chance to play around with these features and provide feedback.
The `exportTo` option specifies destinations where variables like Custom Media,
Custom Properties, Custom Selectors, and Environment Variables can be exported
to, which might be CSS, JS, and JSON files, functions, and directly passed
objects.
If the specification changes or is abandoned a new major version of the plugin will be released.
This will require you to update your source code so that everything works as expected.
```js
postcssPresetEnv({
/*
@custom-media --small-viewport (max-width: 30em);
@custom-selector :--heading h1, h2, h3;
:root { --color: red; }
*/
exportTo: 'path/to/file.css'
});
```
To have more stability between updates of [PostCSS Preset Env] you may set `stage: 3` and/or `minimumVendorImplementations: 2`.
Multiple destinations can be passed into this option as well, and they will be
parsed in the order they are received. JavaScript files, JSON files, and
objects will use different namespaces to import different kinds of variables.
A side effect of staying close to the standard is that you can more easily migrate your project to other tooling all together.
```js
const cachedObject = {};
## Plugins list
postcssPresetEnv({
exportTo: [
/*
@custom-media --small-viewport (max-width: 30em);
@custom-selector :--heading h1, h2, h3;
:root { --color: red; }
*/
'path/to/file.css',
### Plugins that need client library
/* module.exports = {
customMedia: { '--small-viewport': '(max-width: 30em)' },
customProperties: { '--color': 'red' },
customSelectors: { ':--heading': 'h1, h2, h3' },
environmentVariables: { '--branding-padding': '20px' }
} */
'and/then/this.js',
This is the current list of features that need a client library with a link
to the polyfill's library.
/* {
"custom-media": { "--small-viewport": "(max-width: 30em)" }
"custom-properties": { "--color": "red" },
"custom-selectors": { ":--heading": "h1, h2, h3" },
"environment-variables": { "--branding-padding": "20px" }
} */
'and/then/that.json',
* `blank-pseudo-class`: [Plugin](https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo) / [Polyfill](https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo#browser)
* `focus-visible-pseudo-class`: [Plugin](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-focus-visible) / [Polyfill](https://github.com/WICG/focus-visible)
* `focus-within-pseudo-class`: [Plugin](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-focus-within) / [Polyfill](https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-focus-within#browser)
* `has-pseudo-class`: [Plugin](https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo) / [Polyfill](https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo#browser)
* `prefers-color-scheme-query`: [Plugin](https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme) / [Polyfill](https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme#browser)
cachedObject,
variables => {
if ('customProperties' in variables) {
// do something special with customProperties
}
If you want to enable all these types of features, please check the [`enableClientSidePolyfills` option](#enableclientsidepolyfills).
Object.assign(cachedObject, variables);
}
]
});
```
### Plugins not affected by Browser Support
[cli-img]: https://img.shields.io/travis/csstools/postcss-preset-env/master.svg
[cli-url]: https://travis-ci.org/csstools/postcss-preset-env
[git-img]: https://img.shields.io/badge/support-chat-blue.svg
[git-url]: https://gitter.im/postcss/postcss
Given they have no support they will always be enabled if they match by Stage:
* `blank-pseudo-class`: [Plugin](https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo) / [Polyfill](https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo#browser)
* `custom-media-queries`: [Plugin](https://github.com/postcss/postcss-custom-media)
* `nesting-rules`: [Plugin](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting)
[cli-img]: https://github.com/csstools/postcss-plugins/workflows/test/badge.svg
[cli-url]: https://github.com/csstools/postcss-plugins/actions/workflows/test.yml?query=workflow/test
[discord]: https://discord.gg/bUadyRwkJS
[npm-img]: https://img.shields.io/npm/v/postcss-preset-env.svg
[npm-url]: https://www.npmjs.com/package/postcss-preset-env
[package-phobia-badge]: https://packagephobia.com/badge?p=postcss-preset-env
[package-phobia]: https://packagephobia.com/result?p=postcss-preset-env

@@ -389,6 +494,2 @@ [autoprefixer]: https://github.com/postcss/autoprefixer

[PostCSS]: https://github.com/postcss/postcss
[PostCSS Preset Env]: https://github.com/csstools/postcss-preset-env
[readme-style-with-preset-env-img]: https://csstools.github.io/postcss-preset-env/readme-style-with-preset-env.svg
[readme-style-with-preset-env-url]: https://codepen.io/pen?template=OZRovK
[readme-transform-with-preset-env-img]: https://csstools.github.io/postcss-preset-env/readme-transform-with-preset-env.svg
[readme-transform-with-preset-env-url]: https://csstools.github.io/postcss-preset-env/
[PostCSS Preset Env]: https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc