Files
calendar/packages/platform/libraries
Benny JooGitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
96bec9f7b9 refactor: Move repositories from @calcom/lib to @calcom/features domain folders (#27570)
* refactor: move repositories from lib to features domain folders

- Move HolidayRepository to features/holidays/repositories
- Move PrismaTrackingRepository to features/bookings/repositories
- Move PrismaBookingPaymentRepository to features/bookings/repositories
- Move PrismaRoutingFormResponseRepository to features/routing-forms/repositories
- Move PrismaAssignmentReasonRepository to features/assignment-reason/repositories
- Move VerificationTokenRepository to features/auth/repositories
- Move WorkspacePlatformRepository to features/workspace-platform/repositories
- Move DTO files to their respective feature domains
- Merge lib DestinationCalendarRepository into features version
- Merge lib SelectedCalendarRepository into features version
- Update all import paths across the codebase

This follows the vertical slice architecture pattern by organizing
repositories by domain rather than by technical layer.

Co-Authored-By: benny@cal.com <sldisek783@gmail.com>

* fix: update VerificationTokenService import path to new location

Co-Authored-By: benny@cal.com <sldisek783@gmail.com>

* fix: update test file imports to use new repository locations

Co-Authored-By: benny@cal.com <sldisek783@gmail.com>

* mv

* fix structure

* fix

* refactor: merge unit tests for SelectedCalendarRepository into single file

Co-Authored-By: benny@cal.com <sldisek783@gmail.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-02-09 08:41:04 -03:00
..
2026-01-02 12:47:00 +00:00
2026-01-02 12:47:00 +00:00
2025-11-06 17:14:55 +00:00

How to work with platform libraries in Dev

We version this package using NPM: https://www.npmjs.com/package/@calcom/platform-libraries?activeTab=code

Here is the workflow:

  1. If you change platform libraries for the first time, then run yarn local to build them locally for the first time. This will also make v2 api point to the local libraries.
  2. If you change them for the second time, then run yarn build:dev to re-build them.
  3. Once you are happy with platform libraries:
  • run yarn publish-npm - it will check "@calcom/platform-libraries" version in npm and update it's package.json to the next version and then it will publish the package to npm, update the version of "@calcom/platform-libraries" in the api v2 package.json, reset "@calcom/platform-libraries" to 0.0.0 and run yarn install.

Before Merging to main

  • Publish Your Version of Libraries on NPM:
    • To publish, ensure you are a contributor to the platform libraries' NPM package.
    • Authenticate yourself via the CLI using npm auth.
    • Increment the version number accordingly.
    • Run yarn publish to publish your version.
  • Once it's published, change back the version in packages/platform/libraries/package.json back to 0.0.0
  • Run yarn
  • You should now be using the npm package instead of the locally built version

When to publish new version of platform libraries

  • New exports in the index.js of platform libraries
  • Code change in the functions already exported
  • Prisma schema change breaking implementation of functions in the currently used releases of platform libraries