design-system icon indicating copy to clipboard operation
design-system copied to clipboard

`Sidenav` - Convert to TypeScript

Open didoo opened this issue 9 months ago • 1 comments

:pushpin: Summary

🚨 Still a work in progress 🚨

Converts the SideNav component and subcomponents to TypeScript.

:link: External links

Jira ticket: https://hashicorp.atlassian.net/browse/HDS-2711


👀 Component checklist

  • [ ] Percy was checked for any visual regression
  • [ ] A changelog entry was added via Changesets if needed (see templates here)

:speech_balloon: Please consider using conventional comments when reviewing this PR.

didoo avatar May 16 '24 13:05 didoo

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
hds-showcase ✅ Ready (Inspect) Visit Preview Jun 4, 2024 6:43pm
hds-website ✅ Ready (Inspect) Visit Preview Jun 4, 2024 6:43pm

vercel[bot] avatar May 16 '24 13:05 vercel[bot]

@didoo I had another look at this PR to understand the remaining bits and pushed two commits. SideNav::Base is a very generic component, so I don't see a way around it other than deferring type checking to runtime (so, defining the named blocks as any). If you find this acceptable I can do an overall review.

update: ~~seems to be failing on ember-lts-3.28, maybe a rebase will help 🤞~~ looking at the error it may have to do with the ember-stargate bump, although it was meant to work with 3.28

alex-ju avatar Jun 04 '24 11:06 alex-ju

@didoo I had another look at this PR to understand the remaining bits and pushed two commits. SideNav::Base is a very generic component, so I don't see a way around it other than deferring type checking to runtime (so, defining the named blocks as any). If you find this acceptable I can do an overall review.

@alex-ju I've added a few comments, to continue the conversation. question: what do you think if we ask (again) if someone has different/better ideas in the ##proj-hds-ts-migration and/or #tech-modern-ember channels?

update: ~seems to be failing on ember-lts-3.28, maybe a rebase will help 🤞~ looking at the error it may have to do with the ember-stargate bump, although it was meant to work with 3.28

we're using https://github.com/simonihmig/ember-stargate/releases/tag/v0.5.0, which yes seems it should support 3.28, but maybe that's not the case (and I just noticed they released v0.6.0, which drops support for Ember < 4.12!)

what do you think we should do? @meirish is back from PTO next week, should we wait? or try to debug and in case open an issue in the ember-stargate repo?

(I've also rebased, just in case)

didoo avatar Jun 04 '24 15:06 didoo

@didoo I had another look at this PR to understand the remaining bits and pushed two commits. SideNav::Base is a very generic component, so I don't see a way around it other than deferring type checking to runtime (so, defining the named blocks as any). If you find this acceptable I can do an overall review.

@alex-ju I've added a few comments, to continue the conversation. question: what do you think if we ask (again) if someone has different/better ideas in the ##proj-hds-ts-migration and/or #tech-modern-ember channels?

I'm totally up for us to ask around – I'm sure there are ways to make the Types stricter, but wanted to have a fallback to make sure we're not blocked.

alex-ju avatar Jun 04 '24 17:06 alex-ju

wanted to have a fallback to make sure we're not blocked.

@alex-ju see my last two commits, let's see if they unblock the tests, and then we decide how to proceed

didoo avatar Jun 04 '24 18:06 didoo