diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 40d5c5a64bf58ac0b9d769c8999214044ded9051..78c5a3720c73fe32121afb8ece3048a7122cc75c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,99 +1,30 @@
 ################
-# DrupalCI GitLabCI template
+# GitLabCI template for Drupal projects.
 #
-# Gitlab-ci.yml to replicate DrupalCI testing for Contrib
-#
-# With thanks to:
-#   * The GitLab Acceleration Initiative participants
-#   * DrupalSpoons
-################
-
-################
-# Guidelines
-#
-# This template is designed to give any Contrib maintainer everything they need to test, without requiring modification. It is also designed to keep up to date with Core Development automatically through the use of include files that can be centrally maintained.
-#
-# However, you can modify this template if you have additional needs for your project.
-################
-
-################
-# Includes
-#
-# Additional configuration can be provided through includes.
-# One advantage of include files is that if they are updated upstream, the changes affect all pipelines using that include.
-#
-# Includes can be overridden by re-declaring anything provided in an include, here in gitlab-ci.yml
-# https://docs.gitlab.com/ee/ci/yaml/includes.html#override-included-configuration-values
+# This template is designed to give any Contrib maintainer everything they need to test, without requiring modification.
+# It is also designed to keep up to date with Core Development automatically through the use of include files that can be centrally maintained.
+# As long as you include the project, ref and three files below, any future updates added by the Drupal Association will be used in your
+# pipelines automatically. However, you can modify this template if you have additional needs for your project.
+# The full documentation is on https://project.pages.drupalcode.org/gitlab_templates/
 ################
 
+# For information on alternative values for 'ref' see https://project.pages.drupalcode.org/gitlab_templates/info/templates-version/
+# To test a Drupal 7 project, change the first include filename from .main.yml to .main-d7.yml
 include:
-  ################
-  # DrupalCI includes:
-  # As long as you include this, any future includes added by the Drupal Association will be accessible to your pipelines automatically.
-  # View these include files at https://git.drupalcode.org/project/gitlab_templates/
-  ################
   - project: $_GITLAB_TEMPLATES_REPO
     ref: $_GITLAB_TEMPLATES_REF
     file:
       - '/includes/include.drupalci.main.yml'
-      # EXPERIMENTAL: For Drupal 7, remove the above line and uncomment the below.
-      # - '/includes/include.drupalci.main-d7.yml'
       - '/includes/include.drupalci.variables.yml'
       - '/includes/include.drupalci.workflows.yml'
-
-################
-# Pipeline configuration variables
 #
-# These are the variables provided to the Run Pipeline form that a user may want to override.
-#
-# Docs at https://git.drupalcode.org/project/gitlab_templates/-/blob/1.0.x/includes/include.drupalci.variables.yml
+################
+# Pipeline configuration variables are defined with default values and descriptions in the file
+# https://git.drupalcode.org/project/gitlab_templates/-/blob/main/includes/include.drupalci.variables.yml
+# Uncomment the lines below if you want to override any of the variables. The following is just an example.
 ################
 variables:
+#   SKIP_ESLINT: '1'
+#   OPT_IN_TEST_NEXT_MAJOR: '1'
+#   _CURL_TEMPLATES_REF: 'main'
   _PHPUNIT_CONCURRENT: '1'
-
-
-###################################################################################
-#
-#                                        *
-#                                       /(
-#                                      ((((,
-#                                    /(((((((
-#                                   ((((((((((*
-#                                ,(((((((((((((((
-#                              ,(((((((((((((((((((
-#                            ((((((((((((((((((((((((*
-#                         *(((((((((((((((((((((((((((((
-#                       ((((((((((((((((((((((((((((((((((*
-#                    *((((((((((((((((((  .((((((((((((((((((
-#                  ((((((((((((((((((.       /(((((((((((((((((*
-#                /(((((((((((((((((            .(((((((((((((((((,
-#             ,((((((((((((((((((                 ((((((((((((((((((
-#           .((((((((((((((((((((                   .(((((((((((((((((
-#          (((((((((((((((((((((((                     ((((((((((((((((/
-#        (((((((((((((((((((((((((((/                    ,(((((((((((((((*
-#      .((((((((((((((/  /(((((((((((((.                   ,(((((((((((((((
-#     *((((((((((((((      ,(((((((((((((/                   *((((((((((((((.
-#    ((((((((((((((,          /(((((((((((((.                  ((((((((((((((,
-#   (((((((((((((/              ,(((((((((((((*                 ,(((((((((((((,
-#  *(((((((((((((                .(((((((((((((((                ,(((((((((((((
-#  ((((((((((((/                /((((((((((((((((((.              ,((((((((((((/
-# (((((((((((((              *(((((((((((((((((((((((*             *((((((((((((
-# (((((((((((((            ,(((((((((((((..(((((((((((((           *((((((((((((
-# ((((((((((((,          /((((((((((((*      /((((((((((((/         ((((((((((((
-# (((((((((((((        /((((((((((((/          (((((((((((((*       ((((((((((((
-# (((((((((((((/     /((((((((((((               ,((((((((((((,    *((((((((((((
-#  ((((((((((((((  *(((((((((((/                   *((((((((((((.  ((((((((((((/
-#  *((((((((((((((((((((((((((,                      /(((((((((((((((((((((((((
-#   (((((((((((((((((((((((((                         ((((((((((((((((((((((((,
-#   .(((((((((((((((((((((((/                         ,(((((((((((((((((((((((
-#     ((((((((((((((((((((((/                         ,(((((((((((((((((((((/
-#      *(((((((((((((((((((((                         (((((((((((((((((((((,
-#       ,(((((((((((((((((((((,                      ((((((((((((((((((((/
-#         ,(((((((((((((((((((((*                  /((((((((((((((((((((
-#            ((((((((((((((((((((((,           ,/((((((((((((((((((((,
-#              ,(((((((((((((((((((((((((((((((((((((((((((((((((((
-#                 .(((((((((((((((((((((((((((((((((((((((((((((
-#                     .((((((((((((((((((((((((((((((((((((,.
-#                          .,(((((((((((((((((((((((((.
-#
-###################################################################################
diff --git a/css/checkbox-widget.css b/css/checkbox-widget.css
index a36c7249854ac346e68f494fe50b2f468dcfff4a..ff50f15473140732cbb3cc9f8277c1b0d0fcc0af 100644
--- a/css/checkbox-widget.css
+++ b/css/checkbox-widget.css
@@ -1,5 +1,5 @@
 .facets-widget-links ul li.facet-item label .facet-item__value {
   cursor: pointer;
-  color:blue;
-  text-decoration:underline;
+  text-decoration: underline;
+  color: blue;
 }
diff --git a/css/facets.admin.css b/css/facets.admin.css
index 5cea75960ca0fb906398a992844f82f546563f01..a8c2ff55b0c60874dec5587eaa3cf1a52ea0ef98 100644
--- a/css/facets.admin.css
+++ b/css/facets.admin.css
@@ -33,12 +33,12 @@
  * Facets Display page
  */
 .facets-processor-settings-sorting {
+  margin-top: -16px;
   margin-bottom: -7px;
   margin-left: 20px;
-  margin-top: -16px;
 }
 
 .facets-processor-settings-facet {
-  margin-left: 20px;
   margin-bottom: 20px;
+  margin-left: 20px;
 }
diff --git a/docs/index.md b/docs/index.md
index 19a6bc5db9a978110c7ed8124860e21300e8549b..ed2a41fcd92d8187b98fefeabeb3c3aaab7e52e6 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,5 +1,3 @@
 # Introduction
 
 The Facets module allows site builders to easily create and manage faceted search interfaces.
-
-
diff --git a/modules/facets_exposed_filters/facets_exposed_filters.module b/modules/facets_exposed_filters/facets_exposed_filters.module
index 2012b8cdd349b7f0eaeb55ed5f8305283a438602..7ff91c14ff2eb996d674b073e4fc866fb695d7d6 100644
--- a/modules/facets_exposed_filters/facets_exposed_filters.module
+++ b/modules/facets_exposed_filters/facets_exposed_filters.module
@@ -4,6 +4,7 @@
  * @file
  */
 
+use Drupal\views\Plugin\Block\ViewsExposedFilterBlock;
 use Drupal\Core\Block\BlockPluginInterface;
 use Drupal\search_api\Entity\Index;
 use Drupal\search_api\Plugin\views\query\SearchApiQuery;
@@ -57,7 +58,8 @@ function facets_exposed_filters_search_api_query_alter(QueryInterface $query) {
         'operator' => $filter->options["facet"]["query_operator"],
         'min_count' => $filter->options["facet"]["min_count"],
         'missing' => FALSE,
-        'query_type' => 'search_api_string', // TODO: investigate if this property (query_type) is used.
+      // @todo investigate if this property (query_type) is used.
+        'query_type' => 'search_api_string',
       ];
     }
   }
@@ -170,7 +172,7 @@ function facets_exposed_filters_get_processed_facet($view_id, $display_id, $filt
 function facets_exposed_filters_block_build_alter(array &$build, BlockPluginInterface $block) {
   // Exposed filter blocks can be placed on any page. We need to ensure that the view is executed when the block is
   // rendered and has Facet filters.
-  if($block instanceof \Drupal\views\Plugin\Block\ViewsExposedFilterBlock) {
+  if ($block instanceof ViewsExposedFilterBlock) {
     $view = $block->getViewExecutable();
     $view->initHandlers();
     foreach ($view->filter as $filter) {
@@ -178,7 +180,7 @@ function facets_exposed_filters_block_build_alter(array &$build, BlockPluginInte
         $filter_id = $filter->options["id"];
         $display = $view->current_display;
         $processed_facet = facets_exposed_filters_get_processed_facet($view->id(), $display, $filter_id);
-        if(!$processed_facet) {
+        if (!$processed_facet) {
           // The facet has not been processed.
           $view->execute($display);
         }
diff --git a/modules/facets_exposed_filters/src/Plugin/views/filter/FacetsFilter.php b/modules/facets_exposed_filters/src/Plugin/views/filter/FacetsFilter.php
index 80f5e9ed716a804aec4e6a2d4d909d5b407a0db1..22caf107ee2a6c69fb11399ee846285f8a7d7f8b 100644
--- a/modules/facets_exposed_filters/src/Plugin/views/filter/FacetsFilter.php
+++ b/modules/facets_exposed_filters/src/Plugin/views/filter/FacetsFilter.php
@@ -11,7 +11,6 @@ use Drupal\facets\FacetInterface;
 use Drupal\facets\Hierarchy\HierarchyPluginBase;
 use Drupal\facets\Processor\ProcessorInterface;
 use Drupal\facets\Processor\SortProcessorInterface;
-use Drupal\facets\Result\Result;
 use Drupal\views\Plugin\views\filter\FilterPluginBase;
 
 /**
@@ -135,7 +134,7 @@ class FacetsFilter extends FilterPluginBase {
       $query_type_plugin->build();
 
       // When no results are available, we do not need to process the facet or render the form item.
-      if(!$facet->getResults()) {
+      if (!$facet->getResults()) {
         return;
       }
 
@@ -549,7 +548,7 @@ class FacetsFilter extends FilterPluginBase {
    */
   private function getActiveFacetValues() {
     // Reset button in ajax request. We probably want a better way to detect if this was clicked.
-    if(isset($_GET["reset"])) {
+    if (isset($_GET["reset"])) {
       return [];
     }
     $exposed = $this->view->getExposedInput();
diff --git a/modules/facets_exposed_filters/tests/src/Functional/ExposedFiltersTest.php b/modules/facets_exposed_filters/tests/src/Functional/ExposedFiltersTest.php
index 902b554adaad29e19809f9e2dd830aedb1bbc337..a4f299fb17c775a92003fcbf25c768de43a3174d 100644
--- a/modules/facets_exposed_filters/tests/src/Functional/ExposedFiltersTest.php
+++ b/modules/facets_exposed_filters/tests/src/Functional/ExposedFiltersTest.php
@@ -48,18 +48,18 @@ class ExposedFiltersTest extends FacetsTestBase {
     $this->assertSession()->pageTextContains('strawberry');
 
     // Test filtered page.
-    $this->drupalGet('test-facets-exposed-filters',['query' => ['keywords[]' => 'apple']] );
+    $this->drupalGet('test-facets-exposed-filters', ['query' => ['keywords[]' => 'apple']]);
     $this->assertSession()->pageTextContains('Keywords');
     $this->assertSession()->pageTextNotContains('entity:entity_test_mulrev_changed/3:en');
     $this->assertSession()->pageTextContains('strawberry');
 
     // Test if facet in keywords disappears when non-matching category is selected.
-    $this->drupalGet('test-facets-exposed-filters',['query' => ['category[]' => 'item_category']] );
+    $this->drupalGet('test-facets-exposed-filters', ['query' => ['category[]' => 'item_category']]);
     $this->assertSession()->pageTextContains('Keywords');
     $this->assertSession()->pageTextNotContains('strawberry');
 
     // Test if facet in keywords stays when matching category is selected.
-    $this->drupalGet('test-facets-exposed-filters',['query' => ['category[]' => 'article_category']] );
+    $this->drupalGet('test-facets-exposed-filters', ['query' => ['category[]' => 'article_category']]);
     $this->assertSession()->pageTextContains('Keywords');
     $this->assertSession()->pageTextContains('strawberry');
   }
diff --git a/modules/facets_summary/src/Plugin/facets_summary/processor/ShowCountProcessor.php b/modules/facets_summary/src/Plugin/facets_summary/processor/ShowCountProcessor.php
index 79969eb3c86b46947e522a8008dffda38452d555..5f2f16970bcc009440825748236da374ad894c82 100644
--- a/modules/facets_summary/src/Plugin/facets_summary/processor/ShowCountProcessor.php
+++ b/modules/facets_summary/src/Plugin/facets_summary/processor/ShowCountProcessor.php
@@ -31,7 +31,7 @@ class ShowCountProcessor extends ProcessorPluginBase implements BuildProcessorIn
     $count = $facets_summary->getFacetSource()->getCount();
     $build_count = [
       '#theme' => 'facets_summary_count',
-      '#count' => $count === NULL ? 0 : $count,
+      '#count' => $count ?? 0,
     ];
     array_unshift($build['#items'], $build_count);
     return $build;
diff --git a/modules/facets_summary/src/Plugin/views/FacetsSummaryViewsPluginTrait.php b/modules/facets_summary/src/Plugin/views/FacetsSummaryViewsPluginTrait.php
index 6712e5134d370e0bfefc6cd89e8f872a094cfce2..3004f17aab7b7d44b30eb1acd8c83cfabf86452d 100644
--- a/modules/facets_summary/src/Plugin/views/FacetsSummaryViewsPluginTrait.php
+++ b/modules/facets_summary/src/Plugin/views/FacetsSummaryViewsPluginTrait.php
@@ -37,7 +37,7 @@ trait FacetsSummaryViewsPluginTrait {
       '#options' => $options,
       '#type' => 'radios',
       '#required' => TRUE,
-      '#default_value' => isset($this->options['facet_summary']) ? $this->options['facet_summary'] : [],
+      '#default_value' => $this->options['facet_summary'] ?? [],
     ];
 
     $form['label_display'] = [
diff --git a/src/Entity/Facet.php b/src/Entity/Facet.php
index f4cf01bb76df8f0b9782db5303989776137f7fa6..72f22da312913dc5c5208a9b981d2865d25f1c26 100644
--- a/src/Entity/Facet.php
+++ b/src/Entity/Facet.php
@@ -498,7 +498,7 @@ class Facet extends ConfigEntityBase implements FacetInterface {
 
     // Allow Facets without widgets (e.g. for facets exposed filters, where views handles the widget part).
     $widgetQueryType = NULL;
-    if($this->widget != "<nowidget>") {
+    if ($this->widget != "<nowidget>") {
       // Get the widget configured for this facet.
       /** @var \Drupal\facets\Widget\WidgetPluginInterface $widget */
       $widget = $this->getWidgetInstance();
@@ -717,6 +717,7 @@ class Facet extends ConfigEntityBase implements FacetInterface {
   public function getName() {
     return $this->name;
   }
+
   /**
    * {@inheritdoc}
    */
@@ -1219,6 +1220,9 @@ class Facet extends ConfigEntityBase implements FacetInterface {
     return $this->cacheMaxAge;
   }
 
+  /**
+   *
+   */
   protected function calculateCacheDependencies(): void {
     if (!$this->cache_dependencies_calculated) {
       if ($facet_source = $this->getFacetSource()) {
diff --git a/src/Plugin/facets/processor/CombineFacetProcessor.php b/src/Plugin/facets/processor/CombineFacetProcessor.php
index e1c223a7797d16de6d68d4370c2cd14ed85ef7bd..7290bc271cf1de4afab9eb52b6786e8a893a5032 100644
--- a/src/Plugin/facets/processor/CombineFacetProcessor.php
+++ b/src/Plugin/facets/processor/CombineFacetProcessor.php
@@ -171,6 +171,9 @@ class CombineFacetProcessor extends ProcessorPluginBase implements BuildProcesso
     return $results;
   }
 
+  /**
+   *
+   */
   public function supportsFacet(FacetInterface $facet) {
     // Only support facets as entities, not e.g. facets_exposed_filters.
     return $facet->getFacetType() == 'facet_entity';
diff --git a/src/Plugin/facets/processor/DependentFacetProcessor.php b/src/Plugin/facets/processor/DependentFacetProcessor.php
index 92a9028deb79e16fab3900bf02e2a70d7fea588e..eb0677465a88075240bb6259d7b62bdc179f382b 100644
--- a/src/Plugin/facets/processor/DependentFacetProcessor.php
+++ b/src/Plugin/facets/processor/DependentFacetProcessor.php
@@ -222,6 +222,9 @@ class DependentFacetProcessor extends ProcessorPluginBase implements BuildProces
     return $return;
   }
 
+  /**
+   *
+   */
   public function supportsFacet(FacetInterface $facet) {
     // Only support facets as entities, not e.g. facets_exposed_filters.
     return $facet->getFacetType() == 'facet_entity';
diff --git a/src/Plugin/facets/processor/HideInactiveSiblingsProcessor.php b/src/Plugin/facets/processor/HideInactiveSiblingsProcessor.php
index 6bc6ac0fe86bb1a775339d5f5e4b81dfa34a6ed5..f203067fdc518d5cceff1aaa5ba6e03f0e1429e4 100644
--- a/src/Plugin/facets/processor/HideInactiveSiblingsProcessor.php
+++ b/src/Plugin/facets/processor/HideInactiveSiblingsProcessor.php
@@ -62,6 +62,9 @@ class HideInactiveSiblingsProcessor extends ProcessorPluginBase implements Build
     return $results;
   }
 
+  /**
+   *
+   */
   public function supportsFacet(FacetInterface $facet) {
     return $facet->getFacetType() == 'facet_entity';
   }
diff --git a/src/Plugin/facets/processor/ShowOnlyDeepestLevelItemsProcessor.php b/src/Plugin/facets/processor/ShowOnlyDeepestLevelItemsProcessor.php
index 99694280cf7d5bce3cd85242fd530016a75fdfda..d7ad1d6446c9124f5ef03bc6b74b01ca43ee7230 100644
--- a/src/Plugin/facets/processor/ShowOnlyDeepestLevelItemsProcessor.php
+++ b/src/Plugin/facets/processor/ShowOnlyDeepestLevelItemsProcessor.php
@@ -36,8 +36,11 @@ class ShowOnlyDeepestLevelItemsProcessor extends ProcessorPluginBase implements
     return $results;
   }
 
+  /**
+   *
+   */
   public function supportsFacet(FacetInterface $facet) {
-    // TODO: Support "facets_exposed_filter".
+    // @todo Support "facets_exposed_filter".
     return $facet->getFacetType() == 'facet_entity';
   }
 
diff --git a/src/Plugin/facets/processor/ShowSiblingsProcessor.php b/src/Plugin/facets/processor/ShowSiblingsProcessor.php
index 8c34d46ca702e5d7ded11fc78ebf1958d544a2f9..45cb5b1fd018a6c93e8e24f4bf23339b2f5c5281 100644
--- a/src/Plugin/facets/processor/ShowSiblingsProcessor.php
+++ b/src/Plugin/facets/processor/ShowSiblingsProcessor.php
@@ -68,6 +68,9 @@ class ShowSiblingsProcessor extends ProcessorPluginBase implements BuildProcesso
     return $build;
   }
 
+  /**
+   *
+   */
   public function supportsFacet(FacetInterface $facet) {
     return $facet->getFacetType() == 'facet_entity';
   }
diff --git a/src/Plugin/facets/query_type/SearchApiDate.php b/src/Plugin/facets/query_type/SearchApiDate.php
index 542832204240b6c3089075256bdc18d8a614b2cd..52f79f265d5ca71712410fa9261d5994fffd2d32 100644
--- a/src/Plugin/facets/query_type/SearchApiDate.php
+++ b/src/Plugin/facets/query_type/SearchApiDate.php
@@ -267,6 +267,10 @@ class SearchApiDate extends QueryTypeRangeBase {
       return $this->calculateResultFilterAbsolute($value);
     }
   }
+
+  /**
+   *
+   */
   public function getDisplayValue($raw_value) {
     $dateTime = new DrupalDateTime();
     switch ($this->getGranularity()) {
diff --git a/src/Plugin/facets/query_type/SearchApiString.php b/src/Plugin/facets/query_type/SearchApiString.php
index 63faf51e80d8730f3c5611ff382c5df74ccdf489..b328ef8ae593b0017052f27876390ceb8c521568 100644
--- a/src/Plugin/facets/query_type/SearchApiString.php
+++ b/src/Plugin/facets/query_type/SearchApiString.php
@@ -82,7 +82,7 @@ class SearchApiString extends QueryTypePluginBase {
           if ($result_filter[strlen($result_filter) - 1] === '"') {
             $result_filter = substr($result_filter, 0, -1);
           }
-          if (($key = array_search($result_filter, $unprocessed_active_items)) !== false) {
+          if (($key = array_search($result_filter, $unprocessed_active_items)) !== FALSE) {
             unset($unprocessed_active_items[$key]);
           }
           $count = $result['count'];
diff --git a/src/QueryType/QueryTypeRangeBase.php b/src/QueryType/QueryTypeRangeBase.php
index 89684874c72233adb88281336e28a1ef88ada55b..de813c70886e235dc218fd94ee6a880c07cf1a5b 100644
--- a/src/QueryType/QueryTypeRangeBase.php
+++ b/src/QueryType/QueryTypeRangeBase.php
@@ -91,7 +91,7 @@ abstract class QueryTypeRangeBase extends QueryTypePluginBase {
           else {
             $facet_results[$result_filter['raw']] = new Result($this->facet, $result_filter['raw'], $result_filter['display'], $count);
           }
-          if (($key = array_search($result_filter['raw'], $unprocessed_active_items)) !== false) {
+          if (($key = array_search($result_filter['raw'], $unprocessed_active_items)) !== FALSE) {
             unset($unprocessed_active_items[$key]);
           }
         }
@@ -111,6 +111,9 @@ abstract class QueryTypeRangeBase extends QueryTypePluginBase {
     return $this->facet;
   }
 
+  /**
+   *
+   */
   public function getDisplayValue($raw_value) {
     return $raw_value;
   }
diff --git a/tests/src/FunctionalJavascript/JsBase.php b/tests/src/FunctionalJavascript/JsBase.php
index 973513384aae3d409f2193d8ea2ee6df3e18b7b5..6f357602635d358c29dec2dba2b7816cce77952d 100644
--- a/tests/src/FunctionalJavascript/JsBase.php
+++ b/tests/src/FunctionalJavascript/JsBase.php
@@ -151,10 +151,15 @@ abstract class JsBase extends WebDriverTestBase {
    * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
    * @throws \Drupal\Core\Entity\EntityStorageException
    */
-  protected function createFacet($id, $field = 'type', $widget_type = 'links', array $widget_settings = [
-    'show_numbers' => TRUE,
-    'soft_limit' => 0,
-  ]) {
+  protected function createFacet(
+    $id,
+    $field = 'type',
+    $widget_type = 'links',
+    array $widget_settings = [
+      'show_numbers' => TRUE,
+      'soft_limit' => 0,
+    ],
+  ) {
     $facet_storage = \Drupal::entityTypeManager()->getStorage('facets_facet');
     // Create and save a facet with a checkbox widget.
     $facet_storage->create([