+(require 'flycheck)
+
+(global-flycheck-mode 1)
+
+(setq-default flycheck-disabled-checkers '(emacs-lisp-checkdoc))
+
+(setq flycheck-emacs-lisp-load-path 'inherit)
+
+(add-hook 'flycheck-mode-hook #'my/use-eslint-from-node-modules)
+
+(setq flycheck-indication-mode 'right-fringe)
+
+(define-fringe-bitmap 'flycheck-fringe-bitmap-double-arrow
+ (vector #b00000000
+ #b00000000
+ #b00000000
+ #b00000000
+ #b00000000
+ #b00011001
+ #b00110110
+ #b01101100
+ #b11011000
+ #b01101100
+ #b00110110
+ #b00011001
+ #b00000000
+ #b00000000
+ #b00000000
+ #b00000000
+ #b00000000))
+
+(defun my/use-eslint-from-node-modules ()
+ (let* ((root (locate-dominating-file
+ (or (buffer-file-name) default-directory)
+ "node_modules"))
+ (eslint (and root
+ (expand-file-name "node_modules/.bin/eslint" root))))
+ (when (and eslint (file-executable-p eslint))
+ (setq-local flycheck-javascript-eslint-executable eslint))))