← All tasks
javascriptcssnano/cssnano #1272Not a task: already works

[Bug]: css property order cannot be guaranteed

envgap__cssnano__cssnano-1272

01 / FAILURE SIGNATURE

As reported upstream

No identifying execution failure has been captured.
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
120a88899376a29c8756234fdc648c519921f515
Manifest
packages/cssnano-preset-default/package.json
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

cssnano/cssnano #1272 · read the original issue
### Describe the bug

When I use the stylelint sorting plugin at the same time to sort the style property, the result of cssnano processing will disrupt the property order, and the rules seem to be sorted in alphabetical order; This is not the desired result

### Expected behaviour

keep the css property order

### Steps to reproduce

- 1. `styleLint xxx --fix`:  CSS source code has been ordered



![image](https://user-images.githubusercontent.com/7449230/146863593-5dec9fd3-1516-45cf-a14a-59f15cc4ed2b.png)



- 2. `npm run build`: if no cssnano; The result is correct; else wrong

![image](https://user-images.githubusercontent.com/7449230/146863648-e83903b5-ec03-4cc4-b1e0-cafa5d374e81.png)



### Version

5.0.13

### Preset

default

### Environment

```shell
System:

    OS: Windows 10 10.0.19043

    CPU: (24) x64 Intel(R) Xeon(R) CPU E5-2651 v2 @ 1.80GHz

    Memory: 27.05 GB / 31.92 GB
```


### Package details

```shell
+-- @fullhuman/postcss-purgecss@4.1.3

| +-- postcss@8.4.5

| `-- purgecss@4.1.3

|   `-- postcss@8.4.5 deduped

+-- css-loader@6.5.1

| +-- icss-utils@5.1.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-modules-extract-imports@3.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-modules-local-by-default@4.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-modules-scope@3.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-modules-values@4.0.0

| | `-- postcss@8.4.5 deduped

| `-- postcss@8.4.5 deduped

+-- css-minimizer-webpack-plugin@3.3.0

| +-- @types/cssnano@4.0.1

| | `-- postcss@7.0.39

| +-- cssnano@5.0.13 deduped

| `-- postcss@8.4.5 deduped

+-- cssnano@5.0.13

| +-- cssnano-preset-default@5.1.9

| | +-- css-declaration-sorter@6.1.3

| | | `-- postcss@8.4.5 deduped

| | +-- cssnano-utils@2.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-calc@8.0.0

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-colormin@5.2.2

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-convert-values@5.0.2

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-discard-comments@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-discard-duplicates@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-discard-empty@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-discard-overridden@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-merge-longhand@5.0.4

| | | +-- postcss@8.4.5 deduped

| | | `-- stylehacks@5.0.1

| | |   `-- postcss@8.4.5 deduped

| | +-- postcss-merge-rules@5.0.3

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-minify-font-values@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-minify-gradients@5.0.3

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-minify-params@5.0.2

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-minify-selectors@5.1.0

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-charset@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-display-values@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-positions@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-repeat-style@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-string@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-timing-functions@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-unicode@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-url@5.0.4

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-normalize-whitespace@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-ordered-values@5.0.2

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-reduce-initial@5.0.2

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-reduce-transforms@5.0.1

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-svgo@5.0.3

| | | `-- postcss@8.4.5 deduped

| | +-- postcss-unique-selectors@5.0.2

| | | `-- postcss@8.4.5 deduped

| | `-- postcss@8.4.5 deduped

| `-- postcss@8.4.5 deduped

+-- postcss-import@14.0.2

| `-- postcss@8.4.5 deduped

+-- postcss-loader@6.2.1

| `-- postcss@8.4.5 deduped

+-- postcss-preset-env@7.0.1

| +-- autoprefixer@10.4.0

| | `-- postcss@8.4.5 deduped

| +-- css-blank-pseudo@2.0.0

| | `-- postcss@8.4.5 deduped

| +-- css-has-pseudo@2.0.0

| | `-- postcss@8.4.5 deduped

| +-- css-prefers-color-scheme@5.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-attribute-case-insensitive@5.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-color-functional-notation@4.0.2

| | `-- postcss@8.4.5 deduped

| +-- postcss-color-hex-alpha@8.0.0

| | +-- postcss-values-parser@6.0.1

| | | `-- postcss@8.4.5 deduped

| | `-- postcss@8.4.5 deduped

| +-- postcss-color-rebeccapurple@7.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-custom-media@8.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-custom-properties@12.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-custom-selectors@6.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-dir-pseudo-class@6.0.1

| | `-- postcss@8.4.5 deduped

| +-- postcss-double-position-gradients@3.0.3

| | `-- postcss@8.4.5 deduped

| +-- postcss-env-function@4.0.3

| | `-- postcss@8.4.5 deduped

| +-- postcss-focus-visible@6.0.2

| | `-- postcss@8.4.5 deduped

| +-- postcss-focus-within@5.0.2

| | `-- postcss@8.4.5 deduped

| +-- postcss-font-variant@5.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-gap-properties@3.0.1

| | `-- postcss@8.4.5 deduped

| +-- postcss-image-set-function@4.0.3

| | `-- postcss@8.4.5 deduped

| +-- postcss-initial@4.0.1

| | `-- postcss@8.4.5 deduped

| +-- postcss-lab-function@4.0.2

| | `-- postcss@8.4.5 deduped

| +-- postcss-logical@5.0.1

| | `-- postcss@8.4.5 deduped

| +-- postcss-media-minmax@5.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-nesting@10.0.3

| | `-- postcss@8.4.5 deduped

| +-- postcss-overflow-shorthand@3.0.1

| | `-- postcss@8.4.5 deduped

| +-- postcss-page-break@3.0.4

| | `-- postcss@8.4.5 deduped

| +-- postcss-place@7.0.2

| | `-- postcss@8.4.5 deduped

| +-- postcss-pseudo-class-any-link@7.0.1

| | `-- postcss@8.4.5 deduped

| +-- postcss-replace-overflow-wrap@4.0.0

| | `-- postcss@8.4.5 deduped

| +-- postcss-selector-not@5.0.0

| | `-- postcss@8.4.5 deduped

| `-- postcss@8.4.5 deduped

+-- postcss-pxtorem@6.0.0

| `-- postcss@8.4.5 deduped

+-- postcss-scss@4.0.2

| `-- postcss@8.4.5 deduped

+-- stylelint-order@5.0.0

| +-- postcss-sorting@7.0.1

| | `-- postcss@8.4.5 deduped

| `-- postcss@8.4.5 deduped

+-- stylelint-webpack-plugin@3.1.0

| `-- @types/stylelint@13.13.3

|   `-- postcss@7.0.39

`-- stylelint@14.1.0

  +-- postcss-safe-parser@6.0.0

  | `-- postcss@8.4.5 deduped

  `-- postcss@8.4.5 deduped
```


### Additional context

_No response_
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]