# 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)

- 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`