ゼロから始めるDjangoソースコード解読 part2
あいさつ
ゼロから始めるDjangoソースコード解読 part2になります。 今回も張り切ってソースコードを読み解いていきます!
解読
.eslintignore
概要
ESLintという、コードの一貫性を高めたり、ECMAScript / JavaScriptコードで見つかったバグを回避したりするためのツールがあります。
.eslintignoreは、ESLintの対象から除外したいファイルやディレクトリを指定するためのファイルです。(gitでいう.gitignoreのようなもの)
詳細
**/*.min.js **/vendor/**/*.js django/contrib/gis/templates/**/*.js docs/_build/**/*.js node_modules/**.js tests/**/*.js
ワイルドカードの説明
項目 | 説明 |
---|---|
* | /以外の0文字以上の文字列にマッチ |
** | 0個以上のファイル or ディレクトリにマッチ |
! | 否定 |
設定の説明
項目 | 説明 |
---|---|
**/*.min.js | .min.jsで終わるファイルをすべて無視する |
**/vendor/**/*.js | すべてのvendorフォルダ以下に存在する.jsで終わるファイルを無視する |
django/contrib/gis/templates/**/*.js | django/contrib/gis/templatesフォルダ以下に存在する.jsで終わるファイルを無視する |
docs/_build/**/*.js | docs/_buildフォルダ以下に存在するすべての.jsファイルを無視する |
node_modules/**.js | node_modulesフォルダ内(それ以下の階層を除く)に存在する.jsで終わるファイルを無視する |
tests/**/*.js | testsフォルダ以下に存在するすべての.jsファイルを無視する |
「node_modules/**.js」だけは、「node_modules/*.js」との違いが解りませんでした。書き間違えなのか、何か意味があるのか。。
.eslintrc
概要
ESLintの設定ファイル。ルールを設定して、違反部分は警告するなどすることでコードに一貫性を持たせることができる。
詳細
{ "rules": { "camelcase": ["off", {"properties": "always"}], "comma-spacing": ["error", {"before": false, "after": true}], "curly": ["error", "all"], "dot-notation": ["error", {"allowKeywords": true}], "eqeqeq": ["error"], "indent": ["error", 4], "key-spacing": ["error", {"beforeColon": false, "afterColon": true}], "linebreak-style": ["error", "unix"], "new-cap": ["off", {"newIsCap": true, "capIsNew": true}], "no-alert": ["off"], "no-eval": ["error"], "no-extend-native": ["error", {"exceptions": ["Date", "String"]}], "no-multi-spaces": ["error"], "no-octal-escape": ["error"], "no-script-url": ["error"], "no-shadow": ["error", {"hoist": "functions"}], "no-underscore-dangle": ["error"], "no-unused-vars": ["error", {"vars": "local", "args": "none"}], "no-var": ["error"], "prefer-const": ["error"], "quotes": ["off", "single"], "semi": ["error", "always"], "space-before-blocks": ["error", "always"], "space-before-function-paren": ["error", {"anonymous": "never", "named": "never"}], "space-infix-ops": ["error", {"int32Hint": false}], "strict": ["error", "global"] }, "env": { "browser": true, "es6": true }, "globals": { "django": false } }
オプション
項目 | 説明 |
---|---|
rules | 様々なルールを設定することができる。詳しくはこちら(https://eslint.org/docs/rules/) |
env | 実行環境の設定を行うことができる。例:browser: ブラウザで実行される、es6: ES6が使用されているなど |
globals | グローバル変数が書き換え可能かどうか設定できる。falseの場合、グローバル変数の書き換えができなくなる |
ESLintなんて存在すら知りませんでした。IT業界は勉強すればするほど勉強不足を思い知らされる気がするのは私だけでしょうか。。
今日はこの辺で。