From: Oleg Gaidarenko Date: Fri, 15 Jul 2016 17:42:25 +0000 (+0400) Subject: Build: Update eslint config and fix associated errors X-Git-Tag: 3.1.1~22 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e4fd41f8fa4190fbbb6cb98cf7ace64f6e00685d;p=jquery.git Build: Update eslint config and fix associated errors --- diff --git a/.eslintrc b/.eslintrc index bbf96f809..6dcb6353a 100644 --- a/.eslintrc +++ b/.eslintrc @@ -3,9 +3,5 @@ "root": true, "env": { "node": true - }, - rules: { - // Until https://github.com/jquery/eslint-config-jquery/issues/7 is resolved - "no-unused-expressions": "error" } } diff --git a/dist/.eslintrc b/dist/.eslintrc index 22a970f8a..d21ae4d16 100644 --- a/dist/.eslintrc +++ b/dist/.eslintrc @@ -5,6 +5,7 @@ "no-multiple-empty-lines": "off", // Because sizze is not compatible to jquery code style + "no-nested-ternary": "off", "no-unused-expressions": "off", "lines-around-comment": "off", "space-in-parens": "off", diff --git a/package.json b/package.json index 6ef29dc0e..c5cdc6a3c 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "commitplease": "2.3.1", "core-js": "2.2.2", "cross-spawn": "2.2.3", - "eslint-config-jquery": "0.1.6", + "eslint-config-jquery": "1.0.0", "grunt": "1.0.1", "grunt-babel": "6.0.0", "grunt-cli": "1.2.0", diff --git a/src/attributes/prop.js b/src/attributes/prop.js index b69177adf..49ac244df 100644 --- a/src/attributes/prop.js +++ b/src/attributes/prop.js @@ -66,12 +66,19 @@ jQuery.extend( { // Use proper attribute retrieval(#12072) var tabindex = jQuery.find.attr( elem, "tabindex" ); - return tabindex ? - parseInt( tabindex, 10 ) : + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && elem.href ? - 0 : - -1; + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; } } }, diff --git a/src/attributes/val.js b/src/attributes/val.js index 1ba42a5c8..e23aa9a21 100644 --- a/src/attributes/val.js +++ b/src/attributes/val.js @@ -28,13 +28,13 @@ jQuery.fn.extend( { ret = elem.value; - return typeof ret === "string" ? - - // Handle most common string cases - ret.replace( rreturn, "" ) : + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } - // Handle cases where value is null/undef or number - ret == null ? "" : ret; + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; } return; @@ -96,15 +96,19 @@ jQuery.extend( { }, select: { get: function( elem ) { - var value, option, + var value, option, i, options = elem.options, index = elem.selectedIndex, one = elem.type === "select-one", values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } // Loop through all the selected options for ( ; i < max; i++ ) { diff --git a/src/core.js b/src/core.js index 5bdb2169c..68ba9a5c2 100644 --- a/src/core.js +++ b/src/core.js @@ -64,13 +64,14 @@ jQuery.fn = jQuery.prototype = { // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { - return num != null ? - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } - // Return all the elements in a clean array - slice.call( this ); + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; }, // Take an array of elements and push it onto the stack diff --git a/src/core/access.js b/src/core/access.js index 735c75711..86cdbc7e6 100644 --- a/src/core/access.js +++ b/src/core/access.js @@ -53,13 +53,16 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { } } - return chainable ? - elems : + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } - // Gets - bulk ? - fn.call( elems ) : - len ? fn( elems[ 0 ], key ) : emptyGet; + return len ? fn( elems[ 0 ], key ) : emptyGet; }; return access; diff --git a/src/css.js b/src/css.js index 795ca2796..5e4451193 100644 --- a/src/css.js +++ b/src/css.js @@ -70,15 +70,17 @@ function setPositiveNumber( elem, value, subtract ) { } function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - - // If we already have the right measurement, avoid augmentation - 4 : + var i, + val = 0; - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; - val = 0; + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } for ( ; i < 4; i += 2 ) { diff --git a/src/data.js b/src/data.js index 49964f7d5..087ce4eb7 100644 --- a/src/data.js +++ b/src/data.js @@ -20,6 +20,31 @@ define( [ var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, rmultiDash = /[A-Z]/g; +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + function dataAttr( elem, key, data ) { var name; @@ -31,14 +56,7 @@ function dataAttr( elem, key, data ) { if ( typeof data === "string" ) { try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? JSON.parse( data ) : - data; + data = getData( data ); } catch ( e ) {} // Make sure we set the data so it isn't changed later diff --git a/src/effects.js b/src/effects.js index cc21cfcfa..287ecfde1 100644 --- a/src/effects.js +++ b/src/effects.js @@ -453,9 +453,14 @@ jQuery.speed = function( speed, easing, fn ) { opt.duration = 0; } else { - opt.duration = typeof opt.duration === "number" ? - opt.duration : opt.duration in jQuery.fx.speeds ? - jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } } // Normalize opt.queue - true/undefined/null -> "fx" diff --git a/src/event.js b/src/event.js index cf10953f0..b3fa59de5 100644 --- a/src/event.js +++ b/src/event.js @@ -633,7 +633,19 @@ jQuery.each( { // Add which for click: 1 === left; 2 === middle; 3 === right if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { - return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; } return event.which; diff --git a/src/manipulation/getAll.js b/src/manipulation/getAll.js index 85490d50e..f68e3219e 100644 --- a/src/manipulation/getAll.js +++ b/src/manipulation/getAll.js @@ -8,15 +8,23 @@ function getAll( context, tag ) { // Support: IE <=9 - 11 only // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== "undefined" ? - context.querySelectorAll( tag || "*" ) : - []; - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], ret ) : - ret; + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; } return getAll; diff --git a/src/serialize.js b/src/serialize.js index 60d936251..35dcf04f9 100644 --- a/src/serialize.js +++ b/src/serialize.js @@ -111,13 +111,17 @@ jQuery.fn.extend( { .map( function( i, elem ) { var val = jQuery( this ).val(); - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + if ( val == null ) { + return null; + } + + if ( jQuery.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; } ).get(); } } ); diff --git a/src/traversing/findFilter.js b/src/traversing/findFilter.js index c742fb5c3..92d6753b4 100644 --- a/src/traversing/findFilter.js +++ b/src/traversing/findFilter.js @@ -45,11 +45,13 @@ jQuery.filter = function( expr, elems, not ) { expr = ":not(" + expr + ")"; } - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); }; jQuery.fn.extend( { diff --git a/test/.eslintrc b/test/.eslintrc index 7887ec567..744de89ec 100644 --- a/test/.eslintrc +++ b/test/.eslintrc @@ -50,7 +50,6 @@ "brace-style": "off", "key-spacing": "off", "camelcase": "off", - "dot-notaion": "off", // Not really too much - waiting autofix features for these rules "lines-around-comment": "off",