diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 11ccadc..714d30c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: Tests +name: CI on: [push, pull_request] env: CI: true diff --git a/CHANGELOG.md b/CHANGELOG.md index e673fd4..ac10b85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [8.0.1] +## [Unreleased] +### Changed +- Updated repo to be compatible with stylelint v14. Updated stylelint peerDependency range from `^13.0.0` to `^14.0.0` [PR](https://github.com/bjankord/stylelint-config-sass-guidelines/pull/197) +- Renamed tests files extension from `.js`to `.spec.js` +- Moved manually tested passing and failing SCSS examples into `__tests__/manual-test-cases` + ### Added - Added node 16 to automated test matrix ### Removed +- Dropped official support for Node 10 [PR](https://github.com/bjankord/stylelint-config-sass-guidelines/pull/197) +- Removed node 10 from automated test matrix [PR](https://github.com/bjankord/stylelint-config-sass-guidelines/pull/198) - Removed babel as a dev dependency, resolves issue with security vuln in glob-parent CVE-2020-28469 +- Removed `src/.stylelint.json` ## [8.0.0] ### Added diff --git a/README.md b/README.md index af960a5..cfd0905 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,20 @@ # stylelint-config-sass-guidelines [![NPM version](http://img.shields.io/npm/v/stylelint-config-sass-guidelines.svg)](https://www.npmjs.org/package/stylelint-config-sass-guidelines) - -[![Build Status](https://travis-ci.org/bjankord/stylelint-config-sass-guidelines.svg?branch=master)](https://travis-ci.org/bjankord/stylelint-config-sass-guidelines) -[![Downloads per month](https://img.shields.io/npm/dm/stylelint-config-sass-guidelines.svg)](http://npmcharts.com/compare/stylelint-config-sass-guidelines) - -[![Dependency Status](https://david-dm.org/bjankord/stylelint-config-sass-guidelines.svg)](https://david-dm.org/bjankord/stylelint-config-sass-guidelines) -[![devDependency Status](https://david-dm.org/bjankord/stylelint-config-sass-guidelines/dev-status.svg)](https://david-dm.org/bjankord/stylelint-config-sass-guidelines/?type=dev) +[![Build Status](https://github.com/bjankord/stylelint-config-sass-guidelines/workflows/CI/badge.svg)](https://github.com/bjankord/stylelint-config-sass-guidelines/actions?workflow=CI) [![Known Vulnerabilities](https://snyk.io/test/github/bjankord/stylelint-config-sass-guidelines/badge.svg)](https://snyk.io//test/github/bjankord/stylelint-config-sass-guidelines) +[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/bjankord/stylelint-config-sass-guidelines/blob/main/CONTRIBUTING.md) +[![Downloads per month](https://img.shields.io/npm/dm/stylelint-config-sass-guidelines.svg)](http://npmcharts.com/compare/stylelint-config-sass-guidelines) -A stylelint config inspired by [sass-guidelin.es](https://sass-guidelin.es/). +> A stylelint config inspired by [sass-guidelin.es](https://sass-guidelin.es/). This linter has been designed / tested with SCSS syntax based on the SCSS guidelines documented in https://sass-guidelin.es/. It is intended for use with SCSS syntax, not Sass (tab style) syntax. +This config: +- bundles the [`stylelint-scss` plugin pack](https://github.com/stylelint-scss/stylelint-scss) and turns on its rules that check for possible errors +- bundles the [`stylelint-order` plugin pack](https://github.com/hudochenkov/stylelint-order) and turns on its rules that check for possible errors +- bundles the [`postcss-scss` custom syntax](https://github.com/postcss/postcss-scss) and configures it + # Translations * [Deutsch](page/de.md) @@ -56,11 +58,6 @@ For example, to change the `indentation` to tabs and turn off the `number-leadin ## Documentation -### Plugins - -* [`stylelint-order`](https://github.com/hudochenkov/stylelint-order): A plugin pack of order related linting rules for stylelint. -* [`stylelint-scss`](https://github.com/kristerkari/stylelint-scss): A collection of SCSS specific linting rules for stylelint - ### Configured lints This is a list of the lints turned on in this configuration, and what they do. diff --git a/RELEASE.md b/RELEASE.md index 14daa07..a946c2f 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -15,5 +15,5 @@ Releasing the project requires these steps: [npm-url]: https://www.npmjs.com/package/stylelint-config-sass-guidelines -[release-scripts-url]: https://github.com/bjankord/stylelint-config-sass-guidelines/blob/master/package.json#L48-L50 +[release-scripts-url]: https://github.com/bjankord/stylelint-config-sass-guidelines/blob/main/package.json#L48-L50 [github-release-url]: https://github.com/bjankord/stylelint-config-sass-guidelines/releases diff --git a/__tests__/README.md b/__tests__/README.md index bd27f04..ba6acdb 100644 --- a/__tests__/README.md +++ b/__tests__/README.md @@ -1,8 +1,6 @@ # How to add tests -* Update `./src/.stylelintrc.json` with your new rules -* Run npm run build to generate `./index.js` -* Create your test file named after the scss-lint your you are adding a stylelint rule for +* Create your test file named after the scss lint your you are adding a stylelint rule for. For example, `__tests___/unit/bang-format.spec.js` * Copy the code from one of the other tests into your test new file * Update the test so you have .scss code that will produce lint you want to test for * Add a console.log statement within the checkResult function in the test file passing `result` to the log statement. e.g. `console.log(result)` diff --git a/src/failing-test-cases.scss b/__tests__/manual-test-cases/failing-test-cases.scss similarity index 100% rename from src/failing-test-cases.scss rename to __tests__/manual-test-cases/failing-test-cases.scss diff --git a/src/passing-test-cases.scss b/__tests__/manual-test-cases/passing-test-cases.scss similarity index 100% rename from src/passing-test-cases.scss rename to __tests__/manual-test-cases/passing-test-cases.scss diff --git a/__tests__/manual-test-cases/stylelint.config.js b/__tests__/manual-test-cases/stylelint.config.js new file mode 100644 index 0000000..8e49b90 --- /dev/null +++ b/__tests__/manual-test-cases/stylelint.config.js @@ -0,0 +1,2 @@ +const rules = require('../../index'); +module.exports = {...rules}; diff --git a/__tests__/bang-format.js b/__tests__/unit/bang-format.spec.js similarity index 96% rename from __tests__/bang-format.js rename to __tests__/unit/bang-format.spec.js index f474ea9..7563eac 100644 --- a/__tests__/bang-format.js +++ b/__tests__/unit/bang-format.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/border-zero.js b/__tests__/unit/border-zero.spec.js similarity index 94% rename from __tests__/border-zero.js rename to __tests__/unit/border-zero.spec.js index 8a145b0..14d859e 100644 --- a/__tests__/border-zero.js +++ b/__tests__/unit/border-zero.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/color-keyword.js b/__tests__/unit/color-keyword.spec.js similarity index 94% rename from __tests__/color-keyword.js rename to __tests__/unit/color-keyword.spec.js index 5d8c781..13a2c09 100644 --- a/__tests__/color-keyword.js +++ b/__tests__/unit/color-keyword.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/debug-statement.js b/__tests__/unit/debug-statement.spec.js similarity index 94% rename from __tests__/debug-statement.js rename to __tests__/unit/debug-statement.spec.js index f52c546..434fd15 100644 --- a/__tests__/debug-statement.js +++ b/__tests__/unit/debug-statement.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/declaration-order.js b/__tests__/unit/declaration-order.spec.js similarity index 97% rename from __tests__/declaration-order.js rename to __tests__/unit/declaration-order.spec.js index abc285c..ad4b593 100644 --- a/__tests__/declaration-order.js +++ b/__tests__/unit/declaration-order.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/empty-line-between-blocks.js b/__tests__/unit/empty-line-between-blocks.spec.js similarity index 95% rename from __tests__/empty-line-between-blocks.js rename to __tests__/unit/empty-line-between-blocks.spec.js index 343841c..431f1ce 100644 --- a/__tests__/empty-line-between-blocks.js +++ b/__tests__/unit/empty-line-between-blocks.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/empty-rule.js b/__tests__/unit/empty-rule.spec.js similarity index 94% rename from __tests__/empty-rule.js rename to __tests__/unit/empty-rule.spec.js index da07b58..df91580 100644 --- a/__tests__/empty-rule.js +++ b/__tests__/unit/empty-rule.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/final-newline.js b/__tests__/unit/final-newline.spec.js similarity index 94% rename from __tests__/final-newline.js rename to __tests__/unit/final-newline.spec.js index 676b746..a2326d4 100644 --- a/__tests__/final-newline.js +++ b/__tests__/unit/final-newline.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/hex-length.js b/__tests__/unit/hex-length.spec.js similarity index 94% rename from __tests__/hex-length.js rename to __tests__/unit/hex-length.spec.js index 5f6f349..301b1a2 100644 --- a/__tests__/hex-length.js +++ b/__tests__/unit/hex-length.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/hex-notation.js b/__tests__/unit/hex-notation.spec.js similarity index 94% rename from __tests__/hex-notation.js rename to __tests__/unit/hex-notation.spec.js index ef32f05..fb3da80 100644 --- a/__tests__/hex-notation.js +++ b/__tests__/unit/hex-notation.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/hex-validation.js b/__tests__/unit/hex-validation.spec.js similarity index 94% rename from __tests__/hex-validation.js rename to __tests__/unit/hex-validation.spec.js index 54195ac..ecdd4d4 100644 --- a/__tests__/hex-validation.js +++ b/__tests__/unit/hex-validation.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/id-selector.js b/__tests__/unit/id-selector.spec.js similarity index 94% rename from __tests__/id-selector.js rename to __tests__/unit/id-selector.spec.js index 2f9ae45..0a5d7d7 100644 --- a/__tests__/id-selector.js +++ b/__tests__/unit/id-selector.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/import-path.js b/__tests__/unit/import-path.spec.js similarity index 96% rename from __tests__/import-path.js rename to __tests__/unit/import-path.spec.js index 57b7da6..bcebacb 100644 --- a/__tests__/import-path.js +++ b/__tests__/unit/import-path.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/indentation.js b/__tests__/unit/indentation.spec.js similarity index 94% rename from __tests__/indentation.js rename to __tests__/unit/indentation.spec.js index 4e59069..1340cb3 100644 --- a/__tests__/indentation.js +++ b/__tests__/unit/indentation.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/leading-zero.js b/__tests__/unit/leading-zero.spec.js similarity index 94% rename from __tests__/leading-zero.js rename to __tests__/unit/leading-zero.spec.js index 9f1a8fa..58614ae 100644 --- a/__tests__/leading-zero.js +++ b/__tests__/unit/leading-zero.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/name-format.js b/__tests__/unit/name-format.spec.js similarity index 97% rename from __tests__/name-format.js rename to __tests__/unit/name-format.spec.js index 457a35e..7e6ada0 100644 --- a/__tests__/name-format.js +++ b/__tests__/unit/name-format.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/nesting-depth.js b/__tests__/unit/nesting-depth.spec.js similarity index 97% rename from __tests__/nesting-depth.js rename to __tests__/unit/nesting-depth.spec.js index 961ceca..aec94e4 100644 --- a/__tests__/nesting-depth.js +++ b/__tests__/unit/nesting-depth.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/placeholder-in-extend.js b/__tests__/unit/placeholder-in-extend.spec.js similarity index 95% rename from __tests__/placeholder-in-extend.js rename to __tests__/unit/placeholder-in-extend.spec.js index b419b16..e00aa43 100644 --- a/__tests__/placeholder-in-extend.js +++ b/__tests__/unit/placeholder-in-extend.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/property-spelling.js b/__tests__/unit/property-spelling.spec.js similarity index 95% rename from __tests__/property-spelling.js rename to __tests__/unit/property-spelling.spec.js index be59995..bcce438 100644 --- a/__tests__/property-spelling.js +++ b/__tests__/unit/property-spelling.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/pseudo-element.js b/__tests__/unit/pseudo-element.spec.js similarity index 95% rename from __tests__/pseudo-element.js rename to __tests__/unit/pseudo-element.spec.js index ca34cdc..bec69e9 100644 --- a/__tests__/pseudo-element.js +++ b/__tests__/unit/pseudo-element.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/qualifying-element.js b/__tests__/unit/qualifying-element.spec.js similarity index 97% rename from __tests__/qualifying-element.js rename to __tests__/unit/qualifying-element.spec.js index 055bafb..80e4685 100644 --- a/__tests__/qualifying-element.js +++ b/__tests__/unit/qualifying-element.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/selector-depth.js b/__tests__/unit/selector-depth.spec.js similarity index 96% rename from __tests__/selector-depth.js rename to __tests__/unit/selector-depth.spec.js index e7d99a7..cac1997 100644 --- a/__tests__/selector-depth.js +++ b/__tests__/unit/selector-depth.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/selector-format.js b/__tests__/unit/selector-format.spec.js similarity index 97% rename from __tests__/selector-format.js rename to __tests__/unit/selector-format.spec.js index 14cb0fb..b21de02 100644 --- a/__tests__/selector-format.js +++ b/__tests__/unit/selector-format.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/shorthand.js b/__tests__/unit/shorthand.spec.js similarity index 95% rename from __tests__/shorthand.js rename to __tests__/unit/shorthand.spec.js index be1160a..e77a6b2 100644 --- a/__tests__/shorthand.js +++ b/__tests__/unit/shorthand.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/single-line-per-property.js b/__tests__/unit/single-line-per-property.spec.js similarity index 96% rename from __tests__/single-line-per-property.js rename to __tests__/unit/single-line-per-property.spec.js index 0595db6..9405854 100644 --- a/__tests__/single-line-per-property.js +++ b/__tests__/unit/single-line-per-property.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/single-line-per-selector.js b/__tests__/unit/single-line-per-selector.spec.js similarity index 94% rename from __tests__/single-line-per-selector.js rename to __tests__/unit/single-line-per-selector.spec.js index 1491a65..1532d53 100644 --- a/__tests__/single-line-per-selector.js +++ b/__tests__/unit/single-line-per-selector.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/space-after-comma.js b/__tests__/unit/space-after-comma.spec.js similarity index 96% rename from __tests__/space-after-comma.js rename to __tests__/unit/space-after-comma.spec.js index 19f8201..78ecf2d 100644 --- a/__tests__/space-after-comma.js +++ b/__tests__/unit/space-after-comma.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/space-after-property-colon.js b/__tests__/unit/space-after-property-colon.spec.js similarity index 96% rename from __tests__/space-after-property-colon.js rename to __tests__/unit/space-after-property-colon.spec.js index f4a9ec7..5e5cbfe 100644 --- a/__tests__/space-after-property-colon.js +++ b/__tests__/unit/space-after-property-colon.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/space-after-property-name.js b/__tests__/unit/space-after-property-name.spec.js similarity index 94% rename from __tests__/space-after-property-name.js rename to __tests__/unit/space-after-property-name.spec.js index 9fc7148..da09cd6 100644 --- a/__tests__/space-after-property-name.js +++ b/__tests__/unit/space-after-property-name.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/space-after-variable-colon.js b/__tests__/unit/space-after-variable-colon.spec.js similarity index 94% rename from __tests__/space-after-variable-colon.js rename to __tests__/unit/space-after-variable-colon.spec.js index 929f790..4ad8e99 100644 --- a/__tests__/space-after-variable-colon.js +++ b/__tests__/unit/space-after-variable-colon.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/space-after-variable-name.js b/__tests__/unit/space-after-variable-name.spec.js similarity index 94% rename from __tests__/space-after-variable-name.js rename to __tests__/unit/space-after-variable-name.spec.js index f00101c..f77cda7 100644 --- a/__tests__/space-after-variable-name.js +++ b/__tests__/unit/space-after-variable-name.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/space-before-brace.js b/__tests__/unit/space-before-brace.spec.js similarity index 95% rename from __tests__/space-before-brace.js rename to __tests__/unit/space-before-brace.spec.js index cb23588..7b9791d 100644 --- a/__tests__/space-before-brace.js +++ b/__tests__/unit/space-before-brace.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/space-between-parens.js b/__tests__/unit/space-between-parens.spec.js similarity index 97% rename from __tests__/space-between-parens.js rename to __tests__/unit/space-between-parens.spec.js index aeee935..4236613 100644 --- a/__tests__/space-between-parens.js +++ b/__tests__/unit/space-between-parens.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/string-quotes.js b/__tests__/unit/string-quotes.spec.js similarity index 94% rename from __tests__/string-quotes.js rename to __tests__/unit/string-quotes.spec.js index f1223a3..218f69f 100644 --- a/__tests__/string-quotes.js +++ b/__tests__/unit/string-quotes.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/trailing-semicolon.js b/__tests__/unit/trailing-semicolon.spec.js similarity index 95% rename from __tests__/trailing-semicolon.js rename to __tests__/unit/trailing-semicolon.spec.js index 067ba8a..a720f41 100644 --- a/__tests__/trailing-semicolon.js +++ b/__tests__/unit/trailing-semicolon.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/trailing-zero.js b/__tests__/unit/trailing-zero.spec.js similarity index 94% rename from __tests__/trailing-zero.js rename to __tests__/unit/trailing-zero.spec.js index f9949fe..52269d4 100644 --- a/__tests__/trailing-zero.js +++ b/__tests__/unit/trailing-zero.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/unnecessary-mantissa.js b/__tests__/unit/unnecessary-mantissa.spec.js similarity index 94% rename from __tests__/unnecessary-mantissa.js rename to __tests__/unit/unnecessary-mantissa.spec.js index 2d9b212..4abf416 100644 --- a/__tests__/unnecessary-mantissa.js +++ b/__tests__/unit/unnecessary-mantissa.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/unnecessary-parent-reference.js b/__tests__/unit/unnecessary-parent-reference.spec.js similarity index 95% rename from __tests__/unnecessary-parent-reference.js rename to __tests__/unit/unnecessary-parent-reference.spec.js index 5e19f10..22fc28b 100644 --- a/__tests__/unnecessary-parent-reference.js +++ b/__tests__/unit/unnecessary-parent-reference.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/url-quotes.js b/__tests__/unit/url-quotes.spec.js similarity index 94% rename from __tests__/url-quotes.js rename to __tests__/unit/url-quotes.spec.js index 2e15dcf..08b6afd 100644 --- a/__tests__/url-quotes.js +++ b/__tests__/unit/url-quotes.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/valid-scss.js b/__tests__/unit/valid-scss.spec.js similarity index 99% rename from __tests__/valid-scss.js rename to __tests__/unit/valid-scss.spec.js index dc65f8e..f62ab6e 100644 --- a/__tests__/valid-scss.js +++ b/__tests__/unit/valid-scss.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/vendor-prefixes.js b/__tests__/unit/vendor-prefixes.spec.js similarity index 97% rename from __tests__/vendor-prefixes.js rename to __tests__/unit/vendor-prefixes.spec.js index 36522c4..f6ac3c0 100644 --- a/__tests__/vendor-prefixes.js +++ b/__tests__/unit/vendor-prefixes.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/__tests__/zero-unit.js b/__tests__/unit/zero-unit.spec.js similarity index 94% rename from __tests__/zero-unit.js rename to __tests__/unit/zero-unit.spec.js index c08cbe4..adaf638 100644 --- a/__tests__/zero-unit.js +++ b/__tests__/unit/zero-unit.spec.js @@ -1,4 +1,4 @@ -const config = require("../index"); +const config = require("../../index"); const stylelint = require("stylelint"); const postcss = require("postcss"); const scssSyntax = require("postcss-scss"); diff --git a/package.json b/package.json index 6d9f9f2..489cf00 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "stylelint-scss", "scss", "sass", - "guidelines" + "guidelines", + "lint", + "linter" ], "author": "Brett Jankord", "license": "MIT", @@ -36,26 +38,15 @@ "stylelint": "^14.0.0" }, "devDependencies": { - "prepend-file": "^2.0.0", - "shelljs": "^0.8.1", "stylelint": "^14.0.0", "tape": "^5.3.1" }, "scripts": { - "build": "node scripts/build.js", "release:major": "npm test && npm run build && npm version major -m \"Released version %s\" && npm publish && git push --follow-tags", "release:minor": "npm test && npm run build && npm version minor -m \"Released version %s\" && npm publish && git push --follow-tags", "release:patch": "npm test && npm run build && npm version patch -m \"Released version %s\" && npm publish && git push --follow-tags", - "scss-lint-failing-case": "cd src; bundle exec scss-lint failing-test-cases.scss -c .scss-lint.yml; exit 0", - "scss-lint-passing-case": "cd src; bundle exec scss-lint passing-test-cases.scss -c .scss-lint.yml; exit 0", - "stylelint-failing-case": "cd src; stylelint failing-test-cases.scss; exit 0", - "stylelint-passing-case": "cd src; stylelint passing-test-cases.scss; exit 0", - "tape": "tape \"__tests__/**/*.js\"", - "test": "npm run build && npm run tape" - }, - "babel": { - "presets": [ - "@babel/preset-env" - ] + "stylelint-failing-case": "cd __tests__/manual-test-cases; stylelint failing-test-cases.scss", + "stylelint-passing-case": "cd __tests__/manual-test-cases; stylelint passing-test-cases.scss", + "test": "tape \"__tests__/unit/*.spec.js\"" } } diff --git a/scripts/build.js b/scripts/build.js deleted file mode 100644 index 49aaefe..0000000 --- a/scripts/build.js +++ /dev/null @@ -1,14 +0,0 @@ -var shell = require('shelljs'); -var prependFile = require('prepend-file'); - -// Copy over .stylelintrc.json as index.js -// This will replace index.js if it exists already -shell.cp('src/.stylelintrc.json', 'index.js'); - -// Add 'module.exports =' to object in index.js -prependFile('index.js', 'module.exports = ', function (err) { - if (err) { - console.log('Error prepending "module.exports = " to index.js'); - } - console.log('Build successful'); -}); diff --git a/src/.stylelintrc.json b/src/.stylelintrc.json deleted file mode 100644 index 748a51d..0000000 --- a/src/.stylelintrc.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "plugins": ["stylelint-order", "stylelint-scss"], - "customSyntax": "postcss-scss", - "rules": { - "at-rule-disallowed-list": ["debug"], - "at-rule-no-unknown": null, - "at-rule-no-vendor-prefix": true, - "block-no-empty": true, - "block-opening-brace-space-before": "always", - "color-hex-case": "lower", - "color-hex-length": "short", - "color-named": "never", - "color-no-invalid-hex": true, - "declaration-bang-space-after": "never", - "declaration-bang-space-before": "always", - "declaration-block-semicolon-newline-after": "always", - "declaration-block-semicolon-space-before": "never", - "declaration-block-single-line-max-declarations": 1, - "declaration-block-trailing-semicolon": "always", - "declaration-colon-space-after": "always-single-line", - "declaration-colon-space-before": "never", - "declaration-property-value-disallowed-list": { - "border": ["none"], - "border-top": ["none"], - "border-right": ["none"], - "border-bottom": ["none"], - "border-left": ["none"] - }, - "function-comma-space-after": "always-single-line", - "function-parentheses-space-inside": "never", - "function-url-quotes": "always", - "indentation": 2, - "length-zero-no-unit": true, - "max-nesting-depth": [ - 1, - { - "ignoreAtRules": [ - "each", - "media", - "supports", - "include" - ] - } - ], - "media-feature-name-no-vendor-prefix": true, - "media-feature-parentheses-space-inside": "never", - "no-missing-end-of-source-newline": true, - "number-leading-zero": "always", - "number-no-trailing-zeros": true, - "order/order": [ - [ - "custom-properties", - "dollar-variables", - { - "type": "at-rule", - "name": "extend" - }, - { - "type": "at-rule", - "name": "include", - "hasBlock": false - }, - "declarations", - { - "type": "at-rule", - "name": "include", - "hasBlock": true - }, - "rules" - ] - ], - "order/properties-alphabetical-order": true, - "property-no-unknown": true, - "property-no-vendor-prefix": true, - "rule-empty-line-before": [ - "always-multi-line", - { - "except": ["first-nested"], - "ignore": ["after-comment"] - } - ], - "scss/at-extend-no-missing-placeholder": true, - "scss/at-function-pattern": "^[a-z]+([a-z0-9-]+[a-z0-9]+)?$", - "scss/at-import-no-partial-leading-underscore": true, - "scss/at-import-partial-extension-blacklist": ["scss"], - "scss/at-mixin-pattern": "^[a-z]+([a-z0-9-]+[a-z0-9]+)?$", - "scss/at-rule-no-unknown": true, - "scss/dollar-variable-colon-space-after": "always", - "scss/dollar-variable-colon-space-before": "never", - "scss/dollar-variable-pattern": "^[_]?[a-z]+([a-z0-9-]+[a-z0-9]+)?$", - "scss/percent-placeholder-pattern": "^[a-z]+([a-z0-9-]+[a-z0-9]+)?$", - "scss/selector-no-redundant-nesting-selector": true, - "selector-class-pattern": [ - "^[a-z0-9\\-]+$", - { - "message": - "Selector should be written in lowercase with hyphens (selector-class-pattern)" - } - ], - "selector-list-comma-newline-after": "always", - "selector-max-compound-selectors": 3, - "selector-max-id": 0, - "selector-no-qualifying-type": true, - "selector-no-vendor-prefix": true, - "selector-pseudo-element-colon-notation": "double", - "selector-pseudo-element-no-unknown": true, - "shorthand-property-no-redundant-values": true, - "string-quotes": "single", - "value-no-vendor-prefix": true - } -}