Angular native wrappers - #3933#4206
Conversation
GCHQ-Developer-112
left a comment
There was a problem hiding this comment.
This is just an initial review, I will review this again most likely some time next week
| dist/ | ||
| www/ | ||
| loader/ | ||
| components/ |
There was a problem hiding this comment.
This will mean changes to our components will not be committed - please remove this line
There was a problem hiding this comment.
as discussed at the meeting last week, this is a separate folder that gets added in due to the new dist output that is required for the angular output target plugin. I put it in the git ignore to avoid adding excess bulk to the git repo and won't affect the web component source code.
I will return to this and see if there is a better way this can be approached, such that the source components for the angular build match those for the react one or the base web-component output, but our testing so far hasn't worked out.
| "dist/", | ||
| "loader/", | ||
| "hydrate/", | ||
| "components/", |
There was a problem hiding this comment.
Why has this been added?
There was a problem hiding this comment.
As per previous comment and the discussion held last week, this is the output of a new dist target that we need (with some specific packaging) as a source for the angular plugin to work it's magic turning the web components into the natively wrapped equivalents.
If there is another way to grab the components that doesn't require a new version being output I will try to find it and change this back, but currently this doesn't seem possible.
GCHQ-Developer-299
left a comment
There was a problem hiding this comment.
Will review again when @GCHQ-Developer-112 's comments have been addressed
227365d to
cdf95c7
Compare
packages/angular-community-supported/src/schematics/add/schema.json
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Will a directive need to be created for each event emitted by our components?
There was a problem hiding this comment.
This is only for the ones that are highlighted in the value-accessors part of the config. They are generated in order to allow angular to treat the relevant components as form controls and to know where to find the value.
Adds references to the upcoming Angular packages to the build, commit and ci files. Also tweaks the contributing documentation slightly. re mi6#3933
…ive components Adds the angularOutputTarget plugin for stencil and includes relevant config so that the natively wrapped ICDS elements are output as a package. Also adds a pure output for the web components as an intermediary packaged within @ukic/web-components for the Angular plugin to make use of. ref mi6#3933
…ing the angular native wrappers Provides the underlying folders structure, npm config, scripts and such for publishing the Angular package. Also includes the 3.18.0 output from the stencil generator. closes mi6#3933
… of angular in peer deps
…e angular packages for audit
…wrappers to use ICDS v 3.19e
…sure builds output correctly updates the various exports and entry points to account for changes in how the latest version of the stencil output targets bundle the module
…r guidance to Contributing.md As per review comments, angular-community-supported project removed from pre-commit hook and CONTRIBUTING.md updated so that Angular guidance was separated out from the React section.
…g-add command & updates README Per PR comments, removed the description from the argument of the ng-add command as it is mildly redundant. Also updated the Angular package's README for readability and grammar
63fe92f to
122eaba
Compare
GCHQDev01001010
left a comment
There was a problem hiding this comment.
Pushed with latest version and PR comments addressed
There was a problem hiding this comment.
This is only for the ones that are highlighted in the value-accessors part of the config. They are generated in order to allow angular to treat the relevant components as form controls and to know where to find the value.
| "dist/", | ||
| "loader/", | ||
| "hydrate/", | ||
| "components/", |
There was a problem hiding this comment.
As per previous comment and the discussion held last week, this is the output of a new dist target that we need (with some specific packaging) as a source for the angular plugin to work it's magic turning the web components into the natively wrapped equivalents.
If there is another way to grab the components that doesn't require a new version being output I will try to find it and change this back, but currently this doesn't seem possible.
| dist/ | ||
| www/ | ||
| loader/ | ||
| components/ |
There was a problem hiding this comment.
as discussed at the meeting last week, this is a separate folder that gets added in due to the new dist output that is required for the angular output target plugin. I put it in the git ignore to avoid adding excess bulk to the git repo and won't affect the web component source code.
I will return to this and see if there is a better way this can be approached, such that the source components for the angular build match those for the react one or the base web-component output, but our testing so far hasn't worked out.
Summary of the changes
Set up new output targets in the stencil config to output native angular wrapper components in a similar vein to the react components. Versions have been included that will allow the integrating developers to import the components as standalone items one-by-one at need or as a whole module. This also required the addition/alteration of the custom-elements-dist output to create an internal package for the web-components that the angular output plugin could use.
The package is included in the pack all script and other checks. Also includes an Angular schematic in the package so users can install simply with "ng add".
Documentation has been updated to indicate installation and useage of the new package and components and to provide clarity that this is a community-developed and supported addition as per the ICDS team's request.
(This is a rebuild of #4180 )
Related issue
closes #3933
& ic-design-system 850
Checklist
General
Testing
Accessibility
Resize/zoom behaviour
System modes
Testing content extremes