]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Use the Chart.js shared ESLint config (#5112)
authorSimon Brunel <simonbrunel@users.noreply.github.com>
Sat, 6 Jan 2018 22:59:13 +0000 (23:59 +0100)
committerEvert Timberg <evert.timberg+github@gmail.com>
Sat, 6 Jan 2018 22:59:13 +0000 (17:59 -0500)
An ESLint shareable config has been created (from this repository) in the attempt to homogenize Chart.js hosted projects and plugins style. Rename `.eslintrc` files to `.eslintrc.yml` since the name has been deprecated.

Fix the CC badge (maintainability) and disable CodeClimate ESLint plugin because it doesn't support custom shareable config but also because it already executes relevant checks as part of the regular process.

.codeclimate.yml
.eslintrc [deleted file]
.eslintrc.yml [new file with mode: 0644]
README.md
package.json
test/.eslintrc.yml [moved from test/.eslintrc with 100% similarity]

index bd32376436bafa36236295ebec260a8d19045711..0b8340feb58456a20610dc21571500aaeb5eee8f 100644 (file)
@@ -1,25 +1,19 @@
-engines:
+version: "2"
+plugins:
   duplication:
     enabled: true
     config:
       languages:
-      - javascript
-  eslint:
-    enabled: true
-    channel: "eslint-4"
+        - javascript
   fixme:
     enabled: true
-ratings:
-  paths:
-  - "src/**/*.js"
-exclude_paths:
-- '.github/'
-- 'dist/'
-- 'test/'
-- 'docs/'
-- 'samples/'
-- 'scripts/'
-- '**.md'
-- '**.json'
-- 'gulpfile.js'
-- 'karma.conf.js'
+exclude_patterns:
+  - "dist/"
+  - "docs/"
+  - "samples/"
+  - "scripts/"
+  - "test/"
+  - "*.js"
+  - "*.json"
+  - "*.md"
+  - ".*"
diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644 (file)
index c0e1b26..0000000
--- a/.eslintrc
+++ /dev/null
@@ -1,220 +0,0 @@
-env:
-  amd: true
-  browser: true
-  es6: true
-  jquery: true
-  node: true
-
-# http://eslint.org/docs/rules/
-rules:
-  # Possible Errors
-  no-cond-assign: 2
-  no-console: [2, {allow: [warn, error]}]
-  no-constant-condition: 2
-  no-control-regex: 2
-  no-debugger: 2
-  no-dupe-args: 2
-  no-dupe-keys: 2
-  no-duplicate-case: 2
-  no-empty: 2
-  no-empty-character-class: 2
-  no-ex-assign: 2
-  no-extra-boolean-cast: 2
-  no-extra-parens: [2, functions]
-  no-extra-semi: 2
-  no-func-assign: 2
-  no-inner-declarations: [2, functions]
-  no-invalid-regexp: 2
-  no-irregular-whitespace: 2
-  no-negated-in-lhs: 2
-  no-obj-calls: 2
-  no-regex-spaces: 2
-  no-sparse-arrays: 2
-  no-unexpected-multiline: 2
-  no-unreachable: 2
-  use-isnan: 2
-  valid-jsdoc: 0
-  valid-typeof: 2
-
-  # Best Practices
-  accessor-pairs: 2
-  array-callback-return: 0
-  block-scoped-var: 0
-  complexity: [2, 10]
-  consistent-return: 0
-  curly: [2, all]
-  default-case: 2
-  dot-location: 0
-  dot-notation: 2
-  eqeqeq: 2
-  guard-for-in: 2
-  no-alert: 2
-  no-caller: 2
-  no-case-declarations: 2
-  no-div-regex: 2
-  no-else-return: 2
-  no-empty-pattern: 2
-  no-eq-null: 2
-  no-eval: 2
-  no-extend-native: 2
-  no-extra-bind: 2
-  no-fallthrough: 2
-  no-floating-decimal: 2
-  no-implicit-coercion: 0
-  no-implied-eval: 2
-  no-invalid-this: 0
-  no-iterator: 2
-  no-labels: 2
-  no-lone-blocks: 2
-  no-loop-func: 2
-  no-magic-number: 0
-  no-multi-spaces: [2, {ignoreEOLComments: true}]
-  no-multi-str: 2
-  no-native-reassign: 2
-  no-new-func: 2
-  no-new-wrappers: 2
-  no-new: 2
-  no-octal-escape: 2
-  no-octal: 2
-  no-proto: 2
-  no-redeclare: 2
-  no-return-assign: 2
-  no-script-url: 2
-  no-self-compare: 2
-  no-sequences: 2
-  no-throw-literal: 0
-  no-unused-expressions: 2
-  no-useless-call: 2
-  no-useless-concat: 2
-  no-void: 2
-  no-warning-comments: 0
-  no-with: 2
-  radix: 2
-  vars-on-top: 0
-  wrap-iife: 2
-  yoda: [1, never]
-
-  # Strict
-  strict: 0
-
-  # Variables
-  init-declarations: 0
-  no-catch-shadow: 2
-  no-delete-var: 2
-  no-label-var: 2
-  no-shadow-restricted-names: 2
-  no-shadow: 2
-  no-undef-init: 2
-  no-undef: 2
-  no-undefined: 0
-  no-unused-vars: 2
-  no-use-before-define: 2
-
-  # Node.js and CommonJS
-  callback-return: 2
-  global-require: 2
-  handle-callback-err: 2
-  no-mixed-requires: 0
-  no-new-require: 0
-  no-path-concat: 2
-  no-process-exit: 2
-  no-restricted-modules: 0
-  no-sync: 0
-
-  # Stylistic Issues
-  array-bracket-spacing: [2, never]
-  block-spacing: 0
-  brace-style: [2, 1tbs]
-  camelcase: 2
-  comma-dangle: [2, only-multiline]
-  comma-spacing: 2
-  comma-style: [2, last]
-  computed-property-spacing: [2, never]
-  consistent-this: [2, me]
-  eol-last: 2
-  func-call-spacing: 0
-  func-names: [2, never]
-  func-style: 0
-  id-length: 0
-  id-match: 0
-  indent: [2, tab, {flatTernaryExpressions: true}]
-  jsx-quotes: 0
-  key-spacing: 2
-  keyword-spacing: 2
-  linebreak-style: 0
-  lines-around-comment: 0
-  max-depth: 0
-  max-len: 0
-  max-lines: 0
-  max-nested-callbacks: 0
-  max-params: 0
-  max-statements-per-line: 0
-  max-statements: [2, 30]
-  multiline-ternary: 0
-  new-cap: 0
-  new-parens: 2
-  newline-after-var: 0
-  newline-before-return: 0
-  newline-per-chained-call: 0
-  no-array-constructor: 0
-  no-bitwise: 0
-  no-continue: 0
-  no-inline-comments: 0
-  no-lonely-if: 2
-  no-mixed-operators: 0
-  no-mixed-spaces-and-tabs: 2
-  no-multiple-empty-lines: [2, {max: 2}]
-  no-negated-condition: 0
-  no-nested-ternary: 0
-  no-new-object: 0
-  no-plusplus: 0
-  no-restricted-syntax: 0
-  no-spaced-func: 0
-  no-ternary: 0
-  no-trailing-spaces: 2
-  no-underscore-dangle: 0
-  no-unneeded-ternary: 0
-  no-whitespace-before-property: 2
-  object-curly-newline: 0
-  object-curly-spacing: [2, never]
-  object-property-newline: 0
-  one-var-declaration-per-line: 2
-  one-var: [2, {initialized: never}]
-  operator-assignment: 0
-  operator-linebreak: 0
-  padded-blocks: 0
-  quote-props: [2, as-needed]
-  quotes: [2, single, {avoidEscape: true}]
-  require-jsdoc: 0
-  semi-spacing: 2
-  semi: [2, always]
-  sort-keys: 0
-  sort-vars: 0
-  space-before-blocks: [2, always]
-  space-before-function-paren: [2, never]
-  space-in-parens: [2, never]
-  space-infix-ops: 2
-  space-unary-ops: [2, {words: true, nonwords: false}]
-  spaced-comment: [2, always]
-  unicode-bom: 0
-  wrap-regex: 2
-
-  # ECMAScript 6
-  arrow-body-style: 0
-  arrow-parens: 0
-  arrow-spacing: 0
-  constructor-super: 0
-  generator-star-spacing: 0
-  no-arrow-condition: 0
-  no-class-assign: 0
-  no-const-assign: 0
-  no-dupe-class-members: 0
-  no-this-before-super: 0
-  no-var: 0
-  object-shorthand: 0
-  prefer-arrow-callback: 0
-  prefer-const: 0
-  prefer-reflect: 0
-  prefer-spread: 0
-  prefer-template: 0
-  require-yield: 0
diff --git a/.eslintrc.yml b/.eslintrc.yml
new file mode 100644 (file)
index 0000000..8f9b4af
--- /dev/null
@@ -0,0 +1,5 @@
+extends: chartjs
+
+env:
+  browser: true
+  node: true
index 767950b88bc8927ac618eb4984b2cdea3a72fc8c..10d2c1d8d7d17526645fc5c5ab42dd6a4984d8b4 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Chart.js
 
-[![travis](https://img.shields.io/travis/chartjs/Chart.js.svg?style=flat-square&maxAge=60)](https://travis-ci.org/chartjs/Chart.js) [![codeclimate](https://img.shields.io/codeclimate/github/chartjs/Chart.js.svg?style=flat-square&maxAge=600)](https://codeclimate.com/github/chartjs/Chart.js) [![coveralls](https://img.shields.io/coveralls/chartjs/Chart.js.svg?style=flat-square&maxAge=600)](https://coveralls.io/github/chartjs/Chart.js?branch=master) [![slack](https://img.shields.io/badge/slack-Chart.js-blue.svg?style=flat-square&maxAge=3600)](https://chart-js-automation.herokuapp.com/)
+[![travis](https://img.shields.io/travis/chartjs/Chart.js.svg?style=flat-square&maxAge=60)](https://travis-ci.org/chartjs/Chart.js) [![coveralls](https://img.shields.io/coveralls/chartjs/Chart.js.svg?style=flat-square&maxAge=600)](https://coveralls.io/github/chartjs/Chart.js?branch=master) [![codeclimate](https://img.shields.io/codeclimate/maintainability/chartjs/Chart.js.svg?style=flat-square&maxAge=600)](https://codeclimate.com/github/chartjs/Chart.js) [![slack](https://img.shields.io/badge/slack-Chart.js-blue.svg?style=flat-square&maxAge=3600)](https://chart-js-automation.herokuapp.com/)
 
 *Simple HTML5 Charts using the canvas element* [chartjs.org](http://www.chartjs.org)
 
index 3ebc721f95afcd3a329b29f7c0665fc416ca35c9..510c141cd88aacb86b4684c0e533f6b877afd88f 100644 (file)
@@ -16,6 +16,7 @@
     "child-process-promise": "^2.2.1",
     "coveralls": "^3.0.0",
     "eslint": "^4.9.0",
+    "eslint-config-chartjs": "git+https://github.com/chartjs/eslint-config-chartjs.git",
     "gitbook-cli": "^2.3.2",
     "gulp": "3.9.x",
     "gulp-concat": "~2.6.x",
similarity index 100%
rename from test/.eslintrc
rename to test/.eslintrc.yml