From 29db6635b8cb07acdb47ff6542ad1a6112caecc1 Mon Sep 17 00:00:00 2001 From: Bas van den Aakster Date: Thu, 18 Sep 2025 20:48:53 +0200 Subject: [PATCH] fix: resolve module resolution errors by replacing path aliases with relative imports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace all @/ path aliases with proper relative imports and .js extensions - Update @mollie/api-client peer dependency to support v4.x (^3.7.0 || ^4.0.0) - Bump version to 0.1.5 - Ensure ESM compatibility for plugin distribution Fixes module resolution error: "Cannot find package '@/collections'" when using the plugin in external PayloadCMS projects. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- package.json | 4 ++-- src/collections/hooks.ts | 4 ++-- src/collections/index.ts | 6 +++--- src/collections/invoices.ts | 8 ++++---- src/collections/payments.ts | 10 +++++----- src/collections/refunds.ts | 6 +++--- src/index.ts | 6 +++--- src/plugin/config.ts | 4 ++-- src/plugin/index.ts | 8 ++++---- src/plugin/types/index.ts | 10 +++++----- src/plugin/types/invoices.ts | 5 ++--- src/plugin/types/payments.ts | 6 +++--- src/plugin/types/refunds.ts | 2 +- src/plugin/utils.ts | 2 +- src/providers/index.ts | 8 ++++---- src/providers/mollie.ts | 10 +++++----- src/providers/stripe.ts | 10 +++++----- src/providers/types.ts | 4 ++-- src/providers/utils.ts | 10 +++++----- 19 files changed, 61 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index 0f3dbe3..5e5a152 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@xtr-dev/payload-billing", - "version": "0.1.4", + "version": "0.1.5", "description": "PayloadCMS plugin for billing and payment provider integrations with tracking and local testing", "license": "MIT", "type": "module", @@ -106,7 +106,7 @@ "vitest": "^3.1.2" }, "peerDependencies": { - "@mollie/api-client": "^3.7.0", + "@mollie/api-client": "^3.7.0 || ^4.0.0", "payload": "^3.37.0", "stripe": "^18.5.0" }, diff --git a/src/collections/hooks.ts b/src/collections/hooks.ts index 406fae5..7a0a289 100644 --- a/src/collections/hooks.ts +++ b/src/collections/hooks.ts @@ -1,6 +1,6 @@ -import type { Payment } from '@/plugin/types' +import type { Payment } from '../plugin/types/index.js' import type { Payload } from 'payload' -import { useBillingPlugin } from '@/plugin' +import { useBillingPlugin } from '../plugin/index.js' export const initProviderPayment = (payload: Payload, payment: Partial) => { const billing = useBillingPlugin(payload) diff --git a/src/collections/index.ts b/src/collections/index.ts index c0f2f5a..72abd52 100644 --- a/src/collections/index.ts +++ b/src/collections/index.ts @@ -1,3 +1,3 @@ -export { createInvoicesCollection } from './invoices' -export { createPaymentsCollection } from './payments' -export { createRefundsCollection } from './refunds' +export { createInvoicesCollection } from './invoices.js' +export { createPaymentsCollection } from './payments.js' +export { createRefundsCollection } from './refunds.js' diff --git a/src/collections/invoices.ts b/src/collections/invoices.ts index fd689bc..77a3978 100644 --- a/src/collections/invoices.ts +++ b/src/collections/invoices.ts @@ -5,10 +5,10 @@ import { CollectionBeforeValidateHook, CollectionConfig, Field, } from 'payload' -import type { BillingPluginConfig} from '@/plugin/config'; -import { defaults } from '@/plugin/config' -import { extractSlug } from '@/plugin/utils' -import type { Invoice } from '@/plugin/types/invoices' +import type { BillingPluginConfig} from '../plugin/config.js'; +import { defaults } from '../plugin/config.js' +import { extractSlug } from '../plugin/utils.js' +import type { Invoice } from '../plugin/types/invoices.js' export function createInvoicesCollection(pluginConfig: BillingPluginConfig): CollectionConfig { const {customerRelationSlug, customerInfoExtractor} = pluginConfig diff --git a/src/collections/payments.ts b/src/collections/payments.ts index 980c27c..68978f7 100644 --- a/src/collections/payments.ts +++ b/src/collections/payments.ts @@ -1,9 +1,9 @@ import type { AccessArgs, CollectionBeforeChangeHook, CollectionConfig, Field } from 'payload' -import type { BillingPluginConfig} from '@/plugin/config'; -import { defaults } from '@/plugin/config' -import { extractSlug } from '@/plugin/utils' -import type { Payment } from '@/plugin/types/payments' -import { initProviderPayment } from '@/collections/hooks' +import type { BillingPluginConfig} from '../plugin/config.js'; +import { defaults } from '../plugin/config.js' +import { extractSlug } from '../plugin/utils.js' +import type { Payment } from '../plugin/types/payments.js' +import { initProviderPayment } from './hooks.js' export function createPaymentsCollection(pluginConfig: BillingPluginConfig): CollectionConfig { const overrides = typeof pluginConfig.collections?.payments === 'object' ? pluginConfig.collections?.payments : {} diff --git a/src/collections/refunds.ts b/src/collections/refunds.ts index aa484e9..bca2f24 100644 --- a/src/collections/refunds.ts +++ b/src/collections/refunds.ts @@ -1,7 +1,7 @@ import type { AccessArgs, CollectionConfig } from 'payload' -import { BillingPluginConfig, defaults } from '@/plugin/config' -import { extractSlug } from '@/plugin/utils' -import { Payment } from '@/plugin/types' +import { BillingPluginConfig, defaults } from '../plugin/config.js' +import { extractSlug } from '../plugin/utils.js' +import { Payment } from '../plugin/types/index.js' export function createRefundsCollection(pluginConfig: BillingPluginConfig): CollectionConfig { // TODO: finish collection overrides diff --git a/src/index.ts b/src/index.ts index 882fe58..3a93b71 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,4 @@ -export { billingPlugin } from './plugin' -export type { BillingPluginConfig, CustomerInfoExtractor } from './plugin/config' -export type { Invoice, Payment, Refund } from './plugin/types' +export { billingPlugin } from './plugin/index.js' +export type { BillingPluginConfig, CustomerInfoExtractor } from './plugin/config.js' +export type { Invoice, Payment, Refund } from './plugin/types/index.js' diff --git a/src/plugin/config.ts b/src/plugin/config.ts index 73861c1..c7dab3d 100644 --- a/src/plugin/config.ts +++ b/src/plugin/config.ts @@ -1,6 +1,6 @@ import { CollectionConfig } from 'payload' -import { FieldsOverride } from '@/plugin/utils' -import { PaymentProvider } from '@/plugin/types' +import { FieldsOverride } from './utils.js' +import { PaymentProvider } from './types/index.js' export const defaults = { paymentsCollection: 'payments', diff --git a/src/plugin/index.ts b/src/plugin/index.ts index d1421eb..a8d5d97 100644 --- a/src/plugin/index.ts +++ b/src/plugin/index.ts @@ -1,8 +1,8 @@ -import { createInvoicesCollection, createPaymentsCollection, createRefundsCollection } from '@/collections' -import type { BillingPluginConfig } from '@/plugin/config' +import { createInvoicesCollection, createPaymentsCollection, createRefundsCollection } from '../collections/index.js' +import type { BillingPluginConfig } from './config.js' import type { Config, Payload } from 'payload' -import { createSingleton } from '@/plugin/singleton' -import type { PaymentProvider } from '@/providers' +import { createSingleton } from './singleton.js' +import type { PaymentProvider } from '../providers/index.js' const singleton = createSingleton(Symbol('billingPlugin')) diff --git a/src/plugin/types/index.ts b/src/plugin/types/index.ts index dbc808b..6fc8ff8 100644 --- a/src/plugin/types/index.ts +++ b/src/plugin/types/index.ts @@ -1,5 +1,5 @@ -export * from './id' -export * from './invoices' -export * from './payments' -export * from './refunds' -export * from '../../providers/types' +export * from './id.js' +export * from './invoices.js' +export * from './payments.js' +export * from './refunds.js' +export * from '../../providers/types.js' diff --git a/src/plugin/types/invoices.ts b/src/plugin/types/invoices.ts index b42d342..fdc1719 100644 --- a/src/plugin/types/invoices.ts +++ b/src/plugin/types/invoices.ts @@ -1,6 +1,5 @@ -import { Payment } from '@/plugin/types/payments' - -import { Id } from '@/plugin/types/id' +import { Payment } from './payments.js' +import { Id } from './id.js' export interface Invoice { id: Id; diff --git a/src/plugin/types/payments.ts b/src/plugin/types/payments.ts index 2d27739..1d8b79c 100644 --- a/src/plugin/types/payments.ts +++ b/src/plugin/types/payments.ts @@ -1,6 +1,6 @@ -import { Refund } from '@/plugin/types/refunds' -import { Invoice } from '@/plugin/types/invoices' -import { Id } from '@/plugin/types/id' +import { Refund } from './refunds.js' +import { Invoice } from './invoices.js' +import { Id } from './id.js' export interface Payment { id: Id; diff --git a/src/plugin/types/refunds.ts b/src/plugin/types/refunds.ts index a8366d1..1cab98b 100644 --- a/src/plugin/types/refunds.ts +++ b/src/plugin/types/refunds.ts @@ -1,4 +1,4 @@ -import { Payment } from '@/plugin/types/payments' +import { Payment } from './payments.js' export interface Refund { id: number; diff --git a/src/plugin/utils.ts b/src/plugin/utils.ts index 9ac3710..b9a7dae 100644 --- a/src/plugin/utils.ts +++ b/src/plugin/utils.ts @@ -1,5 +1,5 @@ import type { CollectionConfig, CollectionSlug, Field } from 'payload' -import type { Id } from '@/plugin/types' +import type { Id } from './types/index.js' export type FieldsOverride = (args: { defaultFields: Field[] }) => Field[] diff --git a/src/providers/index.ts b/src/providers/index.ts index 6e1e23c..738563f 100644 --- a/src/providers/index.ts +++ b/src/providers/index.ts @@ -1,4 +1,4 @@ -export * from './mollie' -export * from './stripe' -export * from './types' -export * from './currency' +export * from './mollie.js' +export * from './stripe.js' +export * from './types.js' +export * from './currency.js' diff --git a/src/providers/mollie.ts b/src/providers/mollie.ts index b8d5440..af8918c 100644 --- a/src/providers/mollie.ts +++ b/src/providers/mollie.ts @@ -1,7 +1,7 @@ -import type { Payment } from '@/plugin/types/payments' -import type { PaymentProvider } from '@/plugin/types' +import type { Payment } from '../plugin/types/payments.js' +import type { PaymentProvider } from '../plugin/types/index.js' import type { Payload } from 'payload' -import { createSingleton } from '@/plugin/singleton' +import { createSingleton } from '../plugin/singleton.js' import type { createMollieClient, MollieClient } from '@mollie/api-client' import { webhookResponses, @@ -10,8 +10,8 @@ import { updateInvoiceOnPaymentSuccess, handleWebhookError, validateProductionUrl -} from './utils' -import { formatAmountForProvider, isValidAmount, isValidCurrencyCode } from './currency' +} from './utils.js' +import { formatAmountForProvider, isValidAmount, isValidCurrencyCode } from './currency.js' const symbol = Symbol('mollie') export type MollieProviderConfig = Parameters[0] diff --git a/src/providers/stripe.ts b/src/providers/stripe.ts index 8269f6c..fc64f94 100644 --- a/src/providers/stripe.ts +++ b/src/providers/stripe.ts @@ -1,7 +1,7 @@ -import type { Payment } from '@/plugin/types/payments' -import type { PaymentProvider, ProviderData } from '@/plugin/types' +import type { Payment } from '../plugin/types/payments.js' +import type { PaymentProvider, ProviderData } from '../plugin/types/index.js' import type { Payload } from 'payload' -import { createSingleton } from '@/plugin/singleton' +import { createSingleton } from '../plugin/singleton.js' import type Stripe from 'stripe' import { webhookResponses, @@ -10,8 +10,8 @@ import { updateInvoiceOnPaymentSuccess, handleWebhookError, logWebhookEvent -} from './utils' -import { isValidAmount, isValidCurrencyCode } from './currency' +} from './utils.js' +import { isValidAmount, isValidCurrencyCode } from './currency.js' const symbol = Symbol('stripe') diff --git a/src/providers/types.ts b/src/providers/types.ts index 14f4d9b..0950cf6 100644 --- a/src/providers/types.ts +++ b/src/providers/types.ts @@ -1,6 +1,6 @@ -import type { Payment } from '@/plugin/types/payments' +import type { Payment } from '../plugin/types/payments.js' import type { Config, Payload } from 'payload' -import type { BillingPluginConfig } from '@/plugin/config' +import type { BillingPluginConfig } from '../plugin/config.js' export type InitPayment = (payload: Payload, payment: Partial) => Promise> diff --git a/src/providers/utils.ts b/src/providers/utils.ts index ddccb0c..728d7c8 100644 --- a/src/providers/utils.ts +++ b/src/providers/utils.ts @@ -1,9 +1,9 @@ import type { Payload } from 'payload' -import type { Payment } from '@/plugin/types/payments' -import type { BillingPluginConfig } from '@/plugin/config' -import type { ProviderData } from './types' -import { defaults } from '@/plugin/config' -import { extractSlug, toPayloadId } from '@/plugin/utils' +import type { Payment } from '../plugin/types/payments.js' +import type { BillingPluginConfig } from '../plugin/config.js' +import type { ProviderData } from './types.js' +import { defaults } from '../plugin/config.js' +import { extractSlug, toPayloadId } from '../plugin/utils.js' /** * Common webhook response utilities