@shadowmkj/plugin-ecommerce 3.85.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +22 -0
- package/README.md +3 -0
- package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -0
- package/dist/collections/addresses/createAddressesCollection.js +73 -0
- package/dist/collections/addresses/createAddressesCollection.js.map +1 -0
- package/dist/collections/addresses/defaultAddressFields.d.ts.map +1 -0
- package/dist/collections/addresses/defaultAddressFields.js +72 -0
- package/dist/collections/addresses/defaultAddressFields.js.map +1 -0
- package/dist/collections/addresses/defaultCountries.d.ts.map +1 -0
- package/dist/collections/addresses/defaultCountries.js +169 -0
- package/dist/collections/addresses/defaultCountries.js.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.js +16 -0
- package/dist/collections/addresses/hooks/beforeChange.js.map +1 -0
- package/dist/collections/carts/beforeChange.d.ts.map +1 -0
- package/dist/collections/carts/beforeChange.js +49 -0
- package/dist/collections/carts/beforeChange.js.map +1 -0
- package/dist/collections/carts/createCartsCollection.d.ts.map +1 -0
- package/dist/collections/carts/createCartsCollection.js +194 -0
- package/dist/collections/carts/createCartsCollection.js.map +1 -0
- package/dist/collections/carts/endpoints/addItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/addItem.js +54 -0
- package/dist/collections/carts/endpoints/addItem.js.map +1 -0
- package/dist/collections/carts/endpoints/clearCart.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/clearCart.js +41 -0
- package/dist/collections/carts/endpoints/clearCart.js.map +1 -0
- package/dist/collections/carts/endpoints/mergeCart.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/mergeCart.js +72 -0
- package/dist/collections/carts/endpoints/mergeCart.js.map +1 -0
- package/dist/collections/carts/endpoints/removeItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/removeItem.js +51 -0
- package/dist/collections/carts/endpoints/removeItem.js.map +1 -0
- package/dist/collections/carts/endpoints/updateItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/updateItem.js +95 -0
- package/dist/collections/carts/endpoints/updateItem.js.map +1 -0
- package/dist/collections/carts/hasCartSecretAccess.d.ts.map +1 -0
- package/dist/collections/carts/hasCartSecretAccess.js +24 -0
- package/dist/collections/carts/hasCartSecretAccess.js.map +1 -0
- package/dist/collections/carts/operations/addItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/addItem.js +95 -0
- package/dist/collections/carts/operations/addItem.js.map +1 -0
- package/dist/collections/carts/operations/clearCart.d.ts.map +1 -0
- package/dist/collections/carts/operations/clearCart.js +53 -0
- package/dist/collections/carts/operations/clearCart.js.map +1 -0
- package/dist/collections/carts/operations/createRequestWithSecret.d.ts.map +1 -0
- package/dist/collections/carts/operations/createRequestWithSecret.js +21 -0
- package/dist/collections/carts/operations/createRequestWithSecret.js.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.d.ts.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.js +25 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.js.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js +358 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js.map +1 -0
- package/dist/collections/carts/operations/mergeCart.d.ts.map +1 -0
- package/dist/collections/carts/operations/mergeCart.js +144 -0
- package/dist/collections/carts/operations/mergeCart.js.map +1 -0
- package/dist/collections/carts/operations/removeItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/removeItem.js +69 -0
- package/dist/collections/carts/operations/removeItem.js.map +1 -0
- package/dist/collections/carts/operations/types.d.ts.map +1 -0
- package/dist/collections/carts/operations/types.js +7 -0
- package/dist/collections/carts/operations/types.js.map +1 -0
- package/dist/collections/carts/operations/updateItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/updateItem.js +110 -0
- package/dist/collections/carts/operations/updateItem.js.map +1 -0
- package/dist/collections/carts/statusBeforeRead.d.ts.map +1 -0
- package/dist/collections/carts/statusBeforeRead.js +18 -0
- package/dist/collections/carts/statusBeforeRead.js.map +1 -0
- package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -0
- package/dist/collections/orders/createOrdersCollection.js +163 -0
- package/dist/collections/orders/createOrdersCollection.js.map +1 -0
- package/dist/collections/products/createProductsCollection.d.ts.map +1 -0
- package/dist/collections/products/createProductsCollection.js +62 -0
- package/dist/collections/products/createProductsCollection.js.map +1 -0
- package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -0
- package/dist/collections/transactions/createTransactionsCollection.js +157 -0
- package/dist/collections/transactions/createTransactionsCollection.js.map +1 -0
- package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -0
- package/dist/collections/variants/createVariantOptionsCollection.js +53 -0
- package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -0
- package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -0
- package/dist/collections/variants/createVariantTypesCollection.js +49 -0
- package/dist/collections/variants/createVariantTypesCollection.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +38 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +58 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.js +107 -0
- package/dist/collections/variants/createVariantsCollection/index.js.map +1 -0
- package/dist/currencies/index.d.ts.map +1 -0
- package/dist/currencies/index.js +20 -0
- package/dist/currencies/index.js.map +1 -0
- package/dist/endpoints/confirmOrder.d.ts.map +1 -0
- package/dist/endpoints/confirmOrder.js +150 -0
- package/dist/endpoints/confirmOrder.js.map +1 -0
- package/dist/endpoints/initiatePayment.d.ts.map +1 -0
- package/dist/endpoints/initiatePayment.js +226 -0
- package/dist/endpoints/initiatePayment.js.map +1 -0
- package/dist/exports/client/index.d.ts.map +1 -0
- package/dist/exports/client/index.js +4 -0
- package/dist/exports/client/index.js.map +1 -0
- package/dist/exports/client/react.d.ts.map +1 -0
- package/dist/exports/client/react.js +5 -0
- package/dist/exports/client/react.js.map +1 -0
- package/dist/exports/payments/cod.d.ts +2 -0
- package/dist/exports/payments/cod.d.ts.map +1 -0
- package/dist/exports/payments/cod.js +3 -0
- package/dist/exports/payments/cod.js.map +1 -0
- package/dist/exports/payments/stripe.d.ts.map +1 -0
- package/dist/exports/payments/stripe.js +3 -0
- package/dist/exports/payments/stripe.js.map +1 -0
- package/dist/exports/rsc.d.ts.map +1 -0
- package/dist/exports/rsc.js +4 -0
- package/dist/exports/rsc.js.map +1 -0
- package/dist/exports/types.d.ts.map +1 -0
- package/dist/exports/types.js +3 -0
- package/dist/exports/types.js.map +1 -0
- package/dist/fields/amountField.d.ts.map +1 -0
- package/dist/fields/amountField.js +33 -0
- package/dist/fields/amountField.js.map +1 -0
- package/dist/fields/cartItemsField.d.ts.map +1 -0
- package/dist/fields/cartItemsField.js +55 -0
- package/dist/fields/cartItemsField.js.map +1 -0
- package/dist/fields/currencyField.d.ts.map +1 -0
- package/dist/fields/currencyField.js +29 -0
- package/dist/fields/currencyField.js.map +1 -0
- package/dist/fields/inventoryField.d.ts.map +1 -0
- package/dist/fields/inventoryField.js +16 -0
- package/dist/fields/inventoryField.js.map +1 -0
- package/dist/fields/pricesField.d.ts.map +1 -0
- package/dist/fields/pricesField.js +54 -0
- package/dist/fields/pricesField.js.map +1 -0
- package/dist/fields/statusField.d.ts.map +1 -0
- package/dist/fields/statusField.js +49 -0
- package/dist/fields/statusField.js.map +1 -0
- package/dist/fields/variantsFields.d.ts.map +1 -0
- package/dist/fields/variantsFields.js +48 -0
- package/dist/fields/variantsFields.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +258 -0
- package/dist/index.js.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.d.ts +5 -0
- package/dist/payments/adapters/cod/confirmOrder.d.ts.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.js +83 -0
- package/dist/payments/adapters/cod/confirmOrder.js.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.spec.js +166 -0
- package/dist/payments/adapters/cod/confirmOrder.spec.js.map +1 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.d.ts +5 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.d.ts.map +1 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.js +18 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.js.map +1 -0
- package/dist/payments/adapters/cod/index.d.ts +12 -0
- package/dist/payments/adapters/cod/index.d.ts.map +1 -0
- package/dist/payments/adapters/cod/index.js +64 -0
- package/dist/payments/adapters/cod/index.js.map +1 -0
- package/dist/payments/adapters/cod/initiatePayment.d.ts +5 -0
- package/dist/payments/adapters/cod/initiatePayment.d.ts.map +1 -0
- package/dist/payments/adapters/cod/initiatePayment.js +91 -0
- package/dist/payments/adapters/cod/initiatePayment.js.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.js +113 -0
- package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.spec.js +166 -0
- package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +1 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.js +53 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.js.map +1 -0
- package/dist/payments/adapters/stripe/index.d.ts +61 -0
- package/dist/payments/adapters/stripe/index.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/index.js +68 -0
- package/dist/payments/adapters/stripe/index.js.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.js +113 -0
- package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -0
- package/dist/react/provider/index.d.ts.map +1 -0
- package/dist/react/provider/index.js +1094 -0
- package/dist/react/provider/index.js.map +1 -0
- package/dist/react/provider/utilities.d.ts.map +1 -0
- package/dist/react/provider/utilities.js +13 -0
- package/dist/react/provider/utilities.js.map +1 -0
- package/dist/translations/index.d.ts.map +1 -0
- package/dist/translations/index.js +84 -0
- package/dist/translations/index.js.map +1 -0
- package/dist/translations/languages/ar.d.ts.map +1 -0
- package/dist/translations/languages/ar.js +92 -0
- package/dist/translations/languages/ar.js.map +1 -0
- package/dist/translations/languages/az.d.ts.map +1 -0
- package/dist/translations/languages/az.js +92 -0
- package/dist/translations/languages/az.js.map +1 -0
- package/dist/translations/languages/bg.d.ts.map +1 -0
- package/dist/translations/languages/bg.js +92 -0
- package/dist/translations/languages/bg.js.map +1 -0
- package/dist/translations/languages/ca.d.ts.map +1 -0
- package/dist/translations/languages/ca.js +92 -0
- package/dist/translations/languages/ca.js.map +1 -0
- package/dist/translations/languages/cs.d.ts.map +1 -0
- package/dist/translations/languages/cs.js +92 -0
- package/dist/translations/languages/cs.js.map +1 -0
- package/dist/translations/languages/da.d.ts.map +1 -0
- package/dist/translations/languages/da.js +92 -0
- package/dist/translations/languages/da.js.map +1 -0
- package/dist/translations/languages/de.d.ts.map +1 -0
- package/dist/translations/languages/de.js +92 -0
- package/dist/translations/languages/de.js.map +1 -0
- package/dist/translations/languages/en.d.ts.map +1 -0
- package/dist/translations/languages/en.js +92 -0
- package/dist/translations/languages/en.js.map +1 -0
- package/dist/translations/languages/es.d.ts.map +1 -0
- package/dist/translations/languages/es.js +92 -0
- package/dist/translations/languages/es.js.map +1 -0
- package/dist/translations/languages/et.d.ts.map +1 -0
- package/dist/translations/languages/et.js +92 -0
- package/dist/translations/languages/et.js.map +1 -0
- package/dist/translations/languages/fa.d.ts.map +1 -0
- package/dist/translations/languages/fa.js +92 -0
- package/dist/translations/languages/fa.js.map +1 -0
- package/dist/translations/languages/fr.d.ts.map +1 -0
- package/dist/translations/languages/fr.js +92 -0
- package/dist/translations/languages/fr.js.map +1 -0
- package/dist/translations/languages/he.d.ts.map +1 -0
- package/dist/translations/languages/he.js +92 -0
- package/dist/translations/languages/he.js.map +1 -0
- package/dist/translations/languages/hr.d.ts.map +1 -0
- package/dist/translations/languages/hr.js +92 -0
- package/dist/translations/languages/hr.js.map +1 -0
- package/dist/translations/languages/hu.d.ts.map +1 -0
- package/dist/translations/languages/hu.js +92 -0
- package/dist/translations/languages/hu.js.map +1 -0
- package/dist/translations/languages/hy.d.ts.map +1 -0
- package/dist/translations/languages/hy.js +92 -0
- package/dist/translations/languages/hy.js.map +1 -0
- package/dist/translations/languages/is.d.ts.map +1 -0
- package/dist/translations/languages/is.js +92 -0
- package/dist/translations/languages/is.js.map +1 -0
- package/dist/translations/languages/it.d.ts.map +1 -0
- package/dist/translations/languages/it.js +92 -0
- package/dist/translations/languages/it.js.map +1 -0
- package/dist/translations/languages/ja.d.ts.map +1 -0
- package/dist/translations/languages/ja.js +92 -0
- package/dist/translations/languages/ja.js.map +1 -0
- package/dist/translations/languages/ko.d.ts.map +1 -0
- package/dist/translations/languages/ko.js +92 -0
- package/dist/translations/languages/ko.js.map +1 -0
- package/dist/translations/languages/lt.d.ts.map +1 -0
- package/dist/translations/languages/lt.js +92 -0
- package/dist/translations/languages/lt.js.map +1 -0
- package/dist/translations/languages/my.d.ts.map +1 -0
- package/dist/translations/languages/my.js +92 -0
- package/dist/translations/languages/my.js.map +1 -0
- package/dist/translations/languages/nb.d.ts.map +1 -0
- package/dist/translations/languages/nb.js +92 -0
- package/dist/translations/languages/nb.js.map +1 -0
- package/dist/translations/languages/nl.d.ts.map +1 -0
- package/dist/translations/languages/nl.js +92 -0
- package/dist/translations/languages/nl.js.map +1 -0
- package/dist/translations/languages/pl.d.ts.map +1 -0
- package/dist/translations/languages/pl.js +92 -0
- package/dist/translations/languages/pl.js.map +1 -0
- package/dist/translations/languages/pt.d.ts.map +1 -0
- package/dist/translations/languages/pt.js +92 -0
- package/dist/translations/languages/pt.js.map +1 -0
- package/dist/translations/languages/ro.d.ts.map +1 -0
- package/dist/translations/languages/ro.js +92 -0
- package/dist/translations/languages/ro.js.map +1 -0
- package/dist/translations/languages/rs.d.ts.map +1 -0
- package/dist/translations/languages/rs.js +92 -0
- package/dist/translations/languages/rs.js.map +1 -0
- package/dist/translations/languages/rsLatin.d.ts.map +1 -0
- package/dist/translations/languages/rsLatin.js +92 -0
- package/dist/translations/languages/rsLatin.js.map +1 -0
- package/dist/translations/languages/ru.d.ts.map +1 -0
- package/dist/translations/languages/ru.js +92 -0
- package/dist/translations/languages/ru.js.map +1 -0
- package/dist/translations/languages/sk.d.ts.map +1 -0
- package/dist/translations/languages/sk.js +92 -0
- package/dist/translations/languages/sk.js.map +1 -0
- package/dist/translations/languages/sl.d.ts.map +1 -0
- package/dist/translations/languages/sl.js +92 -0
- package/dist/translations/languages/sl.js.map +1 -0
- package/dist/translations/languages/sv.d.ts.map +1 -0
- package/dist/translations/languages/sv.js +92 -0
- package/dist/translations/languages/sv.js.map +1 -0
- package/dist/translations/languages/ta.d.ts.map +1 -0
- package/dist/translations/languages/ta.js +92 -0
- package/dist/translations/languages/ta.js.map +1 -0
- package/dist/translations/languages/th.d.ts.map +1 -0
- package/dist/translations/languages/th.js +92 -0
- package/dist/translations/languages/th.js.map +1 -0
- package/dist/translations/languages/tr.d.ts.map +1 -0
- package/dist/translations/languages/tr.js +92 -0
- package/dist/translations/languages/tr.js.map +1 -0
- package/dist/translations/languages/uk.d.ts.map +1 -0
- package/dist/translations/languages/uk.js +92 -0
- package/dist/translations/languages/uk.js.map +1 -0
- package/dist/translations/languages/vi.d.ts.map +1 -0
- package/dist/translations/languages/vi.js +92 -0
- package/dist/translations/languages/vi.js.map +1 -0
- package/dist/translations/languages/zh.d.ts.map +1 -0
- package/dist/translations/languages/zh.js +92 -0
- package/dist/translations/languages/zh.js.map +1 -0
- package/dist/translations/languages/zhTw.d.ts.map +1 -0
- package/dist/translations/languages/zhTw.js +92 -0
- package/dist/translations/languages/zhTw.js.map +1 -0
- package/dist/translations/translation-schema.json +343 -0
- package/dist/translations/types.d.ts.map +1 -0
- package/dist/translations/types.js +3 -0
- package/dist/translations/types.js.map +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/utilities.d.ts.map +1 -0
- package/dist/types/utilities.js +3 -0
- package/dist/types/utilities.js.map +1 -0
- package/dist/ui/PriceCell/index.d.ts.map +1 -0
- package/dist/ui/PriceCell/index.js +36 -0
- package/dist/ui/PriceCell/index.js.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.d.ts.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.js +147 -0
- package/dist/ui/PriceInput/FormattedInput.js.map +1 -0
- package/dist/ui/PriceInput/index.css +35 -0
- package/dist/ui/PriceInput/index.d.ts.map +1 -0
- package/dist/ui/PriceInput/index.js +21 -0
- package/dist/ui/PriceInput/index.js.map +1 -0
- package/dist/ui/PriceRowLabel/index.css +13 -0
- package/dist/ui/PriceRowLabel/index.d.ts.map +1 -0
- package/dist/ui/PriceRowLabel/index.js +66 -0
- package/dist/ui/PriceRowLabel/index.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.js +28 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.js +71 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.css +37 -0
- package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.js +81 -0
- package/dist/ui/VariantOptionsSelector/index.js.map +1 -0
- package/dist/ui/utilities.d.ts.map +1 -0
- package/dist/ui/utilities.js +40 -0
- package/dist/ui/utilities.js.map +1 -0
- package/dist/utilities/accessComposition.d.ts.map +1 -0
- package/dist/utilities/accessComposition.js +103 -0
- package/dist/utilities/accessComposition.js.map +1 -0
- package/dist/utilities/accessComposition.spec.js +765 -0
- package/dist/utilities/accessComposition.spec.js.map +1 -0
- package/dist/utilities/defaultProductsValidation.d.ts.map +1 -0
- package/dist/utilities/defaultProductsValidation.js +40 -0
- package/dist/utilities/defaultProductsValidation.js.map +1 -0
- package/dist/utilities/defaultProductsValidation.spec.js +384 -0
- package/dist/utilities/defaultProductsValidation.spec.js.map +1 -0
- package/dist/utilities/errorCodes.d.ts.map +1 -0
- package/dist/utilities/errorCodes.js +4 -0
- package/dist/utilities/errorCodes.js.map +1 -0
- package/dist/utilities/getCollectionSlugMap.d.ts.map +1 -0
- package/dist/utilities/getCollectionSlugMap.js +36 -0
- package/dist/utilities/getCollectionSlugMap.js.map +1 -0
- package/dist/utilities/getCollectionSlugMap.spec.js +254 -0
- package/dist/utilities/getCollectionSlugMap.spec.js.map +1 -0
- package/dist/utilities/pushTypeScriptProperties.d.ts.map +1 -0
- package/dist/utilities/pushTypeScriptProperties.js +37 -0
- package/dist/utilities/pushTypeScriptProperties.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -0
- package/dist/utilities/sanitizePluginConfig.js +75 -0
- package/dist/utilities/sanitizePluginConfig.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.spec.js +516 -0
- package/dist/utilities/sanitizePluginConfig.spec.js.map +1 -0
- package/package.json +114 -0
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
import { describe, it, expect, vitest } from 'vitest';
|
|
2
|
+
import { EUR, USD } from '../currencies/index.js';
|
|
3
|
+
import { sanitizePluginConfig } from './sanitizePluginConfig';
|
|
4
|
+
describe('sanitizePluginConfig', ()=>{
|
|
5
|
+
const mockAccessConfig = {
|
|
6
|
+
adminOnlyFieldAccess: vitest.fn(),
|
|
7
|
+
adminOrPublishedStatus: vitest.fn(),
|
|
8
|
+
customerOnlyFieldAccess: vitest.fn(),
|
|
9
|
+
isAdmin: vitest.fn(),
|
|
10
|
+
isAuthenticated: vitest.fn(),
|
|
11
|
+
isDocumentOwner: vitest.fn()
|
|
12
|
+
};
|
|
13
|
+
const minimalConfig = {
|
|
14
|
+
access: mockAccessConfig,
|
|
15
|
+
customers: {
|
|
16
|
+
slug: 'users'
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
describe('customers', ()=>{
|
|
20
|
+
it('should default customers slug to "users" when undefined', ()=>{
|
|
21
|
+
const config = {
|
|
22
|
+
access: mockAccessConfig,
|
|
23
|
+
customers: undefined
|
|
24
|
+
};
|
|
25
|
+
const result = sanitizePluginConfig({
|
|
26
|
+
pluginConfig: config
|
|
27
|
+
});
|
|
28
|
+
expect(result.customers).toEqual({
|
|
29
|
+
slug: 'users'
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
it('should preserve custom customers slug', ()=>{
|
|
33
|
+
const config = {
|
|
34
|
+
...minimalConfig,
|
|
35
|
+
customers: {
|
|
36
|
+
slug: 'custom-users'
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const result = sanitizePluginConfig({
|
|
40
|
+
pluginConfig: config
|
|
41
|
+
});
|
|
42
|
+
expect(result.customers.slug).toBe('custom-users');
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
describe('addresses', ()=>{
|
|
46
|
+
it('should create default addresses config when undefined', ()=>{
|
|
47
|
+
const result = sanitizePluginConfig({
|
|
48
|
+
pluginConfig: minimalConfig
|
|
49
|
+
});
|
|
50
|
+
expect(result.addresses).toBeDefined();
|
|
51
|
+
expect(result.addresses.addressFields).toBeDefined();
|
|
52
|
+
expect(Array.isArray(result.addresses.addressFields)).toBe(true);
|
|
53
|
+
expect(result.addresses.addressFields.length).toBeGreaterThan(0);
|
|
54
|
+
});
|
|
55
|
+
it('should create default addresses config when set to true', ()=>{
|
|
56
|
+
const config = {
|
|
57
|
+
...minimalConfig,
|
|
58
|
+
addresses: true
|
|
59
|
+
};
|
|
60
|
+
const result = sanitizePluginConfig({
|
|
61
|
+
pluginConfig: config
|
|
62
|
+
});
|
|
63
|
+
expect(result.addresses).toBeDefined();
|
|
64
|
+
expect(result.addresses.addressFields).toBeDefined();
|
|
65
|
+
expect(Array.isArray(result.addresses.addressFields)).toBe(true);
|
|
66
|
+
});
|
|
67
|
+
it('should use custom addressFields function', ()=>{
|
|
68
|
+
const customField = {
|
|
69
|
+
name: 'customField',
|
|
70
|
+
type: 'text'
|
|
71
|
+
};
|
|
72
|
+
const config = {
|
|
73
|
+
...minimalConfig,
|
|
74
|
+
addresses: {
|
|
75
|
+
addressFields: ({ defaultFields })=>[
|
|
76
|
+
...defaultFields,
|
|
77
|
+
customField
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const result = sanitizePluginConfig({
|
|
82
|
+
pluginConfig: config
|
|
83
|
+
});
|
|
84
|
+
expect(result.addresses.addressFields).toBeDefined();
|
|
85
|
+
const lastField = result.addresses.addressFields[result.addresses.addressFields.length - 1];
|
|
86
|
+
expect(lastField).toEqual(customField);
|
|
87
|
+
});
|
|
88
|
+
it('should preserve other address config properties', ()=>{
|
|
89
|
+
const config = {
|
|
90
|
+
...minimalConfig,
|
|
91
|
+
addresses: {
|
|
92
|
+
addressFields: ({ defaultFields })=>defaultFields,
|
|
93
|
+
supportedCountries: [
|
|
94
|
+
{
|
|
95
|
+
label: 'United States',
|
|
96
|
+
value: 'US'
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
label: 'Canada',
|
|
100
|
+
value: 'CA'
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
const result = sanitizePluginConfig({
|
|
106
|
+
pluginConfig: config
|
|
107
|
+
});
|
|
108
|
+
expect(result.addresses.supportedCountries).toEqual([
|
|
109
|
+
{
|
|
110
|
+
label: 'United States',
|
|
111
|
+
value: 'US'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
label: 'Canada',
|
|
115
|
+
value: 'CA'
|
|
116
|
+
}
|
|
117
|
+
]);
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
describe('currencies', ()=>{
|
|
121
|
+
it('should default to USD when undefined', ()=>{
|
|
122
|
+
const result = sanitizePluginConfig({
|
|
123
|
+
pluginConfig: minimalConfig
|
|
124
|
+
});
|
|
125
|
+
expect(result.currencies).toEqual({
|
|
126
|
+
defaultCurrency: 'USD',
|
|
127
|
+
supportedCurrencies: [
|
|
128
|
+
USD
|
|
129
|
+
]
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
it('should preserve custom currencies config', ()=>{
|
|
133
|
+
const config = {
|
|
134
|
+
...minimalConfig,
|
|
135
|
+
currencies: {
|
|
136
|
+
defaultCurrency: 'EUR',
|
|
137
|
+
supportedCurrencies: [
|
|
138
|
+
USD,
|
|
139
|
+
EUR
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
const result = sanitizePluginConfig({
|
|
144
|
+
pluginConfig: config
|
|
145
|
+
});
|
|
146
|
+
expect(result.currencies).toEqual({
|
|
147
|
+
defaultCurrency: 'EUR',
|
|
148
|
+
supportedCurrencies: [
|
|
149
|
+
USD,
|
|
150
|
+
EUR
|
|
151
|
+
]
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
describe('inventory', ()=>{
|
|
156
|
+
it('should default inventory config when undefined', ()=>{
|
|
157
|
+
const result = sanitizePluginConfig({
|
|
158
|
+
pluginConfig: minimalConfig
|
|
159
|
+
});
|
|
160
|
+
expect(result.inventory).toEqual({
|
|
161
|
+
fieldName: 'inventory'
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
it('should default inventory config when set to true', ()=>{
|
|
165
|
+
const config = {
|
|
166
|
+
...minimalConfig,
|
|
167
|
+
inventory: true
|
|
168
|
+
};
|
|
169
|
+
const result = sanitizePluginConfig({
|
|
170
|
+
pluginConfig: config
|
|
171
|
+
});
|
|
172
|
+
expect(result.inventory).toEqual({
|
|
173
|
+
fieldName: 'inventory'
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
it('should preserve custom inventory config', ()=>{
|
|
177
|
+
const config = {
|
|
178
|
+
...minimalConfig,
|
|
179
|
+
inventory: {
|
|
180
|
+
fieldName: 'stock'
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
const result = sanitizePluginConfig({
|
|
184
|
+
pluginConfig: config
|
|
185
|
+
});
|
|
186
|
+
expect(result.inventory).toEqual({
|
|
187
|
+
fieldName: 'stock'
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
it('should allow disabling inventory with false', ()=>{
|
|
191
|
+
const config = {
|
|
192
|
+
...minimalConfig,
|
|
193
|
+
inventory: false
|
|
194
|
+
};
|
|
195
|
+
const result = sanitizePluginConfig({
|
|
196
|
+
pluginConfig: config
|
|
197
|
+
});
|
|
198
|
+
expect(result.inventory).toBe(false);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
describe('carts', ()=>{
|
|
202
|
+
it('should default carts to object with allowGuestCarts true when undefined', ()=>{
|
|
203
|
+
const result = sanitizePluginConfig({
|
|
204
|
+
pluginConfig: minimalConfig
|
|
205
|
+
});
|
|
206
|
+
expect(result.carts).toEqual({
|
|
207
|
+
allowGuestCarts: true
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
it('should convert carts true to object with allowGuestCarts true', ()=>{
|
|
211
|
+
const config = {
|
|
212
|
+
...minimalConfig,
|
|
213
|
+
carts: true
|
|
214
|
+
};
|
|
215
|
+
const result = sanitizePluginConfig({
|
|
216
|
+
pluginConfig: config
|
|
217
|
+
});
|
|
218
|
+
expect(result.carts).toEqual({
|
|
219
|
+
allowGuestCarts: true
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
it('should preserve carts false', ()=>{
|
|
223
|
+
const config = {
|
|
224
|
+
...minimalConfig,
|
|
225
|
+
carts: false
|
|
226
|
+
};
|
|
227
|
+
const result = sanitizePluginConfig({
|
|
228
|
+
pluginConfig: config
|
|
229
|
+
});
|
|
230
|
+
expect(result.carts).toBe(false);
|
|
231
|
+
});
|
|
232
|
+
it('should default allowGuestCarts to true when carts is object without it', ()=>{
|
|
233
|
+
const config = {
|
|
234
|
+
...minimalConfig,
|
|
235
|
+
carts: {}
|
|
236
|
+
};
|
|
237
|
+
const result = sanitizePluginConfig({
|
|
238
|
+
pluginConfig: config
|
|
239
|
+
});
|
|
240
|
+
expect(result.carts).toEqual({
|
|
241
|
+
allowGuestCarts: true
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
it('should preserve explicit allowGuestCarts false', ()=>{
|
|
245
|
+
const config = {
|
|
246
|
+
...minimalConfig,
|
|
247
|
+
carts: {
|
|
248
|
+
allowGuestCarts: false
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
const result = sanitizePluginConfig({
|
|
252
|
+
pluginConfig: config
|
|
253
|
+
});
|
|
254
|
+
expect(result.carts).toEqual({
|
|
255
|
+
allowGuestCarts: false
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
it('should preserve other carts config properties', ()=>{
|
|
259
|
+
const config = {
|
|
260
|
+
...minimalConfig,
|
|
261
|
+
carts: {
|
|
262
|
+
allowGuestCarts: false,
|
|
263
|
+
cartsCollectionOverride: vitest.fn()
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
const result = sanitizePluginConfig({
|
|
267
|
+
pluginConfig: config
|
|
268
|
+
});
|
|
269
|
+
expect(result.carts).toHaveProperty('allowGuestCarts', false);
|
|
270
|
+
expect(result.carts).toHaveProperty('cartsCollectionOverride');
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
describe('orders', ()=>{
|
|
274
|
+
it('should default orders to true when undefined', ()=>{
|
|
275
|
+
const result = sanitizePluginConfig({
|
|
276
|
+
pluginConfig: minimalConfig
|
|
277
|
+
});
|
|
278
|
+
expect(result.orders).toBe(true);
|
|
279
|
+
});
|
|
280
|
+
it('should preserve orders config', ()=>{
|
|
281
|
+
const config = {
|
|
282
|
+
...minimalConfig,
|
|
283
|
+
orders: false
|
|
284
|
+
};
|
|
285
|
+
const result = sanitizePluginConfig({
|
|
286
|
+
pluginConfig: config
|
|
287
|
+
});
|
|
288
|
+
expect(result.orders).toBe(false);
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
describe('transactions', ()=>{
|
|
292
|
+
it('should default transactions to true when undefined', ()=>{
|
|
293
|
+
const result = sanitizePluginConfig({
|
|
294
|
+
pluginConfig: minimalConfig
|
|
295
|
+
});
|
|
296
|
+
expect(result.transactions).toBe(true);
|
|
297
|
+
});
|
|
298
|
+
it('should preserve transactions config', ()=>{
|
|
299
|
+
const config = {
|
|
300
|
+
...minimalConfig,
|
|
301
|
+
transactions: false
|
|
302
|
+
};
|
|
303
|
+
const result = sanitizePluginConfig({
|
|
304
|
+
pluginConfig: config
|
|
305
|
+
});
|
|
306
|
+
expect(result.transactions).toBe(false);
|
|
307
|
+
});
|
|
308
|
+
});
|
|
309
|
+
describe('payments', ()=>{
|
|
310
|
+
it('should default payments to empty array when undefined', ()=>{
|
|
311
|
+
const result = sanitizePluginConfig({
|
|
312
|
+
pluginConfig: minimalConfig
|
|
313
|
+
});
|
|
314
|
+
expect(result.payments).toEqual({
|
|
315
|
+
paymentMethods: []
|
|
316
|
+
});
|
|
317
|
+
});
|
|
318
|
+
it('should default paymentMethods to empty array when not provided', ()=>{
|
|
319
|
+
const config = {
|
|
320
|
+
...minimalConfig,
|
|
321
|
+
payments: {}
|
|
322
|
+
};
|
|
323
|
+
const result = sanitizePluginConfig({
|
|
324
|
+
pluginConfig: config
|
|
325
|
+
});
|
|
326
|
+
expect(result.payments.paymentMethods).toEqual([]);
|
|
327
|
+
});
|
|
328
|
+
it('should preserve payment methods', ()=>{
|
|
329
|
+
const mockAdapter = {
|
|
330
|
+
name: 'stripe',
|
|
331
|
+
label: 'Stripe'
|
|
332
|
+
};
|
|
333
|
+
const config = {
|
|
334
|
+
...minimalConfig,
|
|
335
|
+
payments: {
|
|
336
|
+
paymentMethods: [
|
|
337
|
+
mockAdapter
|
|
338
|
+
]
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
const result = sanitizePluginConfig({
|
|
342
|
+
pluginConfig: config
|
|
343
|
+
});
|
|
344
|
+
expect(result.payments.paymentMethods).toEqual([
|
|
345
|
+
mockAdapter
|
|
346
|
+
]);
|
|
347
|
+
});
|
|
348
|
+
});
|
|
349
|
+
describe('products', ()=>{
|
|
350
|
+
it('should default variants to true when products is object and variants is undefined', ()=>{
|
|
351
|
+
const config = {
|
|
352
|
+
...minimalConfig,
|
|
353
|
+
products: {}
|
|
354
|
+
};
|
|
355
|
+
const result = sanitizePluginConfig({
|
|
356
|
+
pluginConfig: config
|
|
357
|
+
});
|
|
358
|
+
expect(result.products).toEqual({
|
|
359
|
+
variants: true
|
|
360
|
+
});
|
|
361
|
+
});
|
|
362
|
+
it('should preserve variants config when provided', ()=>{
|
|
363
|
+
const config = {
|
|
364
|
+
...minimalConfig,
|
|
365
|
+
products: {
|
|
366
|
+
variants: false
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
const result = sanitizePluginConfig({
|
|
370
|
+
pluginConfig: config
|
|
371
|
+
});
|
|
372
|
+
expect(result.products).toEqual({
|
|
373
|
+
variants: false
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
it('should not modify products when set to true', ()=>{
|
|
377
|
+
const config = {
|
|
378
|
+
...minimalConfig,
|
|
379
|
+
products: true
|
|
380
|
+
};
|
|
381
|
+
const result = sanitizePluginConfig({
|
|
382
|
+
pluginConfig: config
|
|
383
|
+
});
|
|
384
|
+
expect(result.products).toBe(true);
|
|
385
|
+
});
|
|
386
|
+
it('should not modify products when set to false', ()=>{
|
|
387
|
+
const config = {
|
|
388
|
+
...minimalConfig,
|
|
389
|
+
products: false
|
|
390
|
+
};
|
|
391
|
+
const result = sanitizePluginConfig({
|
|
392
|
+
pluginConfig: config
|
|
393
|
+
});
|
|
394
|
+
expect(result.products).toBe(false);
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
|
+
describe('access', ()=>{
|
|
398
|
+
it('should provide default isAuthenticated function', ()=>{
|
|
399
|
+
const result = sanitizePluginConfig({
|
|
400
|
+
pluginConfig: minimalConfig
|
|
401
|
+
});
|
|
402
|
+
expect(result.access.isAuthenticated).toBeDefined();
|
|
403
|
+
expect(typeof result.access.isAuthenticated).toBe('function');
|
|
404
|
+
});
|
|
405
|
+
it('should provide default publicAccess function', ()=>{
|
|
406
|
+
const result = sanitizePluginConfig({
|
|
407
|
+
pluginConfig: minimalConfig
|
|
408
|
+
});
|
|
409
|
+
expect(result.access.publicAccess).toBeDefined();
|
|
410
|
+
expect(typeof result.access.publicAccess).toBe('function');
|
|
411
|
+
});
|
|
412
|
+
it('should allow user-provided access functions to override defaults', ()=>{
|
|
413
|
+
const customIsAuthenticated = vitest.fn();
|
|
414
|
+
const customPublicAccess = vitest.fn();
|
|
415
|
+
const config = {
|
|
416
|
+
...minimalConfig,
|
|
417
|
+
access: {
|
|
418
|
+
...mockAccessConfig,
|
|
419
|
+
isAuthenticated: customIsAuthenticated,
|
|
420
|
+
publicAccess: customPublicAccess
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
const result = sanitizePluginConfig({
|
|
424
|
+
pluginConfig: config
|
|
425
|
+
});
|
|
426
|
+
expect(result.access.isAuthenticated).toBe(customIsAuthenticated);
|
|
427
|
+
expect(result.access.publicAccess).toBe(customPublicAccess);
|
|
428
|
+
});
|
|
429
|
+
it('should preserve all user-provided access functions', ()=>{
|
|
430
|
+
const result = sanitizePluginConfig({
|
|
431
|
+
pluginConfig: minimalConfig
|
|
432
|
+
});
|
|
433
|
+
expect(result.access.adminOnlyFieldAccess).toBe(mockAccessConfig.adminOnlyFieldAccess);
|
|
434
|
+
expect(result.access.adminOrPublishedStatus).toBe(mockAccessConfig.adminOrPublishedStatus);
|
|
435
|
+
expect(result.access.customerOnlyFieldAccess).toBe(mockAccessConfig.customerOnlyFieldAccess);
|
|
436
|
+
expect(result.access.isAdmin).toBe(mockAccessConfig.isAdmin);
|
|
437
|
+
expect(result.access.isDocumentOwner).toBe(mockAccessConfig.isDocumentOwner);
|
|
438
|
+
});
|
|
439
|
+
it('default publicAccess should always return true', ()=>{
|
|
440
|
+
const result = sanitizePluginConfig({
|
|
441
|
+
pluginConfig: minimalConfig
|
|
442
|
+
});
|
|
443
|
+
// @ts-expect-error - ignoring for test
|
|
444
|
+
expect(result.access.publicAccess()).toBe(true);
|
|
445
|
+
});
|
|
446
|
+
it('default isAuthenticated should be provided', ()=>{
|
|
447
|
+
const result = sanitizePluginConfig({
|
|
448
|
+
pluginConfig: minimalConfig
|
|
449
|
+
});
|
|
450
|
+
expect(result.access.isAuthenticated).toBeDefined();
|
|
451
|
+
expect(typeof result.access.isAuthenticated).toBe('function');
|
|
452
|
+
});
|
|
453
|
+
});
|
|
454
|
+
describe('complete config', ()=>{
|
|
455
|
+
it('should handle a fully configured plugin', ()=>{
|
|
456
|
+
const fullConfig = {
|
|
457
|
+
access: mockAccessConfig,
|
|
458
|
+
addresses: {
|
|
459
|
+
addressFields: ({ defaultFields })=>defaultFields,
|
|
460
|
+
supportedCountries: [
|
|
461
|
+
{
|
|
462
|
+
label: 'US',
|
|
463
|
+
value: 'US'
|
|
464
|
+
}
|
|
465
|
+
]
|
|
466
|
+
},
|
|
467
|
+
carts: {
|
|
468
|
+
allowGuestCarts: true
|
|
469
|
+
},
|
|
470
|
+
currencies: {
|
|
471
|
+
defaultCurrency: 'EUR',
|
|
472
|
+
supportedCurrencies: [
|
|
473
|
+
USD,
|
|
474
|
+
EUR
|
|
475
|
+
]
|
|
476
|
+
},
|
|
477
|
+
customers: {
|
|
478
|
+
slug: 'customers'
|
|
479
|
+
},
|
|
480
|
+
inventory: {
|
|
481
|
+
fieldName: 'stock'
|
|
482
|
+
},
|
|
483
|
+
orders: true,
|
|
484
|
+
payments: {
|
|
485
|
+
paymentMethods: []
|
|
486
|
+
},
|
|
487
|
+
products: {
|
|
488
|
+
variants: true
|
|
489
|
+
},
|
|
490
|
+
slugMap: {
|
|
491
|
+
products: 'items'
|
|
492
|
+
},
|
|
493
|
+
transactions: true
|
|
494
|
+
};
|
|
495
|
+
const result = sanitizePluginConfig({
|
|
496
|
+
pluginConfig: fullConfig
|
|
497
|
+
});
|
|
498
|
+
expect(result.customers.slug).toBe('customers');
|
|
499
|
+
expect(result.currencies.defaultCurrency).toBe('EUR');
|
|
500
|
+
expect(result.inventory).toEqual({
|
|
501
|
+
fieldName: 'stock'
|
|
502
|
+
});
|
|
503
|
+
expect(result.carts).toHaveProperty('allowGuestCarts', true);
|
|
504
|
+
expect(result.orders).toBe(true);
|
|
505
|
+
expect(result.transactions).toBe(true);
|
|
506
|
+
expect(result.products).toEqual({
|
|
507
|
+
variants: true
|
|
508
|
+
});
|
|
509
|
+
expect(result.slugMap).toEqual({
|
|
510
|
+
products: 'items'
|
|
511
|
+
});
|
|
512
|
+
});
|
|
513
|
+
});
|
|
514
|
+
});
|
|
515
|
+
|
|
516
|
+
//# sourceMappingURL=sanitizePluginConfig.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/sanitizePluginConfig.spec.ts"],"sourcesContent":["import { describe, it, expect, vitest } from 'vitest'\nimport type { EcommercePluginConfig } from '../types/index.js'\n\nimport { EUR, USD } from '../currencies/index.js'\nimport { sanitizePluginConfig } from './sanitizePluginConfig'\n\ndescribe('sanitizePluginConfig', () => {\n const mockAccessConfig = {\n adminOnlyFieldAccess: vitest.fn(),\n adminOrPublishedStatus: vitest.fn(),\n customerOnlyFieldAccess: vitest.fn(),\n isAdmin: vitest.fn(),\n isAuthenticated: vitest.fn(),\n isDocumentOwner: vitest.fn(),\n }\n\n const minimalConfig: EcommercePluginConfig = {\n access: mockAccessConfig,\n customers: {\n slug: 'users',\n },\n }\n\n describe('customers', () => {\n it('should default customers slug to \"users\" when undefined', () => {\n const config: EcommercePluginConfig = {\n access: mockAccessConfig,\n customers: undefined as any,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.customers).toEqual({\n slug: 'users',\n })\n })\n\n it('should preserve custom customers slug', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n customers: {\n slug: 'custom-users',\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.customers.slug).toBe('custom-users')\n })\n })\n\n describe('addresses', () => {\n it('should create default addresses config when undefined', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.addresses).toBeDefined()\n expect(result.addresses.addressFields).toBeDefined()\n expect(Array.isArray(result.addresses.addressFields)).toBe(true)\n expect(result.addresses.addressFields.length).toBeGreaterThan(0)\n })\n\n it('should create default addresses config when set to true', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n addresses: true,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.addresses).toBeDefined()\n expect(result.addresses.addressFields).toBeDefined()\n expect(Array.isArray(result.addresses.addressFields)).toBe(true)\n })\n\n it('should use custom addressFields function', () => {\n const customField = {\n name: 'customField',\n type: 'text' as const,\n }\n\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n addresses: {\n addressFields: ({ defaultFields }) => [...defaultFields, customField],\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.addresses.addressFields).toBeDefined()\n const lastField = result.addresses.addressFields[result.addresses.addressFields.length - 1]\n expect(lastField).toEqual(customField)\n })\n\n it('should preserve other address config properties', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n addresses: {\n addressFields: ({ defaultFields }) => defaultFields,\n supportedCountries: [\n { label: 'United States', value: 'US' },\n { label: 'Canada', value: 'CA' },\n ],\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.addresses.supportedCountries).toEqual([\n { label: 'United States', value: 'US' },\n { label: 'Canada', value: 'CA' },\n ])\n })\n })\n\n describe('currencies', () => {\n it('should default to USD when undefined', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.currencies).toEqual({\n defaultCurrency: 'USD',\n supportedCurrencies: [USD],\n })\n })\n\n it('should preserve custom currencies config', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n currencies: {\n defaultCurrency: 'EUR',\n supportedCurrencies: [USD, EUR],\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.currencies).toEqual({\n defaultCurrency: 'EUR',\n supportedCurrencies: [USD, EUR],\n })\n })\n })\n\n describe('inventory', () => {\n it('should default inventory config when undefined', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.inventory).toEqual({\n fieldName: 'inventory',\n })\n })\n\n it('should default inventory config when set to true', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n inventory: true,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.inventory).toEqual({\n fieldName: 'inventory',\n })\n })\n\n it('should preserve custom inventory config', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n inventory: {\n fieldName: 'stock',\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.inventory).toEqual({\n fieldName: 'stock',\n })\n })\n\n it('should allow disabling inventory with false', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n inventory: false,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.inventory).toBe(false)\n })\n })\n\n describe('carts', () => {\n it('should default carts to object with allowGuestCarts true when undefined', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.carts).toEqual({\n allowGuestCarts: true,\n })\n })\n\n it('should convert carts true to object with allowGuestCarts true', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n carts: true,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.carts).toEqual({\n allowGuestCarts: true,\n })\n })\n\n it('should preserve carts false', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n carts: false,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.carts).toBe(false)\n })\n\n it('should default allowGuestCarts to true when carts is object without it', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n carts: {} as any,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.carts).toEqual({\n allowGuestCarts: true,\n })\n })\n\n it('should preserve explicit allowGuestCarts false', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n carts: {\n allowGuestCarts: false,\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.carts).toEqual({\n allowGuestCarts: false,\n })\n })\n\n it('should preserve other carts config properties', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n carts: {\n allowGuestCarts: false,\n cartsCollectionOverride: vitest.fn() as any,\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.carts).toHaveProperty('allowGuestCarts', false)\n expect(result.carts).toHaveProperty('cartsCollectionOverride')\n })\n })\n\n describe('orders', () => {\n it('should default orders to true when undefined', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.orders).toBe(true)\n })\n\n it('should preserve orders config', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n orders: false,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.orders).toBe(false)\n })\n })\n\n describe('transactions', () => {\n it('should default transactions to true when undefined', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.transactions).toBe(true)\n })\n\n it('should preserve transactions config', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n transactions: false,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.transactions).toBe(false)\n })\n })\n\n describe('payments', () => {\n it('should default payments to empty array when undefined', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.payments).toEqual({\n paymentMethods: [],\n })\n })\n\n it('should default paymentMethods to empty array when not provided', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n payments: {} as any,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.payments.paymentMethods).toEqual([])\n })\n\n it('should preserve payment methods', () => {\n const mockAdapter = {\n name: 'stripe',\n label: 'Stripe',\n } as any\n\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n payments: {\n paymentMethods: [mockAdapter],\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.payments.paymentMethods).toEqual([mockAdapter])\n })\n })\n\n describe('products', () => {\n it('should default variants to true when products is object and variants is undefined', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n products: {},\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.products).toEqual({\n variants: true,\n })\n })\n\n it('should preserve variants config when provided', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n products: {\n variants: false,\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.products).toEqual({\n variants: false,\n })\n })\n\n it('should not modify products when set to true', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n products: true,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.products).toBe(true)\n })\n\n it('should not modify products when set to false', () => {\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n products: false,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.products).toBe(false)\n })\n })\n\n describe('access', () => {\n it('should provide default isAuthenticated function', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.access.isAuthenticated).toBeDefined()\n expect(typeof result.access.isAuthenticated).toBe('function')\n })\n\n it('should provide default publicAccess function', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.access.publicAccess).toBeDefined()\n expect(typeof result.access.publicAccess).toBe('function')\n })\n\n it('should allow user-provided access functions to override defaults', () => {\n const customIsAuthenticated = vitest.fn()\n const customPublicAccess = vitest.fn()\n\n const config: EcommercePluginConfig = {\n ...minimalConfig,\n access: {\n ...mockAccessConfig,\n isAuthenticated: customIsAuthenticated,\n publicAccess: customPublicAccess,\n },\n }\n\n const result = sanitizePluginConfig({ pluginConfig: config })\n\n expect(result.access.isAuthenticated).toBe(customIsAuthenticated)\n expect(result.access.publicAccess).toBe(customPublicAccess)\n })\n\n it('should preserve all user-provided access functions', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.access.adminOnlyFieldAccess).toBe(mockAccessConfig.adminOnlyFieldAccess)\n expect(result.access.adminOrPublishedStatus).toBe(mockAccessConfig.adminOrPublishedStatus)\n expect(result.access.customerOnlyFieldAccess).toBe(mockAccessConfig.customerOnlyFieldAccess)\n expect(result.access.isAdmin).toBe(mockAccessConfig.isAdmin)\n expect(result.access.isDocumentOwner).toBe(mockAccessConfig.isDocumentOwner)\n })\n\n it('default publicAccess should always return true', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n // @ts-expect-error - ignoring for test\n expect(result.access.publicAccess()).toBe(true)\n })\n\n it('default isAuthenticated should be provided', () => {\n const result = sanitizePluginConfig({ pluginConfig: minimalConfig })\n\n expect(result.access.isAuthenticated).toBeDefined()\n expect(typeof result.access.isAuthenticated).toBe('function')\n })\n })\n\n describe('complete config', () => {\n it('should handle a fully configured plugin', () => {\n const fullConfig: EcommercePluginConfig = {\n access: mockAccessConfig,\n addresses: {\n addressFields: ({ defaultFields }) => defaultFields,\n supportedCountries: [{ label: 'US', value: 'US' }],\n },\n carts: {\n allowGuestCarts: true,\n },\n currencies: {\n defaultCurrency: 'EUR',\n supportedCurrencies: [USD, EUR],\n },\n customers: {\n slug: 'customers',\n },\n inventory: {\n fieldName: 'stock',\n },\n orders: true,\n payments: {\n paymentMethods: [],\n },\n products: {\n variants: true,\n },\n slugMap: {\n products: 'items',\n },\n transactions: true,\n }\n\n const result = sanitizePluginConfig({ pluginConfig: fullConfig })\n\n expect(result.customers.slug).toBe('customers')\n expect(result.currencies.defaultCurrency).toBe('EUR')\n expect(result.inventory).toEqual({ fieldName: 'stock' })\n expect(result.carts).toHaveProperty('allowGuestCarts', true)\n expect(result.orders).toBe(true)\n expect(result.transactions).toBe(true)\n expect(result.products).toEqual({ variants: true })\n expect(result.slugMap).toEqual({ products: 'items' })\n })\n })\n})\n"],"names":["describe","it","expect","vitest","EUR","USD","sanitizePluginConfig","mockAccessConfig","adminOnlyFieldAccess","fn","adminOrPublishedStatus","customerOnlyFieldAccess","isAdmin","isAuthenticated","isDocumentOwner","minimalConfig","access","customers","slug","config","undefined","result","pluginConfig","toEqual","toBe","addresses","toBeDefined","addressFields","Array","isArray","length","toBeGreaterThan","customField","name","type","defaultFields","lastField","supportedCountries","label","value","currencies","defaultCurrency","supportedCurrencies","inventory","fieldName","carts","allowGuestCarts","cartsCollectionOverride","toHaveProperty","orders","transactions","payments","paymentMethods","mockAdapter","products","variants","publicAccess","customIsAuthenticated","customPublicAccess","fullConfig","slugMap"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,MAAM,QAAQ,SAAQ;AAGrD,SAASC,GAAG,EAAEC,GAAG,QAAQ,yBAAwB;AACjD,SAASC,oBAAoB,QAAQ,yBAAwB;AAE7DN,SAAS,wBAAwB;IAC/B,MAAMO,mBAAmB;QACvBC,sBAAsBL,OAAOM,EAAE;QAC/BC,wBAAwBP,OAAOM,EAAE;QACjCE,yBAAyBR,OAAOM,EAAE;QAClCG,SAAST,OAAOM,EAAE;QAClBI,iBAAiBV,OAAOM,EAAE;QAC1BK,iBAAiBX,OAAOM,EAAE;IAC5B;IAEA,MAAMM,gBAAuC;QAC3CC,QAAQT;QACRU,WAAW;YACTC,MAAM;QACR;IACF;IAEAlB,SAAS,aAAa;QACpBC,GAAG,2DAA2D;YAC5D,MAAMkB,SAAgC;gBACpCH,QAAQT;gBACRU,WAAWG;YACb;YAEA,MAAMC,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOJ,SAAS,EAAEM,OAAO,CAAC;gBAC/BL,MAAM;YACR;QACF;QAEAjB,GAAG,yCAAyC;YAC1C,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBE,WAAW;oBACTC,MAAM;gBACR;YACF;YAEA,MAAMG,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOJ,SAAS,CAACC,IAAI,EAAEM,IAAI,CAAC;QACrC;IACF;IAEAxB,SAAS,aAAa;QACpBC,GAAG,yDAAyD;YAC1D,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAOI,SAAS,EAAEC,WAAW;YACpCxB,OAAOmB,OAAOI,SAAS,CAACE,aAAa,EAAED,WAAW;YAClDxB,OAAO0B,MAAMC,OAAO,CAACR,OAAOI,SAAS,CAACE,aAAa,GAAGH,IAAI,CAAC;YAC3DtB,OAAOmB,OAAOI,SAAS,CAACE,aAAa,CAACG,MAAM,EAAEC,eAAe,CAAC;QAChE;QAEA9B,GAAG,2DAA2D;YAC5D,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBU,WAAW;YACb;YAEA,MAAMJ,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOI,SAAS,EAAEC,WAAW;YACpCxB,OAAOmB,OAAOI,SAAS,CAACE,aAAa,EAAED,WAAW;YAClDxB,OAAO0B,MAAMC,OAAO,CAACR,OAAOI,SAAS,CAACE,aAAa,GAAGH,IAAI,CAAC;QAC7D;QAEAvB,GAAG,4CAA4C;YAC7C,MAAM+B,cAAc;gBAClBC,MAAM;gBACNC,MAAM;YACR;YAEA,MAAMf,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBU,WAAW;oBACTE,eAAe,CAAC,EAAEQ,aAAa,EAAE,GAAK;+BAAIA;4BAAeH;yBAAY;gBACvE;YACF;YAEA,MAAMX,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOI,SAAS,CAACE,aAAa,EAAED,WAAW;YAClD,MAAMU,YAAYf,OAAOI,SAAS,CAACE,aAAa,CAACN,OAAOI,SAAS,CAACE,aAAa,CAACG,MAAM,GAAG,EAAE;YAC3F5B,OAAOkC,WAAWb,OAAO,CAACS;QAC5B;QAEA/B,GAAG,mDAAmD;YACpD,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBU,WAAW;oBACTE,eAAe,CAAC,EAAEQ,aAAa,EAAE,GAAKA;oBACtCE,oBAAoB;wBAClB;4BAAEC,OAAO;4BAAiBC,OAAO;wBAAK;wBACtC;4BAAED,OAAO;4BAAUC,OAAO;wBAAK;qBAChC;gBACH;YACF;YAEA,MAAMlB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOI,SAAS,CAACY,kBAAkB,EAAEd,OAAO,CAAC;gBAClD;oBAAEe,OAAO;oBAAiBC,OAAO;gBAAK;gBACtC;oBAAED,OAAO;oBAAUC,OAAO;gBAAK;aAChC;QACH;IACF;IAEAvC,SAAS,cAAc;QACrBC,GAAG,wCAAwC;YACzC,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAOmB,UAAU,EAAEjB,OAAO,CAAC;gBAChCkB,iBAAiB;gBACjBC,qBAAqB;oBAACrC;iBAAI;YAC5B;QACF;QAEAJ,GAAG,4CAA4C;YAC7C,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChByB,YAAY;oBACVC,iBAAiB;oBACjBC,qBAAqB;wBAACrC;wBAAKD;qBAAI;gBACjC;YACF;YAEA,MAAMiB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOmB,UAAU,EAAEjB,OAAO,CAAC;gBAChCkB,iBAAiB;gBACjBC,qBAAqB;oBAACrC;oBAAKD;iBAAI;YACjC;QACF;IACF;IAEAJ,SAAS,aAAa;QACpBC,GAAG,kDAAkD;YACnD,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAOsB,SAAS,EAAEpB,OAAO,CAAC;gBAC/BqB,WAAW;YACb;QACF;QAEA3C,GAAG,oDAAoD;YACrD,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChB4B,WAAW;YACb;YAEA,MAAMtB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOsB,SAAS,EAAEpB,OAAO,CAAC;gBAC/BqB,WAAW;YACb;QACF;QAEA3C,GAAG,2CAA2C;YAC5C,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChB4B,WAAW;oBACTC,WAAW;gBACb;YACF;YAEA,MAAMvB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOsB,SAAS,EAAEpB,OAAO,CAAC;gBAC/BqB,WAAW;YACb;QACF;QAEA3C,GAAG,+CAA+C;YAChD,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChB4B,WAAW;YACb;YAEA,MAAMtB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOsB,SAAS,EAAEnB,IAAI,CAAC;QAChC;IACF;IAEAxB,SAAS,SAAS;QAChBC,GAAG,2EAA2E;YAC5E,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAOwB,KAAK,EAAEtB,OAAO,CAAC;gBAC3BuB,iBAAiB;YACnB;QACF;QAEA7C,GAAG,iEAAiE;YAClE,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChB8B,OAAO;YACT;YAEA,MAAMxB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOwB,KAAK,EAAEtB,OAAO,CAAC;gBAC3BuB,iBAAiB;YACnB;QACF;QAEA7C,GAAG,+BAA+B;YAChC,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChB8B,OAAO;YACT;YAEA,MAAMxB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOwB,KAAK,EAAErB,IAAI,CAAC;QAC5B;QAEAvB,GAAG,0EAA0E;YAC3E,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChB8B,OAAO,CAAC;YACV;YAEA,MAAMxB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOwB,KAAK,EAAEtB,OAAO,CAAC;gBAC3BuB,iBAAiB;YACnB;QACF;QAEA7C,GAAG,kDAAkD;YACnD,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChB8B,OAAO;oBACLC,iBAAiB;gBACnB;YACF;YAEA,MAAMzB,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOwB,KAAK,EAAEtB,OAAO,CAAC;gBAC3BuB,iBAAiB;YACnB;QACF;QAEA7C,GAAG,iDAAiD;YAClD,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChB8B,OAAO;oBACLC,iBAAiB;oBACjBC,yBAAyB5C,OAAOM,EAAE;gBACpC;YACF;YAEA,MAAMY,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOwB,KAAK,EAAEG,cAAc,CAAC,mBAAmB;YACvD9C,OAAOmB,OAAOwB,KAAK,EAAEG,cAAc,CAAC;QACtC;IACF;IAEAhD,SAAS,UAAU;QACjBC,GAAG,gDAAgD;YACjD,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAO4B,MAAM,EAAEzB,IAAI,CAAC;QAC7B;QAEAvB,GAAG,iCAAiC;YAClC,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBkC,QAAQ;YACV;YAEA,MAAM5B,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAO4B,MAAM,EAAEzB,IAAI,CAAC;QAC7B;IACF;IAEAxB,SAAS,gBAAgB;QACvBC,GAAG,sDAAsD;YACvD,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAO6B,YAAY,EAAE1B,IAAI,CAAC;QACnC;QAEAvB,GAAG,uCAAuC;YACxC,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBmC,cAAc;YAChB;YAEA,MAAM7B,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAO6B,YAAY,EAAE1B,IAAI,CAAC;QACnC;IACF;IAEAxB,SAAS,YAAY;QACnBC,GAAG,yDAAyD;YAC1D,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAO8B,QAAQ,EAAE5B,OAAO,CAAC;gBAC9B6B,gBAAgB,EAAE;YACpB;QACF;QAEAnD,GAAG,kEAAkE;YACnE,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBoC,UAAU,CAAC;YACb;YAEA,MAAM9B,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAO8B,QAAQ,CAACC,cAAc,EAAE7B,OAAO,CAAC,EAAE;QACnD;QAEAtB,GAAG,mCAAmC;YACpC,MAAMoD,cAAc;gBAClBpB,MAAM;gBACNK,OAAO;YACT;YAEA,MAAMnB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBoC,UAAU;oBACRC,gBAAgB;wBAACC;qBAAY;gBAC/B;YACF;YAEA,MAAMhC,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAO8B,QAAQ,CAACC,cAAc,EAAE7B,OAAO,CAAC;gBAAC8B;aAAY;QAC9D;IACF;IAEArD,SAAS,YAAY;QACnBC,GAAG,qFAAqF;YACtF,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBuC,UAAU,CAAC;YACb;YAEA,MAAMjC,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOiC,QAAQ,EAAE/B,OAAO,CAAC;gBAC9BgC,UAAU;YACZ;QACF;QAEAtD,GAAG,iDAAiD;YAClD,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBuC,UAAU;oBACRC,UAAU;gBACZ;YACF;YAEA,MAAMlC,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOiC,QAAQ,EAAE/B,OAAO,CAAC;gBAC9BgC,UAAU;YACZ;QACF;QAEAtD,GAAG,+CAA+C;YAChD,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBuC,UAAU;YACZ;YAEA,MAAMjC,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOiC,QAAQ,EAAE9B,IAAI,CAAC;QAC/B;QAEAvB,GAAG,gDAAgD;YACjD,MAAMkB,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBuC,UAAU;YACZ;YAEA,MAAMjC,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOiC,QAAQ,EAAE9B,IAAI,CAAC;QAC/B;IACF;IAEAxB,SAAS,UAAU;QACjBC,GAAG,mDAAmD;YACpD,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAOL,MAAM,CAACH,eAAe,EAAEa,WAAW;YACjDxB,OAAO,OAAOmB,OAAOL,MAAM,CAACH,eAAe,EAAEW,IAAI,CAAC;QACpD;QAEAvB,GAAG,gDAAgD;YACjD,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAOL,MAAM,CAACwC,YAAY,EAAE9B,WAAW;YAC9CxB,OAAO,OAAOmB,OAAOL,MAAM,CAACwC,YAAY,EAAEhC,IAAI,CAAC;QACjD;QAEAvB,GAAG,oEAAoE;YACrE,MAAMwD,wBAAwBtD,OAAOM,EAAE;YACvC,MAAMiD,qBAAqBvD,OAAOM,EAAE;YAEpC,MAAMU,SAAgC;gBACpC,GAAGJ,aAAa;gBAChBC,QAAQ;oBACN,GAAGT,gBAAgB;oBACnBM,iBAAiB4C;oBACjBD,cAAcE;gBAChB;YACF;YAEA,MAAMrC,SAASf,qBAAqB;gBAAEgB,cAAcH;YAAO;YAE3DjB,OAAOmB,OAAOL,MAAM,CAACH,eAAe,EAAEW,IAAI,CAACiC;YAC3CvD,OAAOmB,OAAOL,MAAM,CAACwC,YAAY,EAAEhC,IAAI,CAACkC;QAC1C;QAEAzD,GAAG,sDAAsD;YACvD,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAOL,MAAM,CAACR,oBAAoB,EAAEgB,IAAI,CAACjB,iBAAiBC,oBAAoB;YACrFN,OAAOmB,OAAOL,MAAM,CAACN,sBAAsB,EAAEc,IAAI,CAACjB,iBAAiBG,sBAAsB;YACzFR,OAAOmB,OAAOL,MAAM,CAACL,uBAAuB,EAAEa,IAAI,CAACjB,iBAAiBI,uBAAuB;YAC3FT,OAAOmB,OAAOL,MAAM,CAACJ,OAAO,EAAEY,IAAI,CAACjB,iBAAiBK,OAAO;YAC3DV,OAAOmB,OAAOL,MAAM,CAACF,eAAe,EAAEU,IAAI,CAACjB,iBAAiBO,eAAe;QAC7E;QAEAb,GAAG,kDAAkD;YACnD,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElE,uCAAuC;YACvCb,OAAOmB,OAAOL,MAAM,CAACwC,YAAY,IAAIhC,IAAI,CAAC;QAC5C;QAEAvB,GAAG,8CAA8C;YAC/C,MAAMoB,SAASf,qBAAqB;gBAAEgB,cAAcP;YAAc;YAElEb,OAAOmB,OAAOL,MAAM,CAACH,eAAe,EAAEa,WAAW;YACjDxB,OAAO,OAAOmB,OAAOL,MAAM,CAACH,eAAe,EAAEW,IAAI,CAAC;QACpD;IACF;IAEAxB,SAAS,mBAAmB;QAC1BC,GAAG,2CAA2C;YAC5C,MAAM0D,aAAoC;gBACxC3C,QAAQT;gBACRkB,WAAW;oBACTE,eAAe,CAAC,EAAEQ,aAAa,EAAE,GAAKA;oBACtCE,oBAAoB;wBAAC;4BAAEC,OAAO;4BAAMC,OAAO;wBAAK;qBAAE;gBACpD;gBACAM,OAAO;oBACLC,iBAAiB;gBACnB;gBACAN,YAAY;oBACVC,iBAAiB;oBACjBC,qBAAqB;wBAACrC;wBAAKD;qBAAI;gBACjC;gBACAa,WAAW;oBACTC,MAAM;gBACR;gBACAyB,WAAW;oBACTC,WAAW;gBACb;gBACAK,QAAQ;gBACRE,UAAU;oBACRC,gBAAgB,EAAE;gBACpB;gBACAE,UAAU;oBACRC,UAAU;gBACZ;gBACAK,SAAS;oBACPN,UAAU;gBACZ;gBACAJ,cAAc;YAChB;YAEA,MAAM7B,SAASf,qBAAqB;gBAAEgB,cAAcqC;YAAW;YAE/DzD,OAAOmB,OAAOJ,SAAS,CAACC,IAAI,EAAEM,IAAI,CAAC;YACnCtB,OAAOmB,OAAOmB,UAAU,CAACC,eAAe,EAAEjB,IAAI,CAAC;YAC/CtB,OAAOmB,OAAOsB,SAAS,EAAEpB,OAAO,CAAC;gBAAEqB,WAAW;YAAQ;YACtD1C,OAAOmB,OAAOwB,KAAK,EAAEG,cAAc,CAAC,mBAAmB;YACvD9C,OAAOmB,OAAO4B,MAAM,EAAEzB,IAAI,CAAC;YAC3BtB,OAAOmB,OAAO6B,YAAY,EAAE1B,IAAI,CAAC;YACjCtB,OAAOmB,OAAOiC,QAAQ,EAAE/B,OAAO,CAAC;gBAAEgC,UAAU;YAAK;YACjDrD,OAAOmB,OAAOuC,OAAO,EAAErC,OAAO,CAAC;gBAAE+B,UAAU;YAAQ;QACrD;IACF;AACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@shadowmkj/plugin-ecommerce",
|
|
3
|
+
"version": "3.85.1",
|
|
4
|
+
"description": "Ecommerce plugin for Payload",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"payload",
|
|
7
|
+
"cms",
|
|
8
|
+
"plugin",
|
|
9
|
+
"typescript",
|
|
10
|
+
"react",
|
|
11
|
+
"ecommerce"
|
|
12
|
+
],
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/shadowmkj/plugin-ecommerce.git",
|
|
16
|
+
"directory": "packages/plugin-ecommerce"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"author": "Payload <dev@payloadcms.com> (https://payloadcms.com)",
|
|
20
|
+
"maintainers": [
|
|
21
|
+
{
|
|
22
|
+
"name": "Payload",
|
|
23
|
+
"email": "info@payloadcms.com",
|
|
24
|
+
"url": "https://payloadcms.com"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"type": "module",
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"import": "./dist/index.js",
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"default": "./dist/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./types": {
|
|
35
|
+
"import": "./dist/exports/types.js",
|
|
36
|
+
"types": "./dist/exports/types.d.ts",
|
|
37
|
+
"default": "./dist/exports/types.js"
|
|
38
|
+
},
|
|
39
|
+
"./payments/stripe": {
|
|
40
|
+
"import": "./dist/exports/payments/stripe.js",
|
|
41
|
+
"types": "./dist/exports/payments/stripe.d.ts",
|
|
42
|
+
"default": "./dist/exports/payments/stripe.js"
|
|
43
|
+
},
|
|
44
|
+
"./payments/cod": {
|
|
45
|
+
"import": "./dist/exports/payments/cod.js",
|
|
46
|
+
"types": "./dist/exports/payments/cod.d.ts",
|
|
47
|
+
"default": "./dist/exports/payments/cod.js"
|
|
48
|
+
},
|
|
49
|
+
"./rsc": {
|
|
50
|
+
"import": "./dist/exports/rsc.js",
|
|
51
|
+
"types": "./dist/exports/rsc.d.ts",
|
|
52
|
+
"default": "./dist/exports/rsc.js"
|
|
53
|
+
},
|
|
54
|
+
"./client": {
|
|
55
|
+
"import": "./dist/exports/client/index.js",
|
|
56
|
+
"types": "./dist/exports/client/index.d.ts",
|
|
57
|
+
"default": "./dist/exports/client/index.js"
|
|
58
|
+
},
|
|
59
|
+
"./client/react": {
|
|
60
|
+
"import": "./dist/exports/client/react.js",
|
|
61
|
+
"types": "./dist/exports/client/react.d.ts",
|
|
62
|
+
"default": "./dist/exports/client/react.js"
|
|
63
|
+
},
|
|
64
|
+
"./translations/languages/all": {
|
|
65
|
+
"import": "./dist/translations/index.js",
|
|
66
|
+
"types": "./dist/translations/index.d.ts",
|
|
67
|
+
"default": "./dist/translations/index.js"
|
|
68
|
+
},
|
|
69
|
+
"./translations/languages/*": {
|
|
70
|
+
"import": "./dist/translations/languages/*.js",
|
|
71
|
+
"types": "./dist/translations/languages/*.d.ts",
|
|
72
|
+
"default": "./dist/translations/languages/*.js"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"main": "./dist/index.js",
|
|
76
|
+
"types": "./dist/index.d.ts",
|
|
77
|
+
"files": [
|
|
78
|
+
"dist"
|
|
79
|
+
],
|
|
80
|
+
"dependencies": {
|
|
81
|
+
"qs-esm": "8.0.1",
|
|
82
|
+
"@payloadcms/translations": "3.85.1",
|
|
83
|
+
"@payloadcms/ui": "3.85.1"
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@types/json-schema": "7.0.15",
|
|
87
|
+
"@types/react": "19.2.14",
|
|
88
|
+
"@types/react-dom": "19.2.3",
|
|
89
|
+
"stripe": "18.3.0",
|
|
90
|
+
"@payloadcms/translations": "3.85.1",
|
|
91
|
+
"payload": "3.85.1",
|
|
92
|
+
"@payloadcms/eslint-config": "3.28.0",
|
|
93
|
+
"@payloadcms/next": "3.85.1"
|
|
94
|
+
},
|
|
95
|
+
"peerDependencies": {
|
|
96
|
+
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
97
|
+
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
98
|
+
"payload": "3.85.1"
|
|
99
|
+
},
|
|
100
|
+
"publishConfig": {
|
|
101
|
+
"registry": "https://registry.npmjs.org/"
|
|
102
|
+
},
|
|
103
|
+
"homepage:": "https://payloadcms.com",
|
|
104
|
+
"scripts": {
|
|
105
|
+
"build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
|
|
106
|
+
"build:debug": "pnpm build",
|
|
107
|
+
"build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
|
|
108
|
+
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
109
|
+
"clean": "rimraf -g {dist,*.tsbuildinfo}",
|
|
110
|
+
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
|
|
111
|
+
"lint": "eslint .",
|
|
112
|
+
"lint:fix": "eslint . --fix"
|
|
113
|
+
}
|
|
114
|
+
}
|