bcgov / bcgov/entity

RFC - change raw components to built/minified (web components)

Open
#10,725 4 comments 0 reactions 1 assignee Claimed by @severinbeauvais View on GitHub
Dependency ENTITY - DO NOT USE techdebt
Dominant language
JavaScript
Stars
23
Forks
62
Avg merge
24m
Merged PRs (30d)
1

Description

[The BCRS Shared Components project](https://github.com/bcgov/bcrs-shared-components) contains many components that are used by several UI projects (Filings UI, FAS, etc). The problem is that these shared components are raw source code, and as such:
- have dependencies (eg, CSS, mixins, interfaces)
- require specific framework versions (eg, Vue)
- require the host project to also be Vue framework (with same dependencies and versions, etc)
- require maintenance due to new versions of dependencies

There is a better way. In a nutshell, it means going a bit further with the BCRS Shared Components project and Lerna (which manages individual component versioning), to build production-ready components that are standalone and can be imported into any host project, any time.

This change should start as a RFC / prototype (same as we did for original BCRS Shared Components) to figure out exactly how to do this. The next step depends on the changes needed. It _might_ require updating all host projects to use new shared components; this would all come out in the RFC, including a possible phased approach. The RFC could also estimate effort.

@shabeeb-aot (Faiz) created a [similar ticket](https://app.zenhub.com/workspaces/relationships-team-space-61435c47e483c4000f08e9f6/issues/bcgov/entity/9874) in the Relationships team space. Faiz knows a bit about this already and would therefore be a key resource in designing/ implementing this. I don't know how we would allocate the work as this change crosses over several teams and will benefit all.

I have added the Tech Debt label, which isn't totally correct since this is not incomplete development. Rather, it's a much-improved way to build and serve shared components that will make their use much easier to manage/maintain as time goes by.

### Web Components

ref: https://vuejs.org/guide/extras/web-components.html

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.