use airbnb's eslint
This commit is contained in:
parent
b33a2ff274
commit
54137398ea
179
.eslintrc
179
.eslintrc
@ -1,19 +1,172 @@
|
|||||||
{
|
{
|
||||||
|
"parser": "babel-eslint", // https://github.com/babel/babel-eslint
|
||||||
|
"env": { // http://eslint.org/docs/user-guide/configuring.html#specifying-environments
|
||||||
|
"browser": true, // browser global variables
|
||||||
|
"node": true, // Node.js global variables and Node.js-specific rules
|
||||||
|
"mocha": true
|
||||||
|
},
|
||||||
"ecmaFeatures": {
|
"ecmaFeatures": {
|
||||||
"modules": true
|
"arrowFunctions": true,
|
||||||
|
"blockBindings": true,
|
||||||
|
"classes": true,
|
||||||
|
"defaultParams": true,
|
||||||
|
"destructuring": true,
|
||||||
|
"forOf": true,
|
||||||
|
"generators": false,
|
||||||
|
"modules": true,
|
||||||
|
"objectLiteralComputedProperties": true,
|
||||||
|
"objectLiteralDuplicateProperties": false,
|
||||||
|
"objectLiteralShorthandMethods": true,
|
||||||
|
"objectLiteralShorthandProperties": true,
|
||||||
|
"spread": true,
|
||||||
|
"superInFunctions": true,
|
||||||
|
"templateStrings": true,
|
||||||
|
"jsx": true
|
||||||
},
|
},
|
||||||
"rules": {
|
"rules": {
|
||||||
"strict": [2, "global"],
|
/**
|
||||||
"quotes": [2, "single"],
|
* Strict mode
|
||||||
"indent": [2, 2],
|
*/
|
||||||
"one-var": [2, "never"],
|
// babel inserts "use strict"; for us
|
||||||
"consistent-return": 0,
|
"strict": [2, "never"], // http://eslint.org/docs/rules/strict
|
||||||
"no-use-before-define": [2, "nofunc"],
|
|
||||||
"space-before-function-paren": [2, {anonymous: "always", named: "never"}]
|
/**
|
||||||
},
|
* ES6
|
||||||
"env": {
|
*/
|
||||||
"es6": true,
|
"no-var": 2, // http://eslint.org/docs/rules/no-var
|
||||||
"node": true,
|
"prefer-const": 2, // http://eslint.org/docs/rules/prefer-const
|
||||||
"mocha": true
|
|
||||||
|
/**
|
||||||
|
* Variables
|
||||||
|
*/
|
||||||
|
"no-shadow": 2, // http://eslint.org/docs/rules/no-shadow
|
||||||
|
"no-shadow-restricted-names": 2, // http://eslint.org/docs/rules/no-shadow-restricted-names
|
||||||
|
"no-unused-vars": [2, { // http://eslint.org/docs/rules/no-unused-vars
|
||||||
|
"vars": "local",
|
||||||
|
"args": "after-used"
|
||||||
|
}],
|
||||||
|
"no-use-before-define": 2, // http://eslint.org/docs/rules/no-use-before-define
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Possible errors
|
||||||
|
*/
|
||||||
|
"comma-dangle": [2, "always-multiline"], // http://eslint.org/docs/rules/comma-dangle
|
||||||
|
"no-cond-assign": [2, "always"], // http://eslint.org/docs/rules/no-cond-assign
|
||||||
|
"no-console": 1, // http://eslint.org/docs/rules/no-console
|
||||||
|
"no-debugger": 1, // http://eslint.org/docs/rules/no-debugger
|
||||||
|
"no-alert": 1, // http://eslint.org/docs/rules/no-alert
|
||||||
|
"no-constant-condition": 1, // http://eslint.org/docs/rules/no-constant-condition
|
||||||
|
"no-dupe-keys": 2, // http://eslint.org/docs/rules/no-dupe-keys
|
||||||
|
"no-duplicate-case": 2, // http://eslint.org/docs/rules/no-duplicate-case
|
||||||
|
"no-empty": 2, // http://eslint.org/docs/rules/no-empty
|
||||||
|
"no-ex-assign": 2, // http://eslint.org/docs/rules/no-ex-assign
|
||||||
|
"no-extra-boolean-cast": 0, // http://eslint.org/docs/rules/no-extra-boolean-cast
|
||||||
|
"no-extra-semi": 2, // http://eslint.org/docs/rules/no-extra-semi
|
||||||
|
"no-func-assign": 2, // http://eslint.org/docs/rules/no-func-assign
|
||||||
|
"no-inner-declarations": 2, // http://eslint.org/docs/rules/no-inner-declarations
|
||||||
|
"no-invalid-regexp": 2, // http://eslint.org/docs/rules/no-invalid-regexp
|
||||||
|
"no-irregular-whitespace": 2, // http://eslint.org/docs/rules/no-irregular-whitespace
|
||||||
|
"no-obj-calls": 2, // http://eslint.org/docs/rules/no-obj-calls
|
||||||
|
"no-sparse-arrays": 2, // http://eslint.org/docs/rules/no-sparse-arrays
|
||||||
|
"no-unreachable": 2, // http://eslint.org/docs/rules/no-unreachable
|
||||||
|
"use-isnan": 2, // http://eslint.org/docs/rules/use-isnan
|
||||||
|
"block-scoped-var": 0, // http://eslint.org/docs/rules/block-scoped-var
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Best practices
|
||||||
|
*/
|
||||||
|
"consistent-return": 2, // http://eslint.org/docs/rules/consistent-return
|
||||||
|
"curly": [2, "multi-line"], // http://eslint.org/docs/rules/curly
|
||||||
|
"default-case": 2, // http://eslint.org/docs/rules/default-case
|
||||||
|
"dot-notation": [2, { // http://eslint.org/docs/rules/dot-notation
|
||||||
|
"allowKeywords": true
|
||||||
|
}],
|
||||||
|
"eqeqeq": 2, // http://eslint.org/docs/rules/eqeqeq
|
||||||
|
"guard-for-in": 2, // http://eslint.org/docs/rules/guard-for-in
|
||||||
|
"no-caller": 2, // http://eslint.org/docs/rules/no-caller
|
||||||
|
"no-else-return": 2, // http://eslint.org/docs/rules/no-else-return
|
||||||
|
"no-eq-null": 2, // http://eslint.org/docs/rules/no-eq-null
|
||||||
|
"no-eval": 2, // http://eslint.org/docs/rules/no-eval
|
||||||
|
"no-extend-native": 2, // http://eslint.org/docs/rules/no-extend-native
|
||||||
|
"no-extra-bind": 2, // http://eslint.org/docs/rules/no-extra-bind
|
||||||
|
"no-fallthrough": 2, // http://eslint.org/docs/rules/no-fallthrough
|
||||||
|
"no-floating-decimal": 2, // http://eslint.org/docs/rules/no-floating-decimal
|
||||||
|
"no-implied-eval": 2, // http://eslint.org/docs/rules/no-implied-eval
|
||||||
|
"no-lone-blocks": 2, // http://eslint.org/docs/rules/no-lone-blocks
|
||||||
|
"no-loop-func": 2, // http://eslint.org/docs/rules/no-loop-func
|
||||||
|
"no-multi-str": 2, // http://eslint.org/docs/rules/no-multi-str
|
||||||
|
"no-native-reassign": 2, // http://eslint.org/docs/rules/no-native-reassign
|
||||||
|
"no-new": 2, // http://eslint.org/docs/rules/no-new
|
||||||
|
"no-new-func": 2, // http://eslint.org/docs/rules/no-new-func
|
||||||
|
"no-new-wrappers": 2, // http://eslint.org/docs/rules/no-new-wrappers
|
||||||
|
"no-octal": 2, // http://eslint.org/docs/rules/no-octal
|
||||||
|
"no-octal-escape": 2, // http://eslint.org/docs/rules/no-octal-escape
|
||||||
|
"no-param-reassign": 2, // http://eslint.org/docs/rules/no-param-reassign
|
||||||
|
"no-proto": 2, // http://eslint.org/docs/rules/no-proto
|
||||||
|
"no-redeclare": 2, // http://eslint.org/docs/rules/no-redeclare
|
||||||
|
"no-return-assign": 2, // http://eslint.org/docs/rules/no-return-assign
|
||||||
|
"no-script-url": 2, // http://eslint.org/docs/rules/no-script-url
|
||||||
|
"no-self-compare": 2, // http://eslint.org/docs/rules/no-self-compare
|
||||||
|
"no-sequences": 2, // http://eslint.org/docs/rules/no-sequences
|
||||||
|
"no-throw-literal": 2, // http://eslint.org/docs/rules/no-throw-literal
|
||||||
|
"no-with": 2, // http://eslint.org/docs/rules/no-with
|
||||||
|
"radix": 2, // http://eslint.org/docs/rules/radix
|
||||||
|
"vars-on-top": 2, // http://eslint.org/docs/rules/vars-on-top
|
||||||
|
"wrap-iife": [2, "any"], // http://eslint.org/docs/rules/wrap-iife
|
||||||
|
"yoda": 2, // http://eslint.org/docs/rules/yoda
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Style
|
||||||
|
*/
|
||||||
|
"indent": [2, 2], // http://eslint.org/docs/rules/indent
|
||||||
|
"brace-style": [2, // http://eslint.org/docs/rules/brace-style
|
||||||
|
"1tbs", {
|
||||||
|
"allowSingleLine": true
|
||||||
|
}],
|
||||||
|
"quotes": [
|
||||||
|
2, "single", "avoid-escape" // http://eslint.org/docs/rules/quotes
|
||||||
|
],
|
||||||
|
"camelcase": [2, { // http://eslint.org/docs/rules/camelcase
|
||||||
|
"properties": "never"
|
||||||
|
}],
|
||||||
|
"comma-spacing": [2, { // http://eslint.org/docs/rules/comma-spacing
|
||||||
|
"before": false,
|
||||||
|
"after": true
|
||||||
|
}],
|
||||||
|
"comma-style": [2, "last"], // http://eslint.org/docs/rules/comma-style
|
||||||
|
"eol-last": 2, // http://eslint.org/docs/rules/eol-last
|
||||||
|
"func-names": 1, // http://eslint.org/docs/rules/func-names
|
||||||
|
"key-spacing": [2, { // http://eslint.org/docs/rules/key-spacing
|
||||||
|
"beforeColon": false,
|
||||||
|
"afterColon": true
|
||||||
|
}],
|
||||||
|
"new-cap": [2, { // http://eslint.org/docs/rules/new-cap
|
||||||
|
"newIsCap": true
|
||||||
|
}],
|
||||||
|
"no-multiple-empty-lines": [2, { // http://eslint.org/docs/rules/no-multiple-empty-lines
|
||||||
|
"max": 2
|
||||||
|
}],
|
||||||
|
"no-nested-ternary": 2, // http://eslint.org/docs/rules/no-nested-ternary
|
||||||
|
"no-new-object": 2, // http://eslint.org/docs/rules/no-new-object
|
||||||
|
"no-spaced-func": 2, // http://eslint.org/docs/rules/no-spaced-func
|
||||||
|
"no-trailing-spaces": 2, // http://eslint.org/docs/rules/no-trailing-spaces
|
||||||
|
"no-extra-parens": [2, "functions"], // http://eslint.org/docs/rules/no-extra-parens
|
||||||
|
"no-underscore-dangle": 0, // http://eslint.org/docs/rules/no-underscore-dangle
|
||||||
|
"one-var": [2, "never"], // http://eslint.org/docs/rules/one-var
|
||||||
|
"padded-blocks": [2, "never"], // http://eslint.org/docs/rules/padded-blocks
|
||||||
|
"semi": [2, "always"], // http://eslint.org/docs/rules/semi
|
||||||
|
"semi-spacing": [2, { // http://eslint.org/docs/rules/semi-spacing
|
||||||
|
"before": false,
|
||||||
|
"after": true
|
||||||
|
}],
|
||||||
|
"space-after-keywords": 2, // http://eslint.org/docs/rules/space-after-keywords
|
||||||
|
"space-before-blocks": 2, // http://eslint.org/docs/rules/space-before-blocks
|
||||||
|
"space-before-function-paren": [2, "never"], // http://eslint.org/docs/rules/space-before-function-paren
|
||||||
|
"space-infix-ops": 2, // http://eslint.org/docs/rules/space-infix-ops
|
||||||
|
"space-return-throw-case": 2, // http://eslint.org/docs/rules/space-return-throw-case
|
||||||
|
"spaced-comment": [2, "always", {// http://eslint.org/docs/rules/spaced-comment
|
||||||
|
"exceptions": ["-", "+"],
|
||||||
|
"markers": ["=", "!"] // space here to support sprockets directives
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
'use strict'; // eslint-disable-line
|
'use strict'; /* eslint strict:0, no-var:0, func-names:0 */
|
||||||
var gulp = require('gulp');
|
var gulp = require('gulp');
|
||||||
var eslint = require('gulp-eslint');
|
var eslint = require('gulp-eslint');
|
||||||
var excludeGitignore = require('gulp-exclude-gitignore');
|
var excludeGitignore = require('gulp-exclude-gitignore');
|
||||||
|
@ -5,14 +5,15 @@ import assign from 'lodash/object/assign';
|
|||||||
|
|
||||||
function resolveUpdates(updates, obj = {}) {
|
function resolveUpdates(updates, obj = {}) {
|
||||||
return reduce(updates, (acc, value, key) => {
|
return reduce(updates, (acc, value, key) => {
|
||||||
|
let updatedValue = value;
|
||||||
if (!Array.isArray(value) && typeof value === 'object') {
|
if (!Array.isArray(value) && typeof value === 'object') {
|
||||||
value = update(value, obj[key]);
|
updatedValue = update(value, obj[key]);
|
||||||
} else if (typeof value === 'function') {
|
} else if (typeof value === 'function') {
|
||||||
value = value(obj[key]);
|
updatedValue = value(obj[key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj[key] !== value) {
|
if (obj[key] !== updatedValue) {
|
||||||
acc[key] = value;
|
acc[key] = updatedValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
return acc;
|
return acc;
|
||||||
|
@ -31,7 +31,9 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-core": "^5.5.0",
|
"babel-core": "^5.5.0",
|
||||||
|
"babel-eslint": "^4.0.5",
|
||||||
"chai": "^3.2.0",
|
"chai": "^3.2.0",
|
||||||
|
"eslint": "^0.24.1",
|
||||||
"eslint-config-airbnb": "0.0.7",
|
"eslint-config-airbnb": "0.0.7",
|
||||||
"gulp": "^3.6.0",
|
"gulp": "^3.6.0",
|
||||||
"gulp-babel": "^5.1.0",
|
"gulp-babel": "^5.1.0",
|
||||||
|
@ -79,9 +79,7 @@ describe('updeep', () => {
|
|||||||
it('can use withDefault to default things', () => {
|
it('can use withDefault to default things', () => {
|
||||||
const obj = {};
|
const obj = {};
|
||||||
const result = u({
|
const result = u({
|
||||||
foo: u.withDefault([], {
|
foo: u.withDefault([], { 0: 'bar' }),
|
||||||
0: 'bar'
|
|
||||||
})
|
|
||||||
}, obj);
|
}, obj);
|
||||||
|
|
||||||
expect(result).to.eql({ foo: ['bar'] });
|
expect(result).to.eql({ foo: ['bar'] });
|
||||||
|
Loading…
Reference in New Issue
Block a user