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 30, 2024
1 parent 3ad49da commit 71ff716
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 projects 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 71ff716

Please sign in to comment.