From 4c5dcfa158d8fe5e328c77cda8a027d0554fa05c Mon Sep 17 00:00:00 2001 From: Eric Date: Mon, 13 May 2024 16:05:57 +0800 Subject: [PATCH] feat: remove style order --- .best-shot/config.mjs | 6 +- .npmrc | 2 - README.md | 1 - lib/handle-config/{config.js => config.mjs} | 0 lib/handle-config/transform.mjs | 2 +- lib/handle-style/index.mjs | 3 - lib/handle-style/order.mjs | 307 --------------- lib/handle-style/scss.mjs | 6 - package.json | 35 +- pnpm-lock.yaml | 396 +++++++++++--------- test/fixture/source/index.scss | 5 - test/snapshots/script.mjs.snap | Bin 666 -> 660 bytes test/snapshots/test.mjs.md | 109 +++--- test/snapshots/test.mjs.snap | Bin 4193 -> 4091 bytes test/snapshots/utils.mjs.snap | Bin 1187 -> 1216 bytes 15 files changed, 285 insertions(+), 587 deletions(-) rename lib/handle-config/{config.js => config.mjs} (100%) delete mode 100644 lib/handle-style/order.mjs diff --git a/.best-shot/config.mjs b/.best-shot/config.mjs index b571a02..8de8233 100644 --- a/.best-shot/config.mjs +++ b/.best-shot/config.mjs @@ -25,7 +25,11 @@ export const config = { 'postcss-styl': 'node-commonjs postcss-styl', // 'write-file-atomic': 'node-commonjs write-file-atomic', eslint: 'module eslint', - stylelint: 'node-commonjs stylelint', + stylelint: 'module stylelint', sugarss: 'node-commonjs sugarss', + 'stylelint-scss/src/rules/dollar-variable-empty-line-before/index.js': + 'node-commonjs stylelint-scss/src/rules/dollar-variable-empty-line-before/index.js', + 'stylelint-scss/src/rules/double-slash-comment-empty-line-before/index.js': + 'node-commonjs stylelint-scss/src/rules/double-slash-comment-empty-line-before/index.js', }, }; diff --git a/.npmrc b/.npmrc index 88915e2..9bf9395 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1 @@ -enable-pre-post-scripts = true shamefully-hoist = true -node-linker = hoisted diff --git a/README.md b/README.md index 87fcc5c..bc479b5 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,6 @@ A code refactoring tool, fixing what `eslint/stylelint` shouldn't care about, wh - Handle text case from `css/scss/less` - Remove vendor prefix from `css/scss/less` - Handle whitespace, empty line between code -- Sort `css/scss/less` properties - Sort `html/htm` attributes - Sort `jsx/tsx` props - Sort `tsx/ts/mts/cts/jsx/js/mjs/cjs` class members diff --git a/lib/handle-config/config.js b/lib/handle-config/config.mjs similarity index 100% rename from lib/handle-config/config.js rename to lib/handle-config/config.mjs diff --git a/lib/handle-config/transform.mjs b/lib/handle-config/transform.mjs index bb5a67c..4b551c6 100644 --- a/lib/handle-config/transform.mjs +++ b/lib/handle-config/transform.mjs @@ -3,7 +3,7 @@ import micromatch from 'micromatch'; import { traverse } from 'object-traversal'; import sortAll from 'sort-keys'; -import { orders, root } from './config.js'; +import { orders, root } from './config.mjs'; import { sortBy, sortKeys } from './utils.mjs'; const patterns = Object.keys(orders).filter( diff --git a/lib/handle-style/index.mjs b/lib/handle-style/index.mjs index ed72460..4dedfb6 100644 --- a/lib/handle-style/index.mjs +++ b/lib/handle-style/index.mjs @@ -6,7 +6,6 @@ import stylelint from 'stylelint'; import { GarouError } from '../utils/fs.mjs'; -import { pluginOrder, ruleOrder } from './order.mjs'; import { pluginOther, ruleOther, vendors } from './other.mjs'; import { pluginScss, ruleScss } from './scss.mjs'; @@ -18,12 +17,10 @@ const config = { reportNeedlessDisables: false, reportInvalidScopeDisables: false, pluginFunctions: { - ...pluginOrder, ...pluginScss, ...pluginOther, }, rules: { - ...ruleOrder, ...ruleOther, }, overrides: [ diff --git a/lib/handle-style/order.mjs b/lib/handle-style/order.mjs deleted file mode 100644 index e2bb223..0000000 --- a/lib/handle-style/order.mjs +++ /dev/null @@ -1,307 +0,0 @@ -import propertiesOrder from 'stylelint-order/rules/properties-order/index.js'; - -export const pluginOrder = { - 'order/properties-order': propertiesOrder, -}; - -export const ruleOrder = { - 'order/properties-order': [ - [ - 'all', - - // -------------- - 'display', - 'appearance', - 'visibility', - - // Positioning -------------- - 'clear', - 'float', - 'position', - 'top', - 'right', - 'bottom', - 'left', - 'z-index', - - // Flexible Box Layout -------------- - 'flex', - 'flex-grow', - 'flex-shrink', - 'flex-basis', - 'flex-direction', - 'flex-flow', - 'flex-wrap', - 'order', - - // Box Alignment -------------- - 'align-content', - 'align-items', - 'align-self', - 'justify-content', - 'justify-items', - 'justify-self', - 'place-content', - 'place-items', - 'place-self', - 'gap', - 'row-gap', - 'column-gap', - - // -------------- - 'grid', - 'grid-area', - 'grid-template', - 'grid-template-areas', - 'grid-template-rows', - 'grid-template-columns', - 'grid-row', - 'grid-row-start', - 'grid-row-end', - 'grid-column', - 'grid-column-start', - 'grid-column-end', - 'grid-auto-rows', - 'grid-auto-columns', - 'grid-auto-flow', - 'grid-gap', - 'grid-row-gap', - 'grid-column-gap', - - // -------------- - 'columns', - 'column-gap', - 'column-fill', - 'column-rule', - 'column-rule-width', - 'column-rule-style', - 'column-rule-color', - 'column-span', - 'column-count', - 'column-width', - - // -------------- - 'backface-visibility', - 'perspective', - 'perspective-origin', - - // -------------- - 'margin', - 'margin-top', - 'margin-right', - 'margin-bottom', - 'margin-left', - - // -------------- - 'border', - 'border-top', - 'border-right', - 'border-bottom', - 'border-left', - - // -------------- - 'border-width', - 'border-top-width', - 'border-right-width', - 'border-bottom-width', - 'border-left-width', - - // -------------- - 'border-style', - 'border-top-style', - 'border-right-style', - 'border-bottom-style', - 'border-left-style', - - // -------------- - 'border-color', - 'border-top-color', - 'border-right-color', - 'border-bottom-color', - 'border-left-color', - - // -------------- - 'border-image', - 'border-image-source', - 'border-image-width', - 'border-image-outset', - 'border-image-repeat', - 'border-image-slice', - - // -------------- - 'border-radius', - 'border-top-left-radius', - 'border-top-right-radius', - 'border-bottom-left-radius', - 'border-bottom-right-radius', - - // -------------- - 'background', - 'background-attachment', - 'background-clip', - 'background-color', - 'background-image', - 'background-origin', - 'background-repeat', - 'background-position', - 'background-size', - 'background-blend-mode', - - // -------------- - 'box-sizing', - 'width', - 'min-width', - 'max-width', - 'height', - 'min-height', - 'max-height', - - // -------------- - 'padding', - 'padding-top', - 'padding-right', - 'padding-bottom', - 'padding-left', - - // Overflow -------------- - 'overflow', - 'overflow-x', - 'overflow-y', - 'resize', - - // Table -------------- - 'border-collapse', - 'border-spacing', - 'caption-side', - 'empty-cells', - 'table-layout', - - // Outline -------------- - 'outline', - 'outline-width', - 'outline-style', - 'outline-color', - 'outline-offset', - - // Effects -------------- - 'color', - 'fill', - 'opacity', - 'box-shadow', - 'box-decoration-break', - 'backdrop-filter', - 'filter', - 'background-blend-mode', - 'mix-blend-mode', - 'isolation', - 'object-fit', - 'object-position', - - // -------------- - 'will-change', - 'transform', - 'transform-origin', - 'transform-style', - - // -------------- - 'transition', - 'transition-duration', - 'transition-property', - 'transition-timing-function', - 'transition-delay', - - // Animations -------------- - 'animation', - 'animation-duration', - 'animation-timing-function', - 'animation-delay', - 'animation-iteration-count', - 'animation-direction', - 'animation-fill-mode', - 'animation-play-state', - 'animation-name', - - // Writing Modes -------------- - 'direction', - 'unicode-bidi', - 'writing-mode', - - // -------------- - 'hyphens', - 'vertical-align', - 'text-align', - 'text-align-last', - 'text-justify', - 'text-indent', - 'text-transform', - 'text-decoration', - 'text-decoration-color', - 'text-decoration-line', - 'text-decoration-style', - 'text-rendering', - 'text-shadow', - 'text-overflow', - - // -------------- - 'word-spacing', - 'letter-spacing', - 'tab-size', - 'white-space', - 'word-break', - 'word-wrap', - 'overflow-wrap', - - // Fonts -------------- - 'font', - 'font-style', - 'font-variant', - 'font-weight', - 'font-stretch', - 'font-size', - 'line-height', - 'font-family', - - 'font-feature-settings', - 'font-kerning', - 'font-size-adjust', - 'font-smoothing', - 'font-variant-caps', - 'font-variant-ligatures', - 'font-variant-numeric', - 'font-variation-settings', - - // Generated Content -------------- - 'content', - 'quotes', - - // Counter Styles -------------- - 'counter-set', - 'counter-reset', - 'counter-increment', - - // Lists -------------- - 'list-style', - 'list-style-type', - 'list-style-position', - 'list-style-image', - - // Fragmentation -------------- - 'break-before', - 'break-after', - 'break-inside', - 'orphans', - 'widows', - - // -------------- - 'scroll-behavior', - 'touch-action', - 'cursor', - 'pointer-events', - 'user-select', - ], - { - unspecified: 'bottomAlphabetical', - emptyLineBeforeUnspecified: 'never', - }, - ], -}; diff --git a/lib/handle-style/scss.mjs b/lib/handle-style/scss.mjs index 21f17e7..9526e03 100644 --- a/lib/handle-style/scss.mjs +++ b/lib/handle-style/scss.mjs @@ -1,18 +1,12 @@ -import s0 from 'stylelint-scss/src/rules/at-mixin-argumentless-call-parentheses/index.js'; -import s1 from 'stylelint-scss/src/rules/at-rule-conditional-no-parentheses/index.js'; import s2 from 'stylelint-scss/src/rules/dollar-variable-empty-line-before/index.js'; import s3 from 'stylelint-scss/src/rules/double-slash-comment-empty-line-before/index.js'; export const pluginScss = { - 'scss/at-mixin-argumentless-call-parentheses': s0, - 'scss/at-rule-conditional-no-parentheses': s1, 'scss/dollar-variable-empty-line-before': s2, 'scss/double-slash-comment-empty-line-before': s3, }; export const ruleScss = { - 'scss/at-mixin-argumentless-call-parentheses': 'always', - 'scss/at-rule-conditional-no-parentheses': true, 'scss/dollar-variable-empty-line-before': [ 'always', { diff --git a/package.json b/package.json index a0da5a5..468f060 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "garou", - "version": "0.7.4", + "version": "0.7.5", "description": "Do thing what heroes didn't do", "license": "MIT", "author": { @@ -53,7 +53,7 @@ "test": "ava --fail-fast" }, "dependencies": { - "@typescript-eslint/parser": "^7.7.1", + "@typescript-eslint/parser": "^7.8.0", "@yarnpkg/lockfile": "^1.1.0", "eslint-module-utils": "^2.8.1", "flat-cache": "^3.2.0", @@ -61,33 +61,33 @@ "write-file-atomic": "^5.0.1" }, "devDependencies": { - "@bring-it/npm": "^0.5.2", - "@nice-move/cli": "^0.11.11", - "@nice-move/eslint-config-base": "^0.11.5", + "@bring-it/npm": "^0.5.4", + "@nice-move/cli": "^0.11.12", + "@nice-move/eslint-config-base": "^0.11.8", "@nice-move/eslint-plugin-html": "0.0.0-beta.4", - "@nice-move/prettier-config": "^0.11.3", + "@nice-move/prettier-config": "^0.11.4", "@nice-move/stylelint-config": "^0.10.6", - "@nice-move/tsconfig": "^0.2.2", - "@stylistic/stylelint-plugin": "^2.1.1", + "@nice-move/tsconfig": "^0.2.3", + "@stylistic/stylelint-plugin": "^2.1.2", "@yarnpkg/lockfile": "^1.1.0", - "ava": "^6.1.2", - "best-shot": "^0.5.4", + "ava": "^6.1.3", + "best-shot": "^0.5.7", "cheetor": "^0.13.0", "eslint": "^8.57.0", "eslint-plugin-ava": "^14.0.0", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-markdown": "^4.0.1", + "eslint-plugin-markdown": "^5.0.0", "eslint-plugin-react": "^7.34.1", "eslint-plugin-simple-import-sort": "^12.1.0", "eslint-plugin-sort-class-members": "^1.20.0", - "eslint-plugin-vue": "^9.25.0", + "eslint-plugin-vue": "^9.26.0", "espree": "^9.6.1", "fs-chain": "^8.2.3", "globby": "^14.0.1", "micromatch": "^4.0.5", "object-traversal": "^1.0.1", "postcss": "^8.4.38", - "postcss-html": "^1.6.0", + "postcss-html": "^1.7.0", "postcss-less": "^6.0.0", "postcss-markdown": "^1.2.0", "postcss-scss": "^4.0.9", @@ -97,11 +97,10 @@ "settingz": "^0.2.0", "slash": "^5.1.0", "sort-keys": "^5.0.0", - "stylelint": "^16.4.0", - "stylelint-order": "^6.0.4", - "stylelint-scss": "~6.2.1", + "stylelint": "^16.5.0", + "stylelint-scss": "~6.3.0", "typescript": "^5.4.5", - "yaml": "^2.4.1", + "yaml": "^2.4.2", "yarn-deduplicate": "^6.0.2" }, "peerDependencies": { @@ -114,7 +113,7 @@ "optional": true } }, - "packageManager": "pnpm@9.0.6", + "packageManager": "pnpm@9.1.0", "engines": { "node": "^18.12.0 || ^20.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7076704..eafe377 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ importers: .: dependencies: '@typescript-eslint/parser': - specifier: ^7.7.1 + specifier: ^7.8.0 version: 7.8.0(eslint@8.57.0)(typescript@5.4.5) '@yarnpkg/lockfile': specifier: ^1.1.0 @@ -28,35 +28,35 @@ importers: version: 5.0.1 devDependencies: '@bring-it/npm': - specifier: ^0.5.2 - version: 0.5.2(@bring-it/cli@0.9.0) + specifier: ^0.5.4 + version: 0.5.4(@bring-it/cli@0.9.3) '@nice-move/cli': - specifier: ^0.11.11 - version: 0.11.11 + specifier: ^0.11.12 + version: 0.11.12 '@nice-move/eslint-config-base': - specifier: ^0.11.5 - version: 0.11.6(eslint@8.57.0)(typescript@5.4.5) + specifier: ^0.11.8 + version: 0.11.8(eslint@8.57.0)(typescript@5.4.5) '@nice-move/eslint-plugin-html': specifier: 0.0.0-beta.4 version: 0.0.0-beta.4(eslint@8.57.0) '@nice-move/prettier-config': - specifier: ^0.11.3 - version: 0.11.3(prettier@3.2.5) + specifier: ^0.11.4 + version: 0.11.4(postcss@8.4.38)(prettier@3.2.5) '@nice-move/stylelint-config': specifier: ^0.10.6 version: 0.10.6(stylelint@16.5.0(typescript@5.4.5)) '@nice-move/tsconfig': - specifier: ^0.2.2 + specifier: ^0.2.3 version: 0.2.3(typescript@5.4.5) '@stylistic/stylelint-plugin': - specifier: ^2.1.1 + specifier: ^2.1.2 version: 2.1.2(stylelint@16.5.0(typescript@5.4.5)) ava: - specifier: ^6.1.2 - version: 6.1.2 + specifier: ^6.1.3 + version: 6.1.3 best-shot: - specifier: ^0.5.4 - version: 0.5.4(browserslist@4.23.0) + specifier: ^0.5.7 + version: 0.5.7(browserslist@4.23.0) cheetor: specifier: ^0.13.0 version: 0.13.0 @@ -70,8 +70,8 @@ importers: specifier: ^2.29.1 version: 2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) eslint-plugin-markdown: - specifier: ^4.0.1 - version: 4.0.1(eslint@8.57.0) + specifier: ^5.0.0 + version: 5.0.0(eslint@8.57.0) eslint-plugin-react: specifier: ^7.34.1 version: 7.34.1(eslint@8.57.0) @@ -82,8 +82,8 @@ importers: specifier: ^1.20.0 version: 1.20.0(eslint@8.57.0) eslint-plugin-vue: - specifier: ^9.25.0 - version: 9.25.0(eslint@8.57.0) + specifier: ^9.26.0 + version: 9.26.0(eslint@8.57.0) espree: specifier: ^9.6.1 version: 9.6.1 @@ -103,8 +103,8 @@ importers: specifier: ^8.4.38 version: 8.4.38 postcss-html: - specifier: ^1.6.0 - version: 1.6.0 + specifier: ^1.7.0 + version: 1.7.0 postcss-less: specifier: ^6.0.0 version: 6.0.0(postcss@8.4.38) @@ -133,19 +133,16 @@ importers: specifier: ^5.0.0 version: 5.0.0 stylelint: - specifier: ^16.4.0 + specifier: ^16.5.0 version: 16.5.0(typescript@5.4.5) - stylelint-order: - specifier: ^6.0.4 - version: 6.0.4(stylelint@16.5.0(typescript@5.4.5)) stylelint-scss: - specifier: ~6.2.1 - version: 6.2.1(stylelint@16.5.0(typescript@5.4.5)) + specifier: ~6.3.0 + version: 6.3.0(stylelint@16.5.0(typescript@5.4.5)) typescript: specifier: ^5.4.5 version: 5.4.5 yaml: - specifier: ^2.4.1 + specifier: ^2.4.2 version: 2.4.2 yarn-deduplicate: specifier: ^6.0.2 @@ -267,17 +264,17 @@ packages: peerDependencies: webpack: ^4 || ^5 - '@bring-it/cli@0.9.0': - resolution: {integrity: sha512-UOk6ZSrouN2af0v30huQaiq+9/lN01ibiAv9oLZN/yNIrGjIDUnSZZMeBLNlTUA4A6LxUI2l8leDv4aCFRg7ew==} - engines: {node: ^18.0.0 || ^20.0.0, npm: '>=9.0.0'} + '@bring-it/cli@0.9.3': + resolution: {integrity: sha512-TMpeX0xFFk2h+BuH16o9BVBznzCCVQd5qhms9TpQxyLzkpXx6iPS9BxpFA/bTpfjnifTiN4doe/WmpVPfUYLag==} + engines: {node: ^18.0.0 || ^20.0.0} hasBin: true - '@bring-it/npm@0.5.2': - resolution: {integrity: sha512-emH4puW3AH7lSn+CvYbzKs/+mMNs+q+na9Aq2iAkODNaiP1/GtCB+dB54k3EGmHZLPSd9YrsjEUUN4nEmAplrA==} + '@bring-it/npm@0.5.4': + resolution: {integrity: sha512-68QjQmAuv09NIkMX+MZisFb3xeIAJ3GwOXm5ZrYoyWdU+bDDOtle0WDXygpK0SvrANTAumJkIUxxrFEQkWEUVA==} engines: {node: ^18.0.0 || ^20.0.0, npm: '>=9.0.0'} hasBin: true peerDependencies: - '@bring-it/cli': ^0.9.0 + '@bring-it/cli': ^0.9.3 '@csstools/css-parser-algorithms@2.6.3': resolution: {integrity: sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA==} @@ -302,14 +299,14 @@ packages: peerDependencies: postcss-selector-parser: ^6.0.10 - '@csstools/selector-specificity@3.0.3': - resolution: {integrity: sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==} + '@csstools/selector-specificity@3.1.0': + resolution: {integrity: sha512-tGDFEHZ4XJeIt5NF7/nAfLGqPckmDZSnYne5gl67p4agQolE5s4rofdQ3e+VkeukfR91lVtSQ/Jt9DqM1ICiIQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.13 - '@dual-bundle/import-meta-resolve@4.0.0': - resolution: {integrity: sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==} + '@dual-bundle/import-meta-resolve@4.1.0': + resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} @@ -325,6 +322,10 @@ packages: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.0.2': + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@8.57.0': resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -365,13 +366,13 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true - '@nice-move/cli@0.11.11': - resolution: {integrity: sha512-VhLN/OaFGFF7pUwFg8IQCahX72GtpAYO16D2XtmiyYh+t80YMqtR05mUOap9QcEW3xDIOzsfcUuZ+hzl3kNinA==} + '@nice-move/cli@0.11.12': + resolution: {integrity: sha512-wOF5jpKB8HCmRrxESlKhU+8Ks+hQjBcU8p5hiHdhWJhDo1lmE67LHAGBvxLeFJu2++yehc3FU0UjhCarj7FC7g==} engines: {node: ^18.12.0 || ^20.0.0} hasBin: true - '@nice-move/eslint-config-base@0.11.6': - resolution: {integrity: sha512-iUzkObZQUPbUclCPY7xBvt20J/+ipLD1MPkRT3fcRBwKlgUnr7tKCgLmzZ7nzk9Oj1FkCweYynJbxgMuCE2noA==} + '@nice-move/eslint-config-base@0.11.8': + resolution: {integrity: sha512-XSvZ4bGRQd8AmkHn5+k/WhXM582C/mwXVJnjdWKJ65rkUSnGVi61nhWNJ5or4q5aK6mFJmApo2kx6v75hXangw==} engines: {node: ^18.12.0 || ^20.0.0} peerDependencies: eslint: ^8.57.0 @@ -382,8 +383,8 @@ packages: peerDependencies: eslint: ^8.0.0 - '@nice-move/prettier-config@0.11.3': - resolution: {integrity: sha512-VZ47PrqxxaqVhj42O36U9GduZK6mW6bEUOe+kKJ7Ql7x6wcHH8JrtMAq75uHJ2CZfsK7sRpFBpCFqLlzbGKINQ==} + '@nice-move/prettier-config@0.11.4': + resolution: {integrity: sha512-SvLaWkbiVj+NCfGUBsUkAlsH6SfKeABi2/HztM+5Sqdq5H3WmYDCnbHSDv4YXS8F/GNJLPHYMc+wzi/R0RNOVg==} engines: {node: ^18.12.0 || ^20.0.0} peerDependencies: prettier: ^3.2.5 @@ -467,8 +468,8 @@ packages: '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/node@20.12.8': - resolution: {integrity: sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==} + '@types/node@20.12.11': + resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -546,8 +547,8 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vercel/nft@0.26.4': - resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} + '@vercel/nft@0.26.5': + resolution: {integrity: sha512-NHxohEqad6Ra/r4lGknO52uc/GrWILXAMs1BB4401GTqww0fw1bAqzpG1XHuDO+dprg4GvsD9ZLLSsdo78p9hQ==} engines: {node: '>=16'} hasBin: true @@ -748,9 +749,9 @@ packages: async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} - ava@6.1.2: - resolution: {integrity: sha512-WcpxJ8yZ7mk9ABTinD0IAjcemovSeVGjuuwZx0JS9johREWFeLTl8UP6wd7l6nmnrWqkKZdwaD71a/ocH4qPKw==} - engines: {node: ^18.18 || ^20.8 || ^21} + ava@6.1.3: + resolution: {integrity: sha512-tkKbpF1pIiC+q09wNU9OfyTDYZa8yuWvU2up3+lFJ3lr1RmnYh2GBpPwzYUEB0wvTPIUysGjcZLNZr7STDviRA==} + engines: {node: ^18.18 || ^20.8 || ^21 || ^22} hasBin: true peerDependencies: '@ava/typescript': '*' @@ -771,8 +772,8 @@ packages: balanced-match@2.0.0: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} - best-shot@0.5.4: - resolution: {integrity: sha512-C/v6eTlyaoi2/C/tv4O5AHfKzpra/oPBrIpgbgdqJyxNqHVOUNNij3BGS/AXV86Wl8EKsZDH1eDGtEB9UWJ2CA==} + best-shot@0.5.7: + resolution: {integrity: sha512-masiToE094tsn0xnNPFM8uNw7RbPLNcxTl54VtPuG9jGR22JnB0aHdLOxFkA6ns2D3iCWTu6uwloiNKB3jLIVg==} engines: {node: '>=20.0.0 || ^18.12.0'} hasBin: true peerDependencies: @@ -832,8 +833,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001616: - resolution: {integrity: sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==} + caniuse-lite@1.0.30001617: + resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==} cbor@9.0.2: resolution: {integrity: sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==} @@ -983,6 +984,12 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + css-functions-list@3.2.2: resolution: {integrity: sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==} engines: {node: '>=12 || >=16'} @@ -1098,8 +1105,8 @@ packages: domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - electron-to-chromium@1.4.756: - resolution: {integrity: sha512-RJKZ9+vEBMeiPAvKNWyZjuYyUqMndcP1f335oHqn3BEQbs2NFtVrnK5+6Xg5wSM9TknNNpWghGDUCKGYF+xWXw==} + electron-to-chromium@1.4.763: + resolution: {integrity: sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==} emittery@1.0.3: resolution: {integrity: sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==} @@ -1119,8 +1126,8 @@ packages: resolution: {integrity: sha512-+29eJLiUixTEDRaZ35Vu8jP3gPLNcQQkQkOQjLp2X+6cZGGPDD/uasbFzvLsJKnGZnvmyZ0srxudwOtskHeIDA==} engines: {node: '>=4.0.0'} - enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + enhanced-resolve@5.16.1: + resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} engines: {node: '>=10.13.0'} entities@4.5.0: @@ -1263,20 +1270,14 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-markdown@3.0.1: - resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - - eslint-plugin-markdown@4.0.1: - resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==} + eslint-plugin-markdown@5.0.0: + resolution: {integrity: sha512-kY2u9yDhzvfZ0kmRTsvgm3mTnvZgTSGIIPeHg3yesSx4R5CTCnITUjCPhzCD1MUhNcqHU5Tr6lzx+02EclVPbw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8' - eslint-plugin-n@17.4.0: - resolution: {integrity: sha512-RtgGgNpYxECwE9dFr+D66RtbN0B8r/fY6ZF8EVsmK2YnZxE8/n9LNQhgnkL9z37UFZjYVmvMuC32qu7fQBsLVQ==} + eslint-plugin-n@17.6.0: + resolution: {integrity: sha512-Y73o88ROwbCtVCCmZjYlYcPYkOG7mIzxxVK1XFRSa2epbKWtAPsmYpAD0pqxg/ZwlcWxMDceQPKHYQi4VIHz7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -1298,11 +1299,11 @@ packages: peerDependencies: eslint: '>=5.0.0' - eslint-plugin-sonarjs@0.25.1: - resolution: {integrity: sha512-5IOKvj/GMBNqjxBdItfotfRHo7w48496GOu1hxdeXuD0mB1JBlDCViiLHETDTfA8pDAVSBimBEQoetRXYceQEw==} + eslint-plugin-sonarjs@1.0.3: + resolution: {integrity: sha512-6s41HLPYPyDrp+5+7Db5yFYbod6h9pC7yx+xfcNwHRcLe1EZwbbQT/tdOAkR7ekVUkNGEvN3GmYakIoQUX7dEg==} engines: {node: '>=16'} peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.0.0 || ^9.0.0 eslint-plugin-sort-class-members@1.20.0: resolution: {integrity: sha512-xNaik4GQ/pRwd1soIVI28HEXZbrWoLR5krau2+E8YcHj7N09UviPg5mYhf/rELG29bIFJdXDOFJazN90+luMOw==} @@ -1310,14 +1311,14 @@ packages: peerDependencies: eslint: '>=0.8.0' - eslint-plugin-unicorn@52.0.0: - resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==} - engines: {node: '>=16'} + eslint-plugin-unicorn@53.0.0: + resolution: {integrity: sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==} + engines: {node: '>=18.18'} peerDependencies: eslint: '>=8.56.0' - eslint-plugin-vue@9.25.0: - resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==} + eslint-plugin-vue@9.26.0: + resolution: {integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -1347,11 +1348,19 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1518,8 +1527,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1551,8 +1560,12 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globals@15.1.0: - resolution: {integrity: sha512-926gJqg+4mkxwYKiFvoomM4J0kWESfk3qfTvRL2/oc/tK/eTDBbrfcKnSa2KtfdxB5onoL7D3A3qIHQFpd4+UA==} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.2.0: + resolution: {integrity: sha512-FQ5YwCHZM3nCmtb5FzEWwdUc9K5d3V/w9mzcz8iGD1gC/aOTHc6PouYu0kkKipNJqHAT7m51sqzQjEjIP+cK0A==} engines: {node: '>=18'} globalthis@1.0.4: @@ -1625,8 +1638,8 @@ packages: hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - hast-util-raw@9.0.2: - resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + hast-util-raw@9.0.3: + resolution: {integrity: sha512-ICWvVOF2fq4+7CMmtCPD5CM4QKjPbHpPotE6+8tDooV0ZuyJVUzHsrNX+O5NaRbieTf0F7FfeBOMAwi6Td0+yQ==} hast-util-to-html@9.0.1: resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==} @@ -1893,8 +1906,8 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} @@ -1959,9 +1972,6 @@ packages: known-css-properties@0.26.0: resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==} - known-css-properties@0.29.0: - resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} - known-css-properties@0.30.0: resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==} @@ -2367,8 +2377,8 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss-html@1.6.0: - resolution: {integrity: sha512-OWgQ9/Pe23MnNJC0PL4uZp8k0EDaUvqpJFSiwFxOLClAhmD7UEisyhO3x5hVsD4xFrjReVTXydlrMes45dJ71w==} + postcss-html@1.7.0: + resolution: {integrity: sha512-MfcMpSUIaR/nNgeVS8AyvyDugXlADjN9AcV7e5rDfrF1wduIAGSkL4q2+wgrZgA3sHVAHLDO9FuauHhZYW2nBw==} engines: {node: ^12 || >=14} postcss-less@6.0.0: @@ -2409,11 +2419,6 @@ packages: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} - postcss-sorting@8.0.2: - resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==} - peerDependencies: - postcss: ^8.4.20 - postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -2425,6 +2430,12 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-plugin-css-order@2.1.2: + resolution: {integrity: sha512-vomxPjHI6pOMYcBuouSJHxxQClJXaUpU9rsV9IAO2wrSTZILRRlrxAAR8t9UF6wtczLkLfNRFUwM+ZbGXOONUA==} + engines: {node: '>=16'} + peerDependencies: + prettier: 3.x + prettier-plugin-ini@1.1.0: resolution: {integrity: sha512-xlWM//GrLYU5CX3Qdn5isOlxz1LHnTi4fdSHZX/UYV/C5ipbcFfdCglENoOPGp4N5EvtA5Q1FuVhg95K58TMRg==} @@ -2580,8 +2591,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -2755,19 +2766,14 @@ packages: peerDependencies: stylelint: ^14 || ^15 || ^16 - stylelint-order@6.0.4: - resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==} - peerDependencies: - stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 - stylelint-require-units@2.0.0: resolution: {integrity: sha512-mJ1mE1wvw4XGLoEI1A6A6veUJGXOx7gXpB1ksLI1qMCalnhh9MPu+eYT2+EEwDD4fyruSH8hh6uqsazG4CKTSw==} engines: {node: '>=6.4.0'} peerDependencies: stylelint: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - stylelint-scss@6.2.1: - resolution: {integrity: sha512-ZoGLbVb1keZYRVGQlhB8G6sZOoNqw61whzzzGFWp05N12ErqLFfBv3JPrXiMLZaW98sBS7K/vUQhRnvUj4vwdw==} + stylelint-scss@6.3.0: + resolution: {integrity: sha512-8OSpiuf1xC7f8kllJsBOFAOYp/mR/C1FXMVeOFjtJPw+AFvEmC93FaklHt7MlOqU4poxuQ1TkYMyfI0V+1SxjA==} engines: {node: '>=18.12.0'} peerDependencies: stylelint: ^16.0.2 @@ -3291,14 +3297,14 @@ snapshots: dependencies: webpack: 5.91.0 - '@bring-it/cli@0.9.0': + '@bring-it/cli@0.9.3': dependencies: globby: 14.0.1 yargs: 17.7.2 - '@bring-it/npm@0.5.2(@bring-it/cli@0.9.0)': + '@bring-it/npm@0.5.4(@bring-it/cli@0.9.3)': dependencies: - '@bring-it/cli': 0.9.0 + '@bring-it/cli': 0.9.3 '@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1)': dependencies: @@ -3315,11 +3321,11 @@ snapshots: dependencies: postcss-selector-parser: 6.0.16 - '@csstools/selector-specificity@3.0.3(postcss-selector-parser@6.0.16)': + '@csstools/selector-specificity@3.1.0(postcss-selector-parser@6.0.16)': dependencies: postcss-selector-parser: 6.0.16 - '@dual-bundle/import-meta-resolve@4.0.0': {} + '@dual-bundle/import-meta-resolve@4.1.0': {} '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: @@ -3342,6 +3348,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/eslintrc@3.0.2': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + '@eslint/js@8.57.0': {} '@humanwhocodes/config-array@0.11.14': @@ -3387,17 +3407,18 @@ snapshots: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color - '@nice-move/cli@0.11.11': + '@nice-move/cli@0.11.12': dependencies: + cheetor: 0.13.0 eslint-formatter-pretty: 5.0.0 - '@nice-move/eslint-config-base@0.11.6(eslint@8.57.0)(typescript@5.4.5)': + '@nice-move/eslint-config-base@0.11.8(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@babel/core': 7.24.5 '@babel/eslint-parser': 7.24.5(@babel/core@7.24.5)(eslint@8.57.0) @@ -3410,11 +3431,11 @@ snapshots: eslint-config-prettier: 9.1.0(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) - eslint-plugin-markdown: 3.0.1(eslint@8.57.0) - eslint-plugin-n: 17.4.0(eslint@8.57.0) + eslint-plugin-markdown: 5.0.0(eslint@8.57.0) + eslint-plugin-n: 17.6.0(eslint@8.57.0) eslint-plugin-promise: 6.1.1(eslint@8.57.0) - eslint-plugin-sonarjs: 0.25.1(eslint@8.57.0) - eslint-plugin-unicorn: 52.0.0(eslint@8.57.0) + eslint-plugin-sonarjs: 1.0.3(eslint@8.57.0) + eslint-plugin-unicorn: 53.0.0(eslint@8.57.0) espree: 9.6.1 resolve.exports: 2.0.2 settingz: 0.2.0 @@ -3429,13 +3450,16 @@ snapshots: eslint: 8.57.0 node-html-parser: 6.1.13 - '@nice-move/prettier-config@0.11.3(prettier@3.2.5)': + '@nice-move/prettier-config@0.11.4(postcss@8.4.38)(prettier@3.2.5)': dependencies: '@nice-move/prettier-plugin-package-json': 0.8.0(prettier@3.2.5) '@prettier/plugin-xml': 3.4.1(prettier@3.2.5) prettier: 3.2.5 + prettier-plugin-css-order: 2.1.2(postcss@8.4.38)(prettier@3.2.5) prettier-plugin-ini: 1.1.0 settingz: 0.2.0 + transitivePeerDependencies: + - postcss '@nice-move/prettier-plugin-package-json@0.8.0(prettier@3.2.5)': dependencies: @@ -3444,7 +3468,7 @@ snapshots: '@nice-move/stylelint-config@0.10.6(stylelint@16.5.0(typescript@5.4.5))': dependencies: postcss: 8.4.38 - postcss-html: 1.6.0 + postcss-html: 1.7.0 postcss-less: 6.0.0(postcss@8.4.38) postcss-markdown: 1.2.0 postcss-scss: 4.0.9(postcss@8.4.38) @@ -3454,7 +3478,7 @@ snapshots: stylelint-declaration-block-no-ignored-properties: 2.8.0(stylelint@16.5.0(typescript@5.4.5)) stylelint-no-unresolved-module: 2.2.2(stylelint@16.5.0(typescript@5.4.5)) stylelint-require-units: 2.0.0(stylelint@16.5.0(typescript@5.4.5)) - stylelint-scss: 6.2.1(stylelint@16.5.0(typescript@5.4.5)) + stylelint-scss: 6.3.0(stylelint@16.5.0(typescript@5.4.5)) stylelint-suitcss: 5.0.0 transitivePeerDependencies: - supports-color @@ -3532,7 +3556,7 @@ snapshots: '@types/minimist@1.2.5': {} - '@types/node@20.12.8': + '@types/node@20.12.11': dependencies: undici-types: 5.26.5 @@ -3559,7 +3583,7 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -3606,7 +3630,7 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -3622,7 +3646,7 @@ snapshots: '@typescript-eslint/types': 7.8.0 '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -3634,7 +3658,7 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vercel/nft@0.26.4': + '@vercel/nft@0.26.5': dependencies: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 @@ -3897,9 +3921,9 @@ snapshots: async-sema@3.1.1: {} - ava@6.1.2: + ava@6.1.3: dependencies: - '@vercel/nft': 0.26.4 + '@vercel/nft': 0.26.5 acorn: 8.11.3 acorn-walk: 8.3.2 ansi-styles: 6.2.1 @@ -3953,7 +3977,7 @@ snapshots: balanced-match@2.0.0: {} - best-shot@0.5.4(browserslist@4.23.0): + best-shot@0.5.7(browserslist@4.23.0): dependencies: '@best-shot/no-cache-loader': 0.0.0(webpack@5.91.0) browserslist: 4.23.0 @@ -3992,8 +4016,8 @@ snapshots: browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001616 - electron-to-chromium: 1.4.756 + caniuse-lite: 1.0.30001617 + electron-to-chromium: 1.4.763 node-releases: 2.0.14 update-browserslist-db: 1.0.15(browserslist@4.23.0) @@ -4021,7 +4045,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001616: {} + caniuse-lite@1.0.30001617: {} cbor@9.0.2: dependencies: @@ -4123,7 +4147,7 @@ snapshots: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.6.0 + semver: 7.6.2 well-known-symbols: 2.0.0 confusing-browser-globals@1.0.11: {} @@ -4161,6 +4185,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + css-declaration-sorter@7.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + css-functions-list@3.2.2: {} css-select@5.1.0: @@ -4275,7 +4303,7 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - electron-to-chromium@1.4.756: {} + electron-to-chromium@1.4.763: {} emittery@1.0.3: {} @@ -4289,7 +4317,7 @@ snapshots: dependencies: lodash: 4.17.21 - enhanced-resolve@5.16.0: + enhanced-resolve@5.16.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -4409,7 +4437,7 @@ snapshots: eslint-compat-utils@0.5.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.2 eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint@8.57.0): dependencies: @@ -4505,31 +4533,24 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-markdown@3.0.1(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - mdast-util-from-markdown: 0.8.5 - transitivePeerDependencies: - - supports-color - - eslint-plugin-markdown@4.0.1(eslint@8.57.0): + eslint-plugin-markdown@5.0.0(eslint@8.57.0): dependencies: eslint: 8.57.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-n@17.4.0(eslint@8.57.0): + eslint-plugin-n@17.6.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.16.1 eslint: 8.57.0 eslint-plugin-es-x: 7.6.0(eslint@8.57.0) - get-tsconfig: 4.7.3 - globals: 15.1.0 + get-tsconfig: 4.7.5 + globals: 15.2.0 ignore: 5.3.1 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.2 eslint-plugin-promise@6.1.1(eslint@8.57.0): dependencies: @@ -4561,7 +4582,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-sonarjs@0.25.1(eslint@8.57.0): + eslint-plugin-sonarjs@1.0.3(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -4569,11 +4590,11 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-unicorn@52.0.0(eslint@8.57.0): + eslint-plugin-unicorn@53.0.0(eslint@8.57.0): dependencies: '@babel/helper-validator-identifier': 7.24.5 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint/eslintrc': 2.1.4 + '@eslint/eslintrc': 3.0.2 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.37.0 @@ -4586,12 +4607,12 @@ snapshots: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.6.0 + semver: 7.6.2 strip-indent: 3.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.25.0(eslint@8.57.0): + eslint-plugin-vue@9.26.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) eslint: 8.57.0 @@ -4599,7 +4620,7 @@ snapshots: natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 - semver: 7.6.0 + semver: 7.6.2 vue-eslint-parser: 9.4.2(eslint@8.57.0) xml-name-validator: 4.0.0 transitivePeerDependencies: @@ -4626,6 +4647,8 @@ snapshots: eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.0.0: {} + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -4669,6 +4692,12 @@ snapshots: transitivePeerDependencies: - supports-color + espree@10.0.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 4.0.0 + espree@9.6.1: dependencies: acorn: 8.11.3 @@ -4834,7 +4863,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.3: + get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 @@ -4873,7 +4902,9 @@ snapshots: dependencies: type-fest: 0.20.2 - globals@15.1.0: {} + globals@14.0.0: {} + + globals@15.2.0: {} globalthis@1.0.4: dependencies: @@ -4958,7 +4989,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 - hast-util-raw@9.0.2: + hast-util-raw@9.0.3: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.2 @@ -4980,7 +5011,7 @@ snapshots: '@types/unist': 3.0.2 ccount: 2.0.1 comma-separated-tokens: 2.0.3 - hast-util-raw: 9.0.2 + hast-util-raw: 9.0.3 hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.1.0 @@ -5220,7 +5251,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.12.8 + '@types/node': 20.12.11 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -5228,7 +5259,7 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@8.0.3: {} + js-tokens@9.0.0: {} js-yaml@3.14.1: dependencies: @@ -5282,8 +5313,6 @@ snapshots: known-css-properties@0.26.0: {} - known-css-properties@0.29.0: {} - known-css-properties@0.30.0: {} levn@0.4.1: @@ -5523,7 +5552,7 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -5689,10 +5718,10 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-html@1.6.0: + postcss-html@1.7.0: dependencies: htmlparser2: 8.0.2 - js-tokens: 8.0.3 + js-tokens: 9.0.0 postcss: 8.4.38 postcss-safe-parser: 6.0.0(postcss@8.4.38) @@ -5731,10 +5760,6 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sorting@8.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser@4.2.0: {} postcss@8.4.38: @@ -5745,6 +5770,15 @@ snapshots: prelude-ls@1.2.1: {} + prettier-plugin-css-order@2.1.2(postcss@8.4.38)(prettier@3.2.5): + dependencies: + css-declaration-sorter: 7.2.0(postcss@8.4.38) + postcss-less: 6.0.0(postcss@8.4.38) + postcss-scss: 4.0.9(postcss@8.4.38) + prettier: 3.2.5 + transitivePeerDependencies: + - postcss + prettier-plugin-ini@1.1.0: dependencies: prettier: 3.2.5 @@ -5916,9 +5950,7 @@ snapshots: semver@6.3.1: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} serialize-error@7.0.1: dependencies: @@ -6104,27 +6136,21 @@ snapshots: stylelint-no-unresolved-module@2.2.2(stylelint@16.5.0(typescript@5.4.5)): dependencies: ajv: 6.12.6 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.16.1 is-url: 1.2.4 p-waterfall: 2.1.1 postcss-value-parser: 4.2.0 scss-parser: 1.0.6 stylelint: 16.5.0(typescript@5.4.5) - stylelint-order@6.0.4(stylelint@16.5.0(typescript@5.4.5)): - dependencies: - postcss: 8.4.38 - postcss-sorting: 8.0.2(postcss@8.4.38) - stylelint: 16.5.0(typescript@5.4.5) - stylelint-require-units@2.0.0(stylelint@16.5.0(typescript@5.4.5)): dependencies: postcss-value-parser: 4.2.0 stylelint: 16.5.0(typescript@5.4.5) - stylelint-scss@6.2.1(stylelint@16.5.0(typescript@5.4.5)): + stylelint-scss@6.3.0(stylelint@16.5.0(typescript@5.4.5)): dependencies: - known-css-properties: 0.29.0 + known-css-properties: 0.30.0 postcss-media-query-parser: 0.2.3 postcss-resolve-nested-selector: 0.1.1 postcss-selector-parser: 6.0.16 @@ -6187,8 +6213,8 @@ snapshots: '@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1) '@csstools/css-tokenizer': 2.3.1 '@csstools/media-query-list-parser': 2.1.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1) - '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16) - '@dual-bundle/import-meta-resolve': 4.0.0 + '@csstools/selector-specificity': 3.1.0(postcss-selector-parser@6.0.16) + '@dual-bundle/import-meta-resolve': 4.1.0 balanced-match: 2.0.0 colord: 2.9.3 cosmiconfig: 9.0.0(typescript@5.4.5) @@ -6472,7 +6498,7 @@ snapshots: espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color @@ -6498,7 +6524,7 @@ snapshots: acorn-import-assertions: 1.9.0(acorn@8.11.3) browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.16.1 es-module-lexer: 1.5.2 eslint-scope: 5.1.1 events: 3.3.0 @@ -6631,7 +6657,7 @@ snapshots: dependencies: '@yarnpkg/lockfile': 1.1.0 commander: 10.0.1 - semver: 7.6.0 + semver: 7.6.2 tslib: 2.6.2 yocto-queue@0.1.0: {} diff --git a/test/fixture/source/index.scss b/test/fixture/source/index.scss index 7c4045a..b23f908 100644 --- a/test/fixture/source/index.scss +++ b/test/fixture/source/index.scss @@ -22,8 +22,3 @@ div:before { -webkit-transform: Calc(1px+2px); } } -@if ($r) { - $d: 3; - // s - @include main; -} diff --git a/test/snapshots/script.mjs.snap b/test/snapshots/script.mjs.snap index 8efe076ff2289b68df0d903edbaee44f2a9d63d3..b3ac39a13b2e428808fd7745099573dbb662f5c1 100644 GIT binary patch literal 660 zcmV;F0&D$2RzVNpTIngeE_0Sv!cwdRIYY+Od|_gO6GaET6uvP%d_e|3Hgh-=9y`N*RQHe~ z^kfm$x(te)wpy(!6LMMR$C6hT_dIVG>ATkE0b#Tygc#w|=e!$nYw;E-11xb;0@OK1 znlT1!a^s~S6BpXFXmPvN0%F_G81t7}kTM#4mr@8xE-*m(=p@$Lb~a@^4p@gA!yrFvZL!HDvy*kompk zx_CqOg*GCPB4iH^)LWrgM;>oTyDMq?<9isP!+_IE@KO3QgXfP@ikC9OA~uUr`$9&M z!L^AauYJY+p~1L$7TlFy;DX!WUBLBJp0A{)&hfBxQBixb uUsdosZ}4ke^xs|F^IFGyUqSA)L9TJUzbCCRx5nJ=2f06#5*t&96aWCpJ4EmR literal 666 zcmV;L0%iR{RzV*B^@r00000000B+md}gRKorMoMTFe^4<1EGx6}ruUfS)V$ijjrm%WGxolYh{ znsg>)Uc0Fw2X7v|dXn|zpXp4SCJp4Wt1K?ekVEGC-c07beE23e-Xaz>lHYzY3^8Vl zr3@t}i3|kFuQ#qskbLask2_C0dOUj4dDe})&H%20P=dM$P_bGuj&L1f09?Rz5F(Qa zp$rHD1`HO=4>=FH4+F=t*OGz6G^A)xEh}6lB1N#{_-K}cC&UoGKmlGVR$wnks={TI z4^=|svMS1X9i*kU*=!mc5?1G@j5HqZx^5X6Ia2BX6i zQo#NRl`Z8KZL&(&q5@;hKsPt^tWL3`=QP)!di`CoDbx~z{-48v=o*cEHD8ZylnYEDl zvq9$fuH(QPlrOlT0i%)i;6S|Sk# zq1-o=-^Nd|)lYvnko;l%)FAg?8!M%)Kdkcx#vcsE=C|Ok^a5NE8N3S!_u2VIfzm&j z)-Fn0KkQcx{LT%2#zp_#hkMoPc<&p?of_nf␊ /* stylelint-disable block-no-empty, unit-no-unknown */␊ body {␊ - width: 0;␊ height: 2;␊ + width: 0;␊ }␊ ␊ div::-moz-placeholder {␊ - display: block;␊ + opacity: 0.5;␊ -moz-appearance: -webkit-flex;␊ color: #ffffff;␊ - opacity: 0.5;␊ + display: block;␊ }␊ ␊ /* comment */␊ @@ -1538,15 +1531,15 @@ Generated by [AVA](https://avajs.dev). ` @@ -2188,15 +2181,15 @@ Generated by [AVA](https://avajs.dev). ␊ \`\`\`␊ @@ -2290,15 +2283,15 @@ Generated by [AVA](https://avajs.dev). ␊