# vim: syntax=yaml # # List of very light restrictions designed to prevent obvious errors, # not impose our own code style upon other contributors. # # This is supposed to be used with `eslint --reset` # # Created to work with eslint@0.18.0 # plugins: ["react"] extends: ["eslint:recommended", "google", "plugin:react/recommended"] env: node: true browser: true es6: true parserOptions: sourceType: "module" ecmaVersion: 7 ecmaFeatures: jsx: true rules: # useful to have in node.js, # if you're sure you don't need to handle error, rename it to "_err" handle-callback-err: 2 # just to make sure we don't forget to remove them when releasing no-debugger: 2 # add "falls through" for those no-fallthrough: 2 # enforce use curly always # curly: 1 # just warnings about whitespace weirdness here eol-last: 1 no-irregular-whitespace: 1 no-mixed-spaces-and-tabs: [1, smart-tabs] no-trailing-spaces: 1 # probably always an error, tell me if it's not no-new-require: 2 # single most important rule here, without it linting won't even # make any sense no-undef: 2 # in practice, those are always errors no-unreachable: 2 # useful for code clean-up no-unused-vars: [2, {"vars": "all", "args": "none"}] max-len: [1, 160] # camelcase is standard, but this should be 1 and then 2 soon camelcase: 0 # jsdoc is mandatory require-jsdoc: 2 valid-jsdoc: 2 # this feature is cool but not supported by Node 4, disable via comments prefer-spread: 1 prefer-rest-params: 1 # encorage use es6 no-var: 2 # configuration that should be upgraded progresivelly no-constant-condition: 2 no-empty: 2 # loop over objects http://eslint.org/docs/rules/guard-for-in guard-for-in: 2 # this must be used within classes no-invalid-this: 2 # All object must be uppercase new-cap: 2 # readbility is important, no multiple inline declarations one-var: 2 # console not allowed unless for testing no-console: [2, {"allow": ["log", "warn"]}]