Skip to content

Updated 'drupal/civictheme' to '1.13.0' and migrated the 'drevops' subtheme to SDC and npm tooling.#230

Merged
AlexSkrypnyk merged 7 commits into
developfrom
feature/update-civictheme
Jun 22, 2026
Merged

Updated 'drupal/civictheme' to '1.13.0' and migrated the 'drevops' subtheme to SDC and npm tooling.#230
AlexSkrypnyk merged 7 commits into
developfrom
feature/update-civictheme

Conversation

@AlexSkrypnyk

@AlexSkrypnyk AlexSkrypnyk commented Jun 22, 2026

Copy link
Copy Markdown
Member

Checklist before requesting a review

  • Subject includes ticket number as [#123] Verb in past tense.
  • Ticket number #123 added to description
  • Added context in Changed section
  • Self-reviewed code and commented in commented complex areas.
  • Added tests for fix/feature.
  • Relevant tests run and passed locally.

Changed

Updates drupal/civictheme from 1.12.2 to 1.13.0. CivicTheme 1.13.0 completes the migration from the Components! module (drupal/components) to core Single Directory Components (SDC) and ships a new Storybook 10 / ESLint flat-config / Stylelint 17 frontend toolchain, so this PR brings the drevops subtheme in line on both the Drupal and the frontend side.

Drupal and theme

  1. Dependency bump - composer.json constraint ~1.12.2 -> ~1.13.0; composer.lock updated.
  2. Patch re-roll - patches/civictheme-remove-shortcut-mr19.diff and patches.lock.json re-rolled against 1.13.0's reorganised dependency block (the old rest/taxonomy context no longer matched; it now targets serialization/system).
  3. SDC template migration - paragraph--divider.html.twig and paragraph--civictheme-manual-list.html.twig moved off the old @organisms/@base Components!-module namespaces to SDC component IDs (drevops:divider, drevops:list, civictheme:grid, drevops:spotlight), matching civictheme 1.13.0's own {% extends %} + {% include ... only %} pattern.
  4. Subtheme namespaces removed - the components: namespaces: block in drevops.info.yml is dropped (unused under SDC).
  5. SDC schema compatibility - page.component.yml adds none to the vertical_spacing enum and icon.component.yml makes symbol/size/assets_dir nullable, so these subtheme components remain valid replacements of civictheme 1.13.0's relaxed schemas (otherwise SDC throws IncompatibleComponentSchema, fatal on every page).
  6. Components module uninstalled - removed from core.extension.yml. drupal/components is added to composer.json so the deploy's config import can run the uninstall on environments where the module is still enabled; removing the package itself is a follow-up once the uninstall has propagated everywhere.
  7. Block class helper - the login/password-reset vertical-spacing class and the content-moderation container class are now added through drupal_attributes via a shared _drevops_block_add_class() helper, because civictheme 1.13.0's block template renders that object rather than the standard attributes. This restores the two related Behat scenarios.
  8. Header navigation theme - the primary and secondary navigation block templates are overridden (templates/block/block--menu-block--civictheme-*-navigation.html.twig) to forward the preprocess-computed theme to the civictheme:navigation component. CivicTheme 1.13.0's base templates include the navigation with {% include ... only %} and drop theme, so the navigation fell back to its light default and rendered low-contrast links on this site's dark header (components.header.theme: dark). Forwarding theme makes the navigation render with the dark theme again, matching the header.

Frontend tooling

  1. Storybook 8 -> 10, ESLint 8 + airbnb -> ESLint 10 flat config, Stylelint 14 -> 17, aligned with civictheme 1.13.0 (package.json, eslint.config.js, .stylelintrc.json, .storybook/*); the subtheme's custom rsync build.js is preserved. Storybook 8.6.7 could not build civictheme 1.13.0's components, which is what required this upgrade.
  2. npm, not yarn - the container frontend build (.docker/cli.dockerfile) and the theme lint step (CI workflow) use npm; the theme yarn.lock is removed and package-lock.json regenerated. The root website package (which lints custom-module JS/CSS) is a separate yarn package and is intentionally left unchanged.

Out of scope

CivicTheme 1.13.0 post-update hooks introduce optional new config (a civictheme_fast_fact_card paragraph type, an event hide_sidebar field, etc.). These are not exported here - this site treats config/default as authoritative and reverts untracked post-update additions, so adopting those features is a separate decision.

Screenshots

DrevOps homepage under CivicTheme 1.13.0 with dark-theme header navigation

Before / After

Before (civictheme 1.12.2)                           After (civictheme 1.13.0)
───────────────────────────────────────────────────  ───────────────────────────────────────────────────
Components! module (drupal/components) provides       core SDC provides component namespaces
  @atoms / @base / @organisms Twig namespaces           (drevops:*, civictheme:*); module uninstalled
Subtheme paragraph templates use @namespace includes  templates use SDC IDs (extends + include ... only)
icon / page component schemas: strict                 schemas relaxed (none / nullable) to match 1.13.0
Block classes added to `attributes`                   added to `drupal_attributes` (1.13.0 block render)
Header nav theme dropped by base `only` include       nav block templates forward `theme` (dark on dark)
Frontend: Storybook 8, ESLint 8 + airbnb, yarn        Storybook 10, ESLint 10 flat config, npm

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Upgrades drupal/civictheme to ~1.13.0, adds drupal/components ^3.2, and removes the components module. Migrates Twig templates to SDC-style component references, widens component prop schemas to allow null values and adds a none vertical spacing option. Refactors spacing utility variable naming to align with CivicTheme conventions and improves spacing class injection logic. Modernizes the build toolchain by upgrading Storybook to 10.2.13, migrating ESLint to flat config v10, updating Stylelint with a stylistic plugin, switching Docker builds from yarn to npm, and removing legacy ESLint plugin dependencies.

Changes

CivicTheme 1.13 Upgrade and SDC Component Migration

Layer / File(s) Summary
Composer upgrade and civictheme patch update
composer.json, patches/civictheme-remove-shortcut-mr19.diff, patches.lock.json
Bumps drupal/civictheme to ~1.13.0, adds drupal/components ^3.2, updates the civictheme patch to remove drupal:shortcut from the theme's dependency list, and refreshes the patch lock file hash and checksum.
Remove components module and namespace mapping
config/default/core.extension.yml, web/themes/custom/drevops/drevops.info.yml
Removes module.components from the enabled modules list and deletes the components.namespaces block mapping base/atoms/molecules/organisms/templates directories.
Widen icon and page component schemas
web/themes/custom/drevops/components/00-base/icon/icon.component.yml, web/themes/custom/drevops/components/04-templates/page/page.component.yml
Widens symbol, size, and assets_dir prop types to accept null; adds none as a valid vertical_spacing enum value on the page template.
Align spacing utility variable naming
web/themes/custom/drevops/components/00-base/spacing/spacing.scss
Renames internal Sass variables from $_all-sizes, $_spacing-properties, $_spacing-directions to $_ct-all-sizes, $_ct-spacing-properties, $_ct-spacing-directions; updates base-class and responsive-class generation loops to use renamed variables.
Refactor spacing class injection and block preprocessing
web/themes/custom/drevops/drevops.theme, web/themes/custom/drevops/includes/system_main_block.inc, web/themes/custom/drevops/includes/content_moderation.inc
Imports Drupal's Attribute class; introduces _drevops_block_add_class() helper to safely inject classes into drupal_attributes or variables['attributes']['class']; refactors block preprocessing to use the helper for class injection and inline route lookups with early-exit patterns.
Migrate Twig templates to SDC references
web/themes/custom/drevops/templates/paragraphs/paragraph--divider.html.twig, web/themes/custom/drevops/templates/paragraphs/paragraph--civictheme-manual-list.html.twig, web/themes/custom/drevops/templates/block/block--menu-block--civictheme-primary-navigation.html.twig, web/themes/custom/drevops/templates/block/block--menu-block--civictheme-secondary-navigation.html.twig
Replaces @organisms/divider/divider.twig with drevops:divider; replaces @organisms/list/list.twig extend and @base/{layout}/{layout}.twig includes with drevops:list, drevops:spotlight, and civictheme:grid SDC references using only-restricted context; adds new primary and secondary navigation block templates that include civictheme:navigation with preprocess-computed theme and configuration variables.

Build Toolchain and Dev Dependencies Modernization

Layer / File(s) Summary
Migrate to ESLint flat config and remove legacy configuration
web/themes/custom/drevops/eslint.config.js, web/themes/custom/drevops/.eslintrc.yml, web/themes/custom/drevops/.eslintignore
Removes legacy .eslintrc.yml and .eslintignore files; adds new eslint.config.js with flat config format (ESLint v10), including customGlobals, ignore patterns, @eslint/js recommended rules, import-newlines plugin, browser/es2021/jest/custom globals, and rule overrides.
Update Stylelint with stylistic plugin configuration
web/themes/custom/drevops/.stylelintrc.json
Adds @stylistic/stylelint-plugin; expands rules section with multiple @stylistic/* configurations for formatting (quotes, alpha notation, spacing, line length); updates SCSS dollar-variable-pattern regex and sets additional SCSS rule patterns to null.
Update Storybook configuration for version 10
web/themes/custom/drevops/.storybook/main.js, web/themes/custom/drevops/.storybook/manager.js, web/themes/custom/drevops/.storybook/theme.js, web/themes/custom/drevops/.storybook/preview.js, web/themes/custom/drevops/.storybook/sdc-plugin.js
Upgrades Storybook from 8.6.7 to 10.2.13; updates imports to use storybook/* module paths; refactors preview.js backgrounds and viewport parameters to use options objects with initialGlobals setting white background default; narrows sdc-plugin.js transform condition to exclude Storybook utility modules.
Update package.json dev dependencies and Docker build
web/themes/custom/drevops/package.json, .docker/cli.dockerfile, .github/workflows/build-test-deploy.yml
Upgrades Storybook to 10.2.13, ESLint to ^10.0.3, Stylelint with stylistic support, and Vite to ^6.4.2; adds @eslint/js and globals; removes legacy eslint plugins (airbnb, jsx-a11y, react). Updates Docker build and CI workflow to use npm ci, npm run build, and npm cache clean instead of yarn. Increments civictheme.version to 1.13.0.
Remove ESLint suppression comments from story imports
web/themes/custom/drevops/components/02-molecules/navigation-card/navigation-card.stories.js, web/themes/custom/drevops/components/03-organisms/banner/banner.stories.data.js, web/themes/custom/drevops/components/03-organisms/banner/banner.stories.js
Removes inline eslint-disable-line import/no-unresolved comments from Constants imports, leveraging the new ESLint flat config's import handling.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

AUTOMERGE, Needs review, A2

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the two main changes: updating drupal/civictheme to 1.13.0 and migrating the drevops theme to SDC and npm tooling. It accurately summarizes the primary work in this changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/update-civictheme

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
web/themes/custom/drevops/components/04-templates/page/page.component.yml (1)

46-46: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Update the description to reflect the new none enum value.

Line 46's description states "Controls vertical spacing (top, bottom, or both)." but the enum now includes 'none' (Line 51). The description should be updated to reflect this. The downstream divider component already handles 'none' safely via its conditional logic (falling through to an empty spacing class), and the list component already uses vertical_spacing: 'none' in test data, so the enum addition is functionally correct.

📝 Proposed description fix
    vertical_spacing:
      type: string
      title: Vertical spacing
-     description: Controls vertical spacing (top, bottom, or both).
+     description: Controls vertical spacing (top, bottom, both, or none).
      enum:
        - top
        - bottom
        - both
        - none
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@web/themes/custom/drevops/components/04-templates/page/page.component.yml` at
line 46, Update the description for the vertical spacing property in the page
component configuration to reflect the newly added 'none' enum value. The
current description states "Controls vertical spacing (top, bottom, or both)"
but the enum now includes 'none' as a valid option. Revise the description to
include all four possible values: top, bottom, both, and none.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@web/themes/custom/drevops/templates/paragraphs/paragraph--civictheme-manual-list.html.twig`:
- Around line 43-51: The include statement passes the row_class parameter with
values 'row--equal-heights-content row--vertically-spaced' to both the spotlight
and grid components, but the spotlight component does not support or consume the
row_class parameter, causing these styling classes to be silently dropped when
layout equals 'spotlight'. Either remove the row_class parameter from the
include statement entirely, or conditionally pass it only when the layout is not
'spotlight' (by using a ternary or if condition to exclude row_class from the
spotlight include path while keeping it for the grid path).

---

Outside diff comments:
In `@web/themes/custom/drevops/components/04-templates/page/page.component.yml`:
- Line 46: Update the description for the vertical spacing property in the page
component configuration to reflect the newly added 'none' enum value. The
current description states "Controls vertical spacing (top, bottom, or both)"
but the enum now includes 'none' as a valid option. Revise the description to
include all four possible values: top, bottom, both, and none.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8eafa6bb-0293-489b-8230-57e6a1e87dbb

📥 Commits

Reviewing files that changed from the base of the PR and between 0d53b90 and 2bba25a.

⛔ Files ignored due to path filters (1)
  • composer.lock is excluded by !**/*.lock
📒 Files selected for processing (9)
  • composer.json
  • config/default/core.extension.yml
  • patches.lock.json
  • patches/civictheme-remove-shortcut-mr19.diff
  • web/themes/custom/drevops/components/00-base/icon/icon.component.yml
  • web/themes/custom/drevops/components/04-templates/page/page.component.yml
  • web/themes/custom/drevops/drevops.info.yml
  • web/themes/custom/drevops/templates/paragraphs/paragraph--civictheme-manual-list.html.twig
  • web/themes/custom/drevops/templates/paragraphs/paragraph--divider.html.twig
💤 Files with no reviewable changes (2)
  • web/themes/custom/drevops/drevops.info.yml
  • config/default/core.extension.yml

@github-actions

This comment has been minimized.

1 similar comment
@github-actions

This comment has been minimized.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.docker/cli.dockerfile:
- Around line 92-94: The cli.dockerfile has been updated to use npm ci for
package installation, but the GitHub workflow file still uses yarn install
--frozen-lockfile for frontend dependencies, causing a mismatch between local
container builds and CI runs. Locate the yarn install --frozen-lockfile command
in the GitHub workflow and replace it with npm ci to align with the npm-based
approach now used in the cli.dockerfile, ensuring consistent and reproducible
builds across both environments.

In `@web/themes/custom/drevops/.stylelintrc.json`:
- Around line 60-65: The regex pattern in the scss/dollar-variable-pattern rule
currently allows variable names like $rooted because the "root" alternation is
not anchored to require an exact match. Update the pattern to anchor the "root"
alternative so it matches only the literal "root" string and not names that
start with "root", while keeping the ct-* branch unchanged. This ensures the
pattern enforces the intended special-case exception for $root while
constraining other variables to follow the ct-* naming convention.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: f0d6d161-9b98-414d-91ec-fbcb28a7c8e3

📥 Commits

Reviewing files that changed from the base of the PR and between 2bba25a and db11161.

⛔ Files ignored due to path filters (2)
  • web/themes/custom/drevops/package-lock.json is excluded by !**/package-lock.json
  • web/themes/custom/drevops/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (16)
  • .docker/cli.dockerfile
  • web/themes/custom/drevops/.eslintignore
  • web/themes/custom/drevops/.eslintrc.yml
  • web/themes/custom/drevops/.storybook/main.js
  • web/themes/custom/drevops/.storybook/manager.js
  • web/themes/custom/drevops/.storybook/preview.js
  • web/themes/custom/drevops/.storybook/sdc-plugin.js
  • web/themes/custom/drevops/.storybook/theme.js
  • web/themes/custom/drevops/.stylelintrc.json
  • web/themes/custom/drevops/components/00-base/spacing/spacing.scss
  • web/themes/custom/drevops/components/02-molecules/navigation-card/navigation-card.stories.js
  • web/themes/custom/drevops/components/03-organisms/banner/banner.stories.data.js
  • web/themes/custom/drevops/components/03-organisms/banner/banner.stories.js
  • web/themes/custom/drevops/eslint.config.js
  • web/themes/custom/drevops/includes/system_main_block.inc
  • web/themes/custom/drevops/package.json
💤 Files with no reviewable changes (2)
  • web/themes/custom/drevops/.eslintignore
  • web/themes/custom/drevops/.eslintrc.yml

Comment thread .docker/cli.dockerfile
Comment thread web/themes/custom/drevops/.stylelintrc.json
@github-actions

This comment has been minimized.

@AlexSkrypnyk AlexSkrypnyk temporarily deployed to PR-230 June 22, 2026 05:27 Inactive
@AlexSkrypnyk AlexSkrypnyk changed the title Updated 'drupal/civictheme' to '1.13.0' and migrated 'drevops' subtheme to SDC. Updated 'drupal/civictheme' to '1.13.0' and migrated the 'drevops' subtheme to SDC and npm tooling. Jun 22, 2026
@github-actions

This comment has been minimized.

@AlexSkrypnyk AlexSkrypnyk added the Needs review Pull request needs a review from assigned developers label Jun 22, 2026
@AlexSkrypnyk AlexSkrypnyk temporarily deployed to PR-230 June 22, 2026 05:50 Inactive
@github-actions github-actions Bot added CONFLICT Pull request has a conflict that needs to be resolved before it can be merged and removed Needs review Pull request needs a review from assigned developers labels Jun 22, 2026
@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/update-civictheme branch from 317c7f0 to 2034ea9 Compare June 22, 2026 06:33
@github-actions github-actions Bot removed the CONFLICT Pull request has a conflict that needs to be resolved before it can be merged label Jun 22, 2026
@github-actions

This comment has been minimized.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@patches.lock.json`:
- Around line 2-9: The _hash field at the top level of patches.lock.json
contains an incorrect integrity value that does not match the actual file
contents. Update the _hash field value from the current incorrect hash to the
correct value provided in the comment to ensure composer-patches can properly
verify the lock file integrity.

In `@web/themes/custom/drevops/.storybook/preview.js`:
- Around line 144-150: The html.prettier configuration block in the preview.js
export is currently a top-level key, but the `@whitespace/storybook-addon-html`
addon expects this configuration to be nested under the parameters object at
parameters.html.prettier. Move the html object with its prettier configuration
(tabWidth, useTabs, htmlWhitespaceSensitivity) from the top-level export into
the parameters object so the addon can properly read and apply these Prettier
settings at runtime.

In `@web/themes/custom/drevops/drevops.theme`:
- Line 37: Before appending to $variables['attributes']['class'] at the line
containing $variables['attributes']['class'][] = $class;, ensure that the nested
array structure is properly initialized. Check if $variables['attributes']
exists and is an array, and if $variables['attributes']['class'] exists and is
an array, initializing them to empty arrays if they do not exist. This prevents
undefined-key warnings and ensures the append operation works reliably
regardless of whether drupal_attributes was previously defined.

In `@web/themes/custom/drevops/eslint.config.js`:
- Around line 40-42: The ESLint configuration in eslint.config.js is missing the
eslint-plugin-import plugin and the import/no-unresolved rule that are
referenced in the PR changes. To fix this, import the eslint-plugin-import
package at the top of the file, add it to the plugins object alongside
importNewlines with an appropriate key name, and then configure the
import/no-unresolved rule in the rules section to enable the rule so that
unresolved imports are properly checked instead of being ignored.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 1afaa023-90c8-4303-a029-5d25a1dc32c7

📥 Commits

Reviewing files that changed from the base of the PR and between db11161 and 2034ea9.

⛔ Files ignored due to path filters (3)
  • composer.lock is excluded by !**/*.lock
  • web/themes/custom/drevops/package-lock.json is excluded by !**/package-lock.json
  • web/themes/custom/drevops/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (30)
  • .docker/cli.dockerfile
  • .github/workflows/build-test-deploy.yml
  • composer.json
  • config/default/core.extension.yml
  • patches.lock.json
  • patches/civictheme-remove-shortcut-mr19.diff
  • web/themes/custom/drevops/.eslintignore
  • web/themes/custom/drevops/.eslintrc.yml
  • web/themes/custom/drevops/.storybook/main.js
  • web/themes/custom/drevops/.storybook/manager.js
  • web/themes/custom/drevops/.storybook/preview.js
  • web/themes/custom/drevops/.storybook/sdc-plugin.js
  • web/themes/custom/drevops/.storybook/theme.js
  • web/themes/custom/drevops/.stylelintrc.json
  • web/themes/custom/drevops/components/00-base/icon/icon.component.yml
  • web/themes/custom/drevops/components/00-base/spacing/spacing.scss
  • web/themes/custom/drevops/components/02-molecules/navigation-card/navigation-card.stories.js
  • web/themes/custom/drevops/components/03-organisms/banner/banner.stories.data.js
  • web/themes/custom/drevops/components/03-organisms/banner/banner.stories.js
  • web/themes/custom/drevops/components/04-templates/page/page.component.yml
  • web/themes/custom/drevops/drevops.info.yml
  • web/themes/custom/drevops/drevops.theme
  • web/themes/custom/drevops/eslint.config.js
  • web/themes/custom/drevops/includes/content_moderation.inc
  • web/themes/custom/drevops/includes/system_main_block.inc
  • web/themes/custom/drevops/package.json
  • web/themes/custom/drevops/templates/block/block--menu-block--civictheme-primary-navigation.html.twig
  • web/themes/custom/drevops/templates/block/block--menu-block--civictheme-secondary-navigation.html.twig
  • web/themes/custom/drevops/templates/paragraphs/paragraph--civictheme-manual-list.html.twig
  • web/themes/custom/drevops/templates/paragraphs/paragraph--divider.html.twig
💤 Files with no reviewable changes (4)
  • web/themes/custom/drevops/drevops.info.yml
  • web/themes/custom/drevops/.eslintignore
  • web/themes/custom/drevops/.eslintrc.yml
  • config/default/core.extension.yml

Comment thread patches.lock.json
Comment thread web/themes/custom/drevops/.storybook/preview.js
Comment thread web/themes/custom/drevops/drevops.theme
Comment thread web/themes/custom/drevops/eslint.config.js
@github-actions

Copy link
Copy Markdown

Code coverage (threshold: 80%)

  Classes: 50.00% (5/10)
  Methods: 73.91% (17/23)
  Lines:   92.92% (315/339)
Per-class coverage
Drupal\do_feed\FeedUrlBuilder
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 18/ 18)
Drupal\do_feed\Form\FeedSettingsForm
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 15/ 15)
Drupal\do_feed\Hook\EntityDeleteHook
  Methods:  50.00% ( 1/ 2)   Lines:  92.31% ( 12/ 13)
Drupal\do_feed\Hook\EntityPresaveHook
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 54/ 54)
Drupal\do_feed\Hook\PreprocessParagraphHook
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 14/ 14)
Drupal\do_feed\Hook\PreprocessViewsViewRowRssHook
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  3/  3)
Drupal\do_feed\Hook\ViewsPreViewHook
  Methods:  50.00% ( 1/ 2)   Lines:  96.43% ( 27/ 28)

@AlexSkrypnyk AlexSkrypnyk merged commit 683921c into develop Jun 22, 2026
8 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/update-civictheme branch June 22, 2026 07:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant