Skip to content

Move to packaged Bootstrap - #896

Merged
slifty merged 4 commits into
mainfrom
895-package-bootstrap
Feb 3, 2026
Merged

Move to packaged Bootstrap#896
slifty merged 4 commits into
mainfrom
895-package-bootstrap

Conversation

@slifty

@slifty slifty commented Jan 16, 2026

Copy link
Copy Markdown
Contributor

This PR removes our "vendor" setup for Bootstrap and moves us to using an npm package instead. This will make it easier to avoid version drift and also allows us to remove third party code from our repository.

This also updates our version of Bootstrap to v5, which is the latest version and is compatible with our other angular dependencies.

🚨 🚨 This adds a new dependency, so you'll need to run docker compose build web-app 🚨 🚨

Resolves #895
Related to #127

@codecov

codecov Bot commented Jan 16, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 75.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.89%. Comparing base (253d433) to head (73876d9).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
...rowser/components/file-list/file-list.component.ts 0.00% 1 Missing ⚠️
...rc/app/shared/directives/bg-image-src.directive.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #896      +/-   ##
==========================================
+ Coverage   47.83%   47.89%   +0.05%     
==========================================
  Files         351      351              
  Lines       11306    11311       +5     
  Branches     1892     1893       +1     
==========================================
+ Hits         5408     5417       +9     
+ Misses       5709     5701       -8     
- Partials      189      193       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This was referenced Jan 16, 2026
@slifty
slifty force-pushed the 893-ionicons-web-components branch from f28de58 to be10eb6 Compare January 16, 2026 17:29
@slifty
slifty force-pushed the 895-package-bootstrap branch from 5697c84 to dd5550f Compare January 16, 2026 17:29
@slifty
slifty force-pushed the 893-ionicons-web-components branch from be10eb6 to e30817f Compare January 16, 2026 21:11
@slifty
slifty force-pushed the 895-package-bootstrap branch from dd5550f to 83f9ced Compare January 16, 2026 21:12

@aasandei-vsp aasandei-vsp left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems we might be needing to figure out multiple dependencies, not only the bootstrap one.

Comment thread package.json Outdated
@import 'bootstrap/scss/type';
@import 'bootstrap/scss/tables';
@import 'bootstrap/scss/forms';
@import 'bootstrap/scss/buttons';

@aasandei-vsp aasandei-vsp Jan 20, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one might have some issues, I noticed on 127-remove-vendor branch that the upload button orange background is not showing.

image

And another one, seems to be for orange buttons?

image

@aasandei-vsp

Copy link
Copy Markdown
Contributor

Also, the merge button is green and I do not think that is correct, right?

@slifty

slifty commented Jan 20, 2026

Copy link
Copy Markdown
Contributor Author

Also, the merge button is green and I do not think that is correct, right?

Just because this PR is currently merging into a branch (not main)

@slifty
slifty force-pushed the 895-package-bootstrap branch from 83f9ced to cf0c007 Compare January 23, 2026 19:37
@slifty
slifty changed the base branch from 893-ionicons-web-components to main January 23, 2026 19:38
@slifty

slifty commented Jan 24, 2026

Copy link
Copy Markdown
Contributor Author

@aasandei-vsp I've added a second commit which upgrades to bootstrap 5. I attempted to go through the screens to ensure parity to production!

Note: the new version means you'll have to do the "rebuild the image" dance unfortunately.

@slifty
slifty requested a review from aasandei-vsp January 24, 2026 02:21
@cecilia-donnelly

Copy link
Copy Markdown
Member

Removing myself as a reviewer since you two have this under control.

@cecilia-donnelly
cecilia-donnelly removed their request for review January 26, 2026 19:45

@aasandei-vsp aasandei-vsp left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Built it locally -- OK
Tested a few of the components -- OK

LGTM

@slifty slifty mentioned this pull request Jan 27, 2026
We had included Bootstrap v4 as vendored scss instead of loading it via
npm / packages.  This isn't a great practice for a couple of reasons,
not the least of which being the fact that we can't benefit from things
like dependabot and dependency tree checks.

This intentionally does not migrate to Bootstrap v5, but simply changes
how v4 is being installed.

Issue #895 Remove vendored bootstrap
We recently transitioned from a vendor bootstrap (with source checked
in) to an npm managed version. This exposed the fact that our
ng-bootstrap is built to require bootstrap 5, but we were still using
bootstrap 4.

This migrates our UX to the latest Bootstrap with an attempt to have
minimal-to-no actual impact on the UX.
@slifty
slifty force-pushed the 895-package-bootstrap branch from 64fb465 to ae51380 Compare January 28, 2026 19:51
This upgrade comes with a lot of package bumps, as expected.

For the short term we have to override ng-mocks' peer dependencies.
There is an open PR to add formal angular support.  If tests pass, this
is OK for now.

We also need to use a release candidate for angular firebase.  This is
not ideal, but similarly if it works that's OK.  It should be noted that
angular firebase is not maintained at the cadence we would prefer and so
this is another reason it's good we're moving away from it.

Issue #869 Upgrade to Angular 21
@slifty
slifty enabled auto-merge February 3, 2026 03:08
@slifty
slifty merged commit ef60c00 into main Feb 3, 2026
8 checks passed
@slifty
slifty deleted the 895-package-bootstrap branch February 3, 2026 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove vendored bootstrap

3 participants