Merge "build: Replace csslint with stylelint"

This commit is contained in:
jenkins-bot 2016-05-16 21:46:18 +00:00 committed by Gerrit Code Review
commit 224b75472c
23 changed files with 113 additions and 105 deletions

View file

@ -4,12 +4,13 @@
* @package VisualEditor
*/
require( 'babel-polyfill' );
/*jshint node:true */
module.exports = function ( grunt ) {
var modules = grunt.file.readJSON( 'lib/ve/build/modules.json' );
grunt.loadNpmTasks( 'grunt-contrib-copy' );
grunt.loadNpmTasks( 'grunt-contrib-csslint' );
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
grunt.loadNpmTasks( 'grunt-jsonlint' );
@ -85,11 +86,18 @@ module.exports = function ( grunt ) {
src: '<%= jshint.all %>'
}
},
csslint: {
stylelint: {
options: {
csslintrc: '.csslintrc'
stylelintrc: 'lib/ve/.stylelintrc'
},
all: 'modules/**/*.css'
src: [
'**/*.css',
'!coverage/**',
'!dist/**',
'!docs/**',
'!lib/**',
'!node_modules/**'
]
},
banana: {
all: [
@ -116,7 +124,7 @@ module.exports = function ( grunt ) {
files: [
'.{csslintrc,jscsrc,jshintignore,jshintrc}',
'<%= jshint.all %>',
'<%= csslint.all %>'
'<%= stylelint.all %>'
],
tasks: 'test'
}
@ -143,7 +151,7 @@ module.exports = function ( grunt ) {
} );
grunt.registerTask( 'build', [ 'jsduckcatconfig', 'buildloader' ] );
grunt.registerTask( 'lint', [ 'tyops', 'jshint', 'jscs:main', 'csslint', 'jsonlint', 'banana' ] );
grunt.registerTask( 'lint', [ 'tyops', 'jshint', 'jscs:main', 'stylelint', 'jsonlint', 'banana' ] );
grunt.registerTask( 'fix', [ 'jscs:fix' ] );
grunt.registerTask( 'test', [ 'build', 'lint' ] );
grunt.registerTask( 'test-ci', [ 'git-status' ] );

View file

@ -8,5 +8,5 @@
/* Override paragraph margins inside of captions */
.ve-ce-mwBlockImageNode figcaption p {
margin: 0 !important;
margin: 0 !important; /* stylelint-disable-line declaration-no-important */
}

View file

@ -67,13 +67,6 @@
position: relative;
}
/* Main document debug bar */
.ve-init-mw-desktopArticleTarget > .ve-ui-debugBar {
/* 1/0.8 */
padding: 1.25em;
margin: 1.25em -1.25em -1.25em -1.25em;
}
/* All debug bars (includes target widgets) */
.ve-ui-debugBar {
border-top: 1px solid #ccc;
@ -88,6 +81,13 @@
text-decoration: none;
}
/* Main document debug bar */
.ve-init-mw-desktopArticleTarget > .ve-ui-debugBar {
/* 1/0.8 */
padding: 1.25em;
margin: 1.25em -1.25em -1.25em -1.25em;
}
/* ve.ce.TableCellnode.css's margin replaced by more specific rule in Vector (div#content p) */
/*csslint ids:false */
#content .ve-ce-tableCellNode .ve-ce-paragraphNode {
@ -96,7 +96,7 @@
/*csslint ids:true */
/* High-definition-specific styles (because Vector adds 1em to the leftNav if width is 982px+ */
@media screen and (min-width: 982px) {
@media screen and ( min-width: 982px ) {
.ve-init-mw-target-surface {
/* 0.8/0.8, 1.5/0.8 */
margin: 0 -1.875em -1.875em -1.875em;

View file

@ -37,4 +37,4 @@
.ve-init-mw-desktopArticleTarget .redirectMsg a:hover {
text-decoration: none;
}
}

View file

@ -9,16 +9,16 @@
border: 1px solid #ccc;
background: #fff;
border-radius: 0.25em;
box-shadow: 0 0.1em 0.5em rgba(0, 0, 0, 0.15)
box-shadow: 0 0.1em 0.5em rgba( 0, 0, 0, 0.15 );
}
.ve-init-mw-desktopArticleTarget-progress-bar {
border-right: 1px solid #ccc;
background: #cde7f4;
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#eaf4fa', endColorstr='#b0d9ee');
background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #eaf4fa), color-stop(100%, #b0d9ee));
background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
background-image: linear-gradient(to bottom, #eaf4fa 0%, #b0d9ee 100%);
filter: progid:DXImageTransform.Microsoft.gradient( GradientType=0, startColorstr='#eaf4fa', endColorstr='#b0d9ee' );
background-image: -webkit-gradient( linear, right top, right bottom, color-stop( 0%, #eaf4fa ), color-stop( 100%, #b0d9ee ) );
background-image: -webkit-linear-gradient( top, #eaf4fa 0%, #b0d9ee 100% );
background-image: -moz-linear-gradient( top, #eaf4fa 0%, #b0d9ee 100% );
background-image: -o-linear-gradient( top, #eaf4fa 0%, #b0d9ee 100% );
background-image: linear-gradient( to bottom, #eaf4fa 0%, #b0d9ee 100% );
}

View file

@ -10,7 +10,7 @@
border: 1px solid #347bff;
background: #fff;
border-radius: 2px;
box-shadow: 0 0.1em 0 0 rgba(0, 0, 0, 0.15)
box-shadow: 0 0.1em 0 0 rgba( 0, 0, 0, 0.15 );
}
.ve-init-mw-desktopArticleTarget-progress-bar {

View file

@ -14,5 +14,5 @@
/* Reset -2px from VE-core */
margin-right: 0;
/* Monobook sets a background:url(); rule which overrides the colour. TODO: Fix upstream */
background-color: #E6F1FF;
background-color: #e6f1ff;
}

View file

@ -14,7 +14,7 @@
padding: 0;
}
@media (max-width: 767px) {
@media ( max-width: 767px ) {
.ve-init-mw-target-surface .ve-ui-surface-placeholder > * {
/* Fix margin overlap */
margin-top: 0;
@ -99,8 +99,7 @@
border-right: 0;
}
.ve-init-mw-mobileArticleTarget-editTools > .oo-ui-toolGroup > .oo-ui-toolGroup-tools
> .oo-ui-tool {
.ve-init-mw-mobileArticleTarget-editTools > .oo-ui-toolGroup > .oo-ui-toolGroup-tools > .oo-ui-tool {
width: 100%;
}
@ -109,7 +108,7 @@
display: none;
}
@media (max-width: 479px) {
@media ( max-width: 479px ) {
.ve-init-mw-mobileArticleTarget-toolbar
.oo-ui-barToolGroup > .oo-ui-toolGroup-tools > .oo-ui-tool.oo-ui-iconElement.oo-ui-tool-with-label > .oo-ui-tool-link .oo-ui-tool-title {
display: none;

View file

@ -20,6 +20,11 @@
opacity: 0.4;
}
.ve-ui-mwInternalLinkContextItem-hasImage {
background-color: transparent;
background-size: cover;
}
.ve-ui-mwInternalLinkContextItem-withImage .ve-ui-mwInternalLinkContextItem-hasImage {
border: 0;
background-size: cover;
@ -46,8 +51,3 @@
.ve-ui-mwInternalLinkContextItem-withDescription .ve-ui-mwInternalLinkContextItem-link {
font-weight: bold;
}
.ve-ui-mwInternalLinkContextItem-hasImage {
background-color: transparent;
background-size: cover;
}

View file

@ -79,4 +79,4 @@
.visualeditor-dialog-media-content-description-link {
font-size: 75%;
}
}

View file

@ -23,7 +23,7 @@
.ve-ui-mwLanguagesPage-languages-table th,
.ve-ui-mwLanguagesPage-languages-table td {
padding: 0.75em 1em;
border-bottom: solid 1px white;
border-bottom: 1px solid #fff;
}
.ve-ui-mwLanguagesPage-languages-table tr td:first-child {
@ -31,9 +31,9 @@
}
.ve-ui-mwLanguagesPage-languages-table tr:nth-child( odd ) td {
background: #F0F0F0;
background: #f0f0f0;
}
.ve-ui-mwLanguagesPage-languages-table tr:nth-child( even ) td {
background: #F8F8F8;
background: #f8f8f8;
}

View file

@ -43,18 +43,6 @@
white-space: nowrap;
}
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .oo-ui-fieldsetLayout > .oo-ui-labelElement-label,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .oo-ui-fieldsetLayout > .oo-ui-iconElement-icon,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .ve-ui-mwTransclusionDialog-removeButton,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .ve-ui-mwTemplatePage-more,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .ve-ui-mwParameterPage-more,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout > .oo-ui-gridLayout > .oo-ui-panelLayout {
-webkit-transition: all 250ms ease-in-out;
-moz-transition: all 250ms ease-in-out;
-o-transition: all 250ms ease-in-out;
transition: all 250ms ease-in-out;
}
.ve-ui-mwTransclusionDialog .oo-ui-bookletLayout .oo-ui-fieldsetLayout > .oo-ui-labelElement-label {
height: 1.5em;
overflow: hidden;
@ -70,3 +58,15 @@
.ve-ui-mwTransclusionDialog-multiple .oo-ui-bookletLayout .ve-ui-mwParameterPage-more {
display: none;
}
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .oo-ui-fieldsetLayout > .oo-ui-labelElement-label,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .oo-ui-fieldsetLayout > .oo-ui-iconElement-icon,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .ve-ui-mwTransclusionDialog-removeButton,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .ve-ui-mwTemplatePage-more,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout .ve-ui-mwParameterPage-more,
.ve-ui-mwTransclusionDialog.ve-ui-mwTemplateDialog-ready .oo-ui-bookletLayout > .oo-ui-gridLayout > .oo-ui-panelLayout {
-webkit-transition: all 250ms ease-in-out;
-moz-transition: all 250ms ease-in-out;
-o-transition: all 250ms ease-in-out;
transition: all 250ms ease-in-out;
}

View file

@ -6,5 +6,5 @@
*/
.ve-ui-mwCategoriesPage-defaultsort {
width:30em;
width: 30em;
}

View file

@ -8,4 +8,4 @@
.ve-ui-mwParameterPage .ve-ui-mwParameter-wikitextFallbackInput {
font-family: Monospace;
background-color: #ddd;
}
}

View file

@ -13,11 +13,11 @@
position: absolute;
opacity: 0;
-webkit-animation: pulse 3s ease-out;
-moz-animation: pulse 3s ease-out;
animation: pulse 3s ease-out;
-moz-animation: pulse 3s ease-out;
animation: pulse 3s ease-out;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
animation-iteration-count: infinite;
}
.ve-ui-stillDot {
@ -64,69 +64,69 @@
@-webkit-keyframes pulse {
0% {
transform: scale(0);
transform: scale( 0 );
opacity: 0.0;
}
25% {
transform: scale(0);
transform: scale( 0 );
opacity: 0.1;
}
50% {
transform: scale(0.1);
transform: scale( 0.1 );
opacity: 0.3;
}
75% {
transform: scale(0.5);
transform: scale( 0.5 );
opacity: 0.5;
}
100% {
transform: scale(1);
transform: scale( 1 );
opacity: 0.0;
}
}
@-moz-keyframes pulse {
0% {
transform: scale(0);
transform: scale( 0 );
opacity: 0.0;
}
25% {
transform: scale(0);
transform: scale( 0 );
opacity: 0.1;
}
50% {
transform: scale(0.1);
transform: scale( 0.1 );
opacity: 0.3;
}
75% {
transform: scale(0.5);
transform: scale( 0.5 );
opacity: 0.5;
}
100% {
transform: scale(1);
transform: scale( 1 );
opacity: 0.0;
}
}
@keyframes pulse {
0% {
transform: scale(0);
transform: scale( 0 );
opacity: 0.0;
}
25% {
transform: scale(0);
transform: scale( 0 );
opacity: 0.1;
}
50% {
transform: scale(0.1);
transform: scale( 0.1 );
opacity: 0.3;
}
75% {
transform: scale(0.5);
transform: scale( 0.5 );
opacity: 0.5;
}
100% {
transform: scale(1);
transform: scale( 1 );
opacity: 0.0;
}
}
}

View file

@ -6,6 +6,6 @@
*/
.oo-ui-tool-name-link .oo-ui-popupWidget-body .ve-ui-educationPopup-header {
background: url(images/link-ltr.png) no-repeat center/90%;
background: url( images/link-ltr.png ) no-repeat center/90%;
height: 150px;
}
}

View file

@ -60,70 +60,70 @@
/* @noflip */
.ve-ui-dir-block-rtl .oo-ui-icon-page-disambiguation,
/* HACK */ .ve-ui-surface-dir-rtl .oo-ui-icon-page-disambiguation {
.ve-ui-surface-dir-rtl .oo-ui-icon-page-disambiguation /* HACK */ {
/* @embed */
background-image: url( images/icons/page-disambiguation-rtl.svg );
}
/* @noflip */
.ve-ui-dir-block-ltr .oo-ui-icon-page-disambiguation,
/* HACK */ .ve-ui-surface-dir-ltr .oo-ui-icon-page-disambiguation {
.ve-ui-surface-dir-ltr .oo-ui-icon-page-disambiguation /* HACK */ {
/* @embed */
background-image: url( images/icons/page-disambiguation-ltr.svg );
}
/* @noflip */
.ve-ui-dir-block-rtl .oo-ui-icon-page-existing,
/* HACK */ .ve-ui-surface-dir-rtl .oo-ui-icon-page-existing {
.ve-ui-surface-dir-rtl .oo-ui-icon-page-existing /* HACK */ {
/* @embed */
background-image: url( images/icons/page-existing-rtl.svg );
}
/* @noflip */
.ve-ui-dir-block-ltr .oo-ui-icon-page-existing,
/* HACK */ .ve-ui-surface-dir-ltr .oo-ui-icon-page-existing {
.ve-ui-surface-dir-ltr .oo-ui-icon-page-existing /* HACK */ {
/* @embed */
background-image: url( images/icons/page-existing-ltr.svg );
}
/* @noflip */
.ve-ui-dir-block-rtl .oo-ui-icon-page-not-found,
/* HACK */ .ve-ui-surface-dir-rtl .oo-ui-icon-page-not-found {
.ve-ui-surface-dir-rtl .oo-ui-icon-page-not-found /* HACK */ {
/* @embed */
background-image: url( images/icons/page-not-found-rtl.svg );
}
/* @noflip */
.ve-ui-dir-block-ltr .oo-ui-icon-page-not-found,
.ve-ui-surface-dir-ltr .oo-ui-icon-page-not-found /* HACK */ {
/* @embed */
background-image: url( images/icons/page-not-found-ltr.svg );
}
/* @noflip */
.ve-ui-dir-block-rtl .oo-ui-icon-page-not-found:lang(he),
/* HACK */ .ve-ui-surface-dir-rtl .oo-ui-icon-page-not-found:lang(he) {
.ve-ui-surface-dir-rtl .oo-ui-icon-page-not-found:lang(he) /* HACK */ {
/* @embed */
background-image: url( images/icons/page-not-found-he-yi.svg );
}
/* @noflip */
.ve-ui-dir-block-rtl .oo-ui-icon-page-not-found:lang(yi),
/* HACK */ .ve-ui-surface-dir-rtl .oo-ui-icon-page-not-found:lang(yi) {
.ve-ui-surface-dir-rtl .oo-ui-icon-page-not-found:lang(yi) /* HACK */ {
/* @embed */
background-image: url( images/icons/page-not-found-he-yi.svg );
}
/* @noflip */
.ve-ui-dir-block-ltr .oo-ui-icon-page-not-found,
/* HACK */ .ve-ui-surface-dir-ltr .oo-ui-icon-page-not-found {
/* @embed */
background-image: url( images/icons/page-not-found-ltr.svg );
}
/* @noflip */
.ve-ui-dir-block-rtl .oo-ui-icon-page-redirect,
/* HACK */ .ve-ui-surface-dir-rtl .oo-ui-icon-page-redirect {
.ve-ui-surface-dir-rtl .oo-ui-icon-page-redirect /* HACK */ {
/* @embed */
background-image: url( images/icons/page-redirect-rtl.svg );
}
/* @noflip */
.ve-ui-dir-block-ltr .oo-ui-icon-page-redirect,
/* HACK */ .ve-ui-surface-dir-ltr .oo-ui-icon-page-redirect {
.ve-ui-surface-dir-ltr .oo-ui-icon-page-redirect /* HACK */ {
/* @embed */
background-image: url( images/icons/page-redirect-ltr.svg );
}

View file

@ -8,7 +8,7 @@
.ve-ui-mwAceEditorWidget .ace_editor {
border: 1px solid #ccc;
margin: 1px;
font-family: monospace, Courier;
font-family: monospace, 'Courier';
font-size: inherit;
line-height: 1.5;
}
@ -22,5 +22,5 @@
}
.ve-ui-mwAceEditorWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid .ace_editor {
border-color: red;
}
border-color: #f00;
}

View file

@ -28,7 +28,7 @@
background: linear-gradient( to bottom, rgba( 255, 255, 255, 0 ) 0, #fff 50% );
}
.ve-ui-mwMediaInfoFieldWidget.oo-ui-iconElement .oo-ui-labelElement-label {
.ve-ui-mwMediaInfoFieldWidget.oo-ui-iconElement .oo-ui-labelElement-label {
display: block;
padding: 0.3em 0 0.1em 2.2em;
line-height: 1.25em;

View file

@ -15,8 +15,8 @@
text-align: center;
}
.ve-ui.mwMediaResultWidget-eol:after {
content: ".";
.ve-ui.mwMediaResultWidget-eol::after {
content: '.';
display: block;
height: 0;
clear: both;
@ -57,7 +57,7 @@
.ve-ui-mwMediaResultWidget.oo-ui-optionWidget-highlighted,
.ve-ui-mwMediaResultWidget.oo-ui-optionWidget-selected {
box-shadow: 0 0 0.3em #a7dcff, 0 0 0 white;
box-shadow: 0 0 0.3em #a7dcff, 0 0 0 #fff;
}
.ve-ui-mwMediaResultWidget-error .ve-ui-mwMediaResultWidget-thumbnail {

View file

@ -12,14 +12,14 @@
.ve-ui-mwTocWidget .toctoggle {
margin: 0.25em;
}
.ve-ui-mwTocWidget .toctoggle:before {
.ve-ui-mwTocWidget .toctoggle::before {
content: ' [';
}
.ve-ui-mwTocWidget .toctoggle:after {
.ve-ui-mwTocWidget .toctoggle::after {
content: '] ';
}
.ve-ui-mwTocWidget .tocnumber:after {
.ve-ui-mwTocWidget .tocnumber::after {
content: ' ';
}

View file

@ -7,7 +7,7 @@
.oo-ui-menuToolGroup .oo-ui-tool-name-heading1 .oo-ui-tool-title,
.oo-ui-menuToolGroup .oo-ui-tool-name-heading2 .oo-ui-tool-title {
font-family: 'Linux Libertine', Georgia, Times, serif;
font-family: 'Linux Libertine', 'Georgia', 'Times', serif;
}
.oo-ui-menuToolGroup .oo-ui-tool-name-heading1 .oo-ui-tool-title {

View file

@ -9,15 +9,16 @@
"postdoc": "grunt copy:jsduck"
},
"devDependencies": {
"babel-polyfill": "6.8.0",
"grunt": "1.0.1",
"grunt-cli": "1.2.0",
"grunt-jsonlint": "1.0.7",
"grunt-banana-checker": "0.5.0",
"grunt-cli": "1.2.0",
"grunt-contrib-copy": "1.0.0",
"grunt-contrib-csslint": "1.0.0",
"grunt-contrib-jshint": "1.0.0",
"grunt-contrib-watch": "1.0.0",
"grunt-jscs": "2.8.0",
"grunt-tyops": "0.1.0"
"grunt-jsonlint": "1.0.7",
"grunt-tyops": "0.1.0",
"stylelint": "6.3.3"
}
}