Просмотр исходного кода

moving code linting to codeclimate

Rafał Pitoń 9 лет назад
Родитель
Сommit
29edf9ce14
10 измененных файлов с 256 добавлено и 73 удалено
  1. 29 0
      .codeclimate.yml
  2. 2 0
      .csslintrc
  3. 1 0
      .eslintignore
  4. 213 0
      .eslintrc
  5. 0 18
      .landscape.yml
  6. 2 0
      .pylintrc
  7. 9 9
      README.rst
  8. 0 28
      testapp
  9. 0 14
      testapps
  10. 0 4
      tox.ini

+ 29 - 0
.codeclimate.yml

@@ -0,0 +1,29 @@
+---
+engines:
+  csslint:
+    enabled: true
+  duplication:
+    enabled: true
+    config:
+      languages:
+      - ruby
+      - javascript
+      - python
+      - php
+  eslint:
+    enabled: true
+  fixme:
+    enabled: true
+  radon:
+    enabled: true
+ratings:
+  paths:
+  - "**.css"
+  - "**.inc"
+  - "**.js"
+  - "**.jsx"
+  - "**.module"
+  - "**.php"
+  - "**.py"
+  - "**.rb"
+exclude_paths: []

+ 2 - 0
.csslintrc

@@ -0,0 +1,2 @@
+--exclude-exts=.min.css
+--ignore=adjoining-classes,box-model,ids,order-alphabetical,unqualified-attributes

+ 1 - 0
.eslintignore

@@ -0,0 +1 @@
+**/*{.,-}min.js

+ 213 - 0
.eslintrc

@@ -0,0 +1,213 @@
+ecmaFeatures:
+  modules: true
+  jsx: true
+
+env:
+  amd: true
+  browser: true
+  es6: true
+  jquery: true
+  node: true
+
+# http://eslint.org/docs/rules/
+rules:
+  # Possible Errors
+  comma-dangle: [2, never]
+  no-cond-assign: 2
+  no-console: 0
+  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: 0
+  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
+  block-scoped-var: 0
+  complexity: [2, 6]
+  consistent-return: 0
+  curly: 0
+  default-case: 0
+  dot-location: 0
+  dot-notation: 0
+  eqeqeq: 2
+  guard-for-in: 2
+  no-alert: 2
+  no-caller: 2
+  no-case-declarations: 2
+  no-div-regex: 2
+  no-else-return: 0
+  no-empty-label: 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: 0
+  no-implicit-coercion: 0
+  no-implied-eval: 2
+  no-invalid-this: 0
+  no-iterator: 2
+  no-labels: 0
+  no-lone-blocks: 2
+  no-loop-func: 2
+  no-magic-number: 0
+  no-multi-spaces: 0
+  no-multi-str: 0
+  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: 0
+  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: 0
+
+  # 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: 0
+  no-undef-init: 2
+  no-undef: 0
+  no-undefined: 0
+  no-unused-vars: 0
+  no-use-before-define: 0
+
+  # 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: 0
+  block-spacing: 0
+  brace-style: 0
+  camelcase: 0
+  comma-spacing: 0
+  comma-style: 0
+  computed-property-spacing: 0
+  consistent-this: 0
+  eol-last: 0
+  func-names: 0
+  func-style: 0
+  id-length: 0
+  id-match: 0
+  indent: 0
+  jsx-quotes: 0
+  key-spacing: 0
+  linebreak-style: 0
+  lines-around-comment: 0
+  max-depth: 0
+  max-len: 0
+  max-nested-callbacks: 0
+  max-params: 0
+  max-statements: [2, 30]
+  new-cap: 0
+  new-parens: 0
+  newline-after-var: 0
+  no-array-constructor: 0
+  no-bitwise: 0
+  no-continue: 0
+  no-inline-comments: 0
+  no-lonely-if: 0
+  no-mixed-spaces-and-tabs: 0
+  no-multiple-empty-lines: 0
+  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: 0
+  no-underscore-dangle: 0
+  no-unneeded-ternary: 0
+  object-curly-spacing: 0
+  one-var: 0
+  operator-assignment: 0
+  operator-linebreak: 0
+  padded-blocks: 0
+  quote-props: 0
+  quotes: 0
+  require-jsdoc: 0
+  semi-spacing: 0
+  semi: 0
+  sort-vars: 0
+  space-after-keywords: 0
+  space-before-blocks: 0
+  space-before-function-paren: 0
+  space-before-keywords: 0
+  space-in-parens: 0
+  space-infix-ops: 0
+  space-return-throw-case: 0
+  space-unary-ops: 0
+  spaced-comment: 0
+  wrap-regex: 0
+
+  # 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

+ 0 - 18
.landscape.yml

@@ -1,18 +0,0 @@
-doc-warnings: true
-test-warnings: true
-strictness: veryhigh
-max-line-length: 120
-pylint:
-  disable:
-    - missing-docstring
-    - super-on-old-class
-uses:
-  - django
-requirements:
-  - misago/project_template/requirements.txt
-ignore-paths:
-  - docs
-  - frontend
-python-targets:
-    - 2
-    - 3

+ 2 - 0
.pylintrc

@@ -0,0 +1,2 @@
+max-line-length: 120
+disable: old-style-class,super-on-old-class

+ 9 - 9
README.rst

@@ -3,20 +3,20 @@ Misago
 ======
 
 .. image:: https://travis-ci.org/rafalp/Misago.png?branch=master
-  :target: https://travis-ci.org/rafalp/Misago
-  :alt: Tests Result
+   :target: https://travis-ci.org/rafalp/Misago
+   :alt: Tests Result
 
 .. image:: https://coveralls.io/repos/rafalp/Misago/badge.png?branch=master
-  :target: https://coveralls.io/r/rafalp/Misago?branch=master
-  :alt: Code Coverage
+   :target: https://coveralls.io/r/rafalp/Misago?branch=master
+   :alt: Code Coverage
 
-.. image:: https://landscape.io/github/rafalp/Misago/master/landscape.svg?style=flat
-  :target: https://landscape.io/github/rafalp/Misago/master
-  :alt: Code Health
+.. image:: https://codeclimate.com/github/rafalp/Misago/badges/gpa.svg
+   :target: https://codeclimate.com/github/rafalp/Misago
+   :alt: Code Climate
 
 .. image:: https://badges.gitter.im/Misago/Misago.svg
-  :target: https://gitter.im/Misago/Misago?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
-  :alt: Development Chat
+   :target: https://gitter.im/Misago/Misago?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
+   :alt: Development Chat
 
 
 **Development Status: Pre-Alpha**

+ 0 - 28
testapp

@@ -1,28 +0,0 @@
-#!/bin/bash
-source ~/venvs/misago06/bin/activate
-
-PREFIX=./misago/$1/tests/
-PREFIX_LEN=${#PREFIX}
-
-TESTS=./misago/$1/tests/test_*.py
-for f in $TESTS
-do
-  module=${f:PREFIX_LEN + 5}
-  module=${module:0:${#module} - 3}
-  python runtests.py misago.$1.tests.test_$module 1>/dev/null 2>/tmp/error
-  errors=`tail -n1 /tmp/error`
-
-  if [ "$2" == "md" ] ; then
-    if [ "$errors" == "OK" ] ; then
-      echo "    * [x] $module"
-    else
-      echo "    * [ ] $module: $errors"
-    fi
-  else
-    if [ "$errors" == "OK" ] ; then
-      echo "OK: $module"
-    else
-      echo "ER: $module"
-    fi
-  fi
-done

+ 0 - 14
testapps

@@ -1,14 +0,0 @@
-#!/bin/bash
-APPS_WITH_TESTS=./misago/*/tests/__init__.py
-for f in $APPS_WITH_TESTS
-do
-  APP=${f:9:${#f}-27}
-  if [ "$1" == "md" ] ; then
-    echo "* [ ] **$APP**"
-    ./testapp $APP md
-  else
-    echo $APP
-    echo "========================"
-    ./testapp $APP
-  fi
-done

+ 0 - 4
tox.ini

@@ -1,4 +0,0 @@
-[flake8]
-max-line-length = 79
-exclude = ./tests/*,./docs/*,./futuredep/*,./dev-manage/*,./testproject/*,./misago/conf/migrations/*,./misago/core/migrations/*,./misago/users/migrations/*,./misago/project_template/*,./misago/core/tests/test_migrationutils.py,./misago/core/testproject/*
-max-complexity = 12