Skip to content

Instantly share code, notes, and snippets.

@tkawa
Created February 9, 2017 04:43
Show Gist options
  • Save tkawa/fc0d00be9fabe4b48182066dbd3cc8d4 to your computer and use it in GitHub Desktop.
Save tkawa/fc0d00be9fabe4b48182066dbd3cc8d4 to your computer and use it in GitHub Desktop.
eslintrc for browser js
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