diff --git a/apps/bff/package.json b/apps/bff/package.json index 087e1bec..b6daea4f 100644 --- a/apps/bff/package.json +++ b/apps/bff/package.json @@ -1,7 +1,7 @@ { "name": "@customer-portal/bff", "version": "1.0.0", - "type": "module", + "type": "commonjs", "description": "Backend for Frontend API", "author": "", "private": true, diff --git a/apps/bff/src/infra/mappers/user.mapper.ts b/apps/bff/src/infra/mappers/user.mapper.ts index 9450167a..590ceaf9 100644 --- a/apps/bff/src/infra/mappers/user.mapper.ts +++ b/apps/bff/src/infra/mappers/user.mapper.ts @@ -9,10 +9,9 @@ import type { User as PrismaUser } from "@prisma/client"; import type { UserAuth } from "@customer-portal/domain/customer"; -import { - mapPrismaUserToUserAuth, - type PrismaUserRaw -} from "@customer-portal/domain/customer/providers/portal"; +import { Providers as CustomerProviders } from "@customer-portal/domain/customer"; + +type PrismaUserRaw = Parameters[0]; /** * Maps Prisma User entity to Domain UserAuth type @@ -40,6 +39,6 @@ export function mapPrismaUserToDomain(user: PrismaUser): UserAuth { }; // Use domain provider mapper - return mapPrismaUserToUserAuth(prismaUserRaw); + return CustomerProviders.Portal.mapPrismaUserToUserAuth(prismaUserRaw); } diff --git a/apps/bff/tsconfig.json b/apps/bff/tsconfig.json index 44837be1..e25246a1 100644 --- a/apps/bff/tsconfig.json +++ b/apps/bff/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "module": "Node16", - "moduleResolution": "node16", + "module": "commonjs", + "moduleResolution": "node", "lib": ["ES2022"], "noEmit": true, "baseUrl": ".", @@ -27,13 +27,14 @@ "typeRoots": ["./node_modules/@types"], "emitDecoratorMetadata": true, "experimentalDecorators": true, - "strictPropertyInitialization": false + "strictPropertyInitialization": false, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true }, "ts-node": { "transpileOnly": true, - "esm": true, "compilerOptions": { - "module": "Node16" + "module": "commonjs" } }, "include": ["src/**/*", "scripts/**/*", "src/types/**/*"], diff --git a/packages/domain/auth/index.ts b/packages/domain/auth/index.ts index d1e5a638..652b1cf8 100644 --- a/packages/domain/auth/index.ts +++ b/packages/domain/auth/index.ts @@ -20,7 +20,7 @@ export { type AuthErrorCode, type TokenTypeValue, type GenderValue, -} from "./contract.js"; +} from "./contract"; export type { // Request types @@ -47,7 +47,7 @@ export type { CheckPasswordNeededResponse, // Error types AuthError, -} from "./contract.js"; +} from "./contract"; // ============================================================================ // Schemas (for validation) @@ -81,4 +81,4 @@ export { passwordChangeResultSchema, ssoLinkResponseSchema, checkPasswordNeededResponseSchema, -} from "./schema.js"; +} from "./schema"; diff --git a/packages/domain/auth/schema.ts b/packages/domain/auth/schema.ts index 1e56c91d..70d910cf 100644 --- a/packages/domain/auth/schema.ts +++ b/packages/domain/auth/schema.ts @@ -12,8 +12,8 @@ import { z } from "zod"; -import { emailSchema, nameSchema, passwordSchema, phoneSchema } from "../common/schema.js"; -import { addressSchema, userSchema } from "../customer/schema.js"; +import { emailSchema, nameSchema, passwordSchema, phoneSchema } from "../common/schema"; +import { addressSchema, userSchema } from "../customer/schema"; // ============================================================================ // Authentication Request Schemas diff --git a/packages/domain/billing/index.ts b/packages/domain/billing/index.ts index dfa60efc..54e9c84a 100644 --- a/packages/domain/billing/index.ts +++ b/packages/domain/billing/index.ts @@ -7,11 +7,11 @@ */ // Constants -export { INVOICE_STATUS } from "./contract.js"; -export * from "./constants.js"; +export { INVOICE_STATUS } from "./contract"; +export * from "./constants"; // Schemas (includes derived types) -export * from "./schema.js"; +export * from "./schema"; // Re-export types for convenience export type { @@ -28,7 +28,7 @@ export type { } from './schema'; // Provider adapters -export * as Providers from "./providers/index.js"; +export * as Providers from "./providers/index"; // Re-export provider raw types (request and response) export type { @@ -45,4 +45,4 @@ export type { WhmcsCapturePaymentResponse, WhmcsCurrency, WhmcsCurrenciesResponse, -} from "./providers/whmcs/raw.types.js"; +} from "./providers/whmcs/raw.types"; diff --git a/packages/domain/billing/providers/index.ts b/packages/domain/billing/providers/index.ts index f50c5a27..d1a74140 100644 --- a/packages/domain/billing/providers/index.ts +++ b/packages/domain/billing/providers/index.ts @@ -2,8 +2,8 @@ * Billing Domain - Providers */ -import * as WhmcsMapper from "./whmcs/mapper.js"; -import * as WhmcsRaw from "./whmcs/raw.types.js"; +import * as WhmcsMapper from "./whmcs/mapper"; +import * as WhmcsRaw from "./whmcs/raw.types"; export const Whmcs = { ...WhmcsMapper, @@ -12,5 +12,5 @@ export const Whmcs = { }; export { WhmcsMapper, WhmcsRaw }; -export * from "./whmcs/mapper.js"; -export * from "./whmcs/raw.types.js"; +export * from "./whmcs/mapper"; +export * from "./whmcs/raw.types"; diff --git a/packages/domain/billing/providers/whmcs/index.ts b/packages/domain/billing/providers/whmcs/index.ts index 644fdb12..c95a1ab4 100644 --- a/packages/domain/billing/providers/whmcs/index.ts +++ b/packages/domain/billing/providers/whmcs/index.ts @@ -1,2 +1,2 @@ -export * from "./mapper.js"; -export * from "./raw.types.js"; +export * from "./mapper"; +export * from "./raw.types"; diff --git a/packages/domain/billing/providers/whmcs/mapper.ts b/packages/domain/billing/providers/whmcs/mapper.ts index a8f52a05..2141dc82 100644 --- a/packages/domain/billing/providers/whmcs/mapper.ts +++ b/packages/domain/billing/providers/whmcs/mapper.ts @@ -4,14 +4,14 @@ * Transforms raw WHMCS invoice data into normalized billing domain types. */ -import type { Invoice, InvoiceItem } from "../../contract.js"; -import { invoiceSchema } from "../../schema.js"; +import type { Invoice, InvoiceItem } from "../../contract"; +import { invoiceSchema } from "../../schema"; import { type WhmcsInvoiceRaw, whmcsInvoiceRawSchema, type WhmcsInvoiceItemsRaw, whmcsInvoiceItemsRawSchema, -} from "./raw.types.js"; +} from "./raw.types"; export interface TransformInvoiceOptions { defaultCurrencyCode?: string; diff --git a/packages/domain/catalog/index.ts b/packages/domain/catalog/index.ts index e386ae08..e798d8e9 100644 --- a/packages/domain/catalog/index.ts +++ b/packages/domain/catalog/index.ts @@ -7,10 +7,10 @@ */ // Provider-specific types -export { type SalesforceProductFieldMap } from "./contract.js"; +export { type SalesforceProductFieldMap } from "./contract"; // Schemas (includes derived types) -export * from "./schema.js"; +export * from "./schema"; // Re-export types for convenience export type { @@ -29,16 +29,16 @@ export type { VpnCatalogProduct, // Union type CatalogProduct, -} from './schema.js'; +} from './schema'; // Provider adapters -export * as Providers from "./providers/index.js"; +export * as Providers from "./providers/index"; // Re-export provider raw types for convenience -export * from "./providers/salesforce/raw.types.js"; +export * from "./providers/salesforce/raw.types"; // Re-export WHMCS provider types export type { WhmcsCatalogProduct, WhmcsCatalogProductListResponse, -} from "./providers/whmcs/raw.types.js"; +} from "./providers/whmcs/raw.types"; diff --git a/packages/domain/catalog/providers/index.ts b/packages/domain/catalog/providers/index.ts index 0de0d0d0..44a1c6fe 100644 --- a/packages/domain/catalog/providers/index.ts +++ b/packages/domain/catalog/providers/index.ts @@ -2,9 +2,9 @@ * Catalog Domain - Providers */ -import * as SalesforceMapper from "./salesforce/mapper.js"; -import * as SalesforceRaw from "./salesforce/raw.types.js"; -import * as WhmcsRaw from "./whmcs/raw.types.js"; +import * as SalesforceMapper from "./salesforce/mapper"; +import * as SalesforceRaw from "./salesforce/raw.types"; +import * as WhmcsRaw from "./whmcs/raw.types"; export const Salesforce = { ...SalesforceMapper, @@ -17,6 +17,6 @@ export const Whmcs = { }; export { SalesforceMapper, SalesforceRaw, WhmcsRaw }; -export * from "./salesforce/mapper.js"; -export * from "./salesforce/raw.types.js"; -export * from "./whmcs/raw.types.js"; +export * from "./salesforce/mapper"; +export * from "./salesforce/raw.types"; +export * from "./whmcs/raw.types"; diff --git a/packages/domain/catalog/providers/salesforce/index.ts b/packages/domain/catalog/providers/salesforce/index.ts index 644fdb12..c95a1ab4 100644 --- a/packages/domain/catalog/providers/salesforce/index.ts +++ b/packages/domain/catalog/providers/salesforce/index.ts @@ -1,2 +1,2 @@ -export * from "./mapper.js"; -export * from "./raw.types.js"; +export * from "./mapper"; +export * from "./raw.types"; diff --git a/packages/domain/catalog/providers/salesforce/mapper.ts b/packages/domain/catalog/providers/salesforce/mapper.ts index 5102cc0d..9b12b8b1 100644 --- a/packages/domain/catalog/providers/salesforce/mapper.ts +++ b/packages/domain/catalog/providers/salesforce/mapper.ts @@ -13,11 +13,11 @@ import type { SimCatalogProduct, SimActivationFeeCatalogItem, VpnCatalogProduct, -} from "../../contract.js"; +} from "../../contract"; import type { SalesforceProduct2WithPricebookEntries, SalesforcePricebookEntryRecord, -} from "./raw.types.js"; +} from "./raw.types"; // ============================================================================ // Tier Templates (Hardcoded Product Metadata) diff --git a/packages/domain/catalog/providers/whmcs/index.ts b/packages/domain/catalog/providers/whmcs/index.ts index 3f41fad4..f8bb8eb7 100644 --- a/packages/domain/catalog/providers/whmcs/index.ts +++ b/packages/domain/catalog/providers/whmcs/index.ts @@ -1,2 +1,2 @@ -export * from "./raw.types.js"; +export * from "./raw.types"; diff --git a/packages/domain/common/index.ts b/packages/domain/common/index.ts index 2bda4f78..bdd94657 100644 --- a/packages/domain/common/index.ts +++ b/packages/domain/common/index.ts @@ -4,14 +4,14 @@ * Shared types and utilities used across all domains. */ -export * from "./types.js"; -export * from "./schema.js"; -export * from "./validation.js"; +export * from "./types"; +export * from "./schema"; +export * from "./validation"; // Common provider types (generic wrappers used across domains) -export * as CommonProviders from "./providers/index.js"; +export * as CommonProviders from "./providers/index"; // Re-export provider types for convenience -export type { WhmcsResponse, WhmcsErrorResponse } from "./providers/whmcs.js"; -export type { SalesforceResponse } from "./providers/salesforce.js"; +export type { WhmcsResponse, WhmcsErrorResponse } from "./providers/whmcs"; +export type { SalesforceResponse } from "./providers/salesforce"; diff --git a/packages/domain/common/providers/index.ts b/packages/domain/common/providers/index.ts index 5d6247fe..66cf0a19 100644 --- a/packages/domain/common/providers/index.ts +++ b/packages/domain/common/providers/index.ts @@ -4,5 +4,5 @@ * Generic provider-specific response structures used across multiple domains. */ -export * as Whmcs from "./whmcs.js"; -export * as Salesforce from "./salesforce/index.js"; +export * as Whmcs from "./whmcs"; +export * as Salesforce from "./salesforce/index"; diff --git a/packages/domain/common/providers/salesforce/index.ts b/packages/domain/common/providers/salesforce/index.ts index 3f41fad4..f8bb8eb7 100644 --- a/packages/domain/common/providers/salesforce/index.ts +++ b/packages/domain/common/providers/salesforce/index.ts @@ -1,2 +1,2 @@ -export * from "./raw.types.js"; +export * from "./raw.types"; diff --git a/packages/domain/customer/index.ts b/packages/domain/customer/index.ts index 8f5fbbc6..2517e73e 100644 --- a/packages/domain/customer/index.ts +++ b/packages/domain/customer/index.ts @@ -15,7 +15,7 @@ // Constants // ============================================================================ -export { USER_ROLE, type UserRoleValue } from "./contract.js"; +export { USER_ROLE, type UserRoleValue } from "./contract"; // ============================================================================ // Domain Types (Clean Names - Public API) @@ -27,7 +27,7 @@ export type { UserRole, // "USER" | "ADMIN" Address, // Address structure (not "CustomerAddress") AddressFormData, // Address form validation -} from "./schema.js"; +} from "./schema"; // ============================================================================ // Schemas @@ -42,7 +42,7 @@ export { // Helper functions combineToUser, // Domain helper: UserAuth + WhmcsClient → User addressFormToRequest, -} from "./schema.js"; +} from "./schema"; // ============================================================================ // Provider Namespace @@ -56,7 +56,7 @@ export { * - Providers.Whmcs.transformWhmcsClientResponse() * - Providers.Portal.mapPrismaUserToUserAuth() */ -export * as Providers from "./providers/index.js"; +export * as Providers from "./providers/index"; // ============================================================================ // Provider Raw Response Types (Selective Exports) @@ -76,7 +76,7 @@ export type { WhmcsAddClientResponse, WhmcsValidateLoginResponse, WhmcsSsoResponse, -} from "./providers/whmcs/raw.types.js"; +} from "./providers/whmcs/raw.types"; // ============================================================================ // Provider-Specific Types (For Integrations) @@ -89,4 +89,4 @@ export type { export type { SalesforceAccountFieldMap, SalesforceAccountRecord, -} from "./contract.js"; +} from "./contract"; diff --git a/packages/domain/customer/providers/index.ts b/packages/domain/customer/providers/index.ts index 5f2ba815..9418f559 100644 --- a/packages/domain/customer/providers/index.ts +++ b/packages/domain/customer/providers/index.ts @@ -6,5 +6,5 @@ * - Whmcs: WHMCS API → WhmcsClient */ -export * as Portal from "./portal/index.js"; -export * as Whmcs from "./whmcs/index.js"; +export * as Portal from "./portal/index"; +export * as Whmcs from "./whmcs/index"; diff --git a/packages/domain/customer/providers/portal/index.ts b/packages/domain/customer/providers/portal/index.ts index 0187c163..ab0d3e8c 100644 --- a/packages/domain/customer/providers/portal/index.ts +++ b/packages/domain/customer/providers/portal/index.ts @@ -4,6 +4,6 @@ * Handles mapping from Prisma (portal database) to UserAuth domain type */ -export * from "./mapper.js"; -export * from "./types.js"; +export * from "./mapper"; +export * from "./types"; diff --git a/packages/domain/customer/providers/portal/mapper.ts b/packages/domain/customer/providers/portal/mapper.ts index d55fca00..d7df7193 100644 --- a/packages/domain/customer/providers/portal/mapper.ts +++ b/packages/domain/customer/providers/portal/mapper.ts @@ -4,9 +4,9 @@ * Maps Prisma user data to UserAuth domain type using schema validation */ -import { userAuthSchema } from "../../schema.js"; -import type { PrismaUserRaw } from "./types.js"; -import type { UserAuth } from "../../schema.js"; +import { userAuthSchema } from "../../schema"; +import type { PrismaUserRaw } from "./types"; +import type { UserAuth } from "../../schema"; /** * Maps raw Prisma user data to UserAuth domain type diff --git a/packages/domain/customer/providers/portal/types.ts b/packages/domain/customer/providers/portal/types.ts index b60d1ef6..e9266b0e 100644 --- a/packages/domain/customer/providers/portal/types.ts +++ b/packages/domain/customer/providers/portal/types.ts @@ -5,7 +5,7 @@ * Domain doesn't depend on @prisma/client directly. */ -import type { UserRole } from "../../schema.js"; +import type { UserRole } from "../../schema"; /** * Raw Prisma user data from portal database diff --git a/packages/domain/customer/providers/whmcs/index.ts b/packages/domain/customer/providers/whmcs/index.ts index aea2abf7..232b5f5c 100644 --- a/packages/domain/customer/providers/whmcs/index.ts +++ b/packages/domain/customer/providers/whmcs/index.ts @@ -5,8 +5,8 @@ * Exports transformation functions and raw API types (request/response). */ -export * from "./mapper.js"; -export * from "./raw.types.js"; +export * from "./mapper"; +export * from "./raw.types"; // Re-export domain types for provider namespace convenience -export type { WhmcsClient, EmailPreferences, SubUser, Stats } from "../../schema.js"; +export type { WhmcsClient, EmailPreferences, SubUser, Stats } from "../../schema"; diff --git a/packages/domain/customer/providers/whmcs/mapper.ts b/packages/domain/customer/providers/whmcs/mapper.ts index 85802a6e..8e7f17a3 100644 --- a/packages/domain/customer/providers/whmcs/mapper.ts +++ b/packages/domain/customer/providers/whmcs/mapper.ts @@ -7,14 +7,14 @@ import { z } from "zod"; -import type { WhmcsClient, Address } from "../../schema.js"; -import { whmcsClientSchema, addressSchema } from "../../schema.js"; +import type { WhmcsClient, Address } from "../../schema"; +import { whmcsClientSchema, addressSchema } from "../../schema"; import { whmcsClientSchema as whmcsRawClientSchema, whmcsClientResponseSchema, type WhmcsClient as WhmcsRawClient, type WhmcsClientResponse, -} from "./raw.types.js"; +} from "./raw.types"; /** * Parse and validate WHMCS client response diff --git a/packages/domain/customer/schema.ts b/packages/domain/customer/schema.ts index 9e2ed205..7ecfd574 100644 --- a/packages/domain/customer/schema.ts +++ b/packages/domain/customer/schema.ts @@ -12,7 +12,7 @@ import { z } from "zod"; -import { countryCodeSchema } from "../common/schema.js"; +import { countryCodeSchema } from "../common/schema"; // ============================================================================ // Helper Schemas diff --git a/packages/domain/dashboard/contract.ts b/packages/domain/dashboard/contract.ts index 12133407..0d4733c8 100644 --- a/packages/domain/dashboard/contract.ts +++ b/packages/domain/dashboard/contract.ts @@ -4,8 +4,8 @@ * Shared types for dashboard summaries, activity feeds, and related data. */ -import type { IsoDateTimeString } from "../common/types.js"; -import type { Invoice } from "../billing/contract.js"; +import type { IsoDateTimeString } from "../common/types"; +import type { Invoice } from "../billing/contract"; export type ActivityType = | "invoice_created" diff --git a/packages/domain/dashboard/index.ts b/packages/domain/dashboard/index.ts index 743f5c36..46ed6e9a 100644 --- a/packages/domain/dashboard/index.ts +++ b/packages/domain/dashboard/index.ts @@ -2,4 +2,4 @@ * Dashboard Domain */ -export * from "./contract.js"; +export * from "./contract"; diff --git a/packages/domain/index.ts b/packages/domain/index.ts index f72dd465..c17c44ef 100644 --- a/packages/domain/index.ts +++ b/packages/domain/index.ts @@ -4,15 +4,15 @@ */ // Re-export domain modules -export * as Billing from "./billing/index.js"; -export * as Subscriptions from "./subscriptions/index.js"; -export * as Payments from "./payments/index.js"; -export * as Sim from "./sim/index.js"; -export * as Orders from "./orders/index.js"; -export * as Catalog from "./catalog/index.js"; -export * as Common from "./common/index.js"; -export * as Toolkit from "./toolkit/index.js"; -export * as Auth from "./auth/index.js"; -export * as Customer from "./customer/index.js"; -export * as Mappings from "./mappings/index.js"; -export * as Dashboard from "./dashboard/index.js"; +export * as Billing from "./billing/index"; +export * as Subscriptions from "./subscriptions/index"; +export * as Payments from "./payments/index"; +export * as Sim from "./sim/index"; +export * as Orders from "./orders/index"; +export * as Catalog from "./catalog/index"; +export * as Common from "./common/index"; +export * as Toolkit from "./toolkit/index"; +export * as Auth from "./auth/index"; +export * as Customer from "./customer/index"; +export * as Mappings from "./mappings/index"; +export * as Dashboard from "./dashboard/index"; diff --git a/packages/domain/mappings/contract.ts b/packages/domain/mappings/contract.ts index 54cf8089..9bf0b6f1 100644 --- a/packages/domain/mappings/contract.ts +++ b/packages/domain/mappings/contract.ts @@ -4,7 +4,7 @@ * Normalized types for mapping portal users to external systems. */ -import type { IsoDateTimeString } from "../common/types.js"; +import type { IsoDateTimeString } from "../common/types"; export interface UserIdMapping { id: string; diff --git a/packages/domain/mappings/index.ts b/packages/domain/mappings/index.ts index 83e253c9..3a6a9624 100644 --- a/packages/domain/mappings/index.ts +++ b/packages/domain/mappings/index.ts @@ -2,9 +2,9 @@ * ID Mapping Domain */ -export * from "./contract.js"; -export * from "./schema.js"; -export * from "./validation.js"; +export * from "./contract"; +export * from "./schema"; +export * from "./validation"; // Re-export types for convenience export type { @@ -12,5 +12,5 @@ export type { MappingStats, BulkMappingOperation, BulkMappingResult, -} from "./schema.js"; -export type { MappingValidationResult } from "./contract.js"; +} from "./schema"; +export type { MappingValidationResult } from "./contract"; diff --git a/packages/domain/mappings/schema.ts b/packages/domain/mappings/schema.ts index 30c6defc..47650c0f 100644 --- a/packages/domain/mappings/schema.ts +++ b/packages/domain/mappings/schema.ts @@ -7,7 +7,7 @@ import type { CreateMappingRequest, UpdateMappingRequest, UserIdMapping, -} from "./contract.js"; +} from "./contract"; export const createMappingRequestSchema: z.ZodType = z.object({ userId: z.string().uuid(), diff --git a/packages/domain/mappings/validation.ts b/packages/domain/mappings/validation.ts index 4160091e..52412ebe 100644 --- a/packages/domain/mappings/validation.ts +++ b/packages/domain/mappings/validation.ts @@ -10,13 +10,13 @@ import { createMappingRequestSchema, updateMappingRequestSchema, userIdMappingSchema, -} from "./schema.js"; +} from "./schema"; import type { CreateMappingRequest, UpdateMappingRequest, UserIdMapping, MappingValidationResult, -} from "./contract.js"; +} from "./contract"; /** * Check if a mapping request has optional Salesforce account ID diff --git a/packages/domain/orders/contract.ts b/packages/domain/orders/contract.ts index 8450fed8..13d8b0a0 100644 --- a/packages/domain/orders/contract.ts +++ b/packages/domain/orders/contract.ts @@ -5,9 +5,9 @@ * Validated types are derived from schemas (see schema.ts). */ -import type { SalesforceProductFieldMap } from "../catalog/contract.js"; -import type { SalesforceAccountFieldMap } from "../customer/index.js"; -import type { UserIdMapping } from "../mappings/contract.js"; +import type { SalesforceProductFieldMap } from "../catalog/contract"; +import type { SalesforceAccountFieldMap } from "../customer/index"; +import type { UserIdMapping } from "../mappings/contract"; // ============================================================================ // Order Type Constants diff --git a/packages/domain/orders/index.ts b/packages/domain/orders/index.ts index 9f4ec597..60394268 100644 --- a/packages/domain/orders/index.ts +++ b/packages/domain/orders/index.ts @@ -19,13 +19,13 @@ export { SIM_TYPE, ORDER_FULFILLMENT_ERROR_CODE, type OrderFulfillmentErrorCode, -} from "./contract.js"; +} from "./contract"; // Schemas (includes derived types) -export * from "./schema.js"; +export * from "./schema"; // Validation (extended business rules) -export * from "./validation.js"; +export * from "./validation"; // Re-export types for convenience export type { @@ -45,8 +45,8 @@ export type { } from './schema'; // Provider adapters -export * as Providers from "./providers/index.js"; +export * as Providers from "./providers/index"; // Re-export provider types for convenience -export * from "./providers/whmcs/raw.types.js"; -export * from "./providers/salesforce/raw.types.js"; +export * from "./providers/whmcs/raw.types"; +export * from "./providers/salesforce/raw.types"; diff --git a/packages/domain/orders/providers/index.ts b/packages/domain/orders/providers/index.ts index 01a1cc8a..9503a0a6 100644 --- a/packages/domain/orders/providers/index.ts +++ b/packages/domain/orders/providers/index.ts @@ -2,10 +2,10 @@ * Orders Domain - Providers */ -import * as WhmcsMapper from "./whmcs/mapper.js"; -import * as WhmcsRaw from "./whmcs/raw.types.js"; -import * as SalesforceMapper from "./salesforce/mapper.js"; -import * as SalesforceRaw from "./salesforce/raw.types.js"; +import * as WhmcsMapper from "./whmcs/mapper"; +import * as WhmcsRaw from "./whmcs/raw.types"; +import * as SalesforceMapper from "./salesforce/mapper"; +import * as SalesforceRaw from "./salesforce/raw.types"; export const Whmcs = { ...WhmcsMapper, @@ -25,7 +25,7 @@ export { SalesforceMapper, SalesforceRaw, }; -export * from "./whmcs/mapper.js"; -export * from "./whmcs/raw.types.js"; -export * from "./salesforce/mapper.js"; -export * from "./salesforce/raw.types.js"; +export * from "./whmcs/mapper"; +export * from "./whmcs/raw.types"; +export * from "./salesforce/mapper"; +export * from "./salesforce/raw.types"; diff --git a/packages/domain/orders/providers/salesforce/index.ts b/packages/domain/orders/providers/salesforce/index.ts index fa8002ef..2dd11e02 100644 --- a/packages/domain/orders/providers/salesforce/index.ts +++ b/packages/domain/orders/providers/salesforce/index.ts @@ -1,2 +1,2 @@ -export * from "./raw.types.js"; -export * from "./mapper.js"; +export * from "./raw.types"; +export * from "./mapper"; diff --git a/packages/domain/orders/providers/salesforce/mapper.ts b/packages/domain/orders/providers/salesforce/mapper.ts index fc3e276e..c597b742 100644 --- a/packages/domain/orders/providers/salesforce/mapper.ts +++ b/packages/domain/orders/providers/salesforce/mapper.ts @@ -9,12 +9,12 @@ import type { OrderItemDetails, OrderItemSummary, OrderSummary, -} from "../../contract.js"; -import { orderDetailsSchema, orderSummarySchema, orderItemDetailsSchema } from "../../schema.js"; +} from "../../contract"; +import { orderDetailsSchema, orderSummarySchema, orderItemDetailsSchema } from "../../schema"; import type { SalesforceOrderItemRecord, SalesforceOrderRecord, -} from "./raw.types.js"; +} from "./raw.types"; /** * Transform a Salesforce OrderItem record into domain details + summary. diff --git a/packages/domain/orders/providers/whmcs/index.ts b/packages/domain/orders/providers/whmcs/index.ts index 644fdb12..c95a1ab4 100644 --- a/packages/domain/orders/providers/whmcs/index.ts +++ b/packages/domain/orders/providers/whmcs/index.ts @@ -1,2 +1,2 @@ -export * from "./mapper.js"; -export * from "./raw.types.js"; +export * from "./mapper"; +export * from "./raw.types"; diff --git a/packages/domain/orders/providers/whmcs/mapper.ts b/packages/domain/orders/providers/whmcs/mapper.ts index 6df1fd0f..4157034a 100644 --- a/packages/domain/orders/providers/whmcs/mapper.ts +++ b/packages/domain/orders/providers/whmcs/mapper.ts @@ -4,12 +4,12 @@ * Transforms normalized order data to WHMCS API format. */ -import type { OrderDetails, OrderItemDetails } from "../../contract.js"; +import type { OrderDetails, OrderItemDetails } from "../../contract"; import { type WhmcsOrderItem, type WhmcsAddOrderParams, type WhmcsAddOrderPayload, -} from "./raw.types.js"; +} from "./raw.types"; export interface OrderItemMappingResult { whmcsItems: WhmcsOrderItem[]; diff --git a/packages/domain/orders/validation.ts b/packages/domain/orders/validation.ts index 024cdcb0..ec05d608 100644 --- a/packages/domain/orders/validation.ts +++ b/packages/domain/orders/validation.ts @@ -6,7 +6,7 @@ */ import { z } from "zod"; -import { orderBusinessValidationSchema } from "./schema.js"; +import { orderBusinessValidationSchema } from "./schema"; // ============================================================================ // SKU Business Rules Helpers diff --git a/packages/domain/package.json b/packages/domain/package.json index 8bf04294..94899728 100644 --- a/packages/domain/package.json +++ b/packages/domain/package.json @@ -1,7 +1,7 @@ { "name": "@customer-portal/domain", "version": "1.0.0", - "type": "module", + "type": "commonjs", "description": "Unified domain layer with contracts, schemas, and provider mappers", "main": "./dist/index.js", "types": "./dist/index.d.ts", diff --git a/packages/domain/payments/index.ts b/packages/domain/payments/index.ts index 76ba14ed..b45aa5ae 100644 --- a/packages/domain/payments/index.ts +++ b/packages/domain/payments/index.ts @@ -7,10 +7,10 @@ */ // Constants -export { PAYMENT_METHOD_TYPE, PAYMENT_GATEWAY_TYPE, type InvoicePaymentLink } from "./contract.js"; +export { PAYMENT_METHOD_TYPE, PAYMENT_GATEWAY_TYPE, type InvoicePaymentLink } from "./contract"; // Schemas (includes derived types) -export * from "./schema.js"; +export * from "./schema"; // Re-export types for convenience export type { @@ -20,10 +20,10 @@ export type { PaymentGatewayType, PaymentGateway, PaymentGatewayList, -} from './schema.js'; +} from './schema'; // Provider adapters -export * as Providers from "./providers/index.js"; +export * as Providers from "./providers/index"; // Re-export provider raw types (request and response) export type { @@ -34,4 +34,4 @@ export type { WhmcsPaymentMethodListResponse, WhmcsPaymentGateway, WhmcsPaymentGatewayListResponse, -} from "./providers/whmcs/raw.types.js"; +} from "./providers/whmcs/raw.types"; diff --git a/packages/domain/payments/providers/index.ts b/packages/domain/payments/providers/index.ts index aa066ccc..507ead52 100644 --- a/packages/domain/payments/providers/index.ts +++ b/packages/domain/payments/providers/index.ts @@ -2,8 +2,8 @@ * Payments Domain - Providers */ -import * as WhmcsMapper from "./whmcs/mapper.js"; -import * as WhmcsRaw from "./whmcs/raw.types.js"; +import * as WhmcsMapper from "./whmcs/mapper"; +import * as WhmcsRaw from "./whmcs/raw.types"; export const Whmcs = { ...WhmcsMapper, @@ -12,5 +12,5 @@ export const Whmcs = { }; export { WhmcsMapper, WhmcsRaw }; -export * from "./whmcs/mapper.js"; -export * from "./whmcs/raw.types.js"; +export * from "./whmcs/mapper"; +export * from "./whmcs/raw.types"; diff --git a/packages/domain/payments/providers/whmcs/index.ts b/packages/domain/payments/providers/whmcs/index.ts index 644fdb12..c95a1ab4 100644 --- a/packages/domain/payments/providers/whmcs/index.ts +++ b/packages/domain/payments/providers/whmcs/index.ts @@ -1,2 +1,2 @@ -export * from "./mapper.js"; -export * from "./raw.types.js"; +export * from "./mapper"; +export * from "./raw.types"; diff --git a/packages/domain/payments/providers/whmcs/mapper.ts b/packages/domain/payments/providers/whmcs/mapper.ts index d037b26f..8c6a8612 100644 --- a/packages/domain/payments/providers/whmcs/mapper.ts +++ b/packages/domain/payments/providers/whmcs/mapper.ts @@ -2,14 +2,14 @@ * WHMCS Payments Provider - Mapper */ -import type { PaymentMethod, PaymentGateway } from "../../contract.js"; -import { paymentMethodSchema, paymentGatewaySchema } from "../../schema.js"; +import type { PaymentMethod, PaymentGateway } from "../../contract"; +import { paymentMethodSchema, paymentGatewaySchema } from "../../schema"; import { type WhmcsPaymentMethodRaw, type WhmcsPaymentGatewayRaw, whmcsPaymentMethodRawSchema, whmcsPaymentGatewayRawSchema, -} from "./raw.types.js"; +} from "./raw.types"; const PAYMENT_TYPE_MAP: Record = { creditcard: "CreditCard", diff --git a/packages/domain/sim/index.ts b/packages/domain/sim/index.ts index 6a71c6aa..700a2f7e 100644 --- a/packages/domain/sim/index.ts +++ b/packages/domain/sim/index.ts @@ -7,13 +7,13 @@ */ // Constants -export { SIM_STATUS, SIM_TYPE } from "./contract.js"; +export { SIM_STATUS, SIM_TYPE } from "./contract"; // Schemas (includes derived types) -export * from "./schema.js"; +export * from "./schema"; // Validation functions -export * from "./validation.js"; +export * from "./validation"; // Re-export types for convenience export type { @@ -34,7 +34,7 @@ export type { SimOrderActivationRequest, SimOrderActivationMnp, SimOrderActivationAddons, -} from './schema.js'; +} from './schema'; // Provider adapters -export * as Providers from "./providers/index.js"; +export * as Providers from "./providers/index"; diff --git a/packages/domain/sim/providers/freebit/index.ts b/packages/domain/sim/providers/freebit/index.ts index c6992c04..3838aa5c 100644 --- a/packages/domain/sim/providers/freebit/index.ts +++ b/packages/domain/sim/providers/freebit/index.ts @@ -1,7 +1,7 @@ -import * as Mapper from "./mapper.js"; -import * as RawTypes from "./raw.types.js"; -import * as Requests from "./requests.js"; -import * as Utils from "./utils.js"; +import * as Mapper from "./mapper"; +import * as RawTypes from "./raw.types"; +import * as Requests from "./requests"; +import * as Utils from "./utils"; export const schemas = { accountDetails: Requests.freebitAccountDetailsRequestSchema, @@ -51,10 +51,10 @@ export type EsimAddAccountResponse = ReturnType; export type AuthResponse = ReturnType; -export * from "./mapper.js"; -export * from "./raw.types.js"; -export * from "./requests.js"; -export * from "./utils.js"; +export * from "./mapper"; +export * from "./raw.types"; +export * from "./requests"; +export * from "./utils"; export const Freebit = { ...Mapper, diff --git a/packages/domain/sim/providers/freebit/mapper.ts b/packages/domain/sim/providers/freebit/mapper.ts index fecf4383..053b3d64 100644 --- a/packages/domain/sim/providers/freebit/mapper.ts +++ b/packages/domain/sim/providers/freebit/mapper.ts @@ -2,8 +2,8 @@ * Freebit SIM Provider - Mapper */ -import type { SimDetails, SimUsage, SimTopUpHistory, SimType, SimStatus } from "../../contract.js"; -import { simDetailsSchema, simUsageSchema, simTopUpHistorySchema } from "../../schema.js"; +import type { SimDetails, SimUsage, SimTopUpHistory, SimType, SimStatus } from "../../contract"; +import { simDetailsSchema, simUsageSchema, simTopUpHistorySchema } from "../../schema"; import { type FreebitAccountDetailsRaw, type FreebitTrafficInfoRaw, @@ -27,8 +27,8 @@ import { freebitCancelAccountRawSchema, freebitEsimReissueRawSchema, freebitEsimAddAccountRawSchema, -} from "./raw.types.js"; -import { normalizeAccount } from "./utils.js"; +} from "./raw.types"; +import { normalizeAccount } from "./utils"; function asString(value: unknown): string { if (typeof value === "string") return value; diff --git a/packages/domain/sim/providers/index.ts b/packages/domain/sim/providers/index.ts index a698aaa4..f15ef235 100644 --- a/packages/domain/sim/providers/index.ts +++ b/packages/domain/sim/providers/index.ts @@ -2,9 +2,9 @@ * SIM Domain - Providers */ -import { Freebit as FreebitAggregated } from "./freebit/index.js"; -import * as FreebitModule from "./freebit/index.js"; +import { Freebit as FreebitAggregated } from "./freebit/index"; +import * as FreebitModule from "./freebit/index"; export const Freebit = FreebitAggregated; export { FreebitModule }; -export * from "./freebit/index.js"; +export * from "./freebit/index"; diff --git a/packages/domain/sim/validation.ts b/packages/domain/sim/validation.ts index 173b851c..3c258035 100644 --- a/packages/domain/sim/validation.ts +++ b/packages/domain/sim/validation.ts @@ -5,7 +5,7 @@ * These functions contain no infrastructure dependencies. */ -import type { Subscription } from "../subscriptions/schema.js"; +import type { Subscription } from "../subscriptions/schema"; /** * Check if a subscription is a SIM service diff --git a/packages/domain/subscriptions/index.ts b/packages/domain/subscriptions/index.ts index 6b5013ca..31975b6e 100644 --- a/packages/domain/subscriptions/index.ts +++ b/packages/domain/subscriptions/index.ts @@ -7,10 +7,10 @@ */ // Constants -export { SUBSCRIPTION_STATUS, SUBSCRIPTION_CYCLE } from "./contract.js"; +export { SUBSCRIPTION_STATUS, SUBSCRIPTION_CYCLE } from "./contract"; // Schemas (includes derived types) -export * from "./schema.js"; +export * from "./schema"; // Re-export types for convenience export type { @@ -23,10 +23,10 @@ export type { SubscriptionStats, SimActionResponse, SimPlanChangeResult, -} from './schema.js'; +} from './schema'; // Provider adapters -export * as Providers from "./providers/index.js"; +export * as Providers from "./providers/index"; // Re-export provider raw types (request and response) export type { diff --git a/packages/domain/subscriptions/providers/index.ts b/packages/domain/subscriptions/providers/index.ts index a1dd4436..6e242545 100644 --- a/packages/domain/subscriptions/providers/index.ts +++ b/packages/domain/subscriptions/providers/index.ts @@ -2,8 +2,8 @@ * Subscriptions Domain - Providers */ -import * as WhmcsMapper from "./whmcs/mapper.js"; -import * as WhmcsRaw from "./whmcs/raw.types.js"; +import * as WhmcsMapper from "./whmcs/mapper"; +import * as WhmcsRaw from "./whmcs/raw.types"; export const Whmcs = { ...WhmcsMapper, @@ -12,5 +12,5 @@ export const Whmcs = { }; export { WhmcsMapper, WhmcsRaw }; -export * from "./whmcs/mapper.js"; -export * from "./whmcs/raw.types.js"; +export * from "./whmcs/mapper"; +export * from "./whmcs/raw.types"; diff --git a/packages/domain/subscriptions/providers/whmcs/index.ts b/packages/domain/subscriptions/providers/whmcs/index.ts index 644fdb12..c95a1ab4 100644 --- a/packages/domain/subscriptions/providers/whmcs/index.ts +++ b/packages/domain/subscriptions/providers/whmcs/index.ts @@ -1,2 +1,2 @@ -export * from "./mapper.js"; -export * from "./raw.types.js"; +export * from "./mapper"; +export * from "./raw.types"; diff --git a/packages/domain/subscriptions/providers/whmcs/mapper.ts b/packages/domain/subscriptions/providers/whmcs/mapper.ts index fb3ff3fc..6638161e 100644 --- a/packages/domain/subscriptions/providers/whmcs/mapper.ts +++ b/packages/domain/subscriptions/providers/whmcs/mapper.ts @@ -4,13 +4,13 @@ * Transforms raw WHMCS product/service data into normalized subscription types. */ -import type { Subscription, SubscriptionStatus, SubscriptionCycle } from "../../contract.js"; -import { subscriptionSchema } from "../../schema.js"; +import type { Subscription, SubscriptionStatus, SubscriptionCycle } from "../../contract"; +import { subscriptionSchema } from "../../schema"; import { type WhmcsProductRaw, whmcsProductRawSchema, whmcsCustomFieldsContainerSchema, -} from "./raw.types.js"; +} from "./raw.types"; export interface TransformSubscriptionOptions { defaultCurrencyCode?: string; diff --git a/packages/domain/toolkit/formatting/index.ts b/packages/domain/toolkit/formatting/index.ts index 54584657..55c18748 100644 --- a/packages/domain/toolkit/formatting/index.ts +++ b/packages/domain/toolkit/formatting/index.ts @@ -4,8 +4,8 @@ * Formatting utilities for currency, dates, phone numbers, etc. */ -export * from "./currency.js"; -export * from "./date.js"; -export * from "./phone.js"; -export * from "./text.js"; +export * from "./currency"; +export * from "./date"; +export * from "./phone"; +export * from "./text"; diff --git a/packages/domain/toolkit/index.ts b/packages/domain/toolkit/index.ts index 92210608..560e69ea 100644 --- a/packages/domain/toolkit/index.ts +++ b/packages/domain/toolkit/index.ts @@ -4,7 +4,7 @@ * Utility functions and helpers used across all domain packages. */ -export * as Formatting from "./formatting/index.js"; -export * as Validation from "./validation/index.js"; -export * as Typing from "./typing/index.js"; +export * as Formatting from "./formatting/index"; +export * as Validation from "./validation/index"; +export * as Typing from "./typing/index"; diff --git a/packages/domain/toolkit/typing/index.ts b/packages/domain/toolkit/typing/index.ts index 4bb111cf..20fed08a 100644 --- a/packages/domain/toolkit/typing/index.ts +++ b/packages/domain/toolkit/typing/index.ts @@ -4,7 +4,7 @@ * TypeScript type utilities and runtime type checking. */ -export * from "./guards.js"; -export * from "./assertions.js"; -export * from "./helpers.js"; +export * from "./guards"; +export * from "./assertions"; +export * from "./helpers"; diff --git a/packages/domain/toolkit/validation/index.ts b/packages/domain/toolkit/validation/index.ts index 8b5d8332..da2ec409 100644 --- a/packages/domain/toolkit/validation/index.ts +++ b/packages/domain/toolkit/validation/index.ts @@ -4,9 +4,9 @@ * Validation utilities for common data types. */ -export * from "./email.js"; -export * from "./url.js"; -export * from "./string.js"; -export * from "./helpers.js"; +export * from "./email"; +export * from "./url"; +export * from "./string"; +export * from "./helpers"; diff --git a/packages/domain/tsconfig.json b/packages/domain/tsconfig.json index 229185e3..93a2ffcf 100644 --- a/packages/domain/tsconfig.json +++ b/packages/domain/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "ES2022", - "module": "ESNext", + "module": "commonjs", "lib": ["ES2022"], "declaration": true, "declarationMap": true,