mi6 / ic-design-system

Intelligence Community Design System
https://design.sis.gov.uk
MIT License
43 stars 30 forks source link

Update the Angular guidance page to say to use the new Angular package #850

Open GCHQ-Developer-847 opened 8 months ago

GCHQ-Developer-847 commented 8 months ago

What component is this related to?

The Angular get started instructions page.

Why do we need it?

The work to create a new Angular package (e.g. @ukic/angular) is being worked on again by an external contributor. Once this has been completed, the guidance about how to use ICDS components in an Angular app will need to be updated to reflect the fact that an Angular package is now available.

A lot of the config changes mentioned on this page likely won't be needed, as is suggested from the information in the Stencil docs.

This ticket involves determining what the new "get started" instructions need to be when the new package is available and making those changes to the page.

Related open issues

There are some Angular issues which may relate to this: #776 (ic-ui-kit) #850 (ic-ui-kit)

499

MI6-255 commented 6 months ago

Community work has been done to set this up, that can be used. Still need to consider the docs, testing, guidance and ongoing testing etc

MI6-255 commented 5 months ago

ICDS have agreed we’re happy for a community contribution to proceed, on the basis that these pieces of work and included and merged at the same time (even if separate issues):

  1. Documentation amended for the new instructions, such as on “Get started” sections for Angular. This would include a short piece on the benefit of the Angular package, over web-components (a link to Stencil could be suffice if you think this explains it well). Within this documentation, we’d want to see some language initially about this being “experimental”, with it not going through all the checks ICDS usually would and missing information such as documentation per component, Storybook, testing documentation etc. This would need to mention something along the lines of “ICDS having no plans to support any of those at a later date either, any additions would be community driven”. This page would also include some simple and complex code examples of using the components in Angular, with there not being code examples per component.
  2. An automated process for how we validate the Angular package is working, with React, this is through its consumption on the website. So we see any issues during the release, if any.
  3. Make sure to address in documentation or fixes, any relevant issues linked in the ticket itself such as #499, #776 etc.
  4. If there is appetite for Angular versions of “canary” components, some build steps would need to be added to include this, hopefully this should be relatively simple. I will leave this one up to you, it’d be good to just update any canary and Angular documentation to reflect on if there is/isn’t this offered.
  5. Optional extra of including how to test the components in the Angular testing framework of choice, similar to how we have pages on React testing frameworks.

In terms of what we don’t need to cover:

  1. No Storybook needed for Angular, we’re going to operate on the basis of that if web components and React are fine, this will be for most cases too. This is to remove the burden upfront, and also ongoing for the ICDS team.
  2. No code examples needed on a per component basis, this will be covered in the single page of Angular documentation. Otherwise, this would require Stackblitz being set up to support Angular, and hundreds of code examples to be updated and tested with Angular.

Once done, or throughout, it’d be worth reaching out to the community who use Angular to better review this.

MI6-255 commented 5 months ago

Assigned to @GCHQDeveloper1811