GithubHelp home page GithubHelp logo

osinet / qa Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 213 KB

Quality Assurance tools for Drupal

License: GNU General Public License v2.0

PHP 99.74% CSS 0.26%
drupal-9 drupal-8 drupal-module qa quality-assurance static-analysis

qa's Issues

qadep should not include version requirements in module names

Currently, versioned dependencies appear like "menu (> 7.11)", causing duplicate displays with normal dependencies like "menu".

The plugin should gather them together, either simply merging the dependencies and ignoring the version requirements, or gathering them with a representation of the multiples version dependencies.

Fix modules without project not being detected as unused

When a project is not declared in the info.yml file, and not available through other means, it is linked to the default project, which always has enabled modules, causing such unused projects not to be discovered.

The discovery process needs to be smarter and obtain project information, possibly from the d.o. API or some heuristics based on the filesystem layout.

One possibility might be to check how update and upgrade_manager access the project information in these cases.

Support Drush 9 for 8.x-1.x branch

The existing 8.x-1.x HEAD is only usable with Drush 8 which is no longer recommended after Drupal 8.5, and is likely to not work at all in 8.7.

Drush 10 support

This is needed to work on Drupal 9 and useful in late Drupal 8 versions.

Implement orphan tags check

Most content entities can be standalone, unlike taxonomy terms which are meant to be used as classifiers for other types of content.

This check identifies terms which are present but not referenced by any other content entity, or only by other terms. Manual review is needed starting from there to identify which are really unneeded, as some terms may be predefined for later use, or used only as parents of other used terms.

Port ForceRemoved to D9/D8

Extension status has evolved a lot since D7, with the removal of the system table and the installed but not enabled state.

Support options for ignored modules

In audit situations, some modules are typically added, like QA itself : it would be convenient to provide a way to ignore some modules. Use cases:

  • ignoring audit-added modules like QA or Schema
  • ignoring core modules
  • ignoring or only examining specific big packages, like Drupal Commerce
  • ignoring disables modules
  • ignoring, or just displaying, themes, libraries

Web UI

Currently the D8/D9 version is only usable with Drush, the Web UI pages are just placeholders.

They need to be plugged with the command implementations to offer a choice between web and CLI usage.

Drupal 9 port

Needs

  • Drush 10 (cf #7)
  • composer.json / qa.info.yml upgrade
  • upgrade_status compliance

Detect undeclared dependencies

Custom modules frequently uses code from other custom modules without declaring its dependency, assuming both are always deployed.

This check attempts to detect such missing dependencies.

In its first versions it will not attempt to be exhaustive, but just identify (a) function calls (b) in module files (c) calling functions (d) in other module files. Later versions could track OO code and/or check availability with the autoloader.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.