@mohasinac/appkit 2.7.10 → 2.7.12

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 (148) hide show
  1. package/dist/_internal/server/jobs/core/assignSpinPrize.js +8 -7
  2. package/dist/_internal/server/jobs/core/bundleStockSync.js +11 -6
  3. package/dist/_internal/server/jobs/core/countersReconcile.js +3 -2
  4. package/dist/_internal/server/jobs/core/onProductStockChange.js +12 -7
  5. package/dist/_internal/server/jobs/core/onProductWrite.js +3 -2
  6. package/dist/_internal/server/jobs/core/prizeRevealClose.js +7 -5
  7. package/dist/_internal/server/jobs/core/prizeRevealExpiry.js +11 -6
  8. package/dist/_internal/server/jobs/core/prizeRevealOpen.js +13 -7
  9. package/dist/_internal/server/jobs/core/prizeRevealReminder.js +9 -4
  10. package/dist/_internal/server/jobs/core/triggerEventRaffle.js +3 -2
  11. package/dist/_internal/shared/features/blog/schema.d.ts +4 -4
  12. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +32 -32
  13. package/dist/_internal/shared/features/events/schema.d.ts +4 -4
  14. package/dist/_internal/shared/features/products/schema.d.ts +20 -20
  15. package/dist/_internal/shared/features/promotions/schema.d.ts +2 -2
  16. package/dist/_internal/shared/features/reviews/schema.d.ts +1 -1
  17. package/dist/configs/next.js +17 -1
  18. package/dist/constants/field-names.d.ts +813 -0
  19. package/dist/constants/field-names.js +918 -0
  20. package/dist/constants/sort.d.ts +7 -0
  21. package/dist/constants/sort.js +5 -0
  22. package/dist/constants/table-keys.d.ts +48 -0
  23. package/dist/constants/table-keys.js +46 -0
  24. package/dist/features/account/components/AddressesIndexListing.js +9 -6
  25. package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -1
  26. package/dist/features/admin/components/AdminBidsView.js +4 -1
  27. package/dist/features/admin/components/AdminBlogView.js +9 -2
  28. package/dist/features/admin/components/AdminBrandsView.js +9 -2
  29. package/dist/features/admin/components/AdminCarouselView.js +4 -1
  30. package/dist/features/admin/components/AdminCartsView.js +4 -1
  31. package/dist/features/admin/components/AdminCategoriesView.js +9 -2
  32. package/dist/features/admin/components/AdminContactView.js +4 -1
  33. package/dist/features/admin/components/AdminCouponsView.js +4 -1
  34. package/dist/features/admin/components/AdminFaqsView.js +5 -1
  35. package/dist/features/admin/components/AdminFeaturesView.js +5 -2
  36. package/dist/features/admin/components/AdminHistoryView.js +5 -1
  37. package/dist/features/admin/components/AdminNewsletterView.js +4 -1
  38. package/dist/features/admin/components/AdminNotificationsView.js +4 -1
  39. package/dist/features/admin/components/AdminOrdersView.js +14 -12
  40. package/dist/features/admin/components/AdminPayoutsView.js +4 -1
  41. package/dist/features/admin/components/AdminPrizeDrawsView.js +4 -1
  42. package/dist/features/admin/components/AdminProductsView.js +14 -3
  43. package/dist/features/admin/components/AdminReturnRequestsView.js +4 -1
  44. package/dist/features/admin/components/AdminReviewsView.js +4 -1
  45. package/dist/features/admin/components/AdminScammersView.js +4 -1
  46. package/dist/features/admin/components/AdminSessionsView.js +4 -1
  47. package/dist/features/admin/components/AdminStoreAddressesView.js +5 -1
  48. package/dist/features/admin/components/AdminStoresView.js +10 -3
  49. package/dist/features/admin/components/AdminSublistingCategoriesView.js +4 -1
  50. package/dist/features/admin/components/AdminSupportTicketsView.js +4 -1
  51. package/dist/features/admin/components/AdminTeamView.js +4 -1
  52. package/dist/features/admin/components/AdminUsersView.js +9 -12
  53. package/dist/features/admin/components/AdminViewCards.d.ts +12 -0
  54. package/dist/features/admin/components/AdminViewCards.js +53 -0
  55. package/dist/features/admin/components/AdminWishlistsView.js +4 -1
  56. package/dist/features/auctions/repository/bid.repository.js +1 -6
  57. package/dist/features/auctions/schemas/index.d.ts +4 -4
  58. package/dist/features/blog/actions/blog-actions.d.ts +16 -16
  59. package/dist/features/blog/components/BlogFilters.d.ts +28 -28
  60. package/dist/features/blog/components/BlogFilters.js +18 -15
  61. package/dist/features/blog/components/BlogIndexListing.js +24 -13
  62. package/dist/features/blog/schemas/index.d.ts +10 -10
  63. package/dist/features/categories/components/CategoriesIndexListing.js +30 -19
  64. package/dist/features/categories/schemas/index.d.ts +2 -2
  65. package/dist/features/events/components/AdminEventsView.js +5 -1
  66. package/dist/features/events/components/EventFilters.d.ts +24 -24
  67. package/dist/features/events/components/EventFilters.js +16 -13
  68. package/dist/features/events/components/EventStatusBadge.js +1 -0
  69. package/dist/features/events/components/EventsIndexListing.js +36 -24
  70. package/dist/features/events/components/EventsListPageView.js +13 -10
  71. package/dist/features/events/schemas/firestore.d.ts +1 -0
  72. package/dist/features/events/schemas/firestore.js +1 -0
  73. package/dist/features/events/schemas/index.d.ts +1 -1
  74. package/dist/features/events/types/index.d.ts +1 -1
  75. package/dist/features/faq/actions/faq-actions.d.ts +10 -10
  76. package/dist/features/faq/schemas/index.d.ts +4 -4
  77. package/dist/features/layout/TitleBarLayout.js +1 -1
  78. package/dist/features/orders/components/OrderFilters.d.ts +20 -20
  79. package/dist/features/orders/components/OrderFilters.js +33 -30
  80. package/dist/features/orders/repository/orders.repository.js +1 -15
  81. package/dist/features/orders/schemas/index.d.ts +2 -2
  82. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +44 -36
  83. package/dist/features/pre-orders/schemas/index.d.ts +3 -3
  84. package/dist/features/products/components/AuctionsIndexListing.js +63 -30
  85. package/dist/features/products/components/BidHistory.d.ts +0 -1
  86. package/dist/features/products/components/BidHistory.js +1 -1
  87. package/dist/features/products/components/PrizeDrawsIndexListing.js +44 -37
  88. package/dist/features/products/components/ProductDetailPageView.js +1 -1
  89. package/dist/features/products/components/ProductFilters.d.ts +20 -20
  90. package/dist/features/products/components/ProductFilters.js +62 -59
  91. package/dist/features/products/components/ProductsIndexListing.js +37 -29
  92. package/dist/features/products/components/ProductsIndexPageView.js +18 -10
  93. package/dist/features/products/hooks/useProducts.js +2 -0
  94. package/dist/features/products/repository/products.repository.js +2 -22
  95. package/dist/features/products/schemas/index.d.ts +28 -28
  96. package/dist/features/products/schemas/product-features.validators.d.ts +12 -12
  97. package/dist/features/products/types/index.d.ts +2 -0
  98. package/dist/features/promotions/components/CouponsIndexListing.js +21 -17
  99. package/dist/features/promotions/schemas/index.d.ts +4 -4
  100. package/dist/features/reviews/components/ReviewDetailShell.js +6 -5
  101. package/dist/features/reviews/components/ReviewFilters.d.ts +16 -16
  102. package/dist/features/reviews/components/ReviewFilters.js +10 -7
  103. package/dist/features/reviews/components/ReviewsIndexListing.js +25 -14
  104. package/dist/features/reviews/components/ReviewsList.d.ts +5 -2
  105. package/dist/features/reviews/components/ReviewsList.js +11 -5
  106. package/dist/features/reviews/schemas/firestore.d.ts +1 -0
  107. package/dist/features/reviews/schemas/index.d.ts +8 -8
  108. package/dist/features/reviews/types/index.d.ts +1 -0
  109. package/dist/features/search/schemas/index.d.ts +2 -2
  110. package/dist/features/seller/components/SellerAuctionsView.js +5 -1
  111. package/dist/features/seller/components/SellerBidsView.js +4 -1
  112. package/dist/features/seller/components/SellerCouponsView.js +4 -1
  113. package/dist/features/seller/components/SellerOffersView.js +5 -1
  114. package/dist/features/seller/components/SellerOrdersView.js +4 -1
  115. package/dist/features/seller/components/SellerPayoutsView.js +5 -1
  116. package/dist/features/seller/components/SellerPreOrdersView.js +4 -1
  117. package/dist/features/seller/components/SellerPrizeDrawsView.js +4 -1
  118. package/dist/features/seller/components/SellerProductsView.js +4 -1
  119. package/dist/features/seller/schemas/index.d.ts +10 -10
  120. package/dist/features/stores/api/route.js +10 -1
  121. package/dist/features/stores/components/StoreAuctionsListing.js +2 -1
  122. package/dist/features/stores/components/StorePreOrdersListing.js +2 -1
  123. package/dist/features/stores/components/StoreReviewsListing.js +1 -1
  124. package/dist/features/stores/components/StoresIndexListing.js +45 -27
  125. package/dist/features/stores/schemas/firestore.d.ts +1 -0
  126. package/dist/features/stores/schemas/index.d.ts +4 -4
  127. package/dist/index.d.ts +8 -1
  128. package/dist/index.js +12 -1
  129. package/dist/react/hooks/useUrlTable.js +2 -1
  130. package/dist/seed/bids-seed-data.js +45 -44
  131. package/dist/seed/categories-seed-data.js +41 -40
  132. package/dist/seed/coupons-seed-data.js +41 -40
  133. package/dist/seed/products-auctions-seed-data.js +54 -53
  134. package/dist/seed/products-preorders-seed-data.js +25 -24
  135. package/dist/seed/products-prize-draws-seed-data.js +24 -23
  136. package/dist/seed/products-standard-seed-data.js +294 -293
  137. package/dist/seed/reviews-seed-data.js +61 -60
  138. package/dist/seed/scammers-seed-data.js +3 -2
  139. package/dist/seed/stores-seed-data.js +9 -8
  140. package/dist/seed/support-tickets-seed-data.js +13 -12
  141. package/dist/seed/users-seed-data.js +28 -27
  142. package/dist/tailwind-utilities.css +1 -1
  143. package/dist/ui/components/ListingToolbar.d.ts +7 -4
  144. package/dist/ui/components/ListingToolbar.js +4 -3
  145. package/dist/ui/components/SiteLogo.js +1 -1
  146. package/dist/utils/sieve-builder.d.ts +41 -0
  147. package/dist/utils/sieve-builder.js +66 -0
  148. package/package.json +1 -1
@@ -28,11 +28,12 @@ export declare const productInputSchema: z.ZodObject<{
28
28
  title: string;
29
29
  category: string;
30
30
  price: number;
31
+ tags: string[];
31
32
  images: string[];
32
33
  stockQuantity: number;
33
34
  availableQuantity: number;
34
35
  mainImage: string;
35
- tags: string[];
36
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
36
37
  description?: string | undefined;
37
38
  seoTitle?: string | undefined;
38
39
  seoDescription?: string | undefined;
@@ -41,7 +42,6 @@ export declare const productInputSchema: z.ZodObject<{
41
42
  features?: string[] | undefined;
42
43
  shippingInfo?: string | undefined;
43
44
  returnPolicy?: string | undefined;
44
- condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
45
45
  insurance?: boolean | undefined;
46
46
  insuranceCost?: number | undefined;
47
47
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -53,6 +53,8 @@ export declare const productInputSchema: z.ZodObject<{
53
53
  price: number;
54
54
  mainImage: string;
55
55
  currency?: string | undefined;
56
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
57
+ tags?: string[] | undefined;
56
58
  images?: string[] | undefined;
57
59
  description?: string | undefined;
58
60
  seoTitle?: string | undefined;
@@ -61,11 +63,9 @@ export declare const productInputSchema: z.ZodObject<{
61
63
  brandSlug?: string | undefined;
62
64
  stockQuantity?: number | undefined;
63
65
  availableQuantity?: number | undefined;
64
- tags?: string[] | undefined;
65
66
  features?: string[] | undefined;
66
67
  shippingInfo?: string | undefined;
67
68
  returnPolicy?: string | undefined;
68
- condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
69
69
  insurance?: boolean | undefined;
70
70
  insuranceCost?: number | undefined;
71
71
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -101,6 +101,8 @@ export declare const productUpdateSchema: z.ZodObject<{
101
101
  title?: string | undefined;
102
102
  category?: string | undefined;
103
103
  price?: number | undefined;
104
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
105
+ tags?: string[] | undefined;
104
106
  images?: string[] | undefined;
105
107
  description?: string | undefined;
106
108
  seoTitle?: string | undefined;
@@ -110,11 +112,9 @@ export declare const productUpdateSchema: z.ZodObject<{
110
112
  stockQuantity?: number | undefined;
111
113
  availableQuantity?: number | undefined;
112
114
  mainImage?: string | undefined;
113
- tags?: string[] | undefined;
114
115
  features?: string[] | undefined;
115
116
  shippingInfo?: string | undefined;
116
117
  returnPolicy?: string | undefined;
117
- condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
118
118
  insurance?: boolean | undefined;
119
119
  insuranceCost?: number | undefined;
120
120
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -125,6 +125,8 @@ export declare const productUpdateSchema: z.ZodObject<{
125
125
  title?: string | undefined;
126
126
  category?: string | undefined;
127
127
  price?: number | undefined;
128
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
129
+ tags?: string[] | undefined;
128
130
  images?: string[] | undefined;
129
131
  description?: string | undefined;
130
132
  seoTitle?: string | undefined;
@@ -134,11 +136,9 @@ export declare const productUpdateSchema: z.ZodObject<{
134
136
  stockQuantity?: number | undefined;
135
137
  availableQuantity?: number | undefined;
136
138
  mainImage?: string | undefined;
137
- tags?: string[] | undefined;
138
139
  features?: string[] | undefined;
139
140
  shippingInfo?: string | undefined;
140
141
  returnPolicy?: string | undefined;
141
- condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
142
142
  insurance?: boolean | undefined;
143
143
  insuranceCost?: number | undefined;
144
144
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -184,15 +184,16 @@ export declare const auctionInputSchema: z.ZodObject<{
184
184
  title: string;
185
185
  category: string;
186
186
  price: number;
187
- images: string[];
187
+ tags: string[];
188
188
  listingType: "auction";
189
+ images: string[];
189
190
  stockQuantity: number;
190
191
  availableQuantity: number;
191
192
  mainImage: string;
192
- tags: string[];
193
193
  auctionEndDate: string;
194
194
  startingBid: number;
195
195
  autoExtendable: boolean;
196
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
196
197
  description?: string | undefined;
197
198
  seoTitle?: string | undefined;
198
199
  seoDescription?: string | undefined;
@@ -201,7 +202,6 @@ export declare const auctionInputSchema: z.ZodObject<{
201
202
  features?: string[] | undefined;
202
203
  shippingInfo?: string | undefined;
203
204
  returnPolicy?: string | undefined;
204
- condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
205
205
  insurance?: boolean | undefined;
206
206
  insuranceCost?: number | undefined;
207
207
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -221,6 +221,8 @@ export declare const auctionInputSchema: z.ZodObject<{
221
221
  auctionEndDate: string;
222
222
  startingBid: number;
223
223
  currency?: string | undefined;
224
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
225
+ tags?: string[] | undefined;
224
226
  images?: string[] | undefined;
225
227
  description?: string | undefined;
226
228
  seoTitle?: string | undefined;
@@ -229,11 +231,9 @@ export declare const auctionInputSchema: z.ZodObject<{
229
231
  brandSlug?: string | undefined;
230
232
  stockQuantity?: number | undefined;
231
233
  availableQuantity?: number | undefined;
232
- tags?: string[] | undefined;
233
234
  features?: string[] | undefined;
234
235
  shippingInfo?: string | undefined;
235
236
  returnPolicy?: string | undefined;
236
- condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
237
237
  insurance?: boolean | undefined;
238
238
  insuranceCost?: number | undefined;
239
239
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -282,15 +282,16 @@ export declare const preOrderInputSchema: z.ZodObject<{
282
282
  title: string;
283
283
  category: string;
284
284
  price: number;
285
- images: string[];
285
+ tags: string[];
286
286
  listingType: "pre-order";
287
+ preOrderProductionStatus: "upcoming" | "in_production" | "ready_to_ship";
288
+ images: string[];
287
289
  stockQuantity: number;
288
290
  availableQuantity: number;
289
291
  mainImage: string;
290
- tags: string[];
291
292
  preOrderDeliveryDate: string;
292
- preOrderProductionStatus: "upcoming" | "in_production" | "ready_to_ship";
293
293
  preOrderCancellable: boolean;
294
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
294
295
  description?: string | undefined;
295
296
  seoTitle?: string | undefined;
296
297
  seoDescription?: string | undefined;
@@ -299,7 +300,6 @@ export declare const preOrderInputSchema: z.ZodObject<{
299
300
  features?: string[] | undefined;
300
301
  shippingInfo?: string | undefined;
301
302
  returnPolicy?: string | undefined;
302
- condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
303
303
  insurance?: boolean | undefined;
304
304
  insuranceCost?: number | undefined;
305
305
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -315,6 +315,9 @@ export declare const preOrderInputSchema: z.ZodObject<{
315
315
  mainImage: string;
316
316
  preOrderDeliveryDate: string;
317
317
  currency?: string | undefined;
318
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
319
+ tags?: string[] | undefined;
320
+ preOrderProductionStatus?: "upcoming" | "in_production" | "ready_to_ship" | undefined;
318
321
  images?: string[] | undefined;
319
322
  description?: string | undefined;
320
323
  seoTitle?: string | undefined;
@@ -323,17 +326,14 @@ export declare const preOrderInputSchema: z.ZodObject<{
323
326
  brandSlug?: string | undefined;
324
327
  stockQuantity?: number | undefined;
325
328
  availableQuantity?: number | undefined;
326
- tags?: string[] | undefined;
327
329
  features?: string[] | undefined;
328
330
  shippingInfo?: string | undefined;
329
331
  returnPolicy?: string | undefined;
330
- condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
331
332
  insurance?: boolean | undefined;
332
333
  insuranceCost?: number | undefined;
333
334
  shippingPaidBy?: "seller" | "buyer" | undefined;
334
335
  preOrderDepositPercent?: number | undefined;
335
336
  preOrderMaxQuantity?: number | undefined;
336
- preOrderProductionStatus?: "upcoming" | "in_production" | "ready_to_ship" | undefined;
337
337
  preOrderCancellable?: boolean | undefined;
338
338
  allowOffers?: boolean | undefined;
339
339
  minOfferPercent?: number | undefined;
@@ -191,12 +191,12 @@ export declare const updateCouponSchema: z.ZodObject<Omit<{
191
191
  type?: "fixed" | "percentage" | "free_shipping" | "buy_x_get_y" | undefined;
192
192
  scope?: "admin" | "seller" | undefined;
193
193
  name?: string | undefined;
194
+ sellerId?: string | undefined;
194
195
  discount?: {
195
196
  value: number;
196
197
  minPurchase: number;
197
198
  maxDiscount?: number | undefined;
198
199
  } | undefined;
199
- sellerId?: string | undefined;
200
200
  usage?: {
201
201
  perUserLimit: number;
202
202
  totalLimit?: number | undefined;
@@ -216,12 +216,12 @@ export declare const updateCouponSchema: z.ZodObject<Omit<{
216
216
  type?: "fixed" | "percentage" | "free_shipping" | "buy_x_get_y" | undefined;
217
217
  scope?: "admin" | "seller" | undefined;
218
218
  name?: string | undefined;
219
+ sellerId?: string | undefined;
219
220
  discount?: {
220
221
  value: number;
221
222
  maxDiscount?: number | undefined;
222
223
  minPurchase?: number | undefined;
223
224
  } | undefined;
224
- sellerId?: string | undefined;
225
225
  usage?: {
226
226
  perUserLimit?: number | undefined;
227
227
  totalLimit?: number | undefined;
@@ -12,8 +12,8 @@ export declare const createReviewSchema: z.ZodObject<{
12
12
  title: string;
13
13
  body: string;
14
14
  productId: string;
15
- images: string[];
16
15
  rating: number;
16
+ images: string[];
17
17
  orderId?: string | undefined;
18
18
  }, {
19
19
  storeId: string;
@@ -65,7 +65,7 @@ const FIREBASE_EXTERNAL_PACKAGES = [
65
65
  * ```
66
66
  */
67
67
  export function defineNextConfig(override = {}) {
68
- const { serverExternalPackages: consumerExternal = [], experimental: consumerExperimental = {}, webpack: consumerWebpack, outputFileTracingIncludes: consumerOutputFileTracingIncludes = {}, ...rest } = override;
68
+ const { serverExternalPackages: consumerExternal = [], experimental: consumerExperimental = {}, webpack: consumerWebpack, outputFileTracingIncludes: consumerOutputFileTracingIncludes = {}, turbopack: consumerTurbopack = {}, ...rest } = override;
69
69
  const mergedExternal = [
70
70
  ...FIREBASE_EXTERNAL_PACKAGES,
71
71
  ...consumerExternal.filter((p) => !FIREBASE_EXTERNAL_PACKAGES.includes(p)),
@@ -177,6 +177,8 @@ export function defineNextConfig(override = {}) {
177
177
  // disagree on which apps exist, causing "No Firebase App '[DEFAULT]'" errors.
178
178
  // Pinning every firebase/* import to the root copy ensures the singleton
179
179
  // registry is shared regardless of which file imports firebase.
180
+ // NOTE: This fixes webpack (dev --webpack) only. Turbopack (next build) uses
181
+ // turbopack.resolveAlias in the returned config object — see below.
180
182
  const _firebaseRoot = path.resolve(process.cwd(), "node_modules", "firebase");
181
183
  config.resolve.alias = {
182
184
  ...(config.resolve.alias ?? {}),
@@ -265,6 +267,19 @@ export function defineNextConfig(override = {}) {
265
267
  ...consumerRemotePatterns.filter((p) => !defaultRemotePatterns.some((d) => d.hostname ===
266
268
  p.hostname)),
267
269
  ];
270
+ // Turbopack (used by `next build`) has its own alias system separate from
271
+ // webpack. Mirror the firebase deduplication alias so prod builds share the
272
+ // same Firebase app registry as dev builds.
273
+ const firebaseRoot = path.resolve(process.cwd(), "node_modules", "firebase");
274
+ const consumerTurbopackResolved = consumerTurbopack;
275
+ const consumerTurbopackAlias = (consumerTurbopackResolved.resolveAlias ?? {});
276
+ const mergedTurbopack = {
277
+ ...consumerTurbopackResolved,
278
+ resolveAlias: {
279
+ ...consumerTurbopackAlias,
280
+ firebase: firebaseRoot,
281
+ },
282
+ };
268
283
  return {
269
284
  images: {
270
285
  ...consumerImages,
@@ -275,5 +290,6 @@ export function defineNextConfig(override = {}) {
275
290
  experimental: mergedExperimental,
276
291
  outputFileTracingIncludes: mergedOutputFileTracingIncludes,
277
292
  webpack: mergedWebpack,
293
+ turbopack: mergedTurbopack,
278
294
  };
279
295
  }