decidim/decidim

View on GitHub
.codeclimate.yml

Summary

Maintainability
Test Coverage
version: "2"

checks:
  argument-count:
    enabled: false

  complex-logic:
    enabled: false

  file-lines:
    enabled: false

  identical-code:
    enabled: true
    exclude_patterns:
    - "decidim_app-design/packages/"

  method-complexity:
    enabled: false

  method-count:
    enabled: false

  method-lines:
    enabled: false

  nested-control-flow:
    enabled: false

  return-statements:
    enabled: false

  similar-code:
    enabled: true
    exclude_patterns:
      - "decidim-*/lib/decidim/*/admin_engine.rb"

plugins:
  bundler-audit:
    enabled: true

  csslint:
    enabled: true
    exclude_patterns:
      - "decidim-dev/lib/decidim/dev/assets/iso-8859-15.md"
      - "decidim-admin/app/assets/stylesheets/decidim/admin/bundle.scss"
      - "decidim-core/app/assets/stylesheets/decidim/email.css"

  duplication:
    enabled: true

    config:
      languages:
        javascript:
          mass_threshold: 1000

        ruby:
          mass_threshold: 80

    exclude_fingerprints:
      - 3806e0c6847f506e683c8bc4133b22e5
      - ae2cee64fca2a95102d03e03b9ffb54f
      - 6f035938f647907520c4828322745f06
      - 54a2aa506daf27744a0c0d51712f11b5
      - 335702a6e9817ff54c4e6deb16b6663a
      - 4cd229a46c20efb3b58249cd528bc66c

    exclude_patterns:
      - "decidim-*/lib/decidim/*/admin_engine.rb"
      - "decidim-*/spec/**/*"
      - "**/eslint-config/index.js"

  eslint:
    enabled: false

  fixme:
    enabled: true

    exclude_patterns:
      - decidim-comments/app/assets/javascripts/decidim/comments/bundle.js.map
      - decidim-comments/app/assets/javascripts/decidim/comments/bundle.js
      - decidim-admin/app/assets/javascripts/decidim/admin/bundle.js.map
      - decidim-admin/app/assets/javascripts/decidim/admin/bundle.js
      - decidim-core/app/assets/javascripts/decidim/core/bundle.js.map
      - decidim-core/app/assets/javascripts/decidim/core/bundle.js
      - decidim-dev/config/rubocop/ruby.yml
      - docs/modules/develop/pages/maintainers/security.adoc

  grep:
    enabled: true

    config:
      patterns:
        no-trailing-whitespace:
          pattern: \s*$
          annotation: "Do not leave trailing whitespace"
          severity: minor
          categories: Style

        no-tabs:
          pattern: "    "
          annotation: "Do not use hard tabs"
          severity: minor
          categories: Style

        no-sing-in-for-system-specs:
          pattern: \s+sign_in[\s\(]
          annotation: "Use login_as instead of sign_in at system specs"
          severity: minor
          categories: Style
          path_patterns:
            - "decidim-*/spec/system/**/*.rb"

    exclude_patterns:
      - "decidim_app-design/**/*"
      - "**/*/locales/*.yml"
      - "**/*/*.svg"
      - "decidim-dev/lib/decidim/dev/assets/iso-8859-15.md"
      - "decidim-dev/lib/decidim/dev/assets/import_participatory_space_private_users_iso8859-1.csv"

  stylelint:
    # FIXME: after the webpacker packages changes, this is broken with this error:
    #
    # > Error: Could not find "@decidim/stylelint-config". Do you need a `configBasedir`?
    # > See our documentation at https://docs.codeclimate.com/docs/stylelint for more information.
    #
    # Disabling it for the moment, we should enable it as it is useful.
    #
    enabled: false
    exclude_patterns:
      - "decidim-admin/app/assets/stylesheets/decidim/admin/bundle.scss"
      - "decidim-core/app/assets/stylesheets/decidim/email.css"

exclude_patterns:
  - "**/vendor/"
  - "decidim-comments/app/assets/javascripts/decidim/comments/bundle.js"
  - "decidim-comments/app/frontend/support/schema.ts"
  - "node_modules/"
  - "development_app/"
  - "spec/decidim_dummy_app/"
  - "coverage/"
  - "webpack.report.html"
  - "decidim_app-design/public/sw.js"
  - "decidim_app-design/public/sw.js.map"