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