topic-deprecation-removals#119
Conversation
|
Ready to act? Review this PR in Change Stack to turn feedback into patch suggestions you can inspect and refine. Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughPR removes deprecated exported type aliases, component slot contracts, reactive properties, and deprecated CSS selectors. Lint rules expand to detect value-specific deprecations and CSS custom properties in both CSS and HTML. Tests, examples, documentation, and build configuration are aligned to the narrowed component contracts. ChangesDeprecation Removal and Enforcement Expansion
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
|
There was a problem hiding this comment.
working on updating
There was a problem hiding this comment.
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 `@projects/core/src/accordion/accordion.ts`:
- Around line 161-163: The current getter get `#hasSuffixContent` checks the whole
element for [slot="suffix"], causing nested descendants to incorrectly set
has-suffix; instead, first locate the header container (element with
slot="header") and only search within that node for [slot="suffix"]. Update get
`#hasSuffixContent` to: find const header = this.querySelector('[slot="header"]')
(or return false if missing) and then check
Array.from(header.querySelectorAll('[slot="suffix"]')).length > 0 so only suffix
children in the header affect the result.
In `@projects/lint/src/eslint/rules/no-deprecated-css-variable.ts`:
- Around line 151-155: The rule currently passes the entire <style> block text
as the selector context (StyleTag handler uses context.sourceCode.getText(node)
and calls findDeprecatedCssVariables(text, text) and
getDeprecatedCssVariable(name, text), which causes selector-scoped variables to
be matched against unrelated selectors in the same stylesheet; fix by parsing
the stylesheet so you call findDeprecatedCssVariables and
getDeprecatedCssVariable with the specific selector text (or the single rule's
selector string) instead of the full stylesheet: in the StyleTag(HtmlTagNode)
handler iterate CSS rules/selectors, extract each rule's selector string and the
corresponding rule body, then call findDeprecatedCssVariables(selectorText,
ruleBodyOrSelectorText) and getDeprecatedCssVariable(name, selectorText) so
scoped names only match within their selector context.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: af357018-7983-4d95-a553-8f0de3af2542
⛔ Files ignored due to path filters (2)
projects/core/.visual/accordion.dark.pngis excluded by!**/*.pngprojects/core/.visual/accordion.pngis excluded by!**/*.png
📒 Files selected for processing (76)
projects/core/build/icons.jsprojects/core/src/accordion/accordion-header.cssprojects/core/src/accordion/accordion.cssprojects/core/src/accordion/accordion.examples.tsprojects/core/src/accordion/accordion.snippets.htmlprojects/core/src/accordion/accordion.test.tsprojects/core/src/accordion/accordion.test.visual.tsprojects/core/src/accordion/accordion.tsprojects/core/src/alert/alert.cssprojects/core/src/badge/badge.cssprojects/core/src/badge/badge.test.tsprojects/core/src/badge/badge.tsprojects/core/src/breadcrumb/breadcrumb.cssprojects/core/src/breadcrumb/breadcrumb.tsprojects/core/src/button/button.cssprojects/core/src/button/button.tsprojects/core/src/card/card-header.cssprojects/core/src/card/card.snippets.htmlprojects/core/src/card/card.test.tsprojects/core/src/card/card.tsprojects/core/src/combobox/combobox.test.tsprojects/core/src/combobox/combobox.tsprojects/core/src/copy-button/copy-button.test.tsprojects/core/src/copy-button/copy-button.tsprojects/core/src/icon-button/icon-button.cssprojects/core/src/icon/icons.tsprojects/core/src/internal/types/index.tsprojects/core/src/menu/menu.examples.tsprojects/core/src/page/page-panel/page-panel.global.cssprojects/core/src/page/page-panel/page-panel.test.tsprojects/core/src/page/page-panel/page-panel.test.visual.tsprojects/core/src/page/page-panel/page-panel.tsprojects/core/src/page/page.test.visual.tsprojects/core/src/panel/panel-footer.test.tsprojects/core/src/panel/panel-header.test.tsprojects/core/src/panel/panel.examples.tsprojects/core/src/panel/panel.test.axe.tsprojects/core/src/panel/panel.test.lighthouse.tsprojects/core/src/panel/panel.test.ssr.tsprojects/core/src/panel/panel.test.tsprojects/core/src/panel/panel.tsprojects/core/src/progress-ring/progress-ring.test.tsprojects/core/src/progress-ring/progress-ring.tsprojects/core/src/tabs/tabs-item.cssprojects/core/src/tabs/tabs.cssprojects/core/src/tabs/tabs.global.cssprojects/core/src/tabs/tabs.test.visual.tsprojects/core/src/tabs/tabs.tsprojects/core/src/toast/toast.test.tsprojects/core/src/toast/toast.tsprojects/core/src/toggletip/toggletip.examples.tsprojects/core/src/toggletip/toggletip.test.axe.tsprojects/lint/README.mdprojects/lint/src/eslint/configs/html.tsprojects/lint/src/eslint/internals/attributes.tsprojects/lint/src/eslint/rules/no-deprecated-attributes.test.tsprojects/lint/src/eslint/rules/no-deprecated-attributes.tsprojects/lint/src/eslint/rules/no-deprecated-css-variable.test.tsprojects/lint/src/eslint/rules/no-deprecated-css-variable.tsprojects/lint/src/eslint/rules/no-deprecated-global-attribute-value.test.tsprojects/lint/src/eslint/rules/no-deprecated-global-attribute-value.tsprojects/lint/src/eslint/rules/no-deprecated-popover-attributes.test.tsprojects/lint/src/eslint/rules/no-deprecated-popover-attributes.tsprojects/lint/src/eslint/rules/no-deprecated-slots.test.tsprojects/lint/src/eslint/rules/no-deprecated-tags.test.tsprojects/lint/src/eslint/rules/no-deprecated-tags.tsprojects/lint/src/eslint/rules/no-unexpected-attribute-value.test.tsprojects/lint/src/eslint/rules/no-unexpected-attribute-value.tsprojects/lint/src/eslint/rules/no-unexpected-global-attribute-value.test.tsprojects/site/src/_11ty/layouts/common.jsprojects/site/src/docs/about/migration.mdprojects/site/src/docs/elements/progress-ring.mdprojects/site/src/docs/integrations/lit.mdprojects/site/src/docs/lint/index.mdprojects/styles/src/layout.cssprojects/styles/src/typography.css
💤 Files with no reviewable changes (18)
- projects/core/src/tabs/tabs.global.css
- projects/core/src/icon/icons.ts
- projects/core/src/card/card-header.css
- projects/site/src/_11ty/layouts/common.js
- projects/styles/src/typography.css
- projects/core/src/tabs/tabs-item.css
- projects/core/src/tabs/tabs.ts
- projects/core/src/page/page-panel/page-panel.global.css
- projects/core/src/breadcrumb/breadcrumb.ts
- projects/core/src/card/card.ts
- projects/core/src/icon-button/icon-button.css
- projects/core/build/icons.js
- projects/core/src/accordion/accordion-header.css
- projects/core/src/internal/types/index.ts
- projects/core/src/combobox/combobox.test.ts
- projects/core/src/button/button.css
- projects/core/src/tabs/tabs.css
- projects/core/src/badge/badge.css
c078deb to
112d1b3
Compare
112d1b3 to
1687fc7
Compare
There was a problem hiding this comment.
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 `@projects/core/src/copy-button/copy-button.test.ts`:
- Around line 91-99: The test calls element.shadowRoot.querySelector for Tooltip
and Toast and then immediately calls .hasAttribute which can throw if the query
returned null; update the test to first assert that the queried elements exist
(e.g., expect(tooltip).not.toBeNull() / expect(toast).not.toBeNull()) before
calling hasAttribute on Tooltip and Toast, keeping the existing mock of
navigator.clipboard.writeText, element.click(), and await
elementIsStable(element) flow intact so the attribute assertions run only when
the elements are present.
In `@projects/core/src/toast/toast.ts`:
- Line 130: The icon lookup can be undefined when this.status is unset; update
the prefix slot rendering to provide an explicit fallback icon name by using the
statusIcons map with a default key (e.g., statusIcons.default) or a literal
fallback (e.g., 'information') so `.name` never receives undefined; change the
expression used for the nve-icon `.name` binding (currently
`.name=${statusIcons[this.status] as IconName}`) to use a nullish/OR fallback
(e.g., statusIcons[this.status] ?? statusIcons.default or 'information') and
keep the existing `.ariaLabel` behavior using i18n for accessibility.
In `@projects/lint/src/eslint/rules/no-deprecated-css-variable.test.ts`:
- Around line 152-203: The HTML tests only cover inline style="" cases and miss
a regression for <style> blocks where selector-scoped variables should trigger
errors only under specific selectors; add a new invalid case in the existing
html suite (using the same RuleTester instance and the existing tester.run(...)
call for rule) that includes a <style> tag with selector(s) like "nve-tabs" and
"nve-tabs-item" and CSS using "--border-background" and
"--indicator-background", asserting that deprecated "--border-background" is
reported only for selectors matching nve-tabs* (messageId 'deprecated-css-var'
with data.value '--border-background' and alternative '--indicator-background')
while valid selectors do not produce errors.
In `@projects/site/src/docs/about/migration.md`:
- Around line 49-51: Hyphenate "open source" when it is used as a compound
modifier in the two sentences containing the phrases "NVIDIA published the
initial public open source packages as `0.x`..." and "Treat these `0.x` versions
as transitional open source preview releases..." and the sentence "Elements
moved from public `0.x` prerelease versions to `2.0.0` for the stable open
source release."; update those to "open-source packages", "open-source preview
releases", and "open-source release" respectively so the prose complies with the
Vale/Google docstyle rules.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: a611f8e5-8f19-4b0f-88ed-bf35cc718162
⛔ Files ignored due to path filters (2)
projects/core/.visual/accordion.dark.pngis excluded by!**/*.pngprojects/core/.visual/accordion.pngis excluded by!**/*.png
📒 Files selected for processing (79)
projects/core/build/icons.jsprojects/core/src/accordion/accordion-header.cssprojects/core/src/accordion/accordion.cssprojects/core/src/accordion/accordion.examples.tsprojects/core/src/accordion/accordion.snippets.htmlprojects/core/src/accordion/accordion.test.tsprojects/core/src/accordion/accordion.test.visual.tsprojects/core/src/accordion/accordion.tsprojects/core/src/alert/alert.cssprojects/core/src/badge/badge.cssprojects/core/src/badge/badge.test.tsprojects/core/src/badge/badge.tsprojects/core/src/breadcrumb/breadcrumb.cssprojects/core/src/breadcrumb/breadcrumb.tsprojects/core/src/button/button.cssprojects/core/src/button/button.tsprojects/core/src/card/card-header.cssprojects/core/src/card/card.snippets.htmlprojects/core/src/card/card.test.tsprojects/core/src/card/card.tsprojects/core/src/combobox/combobox.test.tsprojects/core/src/combobox/combobox.tsprojects/core/src/copy-button/copy-button.test.tsprojects/core/src/copy-button/copy-button.tsprojects/core/src/dialog/dialog.examples.tsprojects/core/src/grid/grid.examples.tsprojects/core/src/icon-button/icon-button.cssprojects/core/src/icon/icons.tsprojects/core/src/internal/types/index.tsprojects/core/src/menu/menu.examples.tsprojects/core/src/page/page-panel/page-panel.global.cssprojects/core/src/page/page-panel/page-panel.test.tsprojects/core/src/page/page-panel/page-panel.test.visual.tsprojects/core/src/page/page-panel/page-panel.tsprojects/core/src/page/page.test.visual.tsprojects/core/src/panel/panel-footer.test.tsprojects/core/src/panel/panel-header.test.tsprojects/core/src/panel/panel.examples.tsprojects/core/src/panel/panel.test.axe.tsprojects/core/src/panel/panel.test.lighthouse.tsprojects/core/src/panel/panel.test.ssr.tsprojects/core/src/panel/panel.test.tsprojects/core/src/panel/panel.tsprojects/core/src/progress-ring/progress-ring.test.tsprojects/core/src/progress-ring/progress-ring.tsprojects/core/src/tabs/tabs-item.cssprojects/core/src/tabs/tabs.cssprojects/core/src/tabs/tabs.global.cssprojects/core/src/tabs/tabs.test.visual.tsprojects/core/src/tabs/tabs.tsprojects/core/src/toast/toast.test.tsprojects/core/src/toast/toast.tsprojects/core/src/toggletip/toggletip.examples.tsprojects/core/src/toggletip/toggletip.test.axe.tsprojects/internals/tools/src/project/health.tsprojects/lint/README.mdprojects/lint/src/eslint/configs/html.tsprojects/lint/src/eslint/internals/attributes.tsprojects/lint/src/eslint/rules/no-deprecated-attributes.test.tsprojects/lint/src/eslint/rules/no-deprecated-attributes.tsprojects/lint/src/eslint/rules/no-deprecated-css-variable.test.tsprojects/lint/src/eslint/rules/no-deprecated-css-variable.tsprojects/lint/src/eslint/rules/no-deprecated-global-attribute-value.test.tsprojects/lint/src/eslint/rules/no-deprecated-global-attribute-value.tsprojects/lint/src/eslint/rules/no-deprecated-popover-attributes.test.tsprojects/lint/src/eslint/rules/no-deprecated-popover-attributes.tsprojects/lint/src/eslint/rules/no-deprecated-slots.test.tsprojects/lint/src/eslint/rules/no-deprecated-tags.test.tsprojects/lint/src/eslint/rules/no-deprecated-tags.tsprojects/lint/src/eslint/rules/no-unexpected-attribute-value.test.tsprojects/lint/src/eslint/rules/no-unexpected-attribute-value.tsprojects/lint/src/eslint/rules/no-unexpected-global-attribute-value.test.tsprojects/site/src/_11ty/layouts/common.jsprojects/site/src/docs/about/migration.mdprojects/site/src/docs/elements/progress-ring.mdprojects/site/src/docs/integrations/lit.mdprojects/site/src/docs/lint/index.mdprojects/styles/src/layout.cssprojects/styles/src/typography.css
💤 Files with no reviewable changes (18)
- projects/core/src/tabs/tabs.ts
- projects/core/src/breadcrumb/breadcrumb.ts
- projects/core/src/icon-button/icon-button.css
- projects/core/src/accordion/accordion.css
- projects/core/src/tabs/tabs.css
- projects/core/src/tabs/tabs-item.css
- projects/site/src/_11ty/layouts/common.js
- projects/core/src/card/card-header.css
- projects/core/src/badge/badge.css
- projects/core/build/icons.js
- projects/styles/src/typography.css
- projects/core/src/icon/icons.ts
- projects/core/src/card/card.ts
- projects/core/src/page/page-panel/page-panel.global.css
- projects/core/src/tabs/tabs.global.css
- projects/core/src/internal/types/index.ts
- projects/core/src/button/button.css
- projects/core/src/combobox/combobox.test.ts
| const tooltip = element.shadowRoot.querySelector<Tooltip>(Tooltip.metadata.tag); | ||
| expect(tooltip.hasAttribute('trigger')).toBe(false); | ||
|
|
||
| const mockClipboard = vi.spyOn(navigator.clipboard, 'writeText').mockResolvedValue(); | ||
| element.click(); | ||
| await elementIsStable(element); | ||
|
|
||
| const toast = element.shadowRoot.querySelector<Toast>(Toast.metadata.tag); | ||
| expect(toast.hasAttribute('trigger')).toBe(false); |
There was a problem hiding this comment.
Guard queried elements before attribute assertions.
querySelector(...) is nullable; direct .hasAttribute(...) can throw and hide the real test failure cause. Add existence assertions first.
Proposed test hardening
const tooltip = element.shadowRoot.querySelector<Tooltip>(Tooltip.metadata.tag);
- expect(tooltip.hasAttribute('trigger')).toBe(false);
+ expect(tooltip).toBeTruthy();
+ expect(tooltip!.hasAttribute('trigger')).toBe(false);
@@
const toast = element.shadowRoot.querySelector<Toast>(Toast.metadata.tag);
- expect(toast.hasAttribute('trigger')).toBe(false);
+ expect(toast).toBeTruthy();
+ expect(toast!.hasAttribute('trigger')).toBe(false);📝 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.
| const tooltip = element.shadowRoot.querySelector<Tooltip>(Tooltip.metadata.tag); | |
| expect(tooltip.hasAttribute('trigger')).toBe(false); | |
| const mockClipboard = vi.spyOn(navigator.clipboard, 'writeText').mockResolvedValue(); | |
| element.click(); | |
| await elementIsStable(element); | |
| const toast = element.shadowRoot.querySelector<Toast>(Toast.metadata.tag); | |
| expect(toast.hasAttribute('trigger')).toBe(false); | |
| const tooltip = element.shadowRoot.querySelector<Tooltip>(Tooltip.metadata.tag); | |
| expect(tooltip).toBeTruthy(); | |
| expect(tooltip!.hasAttribute('trigger')).toBe(false); | |
| const mockClipboard = vi.spyOn(navigator.clipboard, 'writeText').mockResolvedValue(); | |
| element.click(); | |
| await elementIsStable(element); | |
| const toast = element.shadowRoot.querySelector<Toast>(Toast.metadata.tag); | |
| expect(toast).toBeTruthy(); | |
| expect(toast!.hasAttribute('trigger')).toBe(false); |
🤖 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 `@projects/core/src/copy-button/copy-button.test.ts` around lines 91 - 99, The
test calls element.shadowRoot.querySelector for Tooltip and Toast and then
immediately calls .hasAttribute which can throw if the query returned null;
update the test to first assert that the queried elements exist (e.g.,
expect(tooltip).not.toBeNull() / expect(toast).not.toBeNull()) before calling
hasAttribute on Tooltip and Toast, keeping the existing mock of
navigator.clipboard.writeText, element.click(), and await
elementIsStable(element) flow intact so the attribute assertions run only when
the elements are present.
| return html` | ||
| <div internal-host> | ||
| <slot name="prefix">${this.status !== 'muted' ? html`<nve-icon part="prefix-icon" .name=${statusIcons[this.status] as IconName} .ariaLabel=${(this.i18n as Record<string, string>)[this.status] ?? this.i18n.information}></nve-icon>` : nothing}</slot> | ||
| <slot name="prefix"><nve-icon part="prefix-icon" .name=${statusIcons[this.status] as IconName} .ariaLabel=${(this.i18n as Record<string, string>)[this.status] ?? this.i18n.information}></nve-icon></slot> |
There was a problem hiding this comment.
Add an explicit icon fallback when status is unset.
On Line 130, .name=${statusIcons[this.status] as IconName} can resolve to undefined when no status is provided, which can drop the expected default icon.
Proposed fix
- <slot name="prefix"><nve-icon part="prefix-icon" .name=${statusIcons[this.status] as IconName} .ariaLabel=${(this.i18n as Record<string, string>)[this.status] ?? this.i18n.information}></nve-icon></slot>
+ <slot name="prefix"><nve-icon part="prefix-icon" .name=${(statusIcons[this.status] ?? statusIcons.information) as IconName} .ariaLabel=${(this.i18n as Record<string, string>)[this.status] ?? this.i18n.information}></nve-icon></slot>📝 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.
| <slot name="prefix"><nve-icon part="prefix-icon" .name=${statusIcons[this.status] as IconName} .ariaLabel=${(this.i18n as Record<string, string>)[this.status] ?? this.i18n.information}></nve-icon></slot> | |
| <slot name="prefix"><nve-icon part="prefix-icon" .name=${(statusIcons[this.status] ?? statusIcons.information) as IconName} .ariaLabel=${(this.i18n as Record<string, string>)[this.status] ?? this.i18n.information}></nve-icon></slot> |
🤖 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 `@projects/core/src/toast/toast.ts` at line 130, The icon lookup can be
undefined when this.status is unset; update the prefix slot rendering to provide
an explicit fallback icon name by using the statusIcons map with a default key
(e.g., statusIcons.default) or a literal fallback (e.g., 'information') so
`.name` never receives undefined; change the expression used for the nve-icon
`.name` binding (currently `.name=${statusIcons[this.status] as IconName}`) to
use a nullish/OR fallback (e.g., statusIcons[this.status] ?? statusIcons.default
or 'information') and keep the existing `.ariaLabel` behavior using i18n for
accessibility.
| NVIDIA published the initial public open source packages as `0.x` while the project completed its public release migration. Treat these `0.x` versions as transitional open source preview releases, not proof that Elements itself is experimental or newly developed. | ||
|
|
||
| Elements moved from public `0.x` prerelease versions to `2.0.0` for the stable open source release. This means there is no public `1.0.0` release under the `@nvidia-elements/*` scope. The missing public `1.0.0` is intentional: `1.x` represents the prior internal production generation, and `2.0.0` represents the next stable generation under the public `@nvidia-elements/*` scope. |
There was a problem hiding this comment.
Hyphenate compound modifier “open-source” for prose-lint compliance.
Use hyphenation when “open source” modifies a noun in these new sentences.
Proposed fix
-NVIDIA published the initial public open source packages as `0.x` while the project completed its public release migration. Treat these `0.x` versions as transitional open source preview releases, not proof that Elements itself is experimental or newly developed.
+NVIDIA published the initial public open-source packages as `0.x` while the project completed its public release migration. Treat these `0.x` versions as transitional open-source preview releases, not proof that Elements itself is experimental or newly developed.
-Elements moved from public `0.x` prerelease versions to `2.0.0` for the stable open source release. This means there is no public `1.0.0` release under the `@nvidia-elements/*` scope. The missing public `1.0.0` is intentional: `1.x` represents the prior internal production generation, and `2.0.0` represents the next stable generation under the public `@nvidia-elements/*` scope.
+Elements moved from public `0.x` prerelease versions to `2.0.0` for the stable open-source release. This means there is no public `1.0.0` release under the `@nvidia-elements/*` scope. The missing public `1.0.0` is intentional: `1.x` represents the prior internal production generation, and `2.0.0` represents the next stable generation under the public `@nvidia-elements/*` scope.As per coding guidelines, **/*.md: Follow the Google developer documentation style guide and write-good rules using Vale prose linter.
📝 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.
| NVIDIA published the initial public open source packages as `0.x` while the project completed its public release migration. Treat these `0.x` versions as transitional open source preview releases, not proof that Elements itself is experimental or newly developed. | |
| Elements moved from public `0.x` prerelease versions to `2.0.0` for the stable open source release. This means there is no public `1.0.0` release under the `@nvidia-elements/*` scope. The missing public `1.0.0` is intentional: `1.x` represents the prior internal production generation, and `2.0.0` represents the next stable generation under the public `@nvidia-elements/*` scope. | |
| NVIDIA published the initial public open-source packages as `0.x` while the project completed its public release migration. Treat these `0.x` versions as transitional open-source preview releases, not proof that Elements itself is experimental or newly developed. | |
| Elements moved from public `0.x` prerelease versions to `2.0.0` for the stable open-source release. This means there is no public `1.0.0` release under the `@nvidia-elements/*` scope. The missing public `1.0.0` is intentional: `1.x` represents the prior internal production generation, and `2.0.0` represents the next stable generation under the public `@nvidia-elements/*` scope. |
🧰 Tools
🪛 LanguageTool
[grammar] ~49-~49: Use a hyphen to join words.
Context: ...NVIDIA published the initial public open source packages as 0.x while the proje...
(QB_NEW_EN_HYPHEN)
[grammar] ~49-~49: Use a hyphen to join words.
Context: ...hese 0.x versions as transitional open source preview releases, not proof that ...
(QB_NEW_EN_HYPHEN)
[grammar] ~51-~51: Use a hyphen to join words.
Context: ... versions to 2.0.0 for the stable open source release. This means there is no p...
(QB_NEW_EN_HYPHEN)
🤖 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 `@projects/site/src/docs/about/migration.md` around lines 49 - 51, Hyphenate
"open source" when it is used as a compound modifier in the two sentences
containing the phrases "NVIDIA published the initial public open source packages
as `0.x`..." and "Treat these `0.x` versions as transitional open source preview
releases..." and the sentence "Elements moved from public `0.x` prerelease
versions to `2.0.0` for the stable open source release."; update those to
"open-source packages", "open-source preview releases", and "open-source
release" respectively so the prose complies with the Vale/Google docstyle rules.
1687fc7 to
e32d338
Compare
There was a problem hiding this comment.
♻️ Duplicate comments (1)
projects/site/src/docs/about/migration.md (1)
49-51:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winHyphenate compound modifier "open-source" for prose-lint compliance.
Use hyphenation when "open source" modifies a noun in these new sentences.
Proposed fix
-NVIDIA published the initial public open source packages as `0.x` while the project completed its public release migration. Treat these `0.x` versions as transitional open source preview releases, not proof that Elements itself is experimental or newly developed. +NVIDIA published the initial public open-source packages as `0.x` while the project completed its public release migration. Treat these `0.x` versions as transitional open-source preview releases, not proof that Elements itself is experimental or newly developed. -Elements moved from public `0.x` prerelease versions to `2.0.0` for the stable open source release. This means there is no public `1.0.0` release under the `@nvidia-elements/*` scope. The missing public `1.0.0` is intentional: `1.x` represents the prior internal production generation, and `2.0.0` represents the next stable generation under the public `@nvidia-elements/*` scope. +Elements moved from public `0.x` prerelease versions to `2.0.0` for the stable open-source release. This means there is no public `1.0.0` release under the `@nvidia-elements/*` scope. The missing public `1.0.0` is intentional: `1.x` represents the prior internal production generation, and `2.0.0` represents the next stable generation under the public `@nvidia-elements/*` scope.As per coding guidelines,
**/*.md: Follow the Google developer documentation style guide and write-good rules using Vale prose linter.🤖 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 `@projects/site/src/docs/about/migration.md` around lines 49 - 51, The prose uses "open source" as a compound modifier in the sentences containing "open source preview releases" and "stable open source release"; update those occurrences to use the hyphenated form "open-source" (e.g., "open-source preview releases" and "stable open-source release") so the compound modifier follows the Vale/Google doc style rules; edit the migration.md sentences that contain "open source" to apply the hyphenation consistently.
🤖 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.
Duplicate comments:
In `@projects/site/src/docs/about/migration.md`:
- Around line 49-51: The prose uses "open source" as a compound modifier in the
sentences containing "open source preview releases" and "stable open source
release"; update those occurrences to use the hyphenated form "open-source"
(e.g., "open-source preview releases" and "stable open-source release") so the
compound modifier follows the Vale/Google doc style rules; edit the migration.md
sentences that contain "open source" to apply the hyphenation consistently.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: 595bac8c-64f0-484a-b6d0-2fa2437d87e9
📒 Files selected for processing (7)
projects/cli/package.jsonprojects/internals/tools/src/project/health.tsprojects/site/src/_11ty/layouts/common.jsprojects/site/src/docs/about/migration.mdprojects/site/src/docs/elements/progress-ring.mdprojects/site/src/docs/integrations/lit.mdprojects/site/src/docs/lint/index.md
💤 Files with no reviewable changes (1)
- projects/site/src/_11ty/layouts/common.js
e32d338 to
2b97cd5
Compare
There was a problem hiding this comment.
♻️ Duplicate comments (1)
projects/site/src/docs/about/migration.md (1)
49-51:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winHyphenate compound modifier "open source" for prose-lint compliance.
Use "open-source" when modifying a noun: "open-source packages", "open-source preview releases", and "open-source release".
As per coding guidelines,
**/*.md: Follow the Google developer documentation style guide and write-good rules using Vale prose linter.🤖 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 `@projects/site/src/docs/about/migration.md` around lines 49 - 51, Update the three occurrences of the unhyphenated compound modifier in the paragraph: change "open source packages" to "open-source packages", "open source preview releases" to "open-source preview releases", and "open source release" to "open-source release" so the prose matches the Google docs/Vale rule for compound modifiers; then run the project's prose linter (Vale) to confirm compliance.
🤖 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.
Duplicate comments:
In `@projects/site/src/docs/about/migration.md`:
- Around line 49-51: Update the three occurrences of the unhyphenated compound
modifier in the paragraph: change "open source packages" to "open-source
packages", "open source preview releases" to "open-source preview releases", and
"open source release" to "open-source release" so the prose matches the Google
docs/Vale rule for compound modifiers; then run the project's prose linter
(Vale) to confirm compliance.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: bfbf12ea-ed68-48ad-9551-8746e4bce28e
📒 Files selected for processing (7)
projects/cli/package.jsonprojects/internals/tools/src/project/health.tsprojects/site/src/_11ty/layouts/common.jsprojects/site/src/docs/about/migration.mdprojects/site/src/docs/elements/progress-ring.mdprojects/site/src/docs/integrations/lit.mdprojects/site/src/docs/lint/index.md
💤 Files with no reviewable changes (1)
- projects/site/src/_11ty/layouts/common.js
75af33a to
8fe3803
Compare
8fe3803 to
0471cb4
Compare
Signed-off-by: Cory Rylan <crylan@nvidia.com>
0471cb4 to
feeb578
Compare
Signed-off-by: Cory Rylan <crylan@nvidia.com>
Signed-off-by: Cory Rylan <crylan@nvidia.com>
Signed-off-by: Cory Rylan <crylan@nvidia.com>
feeb578 to
3f57ae1
Compare
|
🎉 This issue has been resolved in version 0.0.10 🎉 |
|
🎉 This issue has been resolved in version 0.2.4 🎉 |
|
🎉 This issue has been resolved in version 0.4.0 🎉 |
Summary by CodeRabbit
Bug Fixes
notagsproperty; usetag-layout="hidden".nve-page-panel.eyebrowvariant; uselabel sm.growvariant; usefull.interactionAPI.status="muted"→prominence="muted".Documentation