@vendure-platform/create 0.2.1-nightly.202605191555 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/assets/storefront/next.config.ts +1 -19
  3. package/dist/assets/storefront/package.json +1 -3
  4. package/dist/assets/storefront/src/components/commerce/packaging-unit-selector.tsx +6 -1
  5. package/dist/assets/storefront/src/components/commerce/product-info.tsx +4 -4
  6. package/dist/assets/storefront/src/graphql-env.d.ts +25 -22
  7. package/dist/assets/storefront/src/lib/vendure/queries.ts +6 -0
  8. package/dist/assets/storefront/src/schema.graphql +204 -111
  9. package/dist/assets/templates/README.md.hbs +5 -0
  10. package/dist/assets/templates/environment.d.ts.hbs +3 -0
  11. package/dist/assets/templates/populate.ts.hbs +1 -14
  12. package/dist/assets/templates/server-package.json.hbs +6 -6
  13. package/dist/assets/templates/vendure-config.ts.hbs +9 -3
  14. package/dist/scaffolder.js +1 -1
  15. package/dist/scaffolder.js.map +1 -1
  16. package/dist/storefront-copier.js +4 -1
  17. package/dist/storefront-copier.js.map +1 -1
  18. package/dist/template-renderer.d.ts +32 -1
  19. package/dist/template-renderer.js +39 -4
  20. package/dist/template-renderer.js.map +1 -1
  21. package/package.json +2 -2
  22. package/dist/assets/demo-data/assets/branding/logo.svg +0 -4
  23. package/dist/assets/demo-data/assets/images/absorbent-pad.webp +0 -0
  24. package/dist/assets/demo-data/assets/images/adjustable-wrench.webp +0 -0
  25. package/dist/assets/demo-data/assets/images/anchor-bolt.webp +0 -0
  26. package/dist/assets/demo-data/assets/images/angle-grinder.webp +0 -0
  27. package/dist/assets/demo-data/assets/images/barrier-tape.webp +0 -0
  28. package/dist/assets/demo-data/assets/images/bench-grinder.webp +0 -0
  29. package/dist/assets/demo-data/assets/images/bracket.webp +0 -0
  30. package/dist/assets/demo-data/assets/images/broom.webp +0 -0
  31. package/dist/assets/demo-data/assets/images/bucket.webp +0 -0
  32. package/dist/assets/demo-data/assets/images/cable-gland.webp +0 -0
  33. package/dist/assets/demo-data/assets/images/cable-tie.webp +0 -0
  34. package/dist/assets/demo-data/assets/images/cable-tray.webp +0 -0
  35. package/dist/assets/demo-data/assets/images/cable.webp +0 -0
  36. package/dist/assets/demo-data/assets/images/chimney-base-kit.webp +0 -0
  37. package/dist/assets/demo-data/assets/images/chimney-cowl-bird-guard.webp +0 -0
  38. package/dist/assets/demo-data/assets/images/chimney-cowl-open.webp +0 -0
  39. package/dist/assets/demo-data/assets/images/chimney-storm-collar.webp +0 -0
  40. package/dist/assets/demo-data/assets/images/chimney-wall-bracket.webp +0 -0
  41. package/dist/assets/demo-data/assets/images/circular-saw.webp +0 -0
  42. package/dist/assets/demo-data/assets/images/cleaning-spray.webp +0 -0
  43. package/dist/assets/demo-data/assets/images/conduit.webp +0 -0
  44. package/dist/assets/demo-data/assets/images/cordless-drill.webp +0 -0
  45. package/dist/assets/demo-data/assets/images/drill-bits.webp +0 -0
  46. package/dist/assets/demo-data/assets/images/dust-mask.webp +0 -0
  47. package/dist/assets/demo-data/assets/images/ear-defenders.webp +0 -0
  48. package/dist/assets/demo-data/assets/images/ear-plugs.webp +0 -0
  49. package/dist/assets/demo-data/assets/images/extension-lead.webp +0 -0
  50. package/dist/assets/demo-data/assets/images/eye-wash-station.webp +0 -0
  51. package/dist/assets/demo-data/assets/images/face-shield.webp +0 -0
  52. package/dist/assets/demo-data/assets/images/file-set.webp +0 -0
  53. package/dist/assets/demo-data/assets/images/first-aid-kit.webp +0 -0
  54. package/dist/assets/demo-data/assets/images/floor-sign.webp +0 -0
  55. package/dist/assets/demo-data/assets/images/flue-bend-45.webp +0 -0
  56. package/dist/assets/demo-data/assets/images/flue-bend-90.webp +0 -0
  57. package/dist/assets/demo-data/assets/images/flue-section-1000mm.webp +0 -0
  58. package/dist/assets/demo-data/assets/images/flue-section-250mm.webp +0 -0
  59. package/dist/assets/demo-data/assets/images/flue-section-500mm.webp +0 -0
  60. package/dist/assets/demo-data/assets/images/fuse.webp +0 -0
  61. package/dist/assets/demo-data/assets/images/glove-dispenser.webp +0 -0
  62. package/dist/assets/demo-data/assets/images/grinding-disc.webp +0 -0
  63. package/dist/assets/demo-data/assets/images/hacksaw.webp +0 -0
  64. package/dist/assets/demo-data/assets/images/hammer.webp +0 -0
  65. package/dist/assets/demo-data/assets/images/hand-sanitiser.webp +0 -0
  66. package/dist/assets/demo-data/assets/images/head-torch.webp +0 -0
  67. package/dist/assets/demo-data/assets/images/heat-gun.webp +0 -0
  68. package/dist/assets/demo-data/assets/images/hex-bolt.webp +0 -0
  69. package/dist/assets/demo-data/assets/images/hex-key-set.webp +0 -0
  70. package/dist/assets/demo-data/assets/images/hex-nut.webp +0 -0
  71. package/dist/assets/demo-data/assets/images/hi-vis-jacket.webp +0 -0
  72. package/dist/assets/demo-data/assets/images/hi-vis-vest.webp +0 -0
  73. package/dist/assets/demo-data/assets/images/hose-clamp.webp +0 -0
  74. package/dist/assets/demo-data/assets/images/impact-driver.webp +0 -0
  75. package/dist/assets/demo-data/assets/images/jigsaw.webp +0 -0
  76. package/dist/assets/demo-data/assets/images/junction-box.webp +0 -0
  77. package/dist/assets/demo-data/assets/images/knee-pads.webp +0 -0
  78. package/dist/assets/demo-data/assets/images/machine-screw.webp +0 -0
  79. package/dist/assets/demo-data/assets/images/made-to-order-configurable-chimney.webp +0 -0
  80. package/dist/assets/demo-data/assets/images/mallet.webp +0 -0
  81. package/dist/assets/demo-data/assets/images/mcb.webp +0 -0
  82. package/dist/assets/demo-data/assets/images/mop.webp +0 -0
  83. package/dist/assets/demo-data/assets/images/paper-towels.webp +0 -0
  84. package/dist/assets/demo-data/assets/images/pipe-wrench.webp +0 -0
  85. package/dist/assets/demo-data/assets/images/pliers-set.webp +0 -0
  86. package/dist/assets/demo-data/assets/images/pry-bar.webp +0 -0
  87. package/dist/assets/demo-data/assets/images/rcd.webp +0 -0
  88. package/dist/assets/demo-data/assets/images/reciprocating-saw.webp +0 -0
  89. package/dist/assets/demo-data/assets/images/rivet.webp +0 -0
  90. package/dist/assets/demo-data/assets/images/roof-flashing-high-pitch.webp +0 -0
  91. package/dist/assets/demo-data/assets/images/roof-flashing-low-pitch.webp +0 -0
  92. package/dist/assets/demo-data/assets/images/safety-boots.webp +0 -0
  93. package/dist/assets/demo-data/assets/images/safety-glasses.webp +0 -0
  94. package/dist/assets/demo-data/assets/images/safety-harness.webp +0 -0
  95. package/dist/assets/demo-data/assets/images/safety-helmet.webp +0 -0
  96. package/dist/assets/demo-data/assets/images/safety-sign.webp +0 -0
  97. package/dist/assets/demo-data/assets/images/sanding-disc.webp +0 -0
  98. package/dist/assets/demo-data/assets/images/saw-blade.webp +0 -0
  99. package/dist/assets/demo-data/assets/images/screwdriver-set.webp +0 -0
  100. package/dist/assets/demo-data/assets/images/screwdriver.webp +0 -0
  101. package/dist/assets/demo-data/assets/images/self-tapping-screw.webp +0 -0
  102. package/dist/assets/demo-data/assets/images/socket-set.webp +0 -0
  103. package/dist/assets/demo-data/assets/images/socket.webp +0 -0
  104. package/dist/assets/demo-data/assets/images/spanner-set.webp +0 -0
  105. package/dist/assets/demo-data/assets/images/spanner.webp +0 -0
  106. package/dist/assets/demo-data/assets/images/spill-kit.webp +0 -0
  107. package/dist/assets/demo-data/assets/images/spirit-level.webp +0 -0
  108. package/dist/assets/demo-data/assets/images/switch.webp +0 -0
  109. package/dist/assets/demo-data/assets/images/tape-measure.webp +0 -0
  110. package/dist/assets/demo-data/assets/images/terminal-block.webp +0 -0
  111. package/dist/assets/demo-data/assets/images/threaded-rod.webp +0 -0
  112. package/dist/assets/demo-data/assets/images/torque-wrench.webp +0 -0
  113. package/dist/assets/demo-data/assets/images/utility-knife.webp +0 -0
  114. package/dist/assets/demo-data/assets/images/wall-pass-sleeve.webp +0 -0
  115. package/dist/assets/demo-data/assets/images/wall-plug.webp +0 -0
  116. package/dist/assets/demo-data/assets/images/washer.webp +0 -0
  117. package/dist/assets/demo-data/assets/images/waste-bin.webp +0 -0
  118. package/dist/assets/demo-data/assets/images/wire-connector.webp +0 -0
  119. package/dist/assets/demo-data/assets/images/wire-cutters.webp +0 -0
  120. package/dist/assets/demo-data/assets/images/wood-screw.webp +0 -0
  121. package/dist/assets/demo-data/assets/images/work-gloves.webp +0 -0
  122. package/dist/assets/demo-data/assets/images/work-light.webp +0 -0
  123. package/dist/assets/demo-data/assets/initial-data.json +0 -667
  124. package/dist/assets/demo-data/assets/products.csv +0 -779
@@ -108,6 +108,11 @@ type Query {
108
108
  publicShoppingList(publicCode: String!): ShoppingList
109
109
  quickOrderSearch(term: String!, take: Int): [QuickOrderSearchResult!]!
110
110
 
111
+ """
112
+ Preview a reorder. Returns per-line availability, indicative pricing, and a summary. Transaction-free.
113
+ """
114
+ previewReorder(input: ReorderPreviewInput!): ReorderPreview!
115
+
111
116
  """
112
117
  Returns open store credits visible to the active customer.
113
118
  If a customerScopeStrategy is configured (e.g. org-hierarchy),
@@ -138,9 +143,6 @@ type Query {
138
143
 
139
144
  """Approval history for a specific entity visible to the current customer"""
140
145
  approvalHistoryForEntity(entityType: String!, entityId: ID!): [ApprovalRequest!]!
141
-
142
- """Preview a reorder. Returns per-line availability, indicative pricing, and a summary. Transaction-free."""
143
- previewReorder(input: ReorderPreviewInput!): ReorderPreview!
144
146
  }
145
147
 
146
148
  type Mutation {
@@ -332,7 +334,9 @@ type Mutation {
332
334
  """
333
335
  addQuickOrderItemsToOrder(input: QuickOrderInput!): QuickOrderAddToOrderResult!
334
336
 
335
- """Add the specified reorder lines to the customer's active order. Atomic — runs inside a single transaction."""
337
+ """
338
+ Add the specified reorder lines to the customer's active order. Atomic — runs inside a single transaction.
339
+ """
336
340
  addReorderToActiveOrder(input: ReorderCommitInput!): ReorderResult!
337
341
  applyStoreCreditToOrder(code: String!): ApplyStoreCreditToOrderResult!
338
342
  removeStoreCreditFromOrder(code: String!): Order!
@@ -1019,17 +1023,17 @@ enum Permission {
1019
1023
  """Grants permission to delete QuoteManagement"""
1020
1024
  DeleteQuoteManagement
1021
1025
 
1022
- """Grants permission to create PriceRule"""
1023
- CreatePriceRule
1026
+ """Grants permission to create PriceList"""
1027
+ CreatePriceList
1024
1028
 
1025
- """Grants permission to read PriceRule"""
1026
- ReadPriceRule
1029
+ """Grants permission to read PriceList"""
1030
+ ReadPriceList
1027
1031
 
1028
- """Grants permission to update PriceRule"""
1029
- UpdatePriceRule
1032
+ """Grants permission to update PriceList"""
1033
+ UpdatePriceList
1030
1034
 
1031
- """Grants permission to delete PriceRule"""
1032
- DeletePriceRule
1035
+ """Grants permission to delete PriceList"""
1036
+ DeletePriceList
1033
1037
 
1034
1038
  """Grants permission to create PackagingUnit"""
1035
1039
  CreatePackagingUnit
@@ -1081,6 +1085,12 @@ enum Permission {
1081
1085
 
1082
1086
  """Grants permission to delete ApprovalRequest"""
1083
1087
  DeleteApprovalRequest
1088
+
1089
+ """Grants permission to read DashboardGlobalViews"""
1090
+ ReadDashboardGlobalViews
1091
+
1092
+ """Grants permission to write DashboardGlobalViews"""
1093
+ WriteDashboardGlobalViews
1084
1094
  }
1085
1095
 
1086
1096
  enum SortOrder {
@@ -1257,12 +1267,22 @@ Union type of all possible errors that can occur when adding or removing items f
1257
1267
  """
1258
1268
  union UpdateOrderItemErrorResult = OrderModificationError | OrderLimitError | NegativeQuantityError | InsufficientStockError | OrderInterceptorError
1259
1269
 
1260
- scalar JSON
1270
+ """
1271
+ The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
1272
+ """
1273
+ scalar JSON @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
1261
1274
 
1275
+ """
1276
+ A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
1277
+ """
1262
1278
  scalar DateTime
1263
1279
 
1280
+ """The `Upload` scalar type represents a file upload."""
1264
1281
  scalar Upload
1265
1282
 
1283
+ """
1284
+ The `Money` scalar type represents monetary values and supports signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
1285
+ """
1266
1286
  scalar Money
1267
1287
 
1268
1288
  interface PaginatedList {
@@ -1499,7 +1519,7 @@ input CreateCustomerInput {
1499
1519
  lastName: String!
1500
1520
  phoneNumber: String
1501
1521
  emailAddress: String!
1502
- customFields: JSON
1522
+ customFields: CreateCustomerCustomFieldsInput
1503
1523
  }
1504
1524
 
1505
1525
  """
@@ -2386,7 +2406,7 @@ type Customer implements Node {
2386
2406
  orders(options: OrderListOptions): OrderList!
2387
2407
  user: User
2388
2408
  companyUsers: [CompanyUser!]!
2389
- customFields: JSON
2409
+ customFields: CustomerCustomFields
2390
2410
  }
2391
2411
 
2392
2412
  type CustomerList implements PaginatedList {
@@ -2510,6 +2530,7 @@ enum HistoryEntryType {
2510
2530
  ORDER_APPROVAL_REJECTED
2511
2531
  ORDER_APPROVAL_CHANGES_REQUESTED
2512
2532
  ORDER_APPROVAL_CANCELLED
2533
+ ORDER_APPROVAL_BLOCKED_STALE_DATA
2513
2534
  }
2514
2535
 
2515
2536
  type HistoryEntryList implements PaginatedList {
@@ -3920,6 +3941,7 @@ input RegisterCustomerInput {
3920
3941
  lastName: String
3921
3942
  phoneNumber: String
3922
3943
  password: String
3944
+ customFields: RegisterCustomerCustomFieldsInput
3923
3945
  }
3924
3946
 
3925
3947
  input UpdateCustomerInput {
@@ -3927,7 +3949,7 @@ input UpdateCustomerInput {
3927
3949
  firstName: String
3928
3950
  lastName: String
3929
3951
  phoneNumber: String
3930
- customFields: JSON
3952
+ customFields: UpdateCustomerCustomFieldsInput
3931
3953
  }
3932
3954
 
3933
3955
  input UpdateOrderInput {
@@ -4704,6 +4726,143 @@ type QuickOrderAddToOrderError implements ErrorResult {
4704
4726
 
4705
4727
  union QuickOrderAddToOrderResult = QuickOrderAddToOrderSuccess | QuickOrderAddToOrderError
4706
4728
 
4729
+ """
4730
+ Input for previewing a reorder. Provide `sourceOrderId` to identify the
4731
+ order to rebuy from. `lineIds` is optional — if omitted, every eligible
4732
+ line from the source order is considered. `quantityOverrides` allows
4733
+ the client to bump or reduce a line's quantity before seeing the
4734
+ indicative totals.
4735
+ """
4736
+ input ReorderPreviewInput {
4737
+ sourceOrderId: ID!
4738
+ lineIds: [ID!]
4739
+ quantityOverrides: [ReorderQuantityOverride!]
4740
+ }
4741
+
4742
+ input ReorderQuantityOverride {
4743
+ sourceLineId: ID!
4744
+ quantity: Int!
4745
+ }
4746
+
4747
+ """
4748
+ Input for committing a reorder. The client is expected to have run
4749
+ `previewReorder` and filtered to lines with `AVAILABLE`, `LOW_STOCK`,
4750
+ `PRICE_CHANGED`, or `SUBSTITUTED` status before calling this mutation.
4751
+ """
4752
+ input ReorderCommitInput {
4753
+ sourceOrderId: ID!
4754
+ lines: [ReorderCommitLine!]!
4755
+ }
4756
+
4757
+ input ReorderCommitLine {
4758
+ sourceLineId: ID!
4759
+ productVariantId: ID!
4760
+ quantity: Int!
4761
+ }
4762
+
4763
+ """Per-line outcome of a reorder preview."""
4764
+ type ReorderPreviewLine {
4765
+ """Identifier of the original line on the source order."""
4766
+ sourceLineId: ID!
4767
+
4768
+ """
4769
+ Resolved variant. `null` when the source variant was soft-deleted or the line was filtered.
4770
+ """
4771
+ productVariant: ProductVariant
4772
+ quantity: Int!
4773
+ status: ReorderLineStatus!
4774
+
4775
+ """Historical unit price paid on the source order (excl. tax)."""
4776
+ originalUnitPrice: Money!
4777
+
4778
+ """Historical unit price paid on the source order (incl. tax)."""
4779
+ originalUnitPriceWithTax: Money!
4780
+
4781
+ """Current catalog unit price (excl. tax)."""
4782
+ currentCatalogUnitPrice: Money!
4783
+
4784
+ """Current catalog unit price (incl. tax)."""
4785
+ currentCatalogUnitPriceWithTax: Money!
4786
+ messages: [ReorderMessage!]!
4787
+ }
4788
+
4789
+ enum ReorderLineStatus {
4790
+ AVAILABLE
4791
+ LOW_STOCK
4792
+ OUT_OF_STOCK
4793
+ UNAVAILABLE
4794
+ SUBSTITUTED
4795
+ PRICE_CHANGED
4796
+ UNSUPPORTED
4797
+ }
4798
+
4799
+ type ReorderMessage {
4800
+ type: ReorderMessageType!
4801
+ message: String!
4802
+ }
4803
+
4804
+ enum ReorderMessageType {
4805
+ ERROR
4806
+ WARNING
4807
+ INFO
4808
+ }
4809
+
4810
+ type ReorderPreview {
4811
+ lines: [ReorderPreviewLine!]!
4812
+ summary: ReorderSummary!
4813
+ }
4814
+
4815
+ type ReorderSummary {
4816
+ availableCount: Int!
4817
+ unavailableCount: Int!
4818
+
4819
+ """
4820
+ Sum of (originalUnitPriceWithTax × quantity) across lines that are
4821
+ not UNAVAILABLE / UNSUPPORTED / OUT_OF_STOCK. This is the best
4822
+ honest predictor of the cart total from preview data alone — it
4823
+ does NOT reflect promotions, volume discounts, or any order-level
4824
+ adjustments. Those resolve when items are added to the cart.
4825
+ """
4826
+ indicativeTotal: Money!
4827
+ currencyCode: CurrencyCode!
4828
+ }
4829
+
4830
+ type ReorderResultLine {
4831
+ sourceLineId: ID!
4832
+ productVariantId: ID
4833
+ quantity: Int!
4834
+ status: ReorderLineStatus!
4835
+ message: String
4836
+ }
4837
+
4838
+ type ReorderResult {
4839
+ """Active order after the reorder items have been added."""
4840
+ order: Order!
4841
+
4842
+ """Outcome per source line, in request order."""
4843
+ lines: [ReorderResultLine!]!
4844
+
4845
+ """
4846
+ Top-level messages from the order service (e.g. partial stock warnings).
4847
+ These are NOT attributed to specific input lines because the underlying
4848
+ `addItemsToOrder` call does not return positionally-aligned errors.
4849
+ """
4850
+ messages: [ReorderMessage!]!
4851
+
4852
+ """Count of lines successfully added to the active order."""
4853
+ addedCount: Int!
4854
+
4855
+ """
4856
+ Count of lines excluded before commit (by `ReorderLineFilter` or the caller's explicit selection).
4857
+ """
4858
+ filteredCount: Int!
4859
+
4860
+ """
4861
+ Count of lines that were attempted but not present in the resulting order.
4862
+ """
4863
+ failedCount: Int!
4864
+ }
4865
+
4707
4866
  type GiftCardTemplate implements Node {
4708
4867
  id: ID!
4709
4868
  createdAt: DateTime!
@@ -4908,6 +5067,7 @@ type QuoteVersion implements Node {
4908
5067
  metadata: JSON
4909
5068
  authorCustomer: Customer
4910
5069
  lineItems: [QuoteLineItem!]!
5070
+ customFields: JSON
4911
5071
  }
4912
5072
 
4913
5073
  type QuoteLineItem implements Node {
@@ -4930,6 +5090,7 @@ type QuoteComment implements Node {
4930
5090
  text: String!
4931
5091
  visibility: QuoteCommentVisibility!
4932
5092
  authorCustomer: Customer
5093
+ customFields: JSON
4933
5094
  }
4934
5095
 
4935
5096
  type QuoteList implements PaginatedList {
@@ -4987,16 +5148,10 @@ input RequestQuoteInput {
4987
5148
  }
4988
5149
 
4989
5150
  type PriceTier {
4990
- willApplyOnAdd: Boolean!
4991
- minQuantity: Int
5151
+ minQuantity: Int!
4992
5152
  price: Money!
4993
5153
  priceWithTax: Money!
4994
- }
4995
-
4996
- enum QuantityBreakPriceType {
4997
- FIXED_PRICE
4998
- FIXED_DISCOUNT
4999
- PERCENTAGE_DISCOUNT
5154
+ willApplyOnAdd: Boolean!
5000
5155
  }
5001
5156
 
5002
5157
  type PackagingUnitTranslation {
@@ -5014,6 +5169,7 @@ type PackagingUnit implements Node {
5014
5169
  name: String!
5015
5170
  description: String
5016
5171
  translations: [PackagingUnitTranslation!]!
5172
+ customFields: JSON
5017
5173
  }
5018
5174
 
5019
5175
  type ProductPackagingUnit implements Node {
@@ -5022,6 +5178,7 @@ type ProductPackagingUnit implements Node {
5022
5178
  updatedAt: DateTime!
5023
5179
  packagingUnit: PackagingUnit!
5024
5180
  sortOrder: Int!
5181
+ customFields: JSON
5025
5182
  }
5026
5183
 
5027
5184
  type ProductVariantPackagingUnit implements Node {
@@ -5037,6 +5194,7 @@ type ProductVariantPackagingUnit implements Node {
5037
5194
  quantityIncrement: Int!
5038
5195
  sortOrder: Int!
5039
5196
  effectiveStockLevel: Int
5197
+ customFields: JSON
5040
5198
  }
5041
5199
 
5042
5200
  type ShopPackagingUnit {
@@ -5055,6 +5213,7 @@ type ShopProductVariantPackagingUnit {
5055
5213
  minQuantity: Int!
5056
5214
  quantityIncrement: Int!
5057
5215
  effectiveStockLevel: Int
5216
+ priceTiers: [PriceTier!]!
5058
5217
  }
5059
5218
 
5060
5219
  enum FieldType {
@@ -5327,6 +5486,7 @@ type ApprovalRequest implements Node {
5327
5486
  entityDetailRoute: String
5328
5487
  requestedByCustomer: Customer
5329
5488
  decisions: [ApprovalDecision!]!
5489
+ customFields: JSON
5330
5490
  }
5331
5491
 
5332
5492
  type ApprovalRequestList implements PaginatedList {
@@ -5362,6 +5522,7 @@ type ApprovalDecision implements Node {
5362
5522
  comment: String
5363
5523
  decidedAt: DateTime
5364
5524
  customer: Customer
5525
+ customFields: JSON
5365
5526
  }
5366
5527
 
5367
5528
  input SubmitApprovalDecisionInput {
@@ -5428,6 +5589,7 @@ input CustomerFilterParameter {
5428
5589
  emailAddress: StringOperators
5429
5590
  _and: [CustomerFilterParameter!]
5430
5591
  _or: [CustomerFilterParameter!]
5592
+ globalDiscount: NumberOperators
5431
5593
  }
5432
5594
 
5433
5595
  input CustomerSortParameter {
@@ -5439,6 +5601,7 @@ input CustomerSortParameter {
5439
5601
  lastName: SortOrder
5440
5602
  phoneNumber: SortOrder
5441
5603
  emailAddress: SortOrder
5604
+ globalDiscount: SortOrder
5442
5605
  }
5443
5606
 
5444
5607
  input OrderFilterParameter {
@@ -5706,6 +5869,18 @@ input ShoppingListItemSortParameter {
5706
5869
  sortOrder: SortOrder
5707
5870
  }
5708
5871
 
5872
+ type CustomerCustomFields {
5873
+ globalDiscount: Int
5874
+ }
5875
+
5876
+ input CreateCustomerCustomFieldsInput {
5877
+ globalDiscount: Int
5878
+ }
5879
+
5880
+ input UpdateCustomerCustomFieldsInput {
5881
+ globalDiscount: Int
5882
+ }
5883
+
5709
5884
  type OrderCustomFields {
5710
5885
  company: Company
5711
5886
  companyBusinessUnit: CompanyBusinessUnit
@@ -5730,7 +5905,6 @@ type CompanyCustomFields {
5730
5905
  externalId: String
5731
5906
  taxId: String
5732
5907
  registrationNumber: String
5733
- priceGroups: [String!]
5734
5908
  globalDiscount: Int
5735
5909
  }
5736
5910
 
@@ -5738,7 +5912,6 @@ input CreateCompanyCustomFieldsInput {
5738
5912
  externalId: String
5739
5913
  taxId: String
5740
5914
  registrationNumber: String
5741
- priceGroups: [String!]
5742
5915
  globalDiscount: Int
5743
5916
  }
5744
5917
 
@@ -5746,7 +5919,6 @@ input UpdateCompanyCustomFieldsInput {
5746
5919
  externalId: String
5747
5920
  taxId: String
5748
5921
  registrationNumber: String
5749
- priceGroups: [String!]
5750
5922
  globalDiscount: Int
5751
5923
  }
5752
5924
 
@@ -5759,94 +5931,15 @@ input OrderLineCustomFieldsInput {
5759
5931
  addedFromShoppingListName: String
5760
5932
  packagingUnitId: ID
5761
5933
  packagingUnitConversionFactor: Float
5762
- configurationLineId: ID
5934
+ productConfigurationLineId: ID
5935
+ productConfigurationId: ID
5763
5936
  }
5764
5937
 
5765
5938
  input NativeAuthInput {
5766
5939
  username: String!
5767
5940
  password: String!
5768
5941
  }
5769
- input ReorderPreviewInput {
5770
- sourceOrderId: ID!
5771
- lineIds: [ID!]
5772
- quantityOverrides: [ReorderQuantityOverride!]
5773
- }
5774
5942
 
5775
- input ReorderQuantityOverride {
5776
- sourceLineId: ID!
5777
- quantity: Int!
5778
- }
5779
-
5780
- input ReorderCommitInput {
5781
- sourceOrderId: ID!
5782
- lines: [ReorderCommitLine!]!
5783
- }
5784
-
5785
- input ReorderCommitLine {
5786
- sourceLineId: ID!
5787
- productVariantId: ID!
5788
- quantity: Int!
5789
- }
5790
-
5791
- """Per-line outcome of a reorder preview."""
5792
- type ReorderPreviewLine {
5793
- sourceLineId: ID!
5794
- productVariant: ProductVariant
5795
- quantity: Int!
5796
- status: ReorderLineStatus!
5797
- originalUnitPrice: Money!
5798
- originalUnitPriceWithTax: Money!
5799
- currentCatalogUnitPrice: Money!
5800
- currentCatalogUnitPriceWithTax: Money!
5801
- messages: [ReorderMessage!]!
5802
- }
5803
-
5804
- enum ReorderLineStatus {
5805
- AVAILABLE
5806
- LOW_STOCK
5807
- OUT_OF_STOCK
5808
- UNAVAILABLE
5809
- SUBSTITUTED
5810
- PRICE_CHANGED
5811
- UNSUPPORTED
5812
- }
5813
-
5814
- type ReorderMessage {
5815
- type: ReorderMessageType!
5816
- message: String!
5817
- }
5818
-
5819
- enum ReorderMessageType {
5820
- ERROR
5821
- WARNING
5822
- INFO
5823
- }
5824
-
5825
- type ReorderPreview {
5826
- lines: [ReorderPreviewLine!]!
5827
- summary: ReorderSummary!
5828
- }
5829
-
5830
- type ReorderSummary {
5831
- availableCount: Int!
5832
- unavailableCount: Int!
5833
- indicativeTotal: Money!
5834
- currencyCode: CurrencyCode!
5835
- }
5836
-
5837
- type ReorderResultLine {
5838
- sourceLineId: ID!
5839
- productVariantId: ID
5840
- quantity: Int!
5841
- status: ReorderLineStatus!
5842
- message: String
5843
- }
5844
-
5845
- type ReorderResult {
5846
- order: Order!
5847
- lines: [ReorderResultLine!]!
5848
- messages: [ReorderMessage!]!
5849
- addedCount: Int!
5850
- filteredCount: Int!
5851
- failedCount: Int!
5852
- }
5943
+ input RegisterCustomerCustomFieldsInput {
5944
+ globalDiscount: Int
5945
+ }
@@ -51,3 +51,8 @@ The storefront will be available at `http://localhost:3001`.
51
51
  ## Configuration
52
52
 
53
53
  Environment variables are in `.env`. See `docker-compose.yml` for infrastructure config.
54
+
55
+ > **Keep `.env` out of version control.** It carries your `VENDURE_PLATFORM_LICENSE_TOKEN`
56
+ > and the cookie/superadmin secrets. The generated `.gitignore` already excludes it —
57
+ > do not check it in, do not paste it into chat, do not commit a screenshot of it.
58
+ > If a token is exposed, rotate it.
@@ -1,5 +1,6 @@
1
1
  declare namespace NodeJS {
2
2
  interface ProcessEnv {
3
+ APP_ENV?: 'dev' | 'production';
3
4
  DB_HOST?: string;
4
5
  DB_PORT?: string;
5
6
  DB_NAME?: string;
@@ -16,6 +17,8 @@ declare namespace NodeJS {
16
17
  TYPESENSE_PORT?: string;
17
18
  TYPESENSE_PROTOCOL?: string;
18
19
  WORKFLOW_ENGINE_SCHEMA?: string;
20
+ VENDURE_PLATFORM_LICENSE_TOKEN?: string;
21
+ VENDURE_PLATFORM_LICENSE_GUARD_LOCAL_DEV?: string;
19
22
  {{#ifPlugin "sso"}}
20
23
  GOOGLE_CLIENT_ID?: string;
21
24
  GOOGLE_CLIENT_SECRET?: string;
@@ -17,26 +17,13 @@ const defaultPopulators = defaultScenario.getPopulators([]) as DataPopulator[];
17
17
  runPopulators({
18
18
  vendureConfig: config,
19
19
  populators: [...defaultPopulators, customPopulator],
20
- demoDataPath: __dirname + '/demo-data',
20
+ demoDataPath: path.join(__dirname, 'demo-data'),
21
21
  {{#ifPlugin "audit-trail"}}
22
22
  schemas: ['audit_trail'],
23
23
  {{/ifPlugin}}
24
24
  checkCoreDataExists,
25
25
  // Use Vendure Platform's bootstrap (not @vendure/core's) so platform
26
26
  // plugins initialise correctly during population.
27
- //
28
- // If you enable the DBOS-backed job queue (`WorkflowEnginePlugin.init({
29
- // enableJobQueue: true })`), wrap this with `JobQueueService.start()`
30
- // and call `drainJobQueue(app)` in `afterAll` so populate-time jobs
31
- // (search reindex, collection filters) are dispatched in this process
32
- // rather than left for later recovery. To avoid hammering Typesense
33
- // with hundreds of per-variant update jobs while populators run, also
34
- // set `advancedSearch.bufferUpdates` to `true` for the populate
35
- // process only (e.g. `bufferUpdates: process.argv[1]?.endsWith(
36
- // 'populate.js')`) and flush via `app.get(SearchJobBufferService)
37
- // .runPendingSearchUpdates()` in `afterAll` (after any explicit
38
- // reindex). Buffering at runtime would defer search visibility of
39
- // admin edits until a manual flush, which is rarely what you want.
40
27
  bootstrap,
41
28
  }).catch((err) => {
42
29
  console.error('Population failed:', err);
@@ -15,18 +15,18 @@
15
15
  "@vendure/core": "^3.6.2",
16
16
  "@vendure/dashboard": "^3.6.2",
17
17
  "@vendure/asset-server-plugin": "^3.6.2",
18
- "@vendure/testing": "^3.6.2",
19
18
  "typeorm": "^0.3.27",
20
- "@vendure-platform/data-populator": "nightly",
21
- "@vendure-platform/integration": "nightly",
22
- "@vendure-platform/scenario-default": "nightly",
23
- "@vendure-platform/platform": "nightly",
19
+ "@vendure-platform/data-populator": "{{pluginVersionSpec}}",
20
+ "@vendure-platform/integration": "{{pluginVersionSpec}}",
21
+ "@vendure-platform/scenario-default": "{{pluginVersionSpec}}",
22
+ "@vendure-platform/platform": "{{pluginVersionSpec}}",
24
23
  "dotenv": "^16.4.7"{{pluginDependencies}}
25
24
  },
26
25
  "devDependencies": {
27
26
  "vite": "^6.3.5",
28
27
  "ts-node": "^10.9.2",
29
28
  "typescript": "^5.9.3",
30
- "@types/node": "^22.0.0"
29
+ "@types/node": "^22.0.0",
30
+ "@vendure/testing": "^3.6.2"
31
31
  }
32
32
  }
@@ -16,7 +16,11 @@ const IS_DEV = process.env.APP_ENV === 'dev';
16
16
  export const dbOptions: DataSourceOptions = {
17
17
  type: 'postgres',
18
18
  dropSchema: process.env.DB_DROP_SCHEMA === 'true',
19
- synchronize: true,
19
+ // `synchronize: true` lets TypeORM auto-create/update tables from your
20
+ // entity definitions on every boot. Convenient in development; dangerous
21
+ // in production where it can drop columns and lose data. Use migrations
22
+ // for production: https://docs.vendure.io/guides/developer-guide/migrations/
23
+ synchronize: IS_DEV,
20
24
  migrations: [path.join(__dirname, './migrations/*.+(js|ts)')],
21
25
  logging: false,
22
26
  database: process.env.DB_NAME ?? 'vendure',
@@ -32,8 +36,10 @@ export const config: VendureConfig = {
32
36
  port: Number(process.env.VENDURE_PORT ?? 3500),
33
37
  adminApiPath: 'admin-api',
34
38
  shopApiPath: 'shop-api',
35
- adminApiDebug: true,
36
- shopApiDebug: true,
39
+ // Debug mode enables GraphQL Playground and verbose error responses.
40
+ // Disabled in production to avoid leaking schema details and stack traces.
41
+ adminApiDebug: IS_DEV,
42
+ shopApiDebug: IS_DEV,
37
43
  },
38
44
  authOptions: {
39
45
  tokenMethod: ['bearer', 'cookie'],
@@ -139,7 +139,7 @@ async function scaffold(options) {
139
139
  try {
140
140
  await (0, storefront_copier_1.copyStorefront)(projectDir, {
141
141
  mode: 'full-project',
142
- scenario: 'default',
142
+ scenario: 'customer',
143
143
  packageName: `${projectName}-storefront`,
144
144
  });
145
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,10 @@ async function writeStorefrontNpmrc(storefrontDir) {
67
67
  async function writeStorefrontEnv(storefrontDir, options) {
68
68
  var _a, _b;
69
69
  const secret = crypto.randomBytes(32).toString('hex');
70
- const scenario = (_a = options.scenario) !== null && _a !== void 0 ? _a : 'default';
70
+ // Default to `customer` — that's the only scenario registered in the
71
+ // copied `src/config/scenario.ts`. Using `default` triggers a warning at
72
+ // boot and falls back to `customer` anyway, so just write the right value.
73
+ const scenario = (_a = options.scenario) !== null && _a !== void 0 ? _a : 'customer';
71
74
  const apiUrl = (_b = options.apiUrl) !== null && _b !== void 0 ? _b : '';
72
75
  const lines = [
73
76
  '# Generated by @vendure-platform/create. Safe to edit.',