Created
February 9, 2017 04:43
-
-
Save tkawa/fc0d00be9fabe4b48182066dbd3cc8d4 to your computer and use it in GitHub Desktop.
eslintrc for browser js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
env: | |
browser: true | |
extends: 'eslint:recommended' | |
rules: | |
# http://eslint.org/docs/rules/ | |
# ==================== | |
# Possible Errors | |
# ==================== | |
# console.log を残さない console.warn/error はOK | |
no-console: | |
- error | |
- allow: | |
- warn | |
- error | |
# ==================== | |
# Best Prctices | |
# ==================== | |
# var 変数もブロックスコープで使うようにする | |
block-scoped-var: error | |
# 返り値を返すか返さないかは一貫させる | |
consistent-return: error | |
# if, for, while に必ず {...} を使用する | |
curly: error | |
# case 文には default が必要 | |
default-case: | |
- error | |
- commentPattern: default | |
# 可能な限り foo["bar"] ではなく foo.bar と書く | |
dot-notation: | |
- error | |
- allowKeywords: false | |
# == と != は使用せず === と !== を使用する | |
eqeqeq: error | |
# for...in では hasOwnProperty を必ずチェックする | |
guard-for-in: 'off' | |
# if の条件で return されている場合 else で return しない | |
no-else-return: error | |
# == null や != null は使用しない | |
no-eq-null: error | |
# eval は使用しない | |
no-eval: error | |
# case 文では必ず break/return/throw する | |
no-fallthrough: error | |
# setTimeout などの実質的 eval を使用しない | |
no-implied-eval: error | |
# ラベルを使用しない | |
no-labels: error | |
# ループ内で関数を作成しない | |
no-loop-func: error | |
# 複数のスペースはタイプミス | |
no-multi-spaces: error | |
# ネイティブオブジェクトの書き換えは禁止 | |
no-native-reassign: error | |
# new Function() は使用しない | |
no-new-func: error | |
# new String/Number/Boolean は使用しない | |
no-new-wrappers: error | |
# 8進数リテラルを使用しない | |
no-octal: error | |
# 8進数エスケープシーケンスを使用しない | |
no-octal-escape: error | |
# 同じ変数を複数回宣言しない | |
no-redeclare: error | |
# return 文で代入しない | |
no-return-assign: error | |
# 全く同じものを比較しない | |
no-self-compare: error | |
# Error オブジェクト以外は throw しない | |
no-throw-literal: error | |
# 何もしない文は禁止(&&/|| の短絡と条件演算子は除く) | |
no-unused-expressions: | |
- error | |
- allowShortCircuit: true | |
allowTernary: true | |
# 必要のない call/apply は使用しない | |
no-useless-call: error | |
# 必要のない concat は使用しない | |
no-useless-concat: error | |
# with は使用しない | |
no-with: error | |
# parseInt では必ず第2引数を指定する | |
radix: error | |
# 即時実行関数は (function () {...} )() のように囲む | |
wrap-iife: | |
- error | |
- inside | |
# ==================== | |
# Strict Mode | |
# ==================== | |
# 必ず use strict を宣言する | |
strict: error | |
# ==================== | |
# Stylistic Issues | |
# ==================== | |
# 配列内のスペースをちゃんとする | |
array-bracket-spacing: | |
- error | |
- never | |
# 単一行ブロックの { ... } の内側にはスペースを入れる | |
block-spacing: error | |
# 複数行ブロックのスタイルは one true brace スタイル | |
brace-style: | |
- error | |
- 1tbs | |
- allowSingleLine: true | |
# 変数名にはキャメルケースを使用する。プロパティ名はキャメルケース以外でも良い | |
camelcase: | |
- error | |
- properties: never | |
# 末尾のカンマはIE8でエラーになるため使用しない | |
comma-dangle: error | |
# カンマの後にスペース | |
comma-spacing: error | |
# ファイルの最後は改行 | |
eol-last: error | |
# 関数名と () の間にスペースを空けない | |
func-call-spacing: error | |
# インデントはスペース2個がいいと思うけどどうでしょう | |
indent: | |
- warn | |
- 2 | |
# オブジェクトリテラルのスペースをちゃんとする | |
key-spacing: error | |
# if などのキーワードの後にはスペース | |
keyword-spacing: error | |
# else 内で孤立した if は else if で書く | |
no-lonely-if: error | |
# 3行以上の空行を空けない | |
no-multiple-empty-lines: error | |
# 条件演算子はネストして使わない | |
no-nested-ternary: error | |
# new Object は使わない | |
no-new-object: error | |
# 行末に余分な空白を置かない | |
no-trailing-spaces: error | |
# 不要な条件演算子を使わない | |
no-unneeded-ternary: error | |
# 可能な限り x += y のような自己代入演算子を使用する | |
operator-assignment: | |
- error | |
- always | |
# セミコロンなしは warning | |
semi: warn | |
# セミコロンの後にはスペース | |
semi-spacing: error | |
# ブロックの前にはスペース | |
space-before-blocks: error | |
# 2項・条件演算子の前後にはスペース | |
space-infix-ops: error | |
# 単項演算子のスペースをちゃんとする | |
space-unary-ops: error | |
# 以下保留 | |
# array-callback-return: error | |
# arrow-body-style: error | |
# arrow-parens: error | |
# arrow-spacing: error | |
# callback-return: error | |
# capitalized-comments: error | |
# class-methods-use-this: error | |
# comma-style: | |
# - error | |
# - last | |
# complexity: error | |
# computed-property-spacing: | |
# - error | |
# - never | |
# consistent-this: error | |
# dot-location: error | |
# func-name-matching: error | |
# func-names: | |
# - error | |
# - never | |
# func-style: | |
# - error | |
# - expression | |
# generator-star-spacing: error | |
# global-require: error | |
# handle-callback-err: error | |
# id-blacklist: error | |
# id-length: 'off' | |
# id-match: error | |
# init-declarations: 'off' | |
# jsx-quotes: error | |
# line-comment-position: error | |
# linebreak-style: | |
# - error | |
# - unix | |
# lines-around-comment: error | |
# lines-around-directive: error | |
# max-depth: error | |
# max-len: 'off' | |
# max-lines: error | |
# max-nested-callbacks: error | |
# max-params: error | |
# max-statements: 'off' | |
# max-statements-per-line: error | |
# multiline-ternary: error | |
# new-cap: error | |
# new-parens: error | |
# newline-after-var: 'off' | |
# newline-before-return: 'off' | |
# newline-per-chained-call: error | |
# no-alert: 'off' | |
# no-array-constructor: error | |
# no-await-in-loop: error | |
# no-bitwise: error | |
# no-caller: error | |
# no-catch-shadow: error | |
# no-confusing-arrow: error | |
# no-continue: error | |
# no-div-regex: error | |
# no-duplicate-imports: error | |
# no-empty-function: error | |
# no-extend-native: error | |
# no-extra-bind: error | |
# no-extra-label: error | |
# no-extra-parens: error | |
# no-floating-decimal: error | |
# no-implicit-coercion: error | |
# no-implicit-globals: error | |
# no-inline-comments: error | |
# no-inner-declarations: | |
# - error | |
# - functions | |
# クラス的なオブジェクト以外で this を使用しない | |
# no-invalid-this: error | |
# no-iterator: error | |
# no-label-var: error | |
# no-lone-blocks: error | |
# no-magic-numbers: 'off' | |
# no-mixed-operators: error | |
# no-mixed-requires: error | |
# no-multi-assign: error | |
# no-multi-str: error | |
# no-negated-condition: 'off' | |
# no-negated-in-lhs: error | |
# no-new: error | |
# no-new-require: error | |
# no-param-reassign: 'off' | |
# no-path-concat: error | |
# no-plusplus: error | |
# no-process-env: error | |
# no-process-exit: error | |
# no-proto: error | |
# no-prototype-builtins: error | |
# no-restricted-globals: error | |
# no-restricted-imports: error | |
# no-restricted-modules: error | |
# no-restricted-properties: error | |
# no-restricted-syntax: error | |
# no-return-await: error | |
# no-script-url: error | |
# no-sequences: error | |
# no-shadow: 'off' | |
# no-shadow-restricted-names: error | |
# no-sync: error | |
# no-tabs: error | |
# no-template-curly-in-string: error | |
# no-ternary: error | |
# no-undef-init: error | |
# no-undefined: error | |
# no-underscore-dangle: error | |
# no-unmodified-loop-condition: error | |
# no-use-before-define: error | |
# no-useless-computed-key: error | |
# no-useless-constructor: error | |
# no-useless-escape: error | |
# no-useless-rename: error | |
# no-useless-return: error | |
# no-var: 'off' | |
# no-void: error | |
# no-warning-comments: error | |
# no-whitespace-before-property: error | |
# object-curly-newline: error | |
# object-curly-spacing: | |
# - error | |
# - never | |
# object-property-newline: | |
# - error | |
# - allowMultiplePropertiesPerLine: true | |
# object-shorthand: 'off' | |
# one-var: 'off' | |
# one-var-declaration-per-line: 'off' | |
# operator-linebreak: error | |
# padded-blocks: 'off' | |
# prefer-arrow-callback: 'off' | |
# prefer-const: error | |
# prefer-numeric-literals: error | |
# prefer-promise-reject-errors: error | |
# prefer-reflect: error | |
# prefer-rest-params: error | |
# prefer-spread: error | |
# prefer-template: 'off' | |
# quote-props: 'off' | |
# quotes: 'off' | |
# require-await: error | |
# require-jsdoc: error | |
# rest-spread-spacing: error | |
# sort-imports: error | |
# sort-keys: 'off' | |
# sort-vars: 'off' | |
# space-before-function-paren: 'off' | |
# space-in-parens: 'off' | |
# spaced-comment: error | |
# symbol-description: error | |
# template-curly-spacing: error | |
# template-tag-spacing: error | |
# unicode-bom: | |
# - error | |
# - never | |
# valid-jsdoc: error | |
# vars-on-top: 'off' | |
# wrap-regex: error | |
# yield-star-spacing: error | |
# yoda: | |
# - error | |
# - never |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment