@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.
- package/.medusa/server/src/api/admin/orders/[id]/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/orders/[id]/route.js +25 -0
- package/.medusa/server/src/api/admin/orders/route.js +31 -1
- package/.medusa/server/src/api/admin/products/validators.d.ts +26 -26
- package/.medusa/server/src/api/hooks/payment/[provider]/route.d.ts +2 -0
- package/.medusa/server/src/api/hooks/payment/[provider]/route.js +39 -0
- package/.medusa/server/src/api/store/orders/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/store/orders/[id]/route.js +19 -0
- package/.medusa/server/src/api/store/orders/route.d.ts +3 -0
- package/.medusa/server/src/api/store/orders/route.js +34 -0
- package/.medusa/server/src/api/utils/ensure-seller-scope-middleware.d.ts +12 -0
- package/.medusa/server/src/api/utils/ensure-seller-scope-middleware.js +42 -0
- package/.medusa/server/src/api/utils/index.d.ts +2 -0
- package/.medusa/server/src/api/utils/index.js +3 -1
- package/.medusa/server/src/api/utils/split-order-payment-status.d.ts +10 -0
- package/.medusa/server/src/api/utils/split-order-payment-status.js +38 -0
- package/.medusa/server/src/api/vendor/middlewares.js +5 -3
- package/.medusa/server/src/api/vendor/orders/helpers.d.ts +1 -10
- package/.medusa/server/src/api/vendor/orders/helpers.js +5 -33
- package/.medusa/server/src/api/vendor/products/validators.d.ts +8 -8
- package/.medusa/server/src/api/vendor/sellers/middlewares.js +18 -2
- package/.medusa/server/src/api/vendor/stores/query-config.d.ts +5 -0
- package/.medusa/server/src/api/vendor/stores/query-config.js +9 -2
- package/.medusa/server/src/api/vendor/stores/route.js +5 -1
- package/.medusa/server/src/modules/product-edit/migrations/Migration20260828120000.d.ts +5 -0
- package/.medusa/server/src/modules/product-edit/migrations/Migration20260828120000.js +20 -0
- package/.medusa/server/src/modules/product-edit/models/product-change.js +7 -1
- package/.medusa/server/src/patches/apply-patch.d.ts +30 -0
- package/.medusa/server/src/patches/apply-patch.js +75 -0
- package/.medusa/server/src/patches/index.d.ts +7 -0
- package/.medusa/server/src/patches/index.js +110 -0
- package/.medusa/server/src/patches/jest-transformer.d.ts +14 -0
- package/.medusa/server/src/patches/jest-transformer.js +36 -0
- package/.medusa/server/src/patches/loader.d.ts +21 -0
- package/.medusa/server/src/patches/loader.js +124 -0
- package/.medusa/server/src/patches/manifest.d.ts +17 -0
- package/.medusa/server/src/patches/manifest.js +19 -0
- package/.medusa/server/src/patches/patches/@medusajs+core-flows@2.18.0.patch +21 -0
- package/.medusa/server/src/patches/resolve-package-dirs.d.ts +7 -0
- package/.medusa/server/src/patches/resolve-package-dirs.js +80 -0
- package/.medusa/server/src/patches/unified-diff.d.ts +25 -0
- package/.medusa/server/src/patches/unified-diff.js +127 -0
- package/.medusa/server/src/patches/version.d.ts +5 -0
- package/.medusa/server/src/patches/version.js +26 -0
- package/.medusa/server/src/subscribers/payment-webhook.d.ts +4 -0
- package/.medusa/server/src/subscribers/payment-webhook.js +42 -0
- package/.medusa/server/src/with-mercur.d.ts +8 -0
- package/.medusa/server/src/with-mercur.js +10 -1
- package/.medusa/server/src/workflows/events.d.ts +10 -0
- package/.medusa/server/src/workflows/events.js +12 -2
- package/.medusa/server/src/workflows/index.d.ts +1 -0
- package/.medusa/server/src/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/payment/index.d.ts +1 -0
- package/.medusa/server/src/workflows/payment/index.js +18 -0
- package/.medusa/server/src/workflows/payment/workflows/index.d.ts +1 -0
- package/.medusa/server/src/workflows/payment/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/payment/workflows/process-payment.d.ts +17 -0
- package/.medusa/server/src/workflows/payment/workflows/process-payment.js +142 -0
- package/.medusa/server/src/workflows/product/workflows/create-products.js +36 -14
- package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes-on-product.js +16 -2
- package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +5 -0
- package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +11 -12
- package/.medusa/server/src/workflows/product-edit/workflows/create-product-change.js +10 -3
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +2 -1
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +94 -5
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.js +2 -1
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +2 -1
- 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.
|
|
3
|
+
exports.validateSellerOrder = exports.withCartPaymentCollectionFields = exports.normalizeOrderPaymentCollections = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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,
|
|
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,
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9zZWxsZXJzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1FQUE2RDtBQUM3RCwrRkFHbUQ7QUFDbkQsbURBRzRCO0FBQzVCLHFEQUEyRDtBQUczRCw0REFBNkM7QUFDN0MsaURBQXlDO0FBQ3pDLDZDQVdxQjtBQUVSLFFBQUEsd0JBQXdCLEdBQXNCO0lBQ3pEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsV0FBVyxFQUFFO1lBQ1gsSUFBQSxvQ0FBd0IsRUFBQywrQkFBa0IsQ0FBQztTQUM3QztLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFdBQVcsRUFBRTtZQUNYLElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQixXQUFXLENBQUMsK0JBQStCLENBQzVDO1NBQ0Y7UUFDRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxRQUFRLEVBQUUsaUNBQWMsQ0FBQyxNQUFNO2dCQUMvQixTQUFTLEVBQUUsdUJBQWUsQ0FBQyxJQUFJO2FBQ2hDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxvQkFBb0I7UUFDN0IsV0FBVyxFQUFFO1lBQ1gsSUFBQSxvQ0FBd0IsRUFBQywrQkFBa0IsQ0FBQztZQUM1QyxJQUFBLHFDQUF5QixFQUN2QixrQ0FBcUIsRUFDckIsV0FBVyxDQUFDLCtCQUErQixDQUM1QztTQUNGO1FBQ0QsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsUUFBUSxFQUFFLGlDQUFjLENBQUMsTUFBTTtnQkFDL0IsU0FBUyxFQUFFLHVCQUFlLENBQUMsTUFBTTthQUNsQztTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFdBQVcsRUFBRTtZQUNYLElBQUEsb0NBQXdCLEVBQUMsc0NBQXlCLENBQUM7U0FDcEQ7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ2YsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixXQUFXLEVBQUU7WUFDWCxJQUFBLHFDQUF5QixFQUN2QixtQ0FBc0IsRUFDdEIsV0FBVyxDQUFDLDRCQUE0QixDQUN6QztTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsV0FBVyxFQUFFO1lBQ1gsOERBQTZCO1lBQzdCLElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQixXQUFXLENBQUMsK0JBQStCLENBQzVDO1NBQ0Y7UUFDRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxRQUFRLEVBQUUsdUJBQVEsQ0FBQyxNQUFNO2dCQUN6QixTQUFTLEVBQUUsdUJBQWUsQ0FBQyxJQUFJO2FBQ2hDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsV0FBVyxFQUFFO1lBQ1gsOERBQTZCO1lBQzdCLElBQUEsb0NBQXdCLEVBQUMsK0JBQWtCLENBQUM7WUFDNUMsSUFBQSxxQ0FBeUIsRUFDdkIsa0NBQXFCLEVBQ3JCLFdBQVcsQ0FBQywrQkFBK0IsQ0FDNUM7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSO2dCQUNFLFFBQVEsRUFBRSx1QkFBUSxDQUFDLE1BQU07Z0JBQ3pCLFNBQVMsRUFBRSx1QkFBZSxDQUFDLE1BQU07YUFDbEM7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsT0FBTyxFQUFFLDZCQUE2QjtRQUN0QyxXQUFXLEVBQUU7WUFDWCw4REFBNkI7WUFDN0IsSUFBQSxvQ0FBd0IsRUFBQyxzQ0FBeUIsQ0FBQztZQUNuRCxJQUFBLHFDQUF5QixFQUN2QixrQ0FBcUIsRUFDckIsV0FBVyxDQUFDLCtCQUErQixDQUM1QztTQUNGO1FBQ0QsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsUUFBUSxFQUFFLHVCQUFRLENBQUMsTUFBTTtnQkFDekIsU0FBUyxFQUFFLHVCQUFlLENBQUMsTUFBTTthQUNsQztTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixPQUFPLEVBQUUscUNBQXFDO1FBQzlDLFdBQVcsRUFBRTtZQUNYLDhEQUE2QjtZQUM3QixJQUFBLG9DQUF3QixFQUFDLDZDQUFnQyxDQUFDO1lBQzFELElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQixXQUFXLENBQUMsK0JBQStCLENBQzVDO1NBQ0Y7UUFDRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxRQUFRLEVBQUUsdUJBQVEsQ0FBQyxNQUFNO2dCQUN6QixTQUFTLEVBQUUsdUJBQWUsQ0FBQyxNQUFNO2FBQ2xDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSwwQ0FBMEM7UUFDbkQsV0FBVyxFQUFFO1lBQ1gsOERBQTZCO1lBQzdCLElBQUEsb0NBQXdCLEVBQUMsa0RBQXFDLENBQUM7WUFDL0QsSUFBQSxxQ0FBeUIsRUFDdkIsa0NBQXFCLEVBQ3JCLFdBQVcsQ0FBQywrQkFBK0IsQ0FDNUM7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSO2dCQUNFLFFBQVEsRUFBRSx1QkFBUSxDQUFDLE1BQU07Z0JBQ3pCLFNBQVMsRUFBRSx1QkFBZSxDQUFDLE1BQU07YUFDbEM7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDbEIsT0FBTyxFQUFFLDBDQUEwQztRQUNuRCxXQUFXLEVBQUU7WUFDWCw4REFBNkI7WUFDN0IsSUFBQSxxQ0FBeUIsRUFDdkIsa0NBQXFCLEVBQ3JCLFdBQVcsQ0FBQywrQkFBK0IsQ0FDNUM7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSO2dCQUNFLFFBQVEsRUFBRSx1QkFBUSxDQUFDLE1BQU07Z0JBQ3pCLFNBQVMsRUFBRSx1QkFBZSxDQUFDLE1BQU07YUFDbEM7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixPQUFPLEVBQUUsZ0NBQWdDO1FBQ3pDLFdBQVcsRUFBRTtZQUNYLDhEQUE2QjtZQUM3QixJQUFBLHFDQUF5QixFQUN2QixrQ0FBcUIsRUFDckIsV0FBVyxDQUFDLCtCQUErQixDQUM1QztTQUNGO1FBQ0QsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsUUFBUSxFQUFFLHVCQUFRLENBQUMsTUFBTTtnQkFDekIsU0FBUyxFQUFFLHVCQUFlLENBQUMsSUFBSTthQUNoQztTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxxQ0FBcUM7UUFDOUMsV0FBVyxFQUFFO1lBQ1gsOERBQTZCO1lBQzdCLElBQUEscUNBQXlCLEVBQ3ZCLG1DQUFzQixFQUN0QixXQUFXLENBQUMsa0NBQWtDLENBQy9DO1NBQ0Y7UUFDRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxRQUFRLEVBQUUsdUJBQVEsQ0FBQyxhQUFhO2dCQUNoQyxTQUFTLEVBQUUsdUJBQWUsQ0FBQyxJQUFJO2FBQ2hDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ2YsT0FBTyxFQUFFLDZCQUE2QjtRQUN0QyxXQUFXLEVBQUU7WUFDWCw4REFBNkI7WUFDN0IsSUFBQSxxQ0FBeUIsRUFDdkIsbUNBQXNCLEVBQ3RCLFdBQVcsQ0FBQyw0QkFBNEIsQ0FDekM7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSO2dCQUNFLFFBQVEsRUFBRSx1QkFBUSxDQUFDLE1BQU07Z0JBQ3pCLFNBQVMsRUFBRSx1QkFBZSxDQUFDLElBQUk7YUFDaEM7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUJBQVEsQ0FBQyxhQUFhO2dCQUNoQyxTQUFTLEVBQUUsdUJBQWUsQ0FBQyxJQUFJO2FBQ2hDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSw2QkFBNkI7UUFDdEMsV0FBVyxFQUFFO1lBQ1gsOERBQTZCO1lBQzdCLElBQUEsb0NBQXdCLEVBQUMsK0JBQWtCLENBQUM7U0FDN0M7UUFDRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxRQUFRLEVBQUUsdUJBQVEsQ0FBQyxhQUFhO2dCQUNoQyxTQUFTLEVBQUUsdUJBQWUsQ0FBQyxNQUFNO2FBQ2xDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSx3Q0FBd0M7UUFDakQsV0FBVyxFQUFFO1lBQ1gsOERBQTZCO1lBQzdCLGtFQUFpQztZQUNqQyxJQUFBLG9DQUF3QixFQUFDLG1DQUFzQixDQUFDO1NBQ2pEO1FBQ0QsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsUUFBUSxFQUFFLHVCQUFRLENBQUMsYUFBYTtnQkFDaEMsU0FBUyxFQUFFLHVCQUFlLENBQUMsTUFBTTthQUNsQztTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUNsQixPQUFPLEVBQUUsd0NBQXdDO1FBQ2pELFdBQVcsRUFBRTtZQUNYLDhEQUE2QjtZQUM3QixrRUFBaUM7U0FDbEM7UUFDRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxRQUFRLEVBQUUsdUJBQVEsQ0FBQyxhQUFhO2dCQUNoQyxTQUFTLEVBQUUsdUJBQWUsQ0FBQyxNQUFNO2FBQ2xDO1NBQ0Y7S0FDRjtDQUNGLENBQUEifQ==
|
|
@@ -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,
|
|
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,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9zdG9yZXMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQWtGO0FBRzNFLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0QsRUFDL0QsR0FBcUQsRUFDckQsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFBO0lBRTNDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHdEQUF3RCxDQUN6RCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNuRCxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7UUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVTtLQUN2QyxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1AsTUFBTTtRQUNOLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUM7UUFDM0IsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztRQUMzQixLQUFLLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUM7S0FDNUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBNUJZLFFBQUEsR0FBRyxPQTRCZiJ9
|
|
@@ -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,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGF0Y2hlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyR0EsZ0RBOENDO0FBekpELDJCQUE2QztBQUM3QywrQkFBMkI7QUFFM0IsK0NBQWdFO0FBQ2hFLHFDQU1pQjtBQUNqQix5Q0FBcUQ7QUFDckQsaUVBQStFO0FBQy9FLHVDQUF5QztBQUV6QywyRUFBMkU7QUFDM0UseUVBQXlFO0FBQ3pFLGlGQUFpRjtBQUNqRiw2RUFBNkU7QUFDN0UsZ0RBQWdEO0FBQ2hELEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsZ0ZBQWdGO0FBQ2hGLG9CQUFvQjtBQUNwQixFQUFFO0FBQ0YsZ0ZBQWdGO0FBQ2hGLGdGQUFnRjtBQUNoRixnRUFBZ0U7QUFFaEUsTUFBTSxTQUFTLEdBQUcsSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBUTVDLFNBQVMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsSUFBaUIsRUFBRSxNQUFjO0lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUJBQW1CLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxHQUFHO1FBQ3pDLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsR0FBRyxNQUFNO1FBQ2pFLGdCQUFnQixLQUFLLENBQUMsTUFBTSxJQUFJO1FBQ2hDLGlFQUFpRTtRQUNqRSx5RUFBeUUsQ0FDNUUsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxVQUFrQixFQUFFLFlBQW9CO0lBQzNELE1BQU0sUUFBUSxHQUFHLElBQUEsV0FBSSxFQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUMvQyxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUEsaUJBQVksRUFBQyxRQUFRLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQUMsTUFBTSxDQUFD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
|