---
# System prepended metadata

title: 'SEE 16.11.2022 Notes - Versioning, NPM packages'
tags: [Package Management, SEE, DevOps]

---

#    SEE 16.11.2022 Notes - Versioning, NPM packages

## Overview / Current context

  
- alkemio
    - server
    - client
    - kratos
    - excalidraw
    - visualization
    - ... 
## Goals
- Unified way of working with 3rd party packages
- Unified way of working with our own libraries (monorepo)
- Unified way of working with forked 3rd party packages

## Current state
- Manual publishing of NPM packages
- Many NPM packages published for the same code (or small delta)
![](https://i.imgur.com/APJRng6.png)
- No way to manage package versions


## Desired state
- Release action (github) to publish NPM packages
- Some way of knowledge sharing about managing 3rd party forked packages
- We link packages for development
    - We try to avoid having "@excalidraw/excalidraw": "^0.13.0" becoming "@alkemio/excalidraw": "0.13.0-alkemio-7", it should be "@alkemio/excalidraw": "0.13.0"
- Ability to debug TypeScript code of our own libraries 
- After refactoring to monorepo no regressions in the npm commands (e.g. `npm run test`)

## Actions
- [ ] Check how to keep the alkemio version AND the 3rd party package version for forked repositories
- [ ] Investigate how to do a prerelease, e.g. like [excalidraw](https://github.com/alkem-io/excalidraw/pull/1/files) 
- [ ] Configure packages / IDEs to be able to debug our monorepo-libs / libraries


###### tags: `SEE`, `Package Management`, `DevOps`
