Jforrester has uploaded a new change for review.
https://gerrit.wikimedia.org/r/243233
Change subject: [WIP] Use grunt-postcss with stylelint instead of csslint
......................................................................
[WIP] Use grunt-postcss with stylelint instead of csslint
Change-Id: I63d3353cfeb6a64d2ee7670223247cc8a188accc
---
A .stylelintrc
M Gruntfile.js
M package.json
3 files changed, 103 insertions(+), 9 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor
refs/changes/33/243233/1
diff --git a/.stylelintrc b/.stylelintrc
new file mode 100644
index 0000000..6bd8f72
--- /dev/null
+++ b/.stylelintrc
@@ -0,0 +1,71 @@
+{
+ "rules": {
+ "at-rule-empty-line-before": [ 2, "always", {
+ "except": ["blockless-group"]
+ } ],
+ "at-rule-no-vendor-prefix": 2,
+ "block-closing-brace-newline-after": [ 2, "always" ],
+ "block-closing-brace-newline-before": [ 2, "always-multi-line"
],
+ "block-closing-brace-space-before": [ 2, "always-single-line" ],
+ "block-no-empty": 2,
+ "block-opening-brace-newline-after": [ 2, "always-multi-line" ],
+ "block-opening-brace-space-after": [ 2, "always-single-line" ],
+ "block-opening-brace-space-before": [ 2, "always" ],
+ "color-hex-case": [ 2, "lower" ],
+ "color-hex-length": [ 2, "short" ],
+ "color-no-invalid-hex": 2,
+ "comment-empty-line-before": [ 2, "always" ],
+ "declaration-bang-space-after": [ 2, "never" ],
+ "declaration-bang-space-before": [ 2, "always" ],
+ "declaration-block-semicolon-newline-after": [ 2,
"always-multi-line" ],
+ "declaration-block-semicolon-space-after": [ 2,
"always-single-line" ],
+ "declaration-block-semicolon-space-before": [ 2, "never" ],
+ "declaration-colon-space-after": [ 2, "always" ],
+ "declaration-colon-space-before": [ 2, "never" ],
+ "function-calc-no-unspaced-operator": 2,
+ "function-comma-space-after": [ 2, "always" ],
+ "function-comma-space-before": [ 2, "never" ],
+ "function-parentheses-space-inside": [ 2, "never" ],
+ "function-space-after": [ 2, "always" ],
+ "function-url-quotes": [ 2, "double" ],
+ "indentation": [ 2, "tab" ],
+ "media-feature-colon-space-after": [ 2, "always" ],
+ "media-feature-colon-space-before": [ 2, "never" ],
+ "media-feature-name-no-vendor-prefix": 2,
+ "media-feature-range-operator-space-after": [ 2, "always" ],
+ "media-feature-range-operator-space-before": [ 2, "always" ],
+ "media-query-list-comma-newline-after": [ 2,
"always-multi-line" ],
+ "media-query-list-comma-space-after": [ 2, "always-single-line"
],
+ "media-query-list-comma-space-before": [ 2, "never" ],
+ "media-query-parentheses-space-inside": [ 2, "never" ],
+ "nesting-block-opening-brace-newline-before": [ 2,
"always-multi-line" ],
+ "nesting-block-opening-brace-space-before": [ 2,
"always-single-line" ],
+ "no-eol-whitespace": 2,
+ "no-missing-eof-newline": 2,
+ "no-multiple-empty-lines": 2,
+ "number-leading-zero": [ 2, "always" ],
+ "number-no-trailing-zeros": 2,
+ "number-zero-length-no-unit": 2,
+ "property-no-vendor-prefix": 2,
+ "rule-nested-empty-line-before": [ 2, "always-multi-line", {
+ "except": ["first-nested"]
+ } ],
+ "root-no-standard-properties": 2,
+ "rule-no-shorthand-property-overrides": 2,
+ "rule-non-nested-empty-line-before": [ 2, "always-multi-line" ],
+ "rule-properties-order": [ 2, "alphabetical" ],
+ "rule-trailing-semicolon": [ 2, "always" ],
+ "selector-combinator-space-after": [ 2, "always" ],
+ "selector-combinator-space-before": [ 2, "always" ],
+ "selector-list-comma-newline-after": [ 2, "always" ],
+ "selector-list-comma-space-before": [ 2, "never" ],
+ "selector-no-vendor-prefix": 2,
+ "selector-pseudo-element-colon-notation": [ 2, "double" ],
+ "selector-root-no-composition": 2,
+ "string-quotes": [ 2, "double" ],
+ "value-list-comma-newline-after": [ 2, "always-multi-line" ],
+ "value-list-comma-space-after": [ 2, "always-single-line" ],
+ "value-list-comma-space-before": [ 2, "never" ],
+ "value-no-vendor-prefix": 2
+ }
+}
diff --git a/Gruntfile.js b/Gruntfile.js
index d57fec5..a22fabd 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -23,17 +23,19 @@
pages[ name ] = path;
} );
return pages;
- } )();
+ } )(),
+ fs = require( 'fs' ),
+ stylelintConfig = JSON.parse( fs.readFileSync( '.stylelintrc',
'utf8' ) );
grunt.loadNpmTasks( 'grunt-jsonlint' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-contrib-clean' );
grunt.loadNpmTasks( 'grunt-contrib-concat' );
grunt.loadNpmTasks( 'grunt-contrib-copy' );
- grunt.loadNpmTasks( 'grunt-contrib-csslint' );
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
grunt.loadNpmTasks( 'grunt-css-url-embed' );
+ grunt.loadNpmTasks( 'grunt-postcss' );
grunt.loadNpmTasks( 'grunt-cssjanus' );
grunt.loadNpmTasks( 'grunt-jscs' );
grunt.loadNpmTasks( 'grunt-karma' );
@@ -265,6 +267,26 @@
},
all: '{.jsduck,build,demos,src,tests}/**/*.css'
},
+ postcss: {
+ options: {
+ map: false,
+ processors: [
+ require( 'stylelint' )( stylelintConfig
)
+ ]
+ },
+ code: [ {
+ expand: true,
+ flatten: true,
+ src: [ 'src/**/*.css' ],
+ dest: 'src/'
+ } ],
+ demos: [ {
+ expand: true,
+ flatten: true,
+ src: [ 'demos/**/*.css' ],
+ dest: 'demos/'
+ } ]
+ },
jsonlint: {
all: [
'**/*.json',
@@ -340,7 +362,7 @@
} );
grunt.registerTask( 'build', [ 'clean', 'concat', 'cssjanus',
'cssUrlEmbed', 'copy', 'buildloader' ] );
- grunt.registerTask( 'lint', [ 'jshint', 'jscs:main', 'csslint',
'jsonlint', 'banana' ] );
+ grunt.registerTask( 'lint', [ 'jshint', 'jscs:main', 'postcss',
'jsonlint', 'banana' ] );
grunt.registerTask( 'unit', [ 'karma:main' ] );
grunt.registerTask( 'fix', [ 'jscs:fix' ] );
grunt.registerTask( '_test', [ 'lint', 'git-build', 'build', 'unit' ] );
diff --git a/package.json b/package.json
index a3b0dc5..632c7a6 100644
--- a/package.json
+++ b/package.json
@@ -19,26 +19,27 @@
}
],
"devDependencies": {
- "grunt": "0.4.5",
- "grunt-cli": "0.1.13",
"grunt-banana-checker": "0.3.0",
+ "grunt-cli": "0.1.13",
"grunt-contrib-clean": "0.6.0",
"grunt-contrib-concat": "0.5.1",
"grunt-contrib-copy": "0.8.1",
- "grunt-contrib-csslint": "0.5.0",
"grunt-contrib-jshint": "0.11.3",
- "grunt-jsonlint": "1.0.4",
"grunt-contrib-watch": "0.6.1",
"grunt-css-url-embed": "1.6.1",
"grunt-cssjanus": "0.2.4",
"grunt-jscs": "2.1.0",
+ "grunt-jsonlint": "1.0.4",
"grunt-karma": "0.12.1",
- "karma": "0.13.10",
+ "grunt-postcss": "0.6.0",
+ "grunt": "0.4.5",
"karma-chrome-launcher": "0.2.0",
"karma-coverage": "0.5.2",
"karma-firefox-launcher": "0.1.6",
"karma-qunit": "0.1.5",
"karma-sauce-launcher": "0.2.14",
- "qunitjs": "1.18.0"
+ "karma": "0.13.10",
+ "qunitjs": "1.18.0",
+ "stylelint": "1.1.0"
}
}
--
To view, visit https://gerrit.wikimedia.org/r/243233
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I63d3353cfeb6a64d2ee7670223247cc8a188accc
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Jforrester <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits