tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

index.rst (4385B)


      1 Code quality
      2 ============
      3 
      4 Because Firefox is a complex piece of software, a lot of tools are
      5 executed to identify issues at development phase.
      6 In this document, we try to list these all tools.
      7 
      8 
      9 .. toctree::
     10  :maxdepth: 1
     11  :glob:
     12 
     13  static-analysis/index.rst
     14  lint/index.rst
     15  coding-style/index.rst
     16  typescript/index.md
     17 
     18 .. list-table:: C/C++
     19   :header-rows: 1
     20   :widths: 20 20 20 20 20
     21 
     22   * - Tools
     23     - Has autofixes
     24     - Meta bug
     25     - More info
     26     - Upstream
     27   * - Custom clang checker
     28     -
     29     -
     30     - `Source <https://searchfox.org/mozilla-central/source/build/clang-plugin>`_
     31     -
     32   * - Clang-Tidy
     33     - Yes
     34     - `bug 712350 <https://bugzilla.mozilla.org/show_bug.cgi?id=712350>`__
     35     - :ref:`Static analysis <Static Analysis>`
     36     - https://clang.llvm.org/extra/clang-tidy/checks/list.html
     37   * - Clang analyzer
     38     -
     39     - `bug 712350 <https://bugzilla.mozilla.org/show_bug.cgi?id=712350>`__
     40     -
     41     - https://clang-analyzer.llvm.org/
     42   * - cpp virtual final
     43     -
     44     -
     45     - :ref:`cpp virtual final`
     46     -
     47   * - clang-format
     48     - Yes
     49     - `bug 1188202 <https://bugzilla.mozilla.org/show_bug.cgi?id=1188202>`__
     50     - :ref:`Formatting C++ Code With clang-format`
     51     - https://clang.llvm.org/docs/ClangFormat.html
     52 
     53 .. list-table:: CSS
     54   :widths: 20 20 20 20 20
     55   :header-rows: 1
     56 
     57   * - Tools
     58     - Has autofixes
     59     - Meta bug
     60     - More info
     61     - Upstream
     62   * - Stylelint
     63     - Yes
     64     - `bug 1762027 <https://bugzilla.mozilla.org/show_bug.cgi?id=1762027>`__
     65     - :ref:`Stylelint`
     66     - https://stylelint.io/
     67   * - Mozilla Stylelint
     68     -
     69     -
     70     - :ref:`Mozilla Stylelint Plugin`
     71     -
     72 
     73 .. list-table:: JavaScript
     74   :widths: 20 20 20 20 20
     75   :header-rows: 1
     76 
     77   * - Tools
     78     - Has autofixes
     79     - Meta bug
     80     - More info
     81     - Upstream
     82   * - Eslint
     83     - Yes
     84     - `bug 1229856 <https://bugzilla.mozilla.org/show_bug.cgi?id=1229856>`__
     85     - :ref:`ESLint`
     86     - https://eslint.org/
     87   * - Mozilla ESLint
     88     -
     89     - `bug 1229856 <https://bugzilla.mozilla.org/show_bug.cgi?id=1229856>`__
     90     - :ref:`Mozilla ESLint Plugin`
     91     -
     92   * - Prettier
     93     - Yes
     94     - `bug 1558517 <https://bugzilla.mozilla.org/show_bug.cgi?id=1558517>`__
     95     - :ref:`JavaScript Coding style`
     96     - https://prettier.io/
     97 
     98 .. list-table:: Python
     99   :widths: 20 20 20 20 20
    100   :header-rows: 1
    101 
    102   * - Tools
    103     - Has autofixes
    104     - Meta bug
    105     - More info
    106     - Upstream
    107   * - ruff
    108     - Yes
    109     - `bug 1811850 <https://bugzilla.mozilla.org/show_bug.cgi?id=1811850>`__
    110     - :ref:`ruff`
    111     - https://github.com/charliermarsh/ruff
    112   * - black
    113     - Yes
    114     - `bug 1555560 <https://bugzilla.mozilla.org/show_bug.cgi?id=1555560>`__
    115     - :ref:`black`
    116     - https://black.readthedocs.io/en/stable
    117 
    118 .. list-table:: Rust
    119   :widths: 20 20 20 20 20
    120   :header-rows: 1
    121 
    122   * - Tools
    123     - Has autofixes
    124     - Meta bug
    125     - More info
    126     - Upstream
    127   * - Rustfmt
    128     - Yes
    129     - `bug 1454764 <https://bugzilla.mozilla.org/show_bug.cgi?id=1454764>`__
    130     - :ref:`Rustfmt`
    131     - https://github.com/rust-lang/rustfmt
    132   * - Clippy
    133     - Yes
    134     - `bug 1361342 <https://bugzilla.mozilla.org/show_bug.cgi?id=1361342>`__
    135     - :ref:`clippy`
    136     - https://github.com/rust-lang/rust-clippy
    137   * - cargo-audit
    138     -
    139     - `bug 1747536 <https://bugzilla.mozilla.org/show_bug.cgi?id=1747536>`__
    140     - :ref:`cargo-audit`
    141     - https://rustsec.org/
    142 
    143 .. list-table:: Java/Kotlin
    144   :widths: 20 20 20 20 20
    145   :header-rows: 1
    146 
    147   * - Tools
    148     - Has autofixes
    149     - Meta bug
    150     - More info
    151     - Upstream
    152   * - Spotless
    153     - Yes
    154     - `bug 1571899 <https://bugzilla.mozilla.org/show_bug.cgi?id=1571899>`__
    155     - :ref:`Spotless`
    156     - https://github.com/diffplug/spotless
    157 
    158 .. list-table:: Others
    159   :widths: 20 20 20 20 20
    160   :header-rows: 1
    161 
    162   * - Tools
    163     - Has autofixes
    164     - Meta bug
    165     - More info
    166     - Upstream
    167   * - shellcheck
    168     -
    169     -
    170     -
    171     - https://www.shellcheck.net/
    172   * - rstchecker
    173     -
    174     -
    175     - :ref:`RST Linter`
    176     - https://github.com/myint/rstcheck
    177   * - Typo detection
    178     - Yes
    179     -
    180     - :ref:`Codespell`
    181     - https://github.com/codespell-project/codespell
    182   * - Fluent Lint
    183     - No
    184     -
    185     - :ref:`Fluent Lint`
    186     -
    187   * - YAML linter
    188     - No
    189     -
    190     - :ref:`yamllint`
    191     - https://github.com/adrienverge/yamllint