From 03ee382bc4fa4e7396b9e874c29fad32746124d9 Mon Sep 17 00:00:00 2001 From: Sabina Talipova Date: Mon, 22 Apr 2024 13:16:49 +1200 Subject: [PATCH] MNT Replace sass-lint with stylelint --- .sass-lint.yml | 179 ----------------------------------------------- .stylelintignore | 2 + .stylelintrc.js | 1 + package.json | 6 +- 4 files changed, 6 insertions(+), 182 deletions(-) delete mode 100644 .sass-lint.yml create mode 100644 .stylelintignore create mode 100644 .stylelintrc.js diff --git a/.sass-lint.yml b/.sass-lint.yml deleted file mode 100644 index 4cb623f..0000000 --- a/.sass-lint.yml +++ /dev/null @@ -1,179 +0,0 @@ -# sass-lint config to match the AirBNB style guide -# See silverstripe-admin -files: - include: '**/client/src/**/*.scss' - ignore: - - 'client/src/styles/legacy/*' - - 'src/**/*' -options: - formatter: stylish - merge-default-rules: false -rules: - # Warnings - # Things that require actual refactoring are marked as warnings - class-name-format: - - 1 - - convention: hyphenatedbem - placeholder-name-format: - - 1 - - convention: hyphenatedlowercase - nesting-depth: - - 1 - - max-depth: 3 - no-ids: 1 - no-important: 1 - no-misspelled-properties: - - 1 - - extra-properties: - - "-moz-border-radius-topleft" - - "-moz-border-radius-topright" - - "-moz-border-radius-bottomleft" - - "-moz-border-radius-bottomright" - variable-name-format: - - 1 - - allow-leading-underscore: true - convention: hyphenatedlowercase - no-extends: 1 - - # Warnings: these things are preferential rather than mandatory - no-css-comments: 1 - - # Errors - # Things that can be easily fixed are marked as errors - indentation: - - 2 - - size: 2 - final-newline: - - 2 - - include: true - no-trailing-whitespace: 2 - border-zero: - - 2 - - convention: '0' - brace-style: - - 2 - - allow-single-line: true - clean-import-paths: - - 2 - - filename-extension: false - leading-underscore: false - no-debug: 2 - no-empty-rulesets: 2 - no-invalid-hex: 2 - no-mergeable-selectors: 2 - # no-qualifying-elements: - # - 1 - # - allow-element-with-attribute: false - # allow-element-with-class: false - # allow-element-with-id: false - no-trailing-zero: 2 - no-url-protocols: 2 - quotes: - - 2 - - style: double - space-after-bang: - - 2 - - include: false - space-after-colon: - - 2 - - include: true - space-after-comma: - - 2 - - include: true - space-before-bang: - - 2 - - include: true - space-before-brace: - - 2 - - include: true - space-before-colon: 2 - space-between-parens: - - 2 - - include: false - trailing-semicolon: 2 - url-quotes: 2 - zero-unit: 2 - single-line-per-selector: 2 - one-declaration-per-line: 2 - empty-line-between-blocks: - - 2 - - ignore-single-line-rulesets: true - - - # Missing rules - # There are no sass-lint rules for the following AirBNB style items, but thess - # - Put comments on their own line - # - Put property delcarations before mixins - - # Disabled rules - - # These are other rules that we may wish to consider using in the future - # They are not part of the AirBNB CSS standard but they would introduce some strictness - # bem-depth: 0 - # variable-for-property: 0 - # no-transition-all: 0 - # hex-length: - # - 1 - # - style: short - # hex-notation: - # - 1 - # - style: lowercase - # property-units: - # - 1 - # - global: - # - ch - # - em - # - ex - # - rem - # - cm - # - in - # - mm - # - pc - # - pt - # - px - # - q - # - vh - # - vw - # - vmin - # - vmax - # - deg - # - grad - # - rad - # - turn - # - ms - # - s - # - Hz - # - kHz - # - dpi - # - dpcm - # - dppx - # - '%' - # per-property: {} - # force-attribute-nesting: 1 - # force-element-nesting: 1 - # force-pseudo-nesting: 1 - # function-name-format: - # - 1 - # - allow-leading-underscore: true - # convention: hyphenatedlowercase - # no-color-literals: 1 - # no-duplicate-properties: 1 - # mixin-name-format: - # - 1 - # - allow-leading-underscore: true - # convention: hyphenatedlowercase - # shorthand-values: - # - 1 - # - allowed-shorthands: - # - 1 - # - 2 - # - 3 - # leading-zero: - # - 1 - # - include: false - # no-vendor-prefixes: - # - 1 - # - additional-identifiers: [] - # excluded-identifiers: [] - # placeholder-in-extend: 1 - # no-color-keywords: 2 diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 0000000..7c6027c --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,2 @@ +client/src/styles/legacy/* +src/**/* diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 0000000..ef7353b --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1 @@ +module.exports = require('@silverstripe/eslint-config/.stylelintrc'); diff --git a/package.json b/package.json index 801aa41..f0536e8 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "lint": "yarn lint-js && yarn lint-sass", "lint-js": "eslint client/src", "lint-js-fix": "eslint client/src --fix", - "lint-sass": "sass-lint client/src" + "lint-sass": "stylelint **/client/src/**/*.scss" }, "repository": { "type": "git", @@ -37,8 +37,8 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@silverstripe/eslint-config": "^1.1.0", - "@silverstripe/webpack-config": "^2.0.0", + "@silverstripe/eslint-config": "^1.2.1", + "@silverstripe/webpack-config": "^2.1.0", "copy-webpack-plugin": "^11.0.0", "webpack": "^5.74.0", "webpack-cli": "^5.0.0"