Chore/update ng 20
Summary by CodeRabbit
-
New Features
- Textarea inputs now support vertical resizing and improved overflow handling.
-
Refactor
- Styles migrated to Sass modules with a unified theme entrypoint and namespaced theme utilities.
- Storybook documentation/config upgraded to the newer addon format.
- Reduced legacy portal/overlay internals for a leaner runtime.
-
Chores
- Upgraded Angular, Storybook, TypeScript, and Yarn; added Yarn config and registry mirror.
- Build now compiles Sass programmatically and copies theme assets.
- Adopted ESLint flat-config and adjusted Stylelint rules.
⚠️ No Changeset found
Latest commit: 39ab60e98981a0716cf1566ba4995138b1d200fd
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
Walkthrough
Migrate most SCSS from legacy @import to Sass modules (@use/@forward) and add a theme entrypoint; upgrade tooling (Yarn→v4, Angular→v20, Storybook→v9, ESLint flat-config); replace gulp-dart-sass with dart-sass API in build scripts; remove ComponentFactoryResolver usages from portal/host code; refactor TableComponent template/providers; enable Corepack in CI and adjust related scripts.
Changes
| Cohort / File(s) | Summary |
|---|---|
Storybook config & stories.storybook/global.scss, .../.storybook/main.ts, .../.storybook/manager.ts, .../.storybook/preview.ts, stories/*/*.mdx |
Switch Storybook SCSS @import → @use; remove legacy addons from .storybook/main.ts; change some Storybook import paths (@storybook/manager-api → storybook/manager-api); update MDX imports to @storybook/addon-docs/blocks. |
Tooling & CI.stylelintrc, .yarnrc.yml, eslint.config.mjs, package.json, .github/workflows/*.yml |
Add Yarn v4 config and npm mirror, enable Corepack steps in CI workflows, add Stylelint SCSS override, migrate ESLint to flat-config (FlatCompat), bump Angular/TS/Storybook and add sass/sass-loader/tslib; update lint scripts and packageManager. |
Build & resource scriptsscripts/build.js, scripts/copy-resources.js, scripts/publish-version.js, scripts/run-lint.js |
Remove gulp-dart-sass; use sass (Dart Sass) compileString API, copy SCSS partials and CDK CSS via fs, ensure destination dirs and error handling; change dist-tags fetch to npm view; add scripts/run-lint.js to run linters/tsc in parallel. |
Theme system & entrypointsrc/theme/*, src/theme/index.scss, src/theme/motion/*, src/theme/_var.scss, src/theme/_mixin.scss |
Add src/theme/index.scss; convert theme modules to @use/@forward; namespace modules (e.g., var, mixin, base-var, motion); change mixin defaults to var-based durations and migrate helpers to var.use-*/CSS-var-backed forms. |
Bulk SCSS migrationsrc/**/*.scss (many files; e.g., src/**/.../*.scss, src/accordion/**, src/button/**, src/date-picker/**, etc.) |
Large mechanical refactor: replace @import with @use/@forward, add module aliases (commonly var, mixin, others), qualify mixins/functions (mixin.*, var.use-*), add @use 'sass:map' and convert map-get→map.get where applicable; minor local adjustments. |
Portal / DI removalssrc/anchor/anchor.directive.ts, src/select/helper-directives.ts, src/message/base-message.ts, src/message/message.service.ts, src/notification/notification.service.ts |
Remove ComponentFactoryResolver from constructors/usages; stop passing it into DomPortalOutlet and super calls; adjust constructor signatures. |
Table component refactorsrc/table/table.component.ts |
Replace CDK-internal template/providers with an inline template that supports native HTML table and non-native paths; remove _COALESCED_STYLE_SCHEDULER provider and reduce CDK internals. |
Small Angular edits & lint cleanupsrc/date-picker/calendar/header/component.ts, src/dialog/dialog-content/dialog-content.component.ts, src/select/validators.ts, src/notification/notification.config.ts |
Use inject() in a component, remove unused imports/pipes, and delete several inline ESLint suppression comments; no algorithmic changes. |
Trivial removalssrc/message/message-wrapper.component.scss, src/notification/notification-wrapper.component.scss, src/tabs/tab-group.component.scss |
Remove unused theme import lines or blank lines; no behavioral/style changes beyond import removal. |
Sequence Diagram(s)
sequenceDiagram
autonumber
participant Host as Host App
participant Table as TableComponent
participant Outlets as header/row/footer outlets
Note over Table: Template now chooses native vs non-native render path
Host->>Table: render <aui-table>
alt native HTML table
Table->>Outlets: render thead / tbody / tfoot with outlets
else non-native
Table->>Outlets: render headerRowOutlet / rowOutlet / noDataRowOutlet / footerRowOutlet
end
sequenceDiagram
autonumber
participant Directive as Anchor/OptionContent/MessageService
participant DOM as document.body
participant App as ApplicationRef
participant Inj as Injector
participant Portal as DomPortalOutlet
Note over Directive: ComponentFactoryResolver removed from constructor
Directive->>Portal: new DomPortalOutlet(DOM, App, Inj)
Portal-->>Directive: outlet ready (attach/detach unchanged)
Estimated code review effort
🎯 4 (Complex) | ⏱️ ~60 minutes
Poem
I thump my paws on fresh new ground,
Old imports swapped for modules sound 🧶
Portals slimmer, tables reframe,
Themes gathered under one name.
Yarn and stories hop — hooray, spring! 🐇✨
[!TIP]
🔌 Remote MCP (Model Context Protocol) integration is now available!
Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.
✨ Finishing Touches
- [ ] 📝 Generate Docstrings
🧪 Generate unit tests
- [ ] Create PR with unit tests
- [ ] Post copyable unit tests in a comment
- [ ] Commit unit tests in branch
chore/update-ng-20
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
🪧 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.Open a follow-up GitHub issue for this discussion.
- Files and specific lines of code (under the "Files changed" tab): Tag
@coderabbitin a new review comment at the desired location with your query. - PR comments: Tag
@coderabbitin 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:@coderabbit gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.@coderabbit read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
Support
Need help? Create a ticket on our support page for assistance with any issues or questions.
CodeRabbit Commands (Invoked using PR/Issue comments)
Type @coderabbit help to get the list of available commands.
Other keywords and placeholders
- Add
@coderabbit ignoreor@coderabbitai ignoreanywhere in the PR description to prevent this PR from being reviewed. - Add
@coderabbit summaryor@coderabbitai summaryto generate the high-level summary at a specific location in the PR description. - Add
@coderabbitor@coderabbitaianywhere in the PR title to generate the title automatically.
CodeRabbit Configuration File (.coderabbit.yaml)
- You can programmatically configure CodeRabbit by adding a
.coderabbit.yamlfile 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
Status, Documentation and Community
- Visit our Status Page to check the current availability of CodeRabbit.
- 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.