Skip to content

Commit

Permalink
week2: demo proposal
Browse files Browse the repository at this point in the history
Co-authored-by: Isak Einberg <[email protected]>
  • Loading branch information
hampfh and einbergisak committed Aug 31, 2024
1 parent 67f716a commit 8a1c58a
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions contributions/demo/week2/hallkvi-ieinberg/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Assignment Proposal

## Title

Enforcing version consistency between identical package dependencies in monorepos

## Names and KTH ID

- Hampus Hallkvist ([email protected])
- Isak Einberg ([email protected])

## Deadline

- Week 2

## Category

- Demo

## Description

We intend to demonstrate how to enforce version consistency for identical package dependencies in a monorepository, highlighting the benefits and detailing the corresponding implementation. In this demonstration, we will set up three simple web-apps using npm, with overlapping dependencies. We will then create a CI script that performs a tree search across the entire monorepository to compare package versions among the projects. If a mismatch is detected, the CI pipeline will fail, prompting the user to align the version with the rest of the repository. We intend to use a "majority rules" approach, meaning that the version used by most projects will be considered as the correct one, and any attempt to introduce a different version will trigger a failure or warning.

**Relevance**

When working with monorepositories, which store multiple projects in a single repository, one has to be cautious with overlapping dependencies between those projects. These overlaps can cause inconsistencies and conflicts in how different parts of the repository use shared libraries. To avoid these problems, it's important to ensure that all projects within the monorepository use the same version of shared dependencies. This approach maintains consistency throughout the codebase, simplifies dependency management, and ensures that there are no conflicting version of the same dependency.

0 comments on commit 8a1c58a

Please sign in to comment.