Moment / Luxon migration toolkit
Support an existing date-library stack through the licensed migration workflow. Compatibility loading selects the requested formatting peer dynamically rather than loading both date libraries into every integration.

What you configure
- loadDateFormattingCompatibility
- Select moment or luxon3 from the interoperability toolkit.
- peer dependency
- Install the selected date library in the consuming application.
- formatting configuration
- Review the legacy format strings, locale settings, and time-zone expectations.
Integration code example
- Identify which date library the existing application actually uses.
- Install that peer and load its compatibility plugin through the licensed toolkit.
- Validate representative labels, locales, and time zones before completing migration.
Copy this TypeScript into your application, not the browser console. Replace YOUR_WTS_LICENSE_KEY with an entitlement issued for your deployment origin. A WTS license is not a Google, Microsoft or CalDAV credential. These examples are documentation only and never execute on this page.
npm install @wts-calendar/core momentimport type { CalendarOptions } from '@wts-calendar/core';
import { verifyCalendarLicense } from '@wts-calendar/core';
import { PremiumCalendarInteroperability } from '@wts-calendar/core/premium-interoperability';
const license = await verifyCalendarLicense('YOUR_WTS_LICENSE_KEY');
const interoperability = new PremiumCalendarInteroperability({ license });
// Install only the compatibility peer you select.
const formattingPlugin = await interoperability.loadDateFormattingCompatibility('moment');
export const label = formattingPlugin.format(
new Date('2026-09-07T09:30:00Z'),
'dddd, MMMM D YYYY [at] HH:mm',
{ locale: 'en-US', timeZone: 'UTC' },
);
// Pass the plugin in your calendar's plugins array when using legacy format strings.
export const calendarOptions = { plugins: [formattingPlugin] } satisfies Pick<CalendarOptions, 'plugins'>;
// Luxon alternative: loadDateFormattingCompatibility('luxon3') with Luxon patterns.Application responsibilities
Install moment for the shown example. For Luxon, install luxon and select luxon3; Moment and Luxon pattern syntaxes are not interchangeable.
Behavior and lifecycle
- Selecting one peer does not automatically load the other.
- Existing direct format-moment and format-luxon3 entry points remain available separately.
Limits and responsibilities
- The Premium toolkit adds gated selection and migration workflow; direct formatting compatibility is not reclassified as Premium.
- This is not a guarantee that every legacy format string or date-library behavior is interchangeable.
Enable this capability
- Optional module
- @wts-calendar/core/premium-interoperability
- Signed entitlement
- premium-interoperability
Request the required features and deployment origins by email. Pricing and terms are confirmed privately. A WTS license is separate from provider credentials; do not send passwords or production access tokens.
Email for a license key →This public guide does not execute Premium modules or collect license tokens.