Skip to content

Conversation

@AlexSkrypnyk
Copy link
Member

@AlexSkrypnyk AlexSkrypnyk commented Jul 24, 2025

Closes #1832

Summary by CodeRabbit

  • Chores

    • Updated SCSS build process by removing the sass globbing step from development and production tasks.
    • Removed the related grunt-sass-globbing dependency.
    • Upgraded the grunt-sass package to a newer version.
    • Updated .gitignore to allow tracking of the _components.scss file.
  • Style

    • Replaced all SCSS @import statements with @use for improved module management.
    • Updated SCSS files to use namespaced variables and imports.
    • Added import of the header component styles in _components.scss.
  • Tests

    • Adjusted test scripts to remove creation and verification of _components.scss file.
    • Updated CSS formatting expectation in frontend asset test to include space after colon.

@coderabbitai
Copy link

coderabbitai bot commented Jul 24, 2025

Walkthrough

This change removes the grunt-sass-globbing dependency and its related build steps, updates SCSS files to use the modern @use directive instead of @import, and adjusts SCSS variable usage accordingly. The .gitignore is updated to track _components.scss, and a new import is added for the header component. Corresponding test references to _components.scss were removed. Additionally, a minor CSS formatting expectation was updated in a test helper.

Changes

File(s) Change Summary
Gruntfile.js, package.json Removed grunt-sass-globbing task and dependency; upgraded grunt-sass version; updated build tasks
.gitignore Stopped ignoring scss/_components.scss, so it is now tracked by Git
scss/_components.scss Added @use import for components/header
scss/components/_header.scss Switched to @use for variables; updated variable references to use namespace
scss/styles.scss Replaced all @import statements with @use for SCSS partials
.vortex/tests/bats/e2e/reset.bats Removed creation and assertions related to _components.scss file
.vortex/tests/bats/_helper.workflow.bash Updated CSS property assertion to expect space after colon in background: #7e57e2

Sequence Diagram(s)

sequenceDiagram
    participant Developer
    participant Git
    participant Grunt
    participant SCSS Compiler

    Developer->>Git: Track _components.scss
    Developer->>Grunt: Run build (prod/dev)
    Grunt-->>SCSS Compiler: Compile SCSS with @use (no sass_globbing)
    SCSS Compiler-->>Grunt: Output compiled CSS
    Grunt-->>Developer: Build complete
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

The rabbit hops through lines of code,
Old imports gone, new @use bestowed.
No more globbing, tasks made lean,
Header styles now crisp and clean.
With every hop, the theme grows bright—
Modern SCSS, a coder’s delight!
🐇✨

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

web/themes/custom/your_site_theme/Gruntfile.js

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the config "../../../core/.eslintrc.legacy.json" to extend from. Please check that the name of the config is correct.

The config "../../../core/.eslintrc.legacy.json" was referenced from the config file in "/web/themes/custom/your_site_theme/.eslintrc.json".

If you still have problems, please stop by https://eslint.org/chat/help to chat with the team.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/1832-update-theme-sass

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@AlexSkrypnyk AlexSkrypnyk enabled auto-merge (rebase) July 24, 2025 10:48
@github-actions github-actions bot temporarily deployed to commit July 24, 2025 10:50 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🔭 Outside diff range comments (2)
web/themes/custom/your_site_theme/scss/_components.scss (1)

1-2: Consider exposing component modules via a namespace alias or as *.

@use scopes everything under the auto-generated header namespace, so consumers must reference it as header.$var / header.mixin().
If the intention is simply to pull in side-effect CSS (as the old @import did), that is fine.
Otherwise, think about:

@use 'components/header' as *; // re-exports into the current scope

or forwarding from an index file to keep ergonomics consistent across components.

web/themes/custom/your_site_theme/Gruntfile.js (1)

142-142: Critical: Watch task still references removed sass_globbing task.

The watch.styles task still includes sass_globbing in its tasks array, but the sass_globbing task configuration and npm task loading have been removed. This will cause the watch task to fail with an error about the missing task.

Apply this diff to fix the watch task:

-        tasks: ['sass_globbing', 'sass:dev', 'postcss:dev'],
+        tasks: ['sass:dev', 'postcss:dev'],
📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2348e02 and d0e02a6.

⛔ Files ignored due to path filters (35)
  • .vortex/installer/tests/Fixtures/install/_baseline/phpstan.neon is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/phpstan.neon is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_absent/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/version_replacement/baseline/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • web/themes/custom/your_site_theme/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (9)
  • .vortex/docs/content/contributing/maintenance/release.mdx (1 hunks)
  • composer.json (1 hunks)
  • phpstan.neon (1 hunks)
  • web/themes/custom/your_site_theme/.gitignore (0 hunks)
  • web/themes/custom/your_site_theme/Gruntfile.js (1 hunks)
  • web/themes/custom/your_site_theme/package.json (1 hunks)
  • web/themes/custom/your_site_theme/scss/_components.scss (1 hunks)
  • web/themes/custom/your_site_theme/scss/components/_header.scss (1 hunks)
  • web/themes/custom/your_site_theme/scss/styles.scss (1 hunks)
💤 Files with no reviewable changes (1)
  • web/themes/custom/your_site_theme/.gitignore
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot
Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Composer dependencies are updated automatically with compatibility checks via RenovateBot
composer.json (1)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Composer dependencies are updated automatically with compatibility checks via RenovateBot

.vortex/docs/content/contributing/maintenance/release.mdx (3)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Composer dependencies are updated automatically with compatibility checks via RenovateBot

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Docker images are updated for containers via RenovateBot

web/themes/custom/your_site_theme/scss/styles.scss (1)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

web/themes/custom/your_site_theme/package.json (2)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Composer dependencies are updated automatically with compatibility checks via RenovateBot

web/themes/custom/your_site_theme/Gruntfile.js (1)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: build (1)
  • GitHub Check: build (0)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.2)
  • GitHub Check: vortex-test-docs
🔇 Additional comments (5)
phpstan.neon (1)

14-14: phpVersion bump looks correct ‒ double-check CI image / runtime PHP version
80323 matches 8.3.23 (major * 10000 + minor * 100 + patch).
Please ensure your CI pipeline and deployment environments have been upgraded to 8.3.23; otherwise PHPStan will run in “future-syntax” mode and may report false positives/negatives.

web/themes/custom/your_site_theme/package.json (1)

15-20: Verify pipeline compatibility with the jump to grunt-sass@^4.

grunt-sass v4 switches to Dart Sass and drops Node-Sass. Ensure:

  1. CI images use Node ≥ 14 and a libsass-free environment.
  2. No lingering grunt-sass-globbing references remain in Gruntfile.js (they will hard-fail).

If everything builds locally, please push the updated lockfile as well.

web/themes/custom/your_site_theme/scss/styles.scss (1)

7-11: Double-check namespacing changes propagate to all partials.

Switching from @import to @use means variables/mixins must now be accessed via
rem.$size, variables.$color-primary, etc., unless you deliberately use
as * or create a @forward aggregator.

Please grep the theme for bare $color- / $font- usages that may no longer resolve after this change.

.vortex/docs/content/contributing/maintenance/release.mdx (1)

15-16: Release checklist update looks good.

web/themes/custom/your_site_theme/Gruntfile.js (1)

163-164: LGTM: Task registrations correctly updated to remove sass_globbing.

The prod and dev task registrations have been properly updated to remove the sass_globbing step, which aligns with the removal of the grunt-sass-globbing dependency.

Comment on lines 95 to 97
"platform": {
"php": "8.3.12"
"php": "8.3.23"
},
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Pinning platform PHP to 8.3.23 is fine; consider aligning the "require"."php" constraint
You now hard-pin the Composer platform to 8.3.23, but the top-level requirement still says ">=8.3".
If the intent is to guarantee builds on exactly 8.3.23, tighten the constraint to ^8.3.23 || ^8.4 (or similar) to avoid confusing dependency-solver warnings when a newer 8.3.x comes out.

🤖 Prompt for AI Agents
In composer.json around lines 95 to 97, the platform PHP version is pinned to
8.3.23, but the "require"."php" constraint is set to ">=8.3". To avoid
dependency solver warnings and ensure consistency, update the "require"."php"
constraint to a tighter range such as "^8.3.23 || ^8.4" to align with the pinned
platform version.

Comment on lines +1 to 15
@use "../variables";

// Example to override a header component.
.site-header {
&__initial {
background: $color-primary;
background: variables.$color-primary;
}

.site-branding {
background: $color-primary;
background: variables.$color-primary;
}

.sticky-header-toggle {
background: $color-primary;
background: variables.$color-primary;
}
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Use a canonical path to avoid duplicate module instances.

Importing @use "../variables"; works, but other files load the same module as
@use 'variables';. Sass resolves canonical URLs, yet relative & bare imports
can diverge on some build setups and cause duplicate namespace errors.

Consider:

-@use "../variables";
+@use '../../scss/variables' as variables; // or simply 'variables'

to keep the path identical across the codebase and make the alias explicit.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
@use "../variables";
// Example to override a header component.
.site-header {
&__initial {
background: $color-primary;
background: variables.$color-primary;
}
.site-branding {
background: $color-primary;
background: variables.$color-primary;
}
.sticky-header-toggle {
background: $color-primary;
background: variables.$color-primary;
}
@use '../../scss/variables' as variables; // or simply 'variables'
// Example to override a header component.
.site-header {
&__initial {
background: variables.$color-primary;
}
.site-branding {
background: variables.$color-primary;
}
.sticky-header-toggle {
background: variables.$color-primary;
}
🤖 Prompt for AI Agents
In web/themes/custom/your_site_theme/scss/components/_header.scss lines 1 to 15,
the import of the variables module uses a relative path "@use "../variables";"
which can cause duplicate module instances if other files import it differently.
Change the import to use a canonical or alias path such as "@use 'variables';"
consistently across the codebase to avoid duplicate namespace errors and ensure
the path is identical everywhere.

@codecov
Copy link

codecov bot commented Jul 24, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 74.02%. Comparing base (0e6e427) to head (e575026).
Report is 1 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #1834   +/-   ##
========================================
  Coverage    74.02%   74.02%           
========================================
  Files           84       84           
  Lines         4813     4813           
  Branches        35       35           
========================================
  Hits          3563     3563           
  Misses        1250     1250           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/1832-update-theme-sass branch from d0e02a6 to 9cda785 Compare July 24, 2025 11:14
@github-actions github-actions bot temporarily deployed to commit July 24, 2025 11:16 Inactive
@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/1832-update-theme-sass branch from 9cda785 to b4fbbe8 Compare July 24, 2025 22:02
@github-actions github-actions bot temporarily deployed to commit July 24, 2025 22:04 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🔭 Outside diff range comments (1)
web/themes/custom/your_site_theme/Gruntfile.js (1)

142-142: Critical: Remove sass_globbing reference from watch task.

The watch.styles task still references sass_globbing which has been removed, causing the watch task to fail when executed.

Apply this fix:

-        tasks: ['sass_globbing', 'sass:dev', 'postcss:dev'],
+        tasks: ['sass:dev', 'postcss:dev'],
♻️ Duplicate comments (1)
web/themes/custom/your_site_theme/scss/components/_header.scss (1)

1-1: Use canonical import path for consistency.

The relative path @use "../variables"; may cause duplicate module instances if other files import the same module using different paths (e.g., @use 'variables';).

Use a consistent canonical path across all files:

-@use "../variables";
+@use 'variables' as variables;

This ensures the same module instance is used throughout the codebase and makes the namespace explicit.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9cda785 and b4fbbe8.

⛔ Files ignored due to path filters (32)
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_absent/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • web/themes/custom/your_site_theme/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (7)
  • .vortex/tests/bats/e2e/reset.bats (0 hunks)
  • web/themes/custom/your_site_theme/.gitignore (0 hunks)
  • web/themes/custom/your_site_theme/Gruntfile.js (1 hunks)
  • web/themes/custom/your_site_theme/package.json (1 hunks)
  • web/themes/custom/your_site_theme/scss/_components.scss (1 hunks)
  • web/themes/custom/your_site_theme/scss/components/_header.scss (1 hunks)
  • web/themes/custom/your_site_theme/scss/styles.scss (1 hunks)
💤 Files with no reviewable changes (2)
  • web/themes/custom/your_site_theme/.gitignore
  • .vortex/tests/bats/e2e/reset.bats
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot
web/themes/custom/your_site_theme/package.json (2)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Composer dependencies are updated automatically with compatibility checks via RenovateBot

web/themes/custom/your_site_theme/scss/styles.scss (1)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

web/themes/custom/your_site_theme/Gruntfile.js (1)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: build (0)
  • GitHub Check: build (1)
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.2)
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-docs
🔇 Additional comments (4)
web/themes/custom/your_site_theme/scss/_components.scss (1)

1-1: Import Path Verified

  • Confirmed that web/themes/custom/your_site_theme/scss/components/_header.scss exists, so @use 'components/header'; resolves correctly.
  • The module import follows Sass conventions (no leading underscore or file extension).

No further issues found—this central components file is correctly set up.

web/themes/custom/your_site_theme/scss/styles.scss (1)

7-11: Excellent modernization to SCSS @use syntax.

The conversion from @import to @use directives follows modern SCSS best practices and provides better module encapsulation. The import order is preserved, which maintains the expected CSS cascade behavior.

web/themes/custom/your_site_theme/scss/components/_header.scss (1)

6-6: Correct namespace usage for SCSS variables.

All variable references have been properly updated to use the variables. namespace prefix, which is the correct syntax for accessing variables from modules imported with @use.

Also applies to: 10-10, 14-14

web/themes/custom/your_site_theme/Gruntfile.js (1)

163-164: Correct removal of sass_globbing from build tasks.

The prod and dev task registrations have been properly updated to exclude the removed sass_globbing task, maintaining the correct build sequence.

"grunt-exec": "^3.0.0",
"grunt-sass": "^3.1.0",
"grunt-sass-globbing": "^1.5.1",
"grunt-sass": "^4",
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Verify grunt-sass v4 compatibility with existing configuration.

The upgrade from grunt-sass v3 to v4 is a major version bump that may introduce breaking changes. Ensure that the existing Grunt configuration and SCSS compilation workflow remain compatible.


🏁 Script executed:

#!/bin/bash
# Check if there are any breaking changes or configuration updates needed for grunt-sass v4
echo "Checking grunt-sass v4 compatibility..."
cd web/themes/custom/your_site_theme
npm list grunt-sass

Length of output: 335


🌐 Web query:

What are the breaking changes between grunt-sass v3 and v4?

💡 Result:

The transition from grunt-sass version 3 to version 4 introduces several breaking changes that may affect your build process:

  1. Node.js Version Requirement: grunt-sass v4.0.0 requires Node.js version 18 or higher. (newreleases.io)

  2. Removal of node-sass Support: Support for node-sass has been removed in favor of the sass package (Dart Sass). (newreleases.io)

  3. Implementation Option Requirement: The implementation option must now be specified in your Grunt configuration to indicate the Sass compiler to use. (core.trac.wordpress.org)

To ensure compatibility with grunt-sass v4, update your Node.js to version 18 or higher, switch to the sass package, and include the implementation option in your Grunt configuration.

Citations:


🏁 Script executed:

#!/bin/bash
cd web/themes/custom/your_site_theme

echo "1) Declared version in package.json:"
rg '"grunt-sass"' -n package.json

echo
echo "2) Installed version in package-lock.json (if present):"
if [ -f package-lock.json ]; then
  rg '"grunt-sass"' -n package-lock.json || echo "→ grunt-sass not found in lockfile"
else
  echo "→ No package-lock.json"
fi

echo
echo "3) Gruntfile.js – locate sass task configuration and implementation usage:"
rg "sass" -n Gruntfile.js
rg "implementation" -n Gruntfile.js || echo "→ No explicit implementation option found"

Length of output: 1128


🏁 Script executed:

#!/bin/bash
cd web/themes/custom/your_site_theme

echo "1) Checking for 'sass' dependency in package.json:"
rg '"sass"' -n package.json

echo
echo "2) Checking Node.js engine requirement in package.json:"
rg -A2 '"engines"' -n package.json || echo "→ No 'engines' field"

Length of output: 434


Ensure full compatibility with grunt-sass v4

  • The Gruntfile already specifies implementation: require('sass') (lines 85 and 95), and "sass": "^1.69.7" is declared in package.json—good.

  • However, grunt-sass v4 requires Node.js ≥18 and you don’t have an engines field to enforce this. Please add to package.json:

     {
       …
    +  "engines": {
    +    "node": ">=18"
    +  },
       "dependencies": {
         "grunt-sass": "^4",
         "sass": "^1.69.7",
         …
       }
     }
  • There’s no lockfile (no package-lock.json present). Ensure you commit one or otherwise lock dependencies so that builds are reproducible on Node 18+.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"grunt-sass": "^4",
{
+ "engines": {
+ "node": ">=18"
+ },
"dependencies": {
"grunt-sass": "^4",
"sass": "^1.69.7",
}
}
🤖 Prompt for AI Agents
In web/themes/custom/your_site_theme/package.json at line 17, add an "engines"
field specifying Node.js version 18 or higher to enforce compatibility with
grunt-sass v4. Also, generate and commit a package-lock.json file to lock
dependencies and ensure reproducible builds on Node 18+. This involves running
npm install to create the lockfile and then adding it to version control.

@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/1832-update-theme-sass branch from b4fbbe8 to e575026 Compare July 24, 2025 22:37
@github-actions github-actions bot temporarily deployed to commit July 24, 2025 22:39 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🔭 Outside diff range comments (2)
.vortex/tests/bats/_helper.workflow.bash (1)

761-768: Minified CSS usually drops spaces – assertion may become flaky

cssnano/clean-css squeeze background: #7e57e2 to background:#7e57e2.
The new expectation with a space risks false negatives.

-  assert_file_contains "${webroot}/themes/custom/star_wars/build/css/star_wars.min.css" "background: #7e57e2"
+  assert_file_contains "${webroot}/themes/custom/star_wars/build/css/star_wars.min.css" "background:#7e57e2"

Alternatively, match the colour only or use a regex-friendly helper. Please re-run the pipeline to confirm.

web/themes/custom/your_site_theme/Gruntfile.js (1)

142-142: Critical: Remove orphaned sass_globbing reference from watch task.

The watch.styles task still references sass_globbing in its tasks array, but this task has been removed from the Gruntfile configuration. This will cause a runtime error when running grunt watch-dev.

Apply this diff to fix the inconsistency:

-        tasks: ['sass_globbing', 'sass:dev', 'postcss:dev'],
+        tasks: ['sass:dev', 'postcss:dev'],
♻️ Duplicate comments (2)
web/themes/custom/your_site_theme/package.json (1)

17-17: grunt-sass v4 requires Node ≥ 18 – add an engines field

We already flagged this on an earlier commit: without

"engines": { "node": ">=18" }

npm install on older Node versions will happily proceed and then fail at runtime.
Identical feedback, just a reminder to address it before merge.

web/themes/custom/your_site_theme/scss/components/_header.scss (1)

1-1: Use the same canonical path as elsewhere to avoid duplicate loads

Other files import the variables module as 'variables'; here it is @use "../variables";.
Mixed forms can trick Sass into treating them as different modules, yielding duplicate namespaces or re-execution.

-@use "../variables";
+@use "../../scss/variables" as variables; // or simply 'variables'
📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b4fbbe8 and e575026.

⛔ Files ignored due to path filters (32)
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/themes/custom/star_wars/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/themes/custom/star_wars/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/lightsaber/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/names/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_absent/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/Gruntfile.js is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/package.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/components/_header.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/scss/styles.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/light_saber/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/theme_custom/web/themes/custom/star_wars/scss/-_components.scss is excluded by !.vortex/installer/tests/Fixtures/**
  • web/themes/custom/your_site_theme/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (8)
  • .vortex/tests/bats/_helper.workflow.bash (1 hunks)
  • .vortex/tests/bats/e2e/reset.bats (0 hunks)
  • web/themes/custom/your_site_theme/.gitignore (0 hunks)
  • web/themes/custom/your_site_theme/Gruntfile.js (1 hunks)
  • web/themes/custom/your_site_theme/package.json (1 hunks)
  • web/themes/custom/your_site_theme/scss/_components.scss (1 hunks)
  • web/themes/custom/your_site_theme/scss/components/_header.scss (1 hunks)
  • web/themes/custom/your_site_theme/scss/styles.scss (1 hunks)
💤 Files with no reviewable changes (2)
  • web/themes/custom/your_site_theme/.gitignore
  • .vortex/tests/bats/e2e/reset.bats
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot
web/themes/custom/your_site_theme/package.json (2)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Composer dependencies are updated automatically with compatibility checks via RenovateBot

web/themes/custom/your_site_theme/scss/styles.scss (1)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

web/themes/custom/your_site_theme/Gruntfile.js (1)

Learnt from: CR
PR: drevops/vortex#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T15:00:28.327Z
Learning: Node.js dependencies are updated in theme directories via RenovateBot

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: build (1)
  • GitHub Check: build (0)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.2)
  • GitHub Check: vortex-test-docs
🔇 Additional comments (2)
web/themes/custom/your_site_theme/scss/styles.scss (1)

7-11: No legacy @import statements found

All 7 SCSS files in web/themes/custom/your_site_theme/scss/ were scanned, and no @import directives remain. Your migration to @use is complete—no further action needed.

web/themes/custom/your_site_theme/Gruntfile.js (1)

163-164: LGTM: Sass globbing removal from main build tasks.

The removal of sass_globbing from both prod and dev task sequences aligns with the migration to manual SCSS component management as described in the PR summary.

@@ -0,0 +1 @@
@use 'components/header';
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Consider aliasing the imported module for clearer namespacing

@use 'components/header'; is perfectly valid, but if you later need to reference its variables, mixins, or functions, the implicit namespace will be header.*. Adding an alias now keeps the intent explicit and avoids surprises if the filename ever changes:

-@use 'components/header';
+@use 'components/header' as header;
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
@use 'components/header';
@use 'components/header' as header;
🤖 Prompt for AI Agents
In web/themes/custom/your_site_theme/scss/_components.scss at line 1, the import
statement '@use 'components/header';' lacks an explicit alias for clearer
namespacing. To fix this, add an alias to the import like '@use
'components/header' as header;' so that references to variables, mixins, or
functions from this module are explicit and maintainable.

@AlexSkrypnyk AlexSkrypnyk merged commit 2bfdfc7 into develop Jul 24, 2025
30 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/1832-update-theme-sass branch July 24, 2025 23:00
@github-project-automation github-project-automation bot moved this from BACKLOG to Release queue in Vortex Jul 24, 2025
@AlexSkrypnyk AlexSkrypnyk added this to the 25.7.0 milestone Jul 26, 2025
@AlexSkrypnyk AlexSkrypnyk moved this from Release queue to Released in 25.7.0 in Vortex Jul 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Update theme scaffold to replace @import with @use

2 participants