@mercurjs/core 2.3.2-canary.4 → 2.3.2

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.
Files changed (68) hide show
  1. package/.medusa/server/src/api/admin/orders/[id]/route.d.ts +4 -0
  2. package/.medusa/server/src/api/admin/orders/[id]/route.js +25 -0
  3. package/.medusa/server/src/api/admin/orders/route.js +31 -1
  4. package/.medusa/server/src/api/admin/products/validators.d.ts +26 -26
  5. package/.medusa/server/src/api/hooks/payment/[provider]/route.d.ts +2 -0
  6. package/.medusa/server/src/api/hooks/payment/[provider]/route.js +39 -0
  7. package/.medusa/server/src/api/store/orders/[id]/route.d.ts +3 -0
  8. package/.medusa/server/src/api/store/orders/[id]/route.js +19 -0
  9. package/.medusa/server/src/api/store/orders/route.d.ts +3 -0
  10. package/.medusa/server/src/api/store/orders/route.js +34 -0
  11. package/.medusa/server/src/api/utils/ensure-seller-scope-middleware.d.ts +12 -0
  12. package/.medusa/server/src/api/utils/ensure-seller-scope-middleware.js +42 -0
  13. package/.medusa/server/src/api/utils/index.d.ts +2 -0
  14. package/.medusa/server/src/api/utils/index.js +3 -1
  15. package/.medusa/server/src/api/utils/split-order-payment-status.d.ts +10 -0
  16. package/.medusa/server/src/api/utils/split-order-payment-status.js +38 -0
  17. package/.medusa/server/src/api/vendor/middlewares.js +5 -3
  18. package/.medusa/server/src/api/vendor/orders/helpers.d.ts +1 -10
  19. package/.medusa/server/src/api/vendor/orders/helpers.js +5 -33
  20. package/.medusa/server/src/api/vendor/products/validators.d.ts +8 -8
  21. package/.medusa/server/src/api/vendor/sellers/middlewares.js +18 -2
  22. package/.medusa/server/src/api/vendor/stores/query-config.d.ts +5 -0
  23. package/.medusa/server/src/api/vendor/stores/query-config.js +9 -2
  24. package/.medusa/server/src/api/vendor/stores/route.js +5 -1
  25. package/.medusa/server/src/modules/product-edit/migrations/Migration20260828120000.d.ts +5 -0
  26. package/.medusa/server/src/modules/product-edit/migrations/Migration20260828120000.js +20 -0
  27. package/.medusa/server/src/modules/product-edit/models/product-change.js +7 -1
  28. package/.medusa/server/src/patches/apply-patch.d.ts +30 -0
  29. package/.medusa/server/src/patches/apply-patch.js +75 -0
  30. package/.medusa/server/src/patches/index.d.ts +7 -0
  31. package/.medusa/server/src/patches/index.js +110 -0
  32. package/.medusa/server/src/patches/jest-transformer.d.ts +14 -0
  33. package/.medusa/server/src/patches/jest-transformer.js +36 -0
  34. package/.medusa/server/src/patches/loader.d.ts +21 -0
  35. package/.medusa/server/src/patches/loader.js +124 -0
  36. package/.medusa/server/src/patches/manifest.d.ts +17 -0
  37. package/.medusa/server/src/patches/manifest.js +19 -0
  38. package/.medusa/server/src/patches/patches/@medusajs+core-flows@2.18.0.patch +21 -0
  39. package/.medusa/server/src/patches/resolve-package-dirs.d.ts +7 -0
  40. package/.medusa/server/src/patches/resolve-package-dirs.js +80 -0
  41. package/.medusa/server/src/patches/unified-diff.d.ts +25 -0
  42. package/.medusa/server/src/patches/unified-diff.js +127 -0
  43. package/.medusa/server/src/patches/version.d.ts +5 -0
  44. package/.medusa/server/src/patches/version.js +26 -0
  45. package/.medusa/server/src/subscribers/payment-webhook.d.ts +4 -0
  46. package/.medusa/server/src/subscribers/payment-webhook.js +42 -0
  47. package/.medusa/server/src/with-mercur.d.ts +8 -0
  48. package/.medusa/server/src/with-mercur.js +10 -1
  49. package/.medusa/server/src/workflows/events.d.ts +10 -0
  50. package/.medusa/server/src/workflows/events.js +12 -2
  51. package/.medusa/server/src/workflows/index.d.ts +1 -0
  52. package/.medusa/server/src/workflows/index.js +2 -1
  53. package/.medusa/server/src/workflows/payment/index.d.ts +1 -0
  54. package/.medusa/server/src/workflows/payment/index.js +18 -0
  55. package/.medusa/server/src/workflows/payment/workflows/index.d.ts +1 -0
  56. package/.medusa/server/src/workflows/payment/workflows/index.js +18 -0
  57. package/.medusa/server/src/workflows/payment/workflows/process-payment.d.ts +17 -0
  58. package/.medusa/server/src/workflows/payment/workflows/process-payment.js +142 -0
  59. package/.medusa/server/src/workflows/product/workflows/create-products.js +36 -14
  60. package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.js +16 -2
  61. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +5 -0
  62. package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +11 -12
  63. package/.medusa/server/src/workflows/product-edit/workflows/create-product-change.js +10 -3
  64. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +2 -1
  65. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +94 -5
  66. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.js +2 -1
  67. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +2 -1
  68. package/package.json +6 -5
@@ -1,38 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateSellerOrder = exports.normalizeOrderPaymentCollections = exports.withCartPaymentCollectionFields = void 0;
3
+ exports.validateSellerOrder = exports.withCartPaymentCollectionFields = exports.normalizeOrderPaymentCollections = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
- const utils_2 = require("@medusajs/framework/utils");
6
- const aggregate_status_1 = require("../../../workflows/order-group/utils/aggregate-status");
7
- // The shared cart payment collection is reached through the cart, not linked
8
- // to the order. These fields must always be loaded so the routes can normalize
9
- // them back onto `payment_collections` and recompute `payment_status` — even
10
- // when the client sends an absolute `fields=` list that would otherwise replace
11
- // the route defaults.
12
- const CART_PAYMENT_COLLECTION_FIELDS = [
13
- "cart.payment_collection.*",
14
- "cart.payment_collection.payments.*",
15
- "cart.payment_collection.payments.refunds.*",
16
- "cart.payment_collection.payments.refunds.refund_reason.*",
17
- "cart.payment_collection.payment_sessions.*",
18
- ];
19
- const withCartPaymentCollectionFields = (fields) => {
20
- return (0, utils_2.deduplicate)([...fields, ...CART_PAYMENT_COLLECTION_FIELDS]);
21
- };
22
- exports.withCartPaymentCollectionFields = withCartPaymentCollectionFields;
23
- // The shared cart payment collection is fetched via `cart.payment_collection`
24
- // (it is not linked directly to an order). Expose it back on the order under
25
- // `payment_collections` so consumers keep the familiar shape, and recompute
26
- // `payment_status` from it — Medusa's aggregation reads the linked payment
27
- // collections, which are always empty for split orders under the cart-path model.
28
- const normalizeOrderPaymentCollections = (order) => {
29
- const paymentCollection = order.cart?.payment_collection;
30
- order.payment_collections = paymentCollection ? [paymentCollection] : [];
31
- delete order.cart;
32
- order.payment_status = (0, aggregate_status_1.getLastPaymentStatus)(order);
33
- return order;
34
- };
35
- exports.normalizeOrderPaymentCollections = normalizeOrderPaymentCollections;
5
+ var split_order_payment_status_1 = require("../../utils/split-order-payment-status");
6
+ Object.defineProperty(exports, "normalizeOrderPaymentCollections", { enumerable: true, get: function () { return split_order_payment_status_1.normalizeOrderPaymentCollections; } });
7
+ Object.defineProperty(exports, "withCartPaymentCollectionFields", { enumerable: true, get: function () { return split_order_payment_status_1.withCartPaymentCollectionFields; } });
36
8
  const validateSellerOrder = async (scope, sellerId, orderIdOrIds) => {
37
9
  const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
38
10
  const orderIds = Array.isArray(orderIdOrIds) ? orderIdOrIds : [orderIdOrIds];
@@ -51,4 +23,4 @@ const validateSellerOrder = async (scope, sellerId, orderIdOrIds) => {
51
23
  }
52
24
  };
53
25
  exports.validateSellerOrder = validateSellerOrder;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL29yZGVycy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHFEQUdrQztBQUVsQyxxREFBdUQ7QUFFdkQsNEZBQTRGO0FBUTVGLDZFQUE2RTtBQUM3RSwrRUFBK0U7QUFDL0UsNkVBQTZFO0FBQzdFLGdGQUFnRjtBQUNoRixzQkFBc0I7QUFDdEIsTUFBTSw4QkFBOEIsR0FBRztJQUNyQywyQkFBMkI7SUFDM0Isb0NBQW9DO0lBQ3BDLDRDQUE0QztJQUM1QywwREFBMEQ7SUFDMUQsNENBQTRDO0NBQzdDLENBQUE7QUFFTSxNQUFNLCtCQUErQixHQUFHLENBQzdDLE1BQWdCLEVBQ04sRUFBRTtJQUNaLE9BQU8sSUFBQSxtQkFBVyxFQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyw4QkFBOEIsQ0FBQyxDQUFDLENBQUE7QUFDcEUsQ0FBQyxDQUFBO0FBSlksUUFBQSwrQkFBK0IsbUNBSTNDO0FBRUQsOEVBQThFO0FBQzlFLDZFQUE2RTtBQUM3RSw0RUFBNEU7QUFDNUUsMkVBQTJFO0FBQzNFLGtGQUFrRjtBQUMzRSxNQUFNLGdDQUFnQyxHQUFHLENBRzlDLEtBQVEsRUFDTCxFQUFFO0lBQ0wsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFBO0lBQ3hELEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDeEUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFBO0lBRWpCLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBQSx1Q0FBb0IsRUFDekMsS0FBa0MsQ0FDbkMsQ0FBQTtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQyxDQUFBO0FBZFksUUFBQSxnQ0FBZ0Msb0NBYzVDO0FBRU0sTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQ3RDLEtBQXNCLEVBQ3RCLFFBQWdCLEVBQ2hCLFlBQStCLEVBQy9CLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUU1RSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMvQyxNQUFNLEVBQUUsY0FBYztRQUN0QixPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsUUFBUTtZQUNuQixRQUFRLEVBQUUsUUFBUTtTQUNuQjtRQUNELE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUM7S0FDbEMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDcEUsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFdkUsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLGtCQUFrQixlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FDN0QsQ0FBQTtJQUNILENBQUM7QUFDSCxDQUFDLENBQUE7QUEzQlksUUFBQSxtQkFBbUIsdUJBMkIvQiJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL29yZGVycy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUdrQztBQUVsQyxxRkFHK0M7QUFGN0MsOElBQUEsZ0NBQWdDLE9BQUE7QUFDaEMsNklBQUEsK0JBQStCLE9BQUE7QUFHMUIsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQ3RDLEtBQXNCLEVBQ3RCLFFBQWdCLEVBQ2hCLFlBQStCLEVBQy9CLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUU1RSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMvQyxNQUFNLEVBQUUsY0FBYztRQUN0QixPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsUUFBUTtZQUNuQixRQUFRLEVBQUUsUUFBUTtTQUNuQjtRQUNELE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUM7S0FDbEMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDcEUsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFdkUsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLGtCQUFrQixlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FDN0QsQ0FBQTtJQUNILENBQUM7QUFDSCxDQUFDLENBQUE7QUEzQlksUUFBQSxtQkFBbUIsdUJBMkIvQiJ9
@@ -496,8 +496,8 @@ declare const CreateProduct: z.ZodObject<{
496
496
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
497
497
  }, "strict", z.ZodTypeAny, {
498
498
  title: string;
499
- options?: Record<string, string> | undefined;
500
499
  length?: number | undefined;
500
+ options?: Record<string, string> | undefined;
501
501
  metadata?: Record<string, unknown> | undefined;
502
502
  sku?: string | undefined;
503
503
  ean?: string | undefined;
@@ -516,8 +516,8 @@ declare const CreateProduct: z.ZodObject<{
516
516
  variant_rank?: number | undefined;
517
517
  }, {
518
518
  title: string;
519
- options?: Record<string, string> | undefined;
520
519
  length?: number | undefined;
520
+ options?: Record<string, string> | undefined;
521
521
  metadata?: Record<string, unknown> | undefined;
522
522
  sku?: string | undefined;
523
523
  ean?: string | undefined;
@@ -671,8 +671,8 @@ declare const UpdateProduct: z.ZodObject<{
671
671
  metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
672
672
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
673
673
  }, "strict", z.ZodTypeAny, {
674
- options?: Record<string, string> | undefined;
675
674
  length?: number | null | undefined;
675
+ options?: Record<string, string> | undefined;
676
676
  id?: string | undefined;
677
677
  metadata?: Record<string, unknown> | null | undefined;
678
678
  title?: string | undefined;
@@ -693,8 +693,8 @@ declare const UpdateProduct: z.ZodObject<{
693
693
  barcode?: string | null | undefined;
694
694
  variant_rank?: number | undefined;
695
695
  }, {
696
- options?: Record<string, string> | undefined;
697
696
  length?: number | null | undefined;
697
+ options?: Record<string, string> | undefined;
698
698
  id?: string | undefined;
699
699
  metadata?: Record<string, unknown> | null | undefined;
700
700
  title?: string | undefined;
@@ -1022,8 +1022,8 @@ export declare const VendorAddProductVariant: z.ZodObject<{
1022
1022
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1023
1023
  }, "strict", z.ZodTypeAny, {
1024
1024
  title: string;
1025
- options?: Record<string, string> | undefined;
1026
1025
  length?: number | undefined;
1026
+ options?: Record<string, string> | undefined;
1027
1027
  metadata?: Record<string, unknown> | undefined;
1028
1028
  sku?: string | undefined;
1029
1029
  ean?: string | undefined;
@@ -1045,8 +1045,8 @@ export declare const VendorAddProductVariant: z.ZodObject<{
1045
1045
  allow_backorder?: boolean | undefined;
1046
1046
  }, {
1047
1047
  title: string;
1048
- options?: Record<string, string> | undefined;
1049
1048
  length?: number | undefined;
1049
+ options?: Record<string, string> | undefined;
1050
1050
  metadata?: Record<string, unknown> | undefined;
1051
1051
  sku?: string | undefined;
1052
1052
  ean?: string | undefined;
@@ -1102,8 +1102,8 @@ export declare const VendorUpdateProductVariant: z.ZodObject<{
1102
1102
  remove?: string[] | undefined;
1103
1103
  }>>;
1104
1104
  }, "strict", z.ZodTypeAny, {
1105
- options?: Record<string, string> | undefined;
1106
1105
  length?: number | null | undefined;
1106
+ options?: Record<string, string> | undefined;
1107
1107
  metadata?: Record<string, unknown> | null | undefined;
1108
1108
  title?: string | undefined;
1109
1109
  sku?: string | null | undefined;
@@ -1129,8 +1129,8 @@ export declare const VendorUpdateProductVariant: z.ZodObject<{
1129
1129
  remove?: string[] | undefined;
1130
1130
  } | undefined;
1131
1131
  }, {
1132
- options?: Record<string, string> | undefined;
1133
1132
  length?: number | null | undefined;
1133
+ options?: Record<string, string> | undefined;
1134
1134
  metadata?: Record<string, unknown> | null | undefined;
1135
1135
  title?: string | undefined;
1136
1136
  sku?: string | null | undefined;
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.vendorSellersMiddlewares = void 0;
37
37
  const policy_resources_1 = require("../../utils/policy-resources");
38
+ const ensure_seller_scope_middleware_1 = require("../../utils/ensure-seller-scope-middleware");
38
39
  const framework_1 = require("@medusajs/framework");
39
40
  const utils_1 = require("@medusajs/framework/utils");
40
41
  const QueryConfig = __importStar(require("./query-config"));
@@ -93,6 +94,7 @@ exports.vendorSellersMiddlewares = [
93
94
  method: ["GET"],
94
95
  matcher: "/vendor/sellers/:id",
95
96
  middlewares: [
97
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
96
98
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellerParams, QueryConfig.retrieveVendorSellerQueryConfig),
97
99
  ],
98
100
  policies: [
@@ -106,6 +108,7 @@ exports.vendorSellersMiddlewares = [
106
108
  method: ["POST"],
107
109
  matcher: "/vendor/sellers/:id",
108
110
  middlewares: [
111
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
109
112
  (0, framework_1.validateAndTransformBody)(validators_1.VendorUpdateSeller),
110
113
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellerParams, QueryConfig.retrieveVendorSellerQueryConfig),
111
114
  ],
@@ -120,6 +123,7 @@ exports.vendorSellersMiddlewares = [
120
123
  method: ["POST"],
121
124
  matcher: "/vendor/sellers/:id/address",
122
125
  middlewares: [
126
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
123
127
  (0, framework_1.validateAndTransformBody)(validators_1.VendorUpsertSellerAddress),
124
128
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellerParams, QueryConfig.retrieveVendorSellerQueryConfig),
125
129
  ],
@@ -134,6 +138,7 @@ exports.vendorSellersMiddlewares = [
134
138
  method: ["POST"],
135
139
  matcher: "/vendor/sellers/:id/payment-details",
136
140
  middlewares: [
141
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
137
142
  (0, framework_1.validateAndTransformBody)(validators_1.VendorUpsertSellerPaymentDetails),
138
143
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellerParams, QueryConfig.retrieveVendorSellerQueryConfig),
139
144
  ],
@@ -148,6 +153,7 @@ exports.vendorSellersMiddlewares = [
148
153
  method: ["POST"],
149
154
  matcher: "/vendor/sellers/:id/professional-details",
150
155
  middlewares: [
156
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
151
157
  (0, framework_1.validateAndTransformBody)(validators_1.VendorUpsertSellerProfessionalDetails),
152
158
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellerParams, QueryConfig.retrieveVendorSellerQueryConfig),
153
159
  ],
@@ -162,6 +168,7 @@ exports.vendorSellersMiddlewares = [
162
168
  method: ["DELETE"],
163
169
  matcher: "/vendor/sellers/:id/professional-details",
164
170
  middlewares: [
171
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
165
172
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellerParams, QueryConfig.retrieveVendorSellerQueryConfig),
166
173
  ],
167
174
  policies: [
@@ -175,6 +182,7 @@ exports.vendorSellersMiddlewares = [
175
182
  method: ["GET"],
176
183
  matcher: "/vendor/sellers/:id/members/me",
177
184
  middlewares: [
185
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
178
186
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellerParams, QueryConfig.retrieveVendorMemberQueryConfig),
179
187
  ],
180
188
  policies: [
@@ -188,6 +196,7 @@ exports.vendorSellersMiddlewares = [
188
196
  method: ["GET"],
189
197
  matcher: "/vendor/sellers/:id/members/invites",
190
198
  middlewares: [
199
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
191
200
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellersParams, QueryConfig.listVendorMemberInvitesQueryConfig),
192
201
  ],
193
202
  policies: [
@@ -201,6 +210,7 @@ exports.vendorSellersMiddlewares = [
201
210
  method: ["GET"],
202
211
  matcher: "/vendor/sellers/:id/members",
203
212
  middlewares: [
213
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
204
214
  (0, framework_1.validateAndTransformQuery)(validators_1.VendorGetSellersParams, QueryConfig.listVendorMembersQueryConfig),
205
215
  ],
206
216
  policies: [
@@ -218,6 +228,7 @@ exports.vendorSellersMiddlewares = [
218
228
  method: ["POST"],
219
229
  matcher: "/vendor/sellers/:id/members",
220
230
  middlewares: [
231
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
221
232
  (0, framework_1.validateAndTransformBody)(validators_1.VendorInviteMember),
222
233
  ],
223
234
  policies: [
@@ -231,6 +242,8 @@ exports.vendorSellersMiddlewares = [
231
242
  method: ["POST"],
232
243
  matcher: "/vendor/sellers/:id/members/:member_id",
233
244
  middlewares: [
245
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
246
+ ensure_seller_scope_middleware_1.ensureSellerMemberParamMiddleware,
234
247
  (0, framework_1.validateAndTransformBody)(validators_1.VendorUpdateMemberRole),
235
248
  ],
236
249
  policies: [
@@ -243,7 +256,10 @@ exports.vendorSellersMiddlewares = [
243
256
  {
244
257
  method: ["DELETE"],
245
258
  matcher: "/vendor/sellers/:id/members/:member_id",
246
- middlewares: [],
259
+ middlewares: [
260
+ ensure_seller_scope_middleware_1.ensureSellerIdParamMiddleware,
261
+ ensure_seller_scope_middleware_1.ensureSellerMemberParamMiddleware,
262
+ ],
247
263
  policies: [
248
264
  {
249
265
  resource: query_config_1.Entities.seller_member,
@@ -252,4 +268,4 @@ exports.vendorSellersMiddlewares = [
252
268
  ],
253
269
  },
254
270
  ];
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9zZWxsZXJzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1FQUE2RDtBQUM3RCxtREFHNEI7QUFDNUIscURBQTJEO0FBRzNELDREQUE2QztBQUM3QyxpREFBeUM7QUFDekMsNkNBV3FCO0FBRVIsUUFBQSx3QkFBd0IsR0FBc0I7SUFDekQ7UUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxXQUFXLEVBQUU7WUFDWCxJQUFBLG9DQUF3QixFQUFDLCtCQUFrQixDQUFDO1NBQzdDO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxvQkFBb0I7UUFDN0IsV0FBVyxFQUFFO1lBQ1gsSUFBQSxxQ0FBeUIsRUFDdkIsa0NBQXFCLEVBQ3JCLFdBQVcsQ0FBQywrQkFBK0IsQ0FDNUM7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSO2dCQUNFLFFBQVEsRUFBRSxpQ0FBYyxDQUFDLE1BQU07Z0JBQy9CLFNBQVMsRUFBRSx1QkFBZSxDQUFDLElBQUk7YUFDaEM7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixXQUFXLEVBQUU7WUFDWCxJQUFBLG9DQUF3QixFQUFDLCtCQUFrQixDQUFDO1lBQzVDLElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQixXQUFXLENBQUMsK0JBQStCLENBQzVDO1NBQ0Y7UUFDRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxRQUFRLEVBQUUsaUNBQWMsQ0FBQyxNQUFNO2dCQUMvQixTQUFTLEVBQUUsdUJBQWUsQ0FBQyxNQUFNO2FB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
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9zZWxsZXJzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1FQUE2RDtBQUM3RCwrRkFHbUQ7QUFDbkQsbURBRzRCO0FBQzVCLHFEQUEyRDtBQUczRCw0REFBNkM7QUFDN0MsaURBQXlDO0FBQ3pDLDZDQVdxQjtBQUVSLFFBQUEsd0JBQXdCLEdBQXNCO0lBQ3pEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsV0FBVyxFQUFFO1lBQ1gsSUFBQSxvQ0FBd0IsRUFBQywrQkFBa0IsQ0FBQztTQUM3QztLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFdBQVcsRUFBRTtZQUNYLElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQixXQUFXLENBQUMsK0JBQStCLENBQzVDO1NBQ0Y7UUFDRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxRQUFRLEVBQUUsaUNBQWMsQ0FBQyxNQUFNO2dCQUMvQixTQUFTLEVBQUUsdUJBQWUsQ0FBQyxJQUFJO2FBQ2hDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxvQkFBb0I7UUFDN0IsV0FBVyxFQUFFO1lBQ1gsSUFBQSxvQ0FBd0IsRUFBQywrQkFBa0IsQ0FBQztZQUM1QyxJQUFBLHFDQUF5QixFQUN2QixrQ0FBcUIsRUFDckIsV0FBVyxDQUFDLCtCQUErQixDQUM1QztTQUNGO1FBQ0QsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsUUFBUSxFQUFFLGlDQUFjLENBQUMsTUFBTTtnQkFDL0IsU0FBUyxFQUFFLHVCQUFl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
@@ -1,11 +1,16 @@
1
1
  export declare const vendorStoreFields: string[];
2
+ export declare const vendorStoreDisallowedFields: string[];
2
3
  export declare const vendorStoreQueryConfig: {
3
4
  list: {
4
5
  defaults: string[];
6
+ allowed: string[];
7
+ disallowed: string[];
5
8
  isList: boolean;
6
9
  };
7
10
  retrieve: {
8
11
  defaults: string[];
12
+ allowed: string[];
13
+ disallowed: string[];
9
14
  isList: boolean;
10
15
  };
11
16
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.vendorStoreQueryConfig = exports.vendorStoreFields = void 0;
3
+ exports.vendorStoreQueryConfig = exports.vendorStoreDisallowedFields = exports.vendorStoreFields = void 0;
4
4
  exports.vendorStoreFields = [
5
5
  "id",
6
6
  "name",
@@ -13,14 +13,21 @@ exports.vendorStoreFields = [
13
13
  "created_at",
14
14
  "updated_at",
15
15
  ];
16
+ // `allowed` only strips select fields when the `rbac_filter_fields` feature flag
17
+ // is on; `disallowed` is stripped unconditionally.
18
+ exports.vendorStoreDisallowedFields = ["members"];
16
19
  exports.vendorStoreQueryConfig = {
17
20
  list: {
18
21
  defaults: exports.vendorStoreFields,
22
+ allowed: exports.vendorStoreFields,
23
+ disallowed: exports.vendorStoreDisallowedFields,
19
24
  isList: true,
20
25
  },
21
26
  retrieve: {
22
27
  defaults: exports.vendorStoreFields,
28
+ allowed: exports.vendorStoreFields,
29
+ disallowed: exports.vendorStoreDisallowedFields,
23
30
  isList: false,
24
31
  },
25
32
  };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS92ZW5kb3Ivc3RvcmVzL3F1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGlCQUFpQixHQUFHO0lBQy9CLElBQUk7SUFDSixNQUFNO0lBQ04sdUJBQXVCO0lBQ3ZCLGdDQUFnQztJQUNoQywwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFlBQVk7Q0FDYixDQUFBO0FBRVksUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUseUJBQWlCO1FBQzNCLE1BQU0sRUFBRSxJQUFJO0tBQ2I7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUseUJBQWlCO1FBQzNCLE1BQU0sRUFBRSxLQUFLO0tBQ2Q7Q0FDRixDQUFBIn0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS92ZW5kb3Ivc3RvcmVzL3F1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGlCQUFpQixHQUFHO0lBQy9CLElBQUk7SUFDSixNQUFNO0lBQ04sdUJBQXVCO0lBQ3ZCLGdDQUFnQztJQUNoQywwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFlBQVk7Q0FDYixDQUFBO0FBRUQsaUZBQWlGO0FBQ2pGLG1EQUFtRDtBQUN0QyxRQUFBLDJCQUEyQixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7QUFFekMsUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUseUJBQWlCO1FBQzNCLE9BQU8sRUFBRSx5QkFBaUI7UUFDMUIsVUFBVSxFQUFFLG1DQUEyQjtRQUN2QyxNQUFNLEVBQUUsSUFBSTtLQUNiO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLHlCQUFpQjtRQUMzQixPQUFPLEVBQUUseUJBQWlCO1FBQzFCLFVBQVUsRUFBRSxtQ0FBMkI7UUFDdkMsTUFBTSxFQUFFLEtBQUs7S0FDZDtDQUNGLENBQUEifQ==
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GET = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
5
  const GET = async (req, res) => {
6
+ const memberId = req.auth_context?.actor_id;
7
+ if (!memberId) {
8
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You must be authenticated to access store information.");
9
+ }
6
10
  const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
7
11
  const { data: stores, metadata } = await query.graph({
8
12
  entity: "store",
@@ -18,4 +22,4 @@ const GET = async (req, res) => {
18
22
  });
19
23
  };
20
24
  exports.GET = GET;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9zdG9yZXMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQXFFO0FBRzlELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0QsRUFDL0QsR0FBcUQsRUFDckQsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNuRCxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7UUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVTtLQUN2QyxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1AsTUFBTTtRQUNOLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUM7UUFDM0IsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztRQUMzQixLQUFLLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUM7S0FDNUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBbkJZLFFBQUEsR0FBRyxPQW1CZiJ9
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9zdG9yZXMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQWtGO0FBRzNFLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0QsRUFDL0QsR0FBcUQsRUFDckQsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFBO0lBRTNDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHdEQUF3RCxDQUN6RCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNuRCxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7UUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVTtLQUN2QyxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1AsTUFBTTtRQUNOLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUM7UUFDM0IsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztRQUMzQixLQUFLLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUM7S0FDNUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBNUJZLFFBQUEsR0FBRyxPQTRCZiJ9
@@ -0,0 +1,5 @@
1
+ import { Migration } from "@medusajs/framework/mikro-orm/migrations";
2
+ export declare class Migration20260828120000 extends Migration {
3
+ up(): Promise<void>;
4
+ down(): Promise<void>;
5
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20260828120000 = void 0;
4
+ const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
5
+ class Migration20260828120000 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`
8
+ CREATE INDEX IF NOT EXISTS "IDX_product_change_product_id_status"
9
+ ON "product_change" ("product_id", "status")
10
+ WHERE "deleted_at" IS NULL;
11
+ `);
12
+ }
13
+ async down() {
14
+ this.addSql(`
15
+ DROP INDEX IF EXISTS "IDX_product_change_product_id_status";
16
+ `);
17
+ }
18
+ }
19
+ exports.Migration20260828120000 = Migration20260828120000;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA4MjgxMjAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LWVkaXQvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI2MDgyODEyMDAwMC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBb0U7QUFFcEUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUMzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7S0FJWCxDQUFDLENBQUE7SUFDSixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7S0FFWCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUFkRCwwREFjQyJ9
@@ -47,6 +47,12 @@ const ProductChange = utils_1.model
47
47
  unique: false,
48
48
  where: "deleted_at IS NULL",
49
49
  },
50
+ {
51
+ name: "IDX_product_change_product_id_status",
52
+ on: ["product_id", "status"],
53
+ unique: false,
54
+ where: "deleted_at IS NULL",
55
+ },
50
56
  ]);
51
57
  exports.default = ProductChange;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LWVkaXQvbW9kZWxzL3Byb2R1Y3QtY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQWlEO0FBQ2pELDJDQUFxRDtBQUVyRCxvRkFBeUQ7QUFFekQsTUFBTSxhQUFhLEdBQUcsYUFBSztLQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFO0lBQ3ZCLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQy9DLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3hCLE1BQU0sRUFBRSxhQUFLO1NBQ1YsSUFBSSxDQUFDLDJCQUFtQixDQUFDO1NBQ3pCLE9BQU8sQ0FBQywyQkFBbUIsQ0FBQyxPQUFPLENBQUM7SUFDdkMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDckMsWUFBWSxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekMsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsZUFBZSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsa0JBQWtCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQyxrQkFBa0IsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9DLHNCQUFzQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFakMsT0FBTyxFQUFFLGFBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQW1CLEVBQUU7UUFDaEQsUUFBUSxFQUFFLGdCQUFnQjtLQUMzQixDQUFDO0NBQ0gsQ0FBQztLQUNELFFBQVEsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztDQUNwQixDQUFDO0tBQ0QsT0FBTyxDQUFDO0lBQ1A7UUFDRSxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUNkLE1BQU0sRUFBRSxLQUFLO1FBQ2IsS0FBSyxFQUFFLG9CQUFvQjtLQUM1QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLCtCQUErQjtRQUNyQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDbEIsTUFBTSxFQUFFLEtBQUs7UUFDYixLQUFLLEVBQUUsb0JBQW9CO0tBQzVCO0NBQ0YsQ0FBQyxDQUFBO0FBRUosa0JBQWUsYUFBYSxDQUFBIn0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wcm9kdWN0LWVkaXQvbW9kZWxzL3Byb2R1Y3QtY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQWlEO0FBQ2pELDJDQUFxRDtBQUVyRCxvRkFBeUQ7QUFFekQsTUFBTSxhQUFhLEdBQUcsYUFBSztLQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFO0lBQ3ZCLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQy9DLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3hCLE1BQU0sRUFBRSxhQUFLO1NBQ1YsSUFBSSxDQUFDLDJCQUFtQixDQUFDO1NBQ3pCLE9BQU8sQ0FBQywyQkFBbUIsQ0FBQyxPQUFPLENBQUM7SUFDdkMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDckMsWUFBWSxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekMsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsZUFBZSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsa0JBQWtCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQyxrQkFBa0IsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9DLHNCQUFzQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFakMsT0FBTyxFQUFFLGFBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQW1CLEVBQUU7UUFDaEQsUUFBUSxFQUFFLGdCQUFnQjtLQUMzQixDQUFDO0NBQ0gsQ0FBQztLQUNELFFBQVEsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztDQUNwQixDQUFDO0tBQ0QsT0FBTyxDQUFDO0lBQ1A7UUFDRSxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUNkLE1BQU0sRUFBRSxLQUFLO1FBQ2IsS0FBSyxFQUFFLG9CQUFvQjtLQUM1QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLCtCQUErQjtRQUNyQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDbEIsTUFBTSxFQUFFLEtBQUs7UUFDYixLQUFLLEVBQUUsb0JBQW9CO0tBQzVCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsc0NBQXNDO1FBQzVDLEVBQUUsRUFBRSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUM7UUFDNUIsTUFBTSxFQUFFLEtBQUs7UUFDYixLQUFLLEVBQUUsb0JBQW9CO0tBQzVCO0NBQ0YsQ0FBQyxDQUFBO0FBRUosa0JBQWUsYUFBYSxDQUFBIn0=
@@ -0,0 +1,30 @@
1
+ export type PatchedFile = {
2
+ /** Path of the patched file relative to the package root. */
3
+ relativePath: string;
4
+ source: string;
5
+ };
6
+ /**
7
+ * Reads every file a patch touches and returns their patched source. Nothing is
8
+ * written to disk — the results are handed to the module loader hook, which
9
+ * compiles them in place of the originals.
10
+ *
11
+ * Returns `null` when a hunk does not apply, which is the signal that upstream
12
+ * has moved and the patch must be regenerated.
13
+ */
14
+ export declare function readPatchedFiles(packageDir: string, patchFilePath: string): PatchedFile[] | null;
15
+ /**
16
+ * True when every hunk reverses cleanly, meaning the patch is already present —
17
+ * the equivalent of `git apply --reverse --check`. Someone may have applied the
18
+ * same diff through their own package manager, which is a supported outcome
19
+ * rather than a conflict.
20
+ */
21
+ export declare function isPatchApplied(packageDir: string, patchFilePath: string): boolean;
22
+ /**
23
+ * Applies whichever patch targets `absolutePath`, if any, returning the patched
24
+ * source or `null` when the file is not a patch target.
25
+ *
26
+ * This is the loader-agnostic half of the system: Node's require hook and the
27
+ * Jest transformer both funnel through it, so a patch means the same thing in
28
+ * production and under test.
29
+ */
30
+ export declare function patchSourceForPath(absolutePath: string, source: string): string | null;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readPatchedFiles = readPatchedFiles;
4
+ exports.isPatchApplied = isPatchApplied;
5
+ exports.patchSourceForPath = patchSourceForPath;
6
+ const fs_1 = require("fs");
7
+ const path_1 = require("path");
8
+ const manifest_1 = require("./manifest");
9
+ const unified_diff_1 = require("./unified-diff");
10
+ /**
11
+ * Reads every file a patch touches and returns their patched source. Nothing is
12
+ * written to disk — the results are handed to the module loader hook, which
13
+ * compiles them in place of the originals.
14
+ *
15
+ * Returns `null` when a hunk does not apply, which is the signal that upstream
16
+ * has moved and the patch must be regenerated.
17
+ */
18
+ function readPatchedFiles(packageDir, patchFilePath) {
19
+ const files = (0, unified_diff_1.parseUnifiedDiff)((0, fs_1.readFileSync)(patchFilePath, "utf8"));
20
+ const patched = [];
21
+ for (const file of files) {
22
+ const filePath = (0, path_1.join)(packageDir, file.path);
23
+ if (!(0, fs_1.existsSync)(filePath))
24
+ return null;
25
+ const result = (0, unified_diff_1.applyHunks)((0, fs_1.readFileSync)(filePath, "utf8"), file.hunks);
26
+ if (result === null)
27
+ return null;
28
+ patched.push({ relativePath: file.path, source: result });
29
+ }
30
+ return patched.length ? patched : null;
31
+ }
32
+ /**
33
+ * True when every hunk reverses cleanly, meaning the patch is already present —
34
+ * the equivalent of `git apply --reverse --check`. Someone may have applied the
35
+ * same diff through their own package manager, which is a supported outcome
36
+ * rather than a conflict.
37
+ */
38
+ function isPatchApplied(packageDir, patchFilePath) {
39
+ const files = (0, unified_diff_1.parseUnifiedDiff)((0, fs_1.readFileSync)(patchFilePath, "utf8"));
40
+ for (const file of files) {
41
+ const filePath = (0, path_1.join)(packageDir, file.path);
42
+ if (!(0, fs_1.existsSync)(filePath))
43
+ return false;
44
+ const source = (0, fs_1.readFileSync)(filePath, "utf8");
45
+ if ((0, unified_diff_1.applyHunks)(source, (0, unified_diff_1.reverse)(file.hunks)) === null)
46
+ return false;
47
+ }
48
+ return true;
49
+ }
50
+ /**
51
+ * Applies whichever patch targets `absolutePath`, if any, returning the patched
52
+ * source or `null` when the file is not a patch target.
53
+ *
54
+ * This is the loader-agnostic half of the system: Node's require hook and the
55
+ * Jest transformer both funnel through it, so a patch means the same thing in
56
+ * production and under test.
57
+ */
58
+ function patchSourceForPath(absolutePath, source) {
59
+ const normalized = absolutePath.split(path_1.sep).join("/");
60
+ for (const entry of manifest_1.PATCHES) {
61
+ const patchFilePath = (0, path_1.join)(__dirname, "patches", entry.file);
62
+ if (!(0, fs_1.existsSync)(patchFilePath))
63
+ continue;
64
+ for (const file of (0, unified_diff_1.parseUnifiedDiff)((0, fs_1.readFileSync)(patchFilePath, "utf8"))) {
65
+ const suffix = `${entry.package}/${file.path}`;
66
+ if (!normalized.endsWith(suffix))
67
+ continue;
68
+ // Already patched (a package-manager patch, or a second pass): the
69
+ // forward hunks will not match, and that is not an error.
70
+ return (0, unified_diff_1.applyHunks)(source, file.hunks);
71
+ }
72
+ }
73
+ return null;
74
+ }
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGF0Y2hlcy9hcHBseS1wYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9CQSw0Q0FrQkM7QUFRRCx3Q0FlQztBQVVELGdEQXFCQztBQTVGRCwyQkFBNkM7QUFDN0MsK0JBQWdDO0FBRWhDLHlDQUFvQztBQUNwQyxpREFBc0U7QUFRdEU7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGdCQUFnQixDQUM5QixVQUFrQixFQUNsQixhQUFxQjtJQUVyQixNQUFNLEtBQUssR0FBRyxJQUFBLCtCQUFnQixFQUFDLElBQUEsaUJBQVksRUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUNuRSxNQUFNLE9BQU8sR0FBa0IsRUFBRSxDQUFBO0lBRWpDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBQSxXQUFJLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsSUFBQSxlQUFVLEVBQUMsUUFBUSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFFdEMsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBVSxFQUFDLElBQUEsaUJBQVksRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JFLElBQUksTUFBTSxLQUFLLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUVoQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDeEMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixVQUFrQixFQUNsQixhQUFxQjtJQUVyQixNQUFNLEtBQUssR0FBRyxJQUFBLCtCQUFnQixFQUFDLElBQUEsaUJBQVksRUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUVuRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUEsV0FBSSxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUMsSUFBSSxDQUFDLElBQUEsZUFBVSxFQUFDLFFBQVEsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFBO1FBRXZDLE1BQU0sTUFBTSxHQUFHLElBQUEsaUJBQVksRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDN0MsSUFBSSxJQUFBLHlCQUFVLEVBQUMsTUFBTSxFQUFFLElBQUEsc0JBQU8sRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUE7SUFDcEUsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsWUFBb0IsRUFDcEIsTUFBYztJQUVkLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXBELEtBQUssTUFBTSxLQUFLLElBQUksa0JBQU8sRUFBRSxDQUFDO1FBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVELElBQUksQ0FBQyxJQUFBLGVBQVUsRUFBQyxhQUFhLENBQUM7WUFBRSxTQUFRO1FBRXhDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBQSwrQkFBZ0IsRUFBQyxJQUFBLGlCQUFZLEVBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFBRSxTQUFRO1lBRTFDLG1FQUFtRTtZQUNuRSwwREFBMEQ7WUFDMUQsT0FBTyxJQUFBLHlCQUFVLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyJ9
@@ -0,0 +1,7 @@
1
+ export type ApplyPatchesOptions = {
2
+ /** Patch file names to skip, for adopters who need to opt out of one. */
3
+ disabled?: string[];
4
+ logger?: Pick<Console, "info" | "warn">;
5
+ };
6
+ export declare function applyMercurPatches(options?: ApplyPatchesOptions): void;
7
+ export { PATCHES } from "./manifest";
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PATCHES = void 0;
4
+ exports.applyMercurPatches = applyMercurPatches;
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const apply_patch_1 = require("./apply-patch");
8
+ const loader_1 = require("./loader");
9
+ const manifest_1 = require("./manifest");
10
+ const resolve_package_dirs_1 = require("./resolve-package-dirs");
11
+ const version_1 = require("./version");
12
+ // Mercur has to correct a handful of Medusa internals that expose no hook.
13
+ // Shipping those corrections through a package manager is not an option:
14
+ // `templates/basic` supports bun, yarn, pnpm and npm, whose patch mechanisms are
15
+ // mutually incompatible, and none of them reach a marketplace that installed
16
+ // `@mercurjs/core` into an existing Medusa app.
17
+ //
18
+ // So the diffs live in `patches/` and are applied here, from `withMercur()`,
19
+ // which every project calls. They travel with the package version and arrive on
20
+ // a normal upgrade.
21
+ //
22
+ // Patches are applied in memory, never written to `node_modules`: a boot has no
23
+ // business mutating installed packages, workers would race doing it, and a file
24
+ // that has already been required cannot be un-required cleanly.
25
+ const PATCH_DIR = (0, path_1.join)(__dirname, "patches");
26
+ function fail(entry, copy, detail) {
27
+ throw new Error(`[mercur] Patch "${entry.file}" ${detail} ` +
28
+ `(${entry.package}@${copy.version ?? "unknown"}, ${copy.dir}).\n` +
29
+ `It corrects: ${entry.reason}\n` +
30
+ `Regenerate the patch for the installed version, or skip it via ` +
31
+ `projectConfig.mercur.disabledPatches — skipping restores the bug above.`);
32
+ }
33
+ function resolveFile(packageDir, relativePath) {
34
+ const filePath = (0, path_1.join)(packageDir, relativePath);
35
+ try {
36
+ return (0, fs_1.realpathSync)(filePath);
37
+ }
38
+ catch {
39
+ return filePath;
40
+ }
41
+ }
42
+ /**
43
+ * Returns true when the copy was patched. A non-primary copy that does not
44
+ * match is skipped rather than fatal: package-manager stores are shared between
45
+ * checkouts, so a sweep turns up versions this project never loads.
46
+ */
47
+ function applyToCopy(entry, copy, patchFilePath) {
48
+ if (copy.version && !(0, version_1.isWithinRange)(copy.version, entry.compatible)) {
49
+ if (!copy.primary)
50
+ return false;
51
+ fail(entry, copy, `was generated against ${entry.package} >=${entry.compatible.from} ` +
52
+ `<${entry.compatible.to}, but ${copy.version} is what this project resolves`);
53
+ }
54
+ // Someone may have applied the same diff through their package manager. That
55
+ // is a supported outcome, not a conflict.
56
+ if ((0, apply_patch_1.isPatchApplied)(copy.dir, patchFilePath)) {
57
+ return true;
58
+ }
59
+ const patched = (0, apply_patch_1.readPatchedFiles)(copy.dir, patchFilePath);
60
+ if (!patched) {
61
+ if (!copy.primary)
62
+ return false;
63
+ fail(entry, copy, "no longer applies — its context has changed upstream");
64
+ }
65
+ const paths = patched.map((file) => resolveFile(copy.dir, file.relativePath));
66
+ const stale = paths.filter((path) => (0, loader_1.isAlreadyLoaded)(path) && !(0, loader_1.isOverridden)(path));
67
+ (0, loader_1.registerOverrides)(copy.dir, patched, resolveFile);
68
+ // Something required these modules before `withMercur()` ran, so the cache
69
+ // holds their unpatched source. Evict them and compile the patched source in
70
+ // their place; a workflow module re-registers itself under the same id, which
71
+ // is what makes the patch take effect on an already-loaded package.
72
+ if (stale.length) {
73
+ (0, loader_1.purgeFiles)(stale);
74
+ (0, loader_1.reload)(copy.dir, stale);
75
+ }
76
+ return true;
77
+ }
78
+ function applyMercurPatches(options = {}) {
79
+ const disabled = new Set(options.disabled ?? []);
80
+ const logger = options.logger ?? console;
81
+ for (const entry of manifest_1.PATCHES) {
82
+ if (disabled.has(entry.file)) {
83
+ logger.warn(`[mercur] Skipping patch "${entry.file}" (disabled). This restores the ` +
84
+ `upstream behaviour it corrects: ${entry.reason}`);
85
+ continue;
86
+ }
87
+ const patchFilePath = (0, path_1.join)(PATCH_DIR, entry.file);
88
+ if (!(0, fs_1.existsSync)(patchFilePath)) {
89
+ throw new Error(`[mercur] Patch file is missing: ${patchFilePath}`);
90
+ }
91
+ const copies = (0, resolve_package_dirs_1.resolvePackageCopies)(entry.package);
92
+ if (!copies.length) {
93
+ throw new Error(`[mercur] Patch "${entry.file}" found no installed copy of ${entry.package}.`);
94
+ }
95
+ const patchedCount = copies.filter((copy) => applyToCopy(entry, copy, patchFilePath)).length;
96
+ if (!patchedCount) {
97
+ throw new Error(`[mercur] Patch "${entry.file}" matched no installed copy of ` +
98
+ `${entry.package}. It corrects: ${entry.reason}`);
99
+ }
100
+ logger.info(`[mercur] Applied patch "${entry.file}" to ${patchedCount} copy/copies of ` +
101
+ `${entry.package}`);
102
+ // Load the patched package now rather than leaving it to Medusa: the
103
+ // override only bites on first require, so failing here keeps the failure
104
+ // next to the patch that caused it.
105
+ require(entry.package);
106
+ }
107
+ }
108
+ var manifest_2 = require("./manifest");
109
+ Object.defineProperty(exports, "PATCHES", { enumerable: true, get: function () { return manifest_2.PATCHES; } });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGF0Y2hlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyR0EsZ0RBOENDO0FBekpELDJCQUE2QztBQUM3QywrQkFBMkI7QUFFM0IsK0NBQWdFO0FBQ2hFLHFDQU1pQjtBQUNqQix5Q0FBcUQ7QUFDckQsaUVBQStFO0FBQy9FLHVDQUF5QztBQUV6QywyRUFBMkU7QUFDM0UseUVBQXlFO0FBQ3pFLGlGQUFpRjtBQUNqRiw2RUFBNkU7QUFDN0UsZ0RBQWdEO0FBQ2hELEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsZ0ZBQWdGO0FBQ2hGLG9CQUFvQjtBQUNwQixFQUFFO0FBQ0YsZ0ZBQWdGO0FBQ2hGLGdGQUFnRjtBQUNoRixnRUFBZ0U7QUFFaEUsTUFBTSxTQUFTLEdBQUcsSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBUTVDLFNBQVMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsSUFBaUIsRUFBRSxNQUFjO0lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUJBQW1CLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxHQUFHO1FBQ3pDLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsR0FBRyxNQUFNO1FBQ2pFLGdCQUFnQixLQUFLLENBQUMsTUFBTSxJQUFJO1FBQ2hDLGlFQUFpRTtRQUNqRSx5RUFBeUUsQ0FDNUUsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxVQUFrQixFQUFFLFlBQW9CO0lBQzNELE1BQU0sUUFBUSxHQUFHLElBQUEsV0FBSSxFQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUMvQyxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUEsaUJBQVksRUFBQyxRQUFRLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxXQUFXLENBQ2xCLEtBQWlCLEVBQ2pCLElBQWlCLEVBQ2pCLGFBQXFCO0lBRXJCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUEsdUJBQWEsRUFBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ25FLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFBO1FBQy9CLElBQUksQ0FDRixLQUFLLEVBQ0wsSUFBSSxFQUNKLHlCQUF5QixLQUFLLENBQUMsT0FBTyxNQUFNLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHO1lBQ2xFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFNBQVMsSUFBSSxDQUFDLE9BQU8sZ0NBQWdDLENBQy9FLENBQUE7SUFDSCxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLDBDQUEwQztJQUMxQyxJQUFJLElBQUEsNEJBQWMsRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ3pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFBO1FBQy9CLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLHNEQUFzRCxDQUFDLENBQUE7SUFDM0UsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO0lBQzdFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3hCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHdCQUFlLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFBLHFCQUFZLEVBQUMsSUFBSSxDQUFDLENBQ3ZELENBQUE7SUFFRCxJQUFBLDBCQUFpQixFQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBRWpELDJFQUEyRTtJQUMzRSw2RUFBNkU7SUFDN0UsOEVBQThFO0lBQzlFLG9FQUFvRTtJQUNwRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQixJQUFBLG1CQUFVLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFDakIsSUFBQSxlQUFNLEVBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsVUFBK0IsRUFBRTtJQUNsRSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ2hELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFBO0lBRXhDLEtBQUssTUFBTSxLQUFLLElBQUksa0JBQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsSUFBSSxDQUNULDRCQUE0QixLQUFLLENBQUMsSUFBSSxrQ0FBa0M7Z0JBQ3RFLG1DQUFtQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQ3BELENBQUE7WUFDRCxTQUFRO1FBQ1YsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakQsSUFBSSxDQUFDLElBQUEsZUFBVSxFQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBQSwyQ0FBb0IsRUFBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLG1CQUFtQixLQUFLLENBQUMsSUFBSSxnQ0FBZ0MsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUM5RSxDQUFBO1FBQ0gsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUMxQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FDeEMsQ0FBQyxNQUFNLENBQUE7UUFFUixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FDYixtQkFBbUIsS0FBSyxDQUFDLElBQUksaUNBQWlDO2dCQUM1RCxHQUFHLEtBQUssQ0FBQyxPQUFPLGtCQUFrQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQ25ELENBQUE7UUFDSCxDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FDVCwyQkFBMkIsS0FBSyxDQUFDLElBQUksUUFBUSxZQUFZLGtCQUFrQjtZQUN6RSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDckIsQ0FBQTtRQUVELHFFQUFxRTtRQUNyRSwwRUFBMEU7UUFDMUUsb0NBQW9DO1FBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEIsQ0FBQztBQUNILENBQUM7QUFFRCx1Q0FBb0M7QUFBM0IsbUdBQUEsT0FBTyxPQUFBIn0=