@haus-tech/product-import-export-plugin 3.3.2-next.0 → 3.3.2-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.mdx +36 -8
  3. package/package.json +1 -1
  4. package/src/api/product-export.controller.d.ts +1 -0
  5. package/src/api/product-export.controller.js +16 -0
  6. package/src/api/product-export.controller.js.map +1 -1
  7. package/src/api/product-import.controller.js +2 -2
  8. package/src/api/product-import.controller.js.map +1 -1
  9. package/src/constants.d.ts +1 -0
  10. package/src/constants.js +2 -1
  11. package/src/constants.js.map +1 -1
  12. package/src/dashboard/export-dialog.tsx +21 -7
  13. package/src/dashboard/import.tsx +6 -3
  14. package/src/dashboard/utils.ts +0 -1
  15. package/src/email-templates/product-export-complete/body.hbs +12 -0
  16. package/src/email.d.ts +15 -4
  17. package/src/email.js +108 -1
  18. package/src/email.js.map +1 -1
  19. package/src/index.d.ts +3 -0
  20. package/src/index.js +3 -0
  21. package/src/index.js.map +1 -1
  22. package/src/product-import-export.plugin.js +26 -1
  23. package/src/product-import-export.plugin.js.map +1 -1
  24. package/src/providers/import-providers/import-parser.d.ts +7 -5
  25. package/src/providers/import-providers/import-parser.js +53 -15
  26. package/src/providers/import-providers/import-parser.js.map +1 -1
  27. package/src/providers/import-providers/product-importer.d.ts +1 -0
  28. package/src/providers/import-providers/product-importer.js +120 -74
  29. package/src/providers/import-providers/product-importer.js.map +1 -1
  30. package/src/services/extended-fast-importer.service.d.ts +5 -3
  31. package/src/services/extended-fast-importer.service.js +20 -6
  32. package/src/services/extended-fast-importer.service.js.map +1 -1
  33. package/src/services/import-storage/import-job-storage-strategy.d.ts +22 -0
  34. package/src/services/import-storage/import-job-storage-strategy.js +3 -0
  35. package/src/services/import-storage/import-job-storage-strategy.js.map +1 -0
  36. package/src/services/import-storage/local-import-job-storage-strategy.d.ts +18 -0
  37. package/src/services/import-storage/local-import-job-storage-strategy.js +76 -0
  38. package/src/services/import-storage/local-import-job-storage-strategy.js.map +1 -0
  39. package/src/services/import-storage/s3-import-job-storage-strategy.d.ts +13 -0
  40. package/src/services/import-storage/s3-import-job-storage-strategy.js +109 -0
  41. package/src/services/import-storage/s3-import-job-storage-strategy.js.map +1 -0
  42. package/src/services/product-export.service.d.ts +1 -0
  43. package/src/services/product-export.service.js +24 -3
  44. package/src/services/product-export.service.js.map +1 -1
  45. package/src/services/product-import.service.d.ts +10 -6
  46. package/src/services/product-import.service.js +62 -37
  47. package/src/services/product-import.service.js.map +1 -1
  48. package/src/types.d.ts +21 -1
  49. package/src/ui/components/export-dialog.component.html +1 -1
  50. package/src/ui/components/export-dialog.component.ts +10 -2
  51. package/src/ui/components/product-import.component.html +6 -8
  52. package/src/ui/translations/en.json +1 -1
  53. package/src/ui/translations/sv.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## 3.3.2-next.1
2
+
3
+ ### 🚀 Features
4
+
5
+ - **product-import-export-plugin:** enforce import/export acceptance criteria and enhance documentation ([b1a93b6](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/commit/b1a93b6))
6
+ - **product-import-export-plugin:** update pre-version command and clean up export artifacts ([1cde024](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/commit/1cde024))
7
+
8
+ ## 3.3.2-next.0
9
+
10
+ ### 🚀 Features
11
+
12
+ - **product-import-export-plugin:** optimize asset handling and caching in product importer ([9d2888e](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/commit/9d2888e))
13
+ - **product-import-export-plugin:** enhance testing and export functionality ([1764eb2](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/commit/1764eb2))
14
+ - **product-import-export-plugin:** enforce import/export acceptance criteria (column-presence updates, multi-variant option requirements, no ProductID export option, clearer import CTA, and strict required relation custom-field validation)
15
+
1
16
  ## 3.3.1
2
17
 
3
18
  This was a version bump only for product-import-export-plugin to align it with other projects, there were no code changes.
package/README.mdx CHANGED
@@ -65,10 +65,18 @@ export const config = {
65
65
 
66
66
  ### Import options
67
67
 
68
- | Option | Type | Default | Description |
69
- | -------------------- | --------- | ------- | -------------------------------------------------------------------------------------------------------------------------- |
70
- | `updateProductSlug` | `boolean` | `true` | Update product slug from the `name` field in the CSV |
71
- | `restoreSoftDeleted` | `boolean` | `true` | Restore soft-deleted products/variants found by id or SKU during import. If `false`, new products will be created instead. |
68
+ | Option | Type | Default | Description |
69
+ | ------------------------ | ----------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------- |
70
+ | `updateProductSlug` | `boolean` | `true` | Update product slug from the `name` field in the CSV |
71
+ | `restoreSoftDeleted` | `boolean` | `true` | Restore soft-deleted products/variants found by id or SKU during import. If `false`, new products will be created instead. |
72
+ | `storageStrategy` | `ImportJobStorageStrategy` | local disk | Strategy instance for queued import file storage and retrieval. |
73
+ | `storageStrategyFactory` | `(injector: Injector) => ImportJobStorageStrategy` | `undefined` | Factory for DI-aware strategy creation (recommended for S3/remote storage). |
74
+ | `importJobStorage` | `'local' \| 's3'` | `'local'` | Deprecated compatibility flag. Prefer `storageStrategy` / `storageStrategyFactory`. |
75
+
76
+ Available import storage strategies:
77
+
78
+ - `LocalImportJobStorageStrategy` (default)
79
+ - `S3ImportJobStorageStrategy`
72
80
 
73
81
  ### Export options
74
82
 
@@ -114,6 +122,12 @@ The plugin supports configurable storage for exported files:
114
122
  | `enabled` | `true` or `false` | `true` |
115
123
  | Custom fields | Column name = custom field name; value depends on field type | Add columns for any Product or ProductVariant custom fields defined in your Vendure config |
116
124
 
125
+ #### Import behavior rules
126
+
127
+ - If a column is omitted from the CSV header, that field is left unchanged on existing products/variants.
128
+ - If a column exists in the header but the cell is empty, that field is explicitly cleared.
129
+ - For products with more than one variant, `optionGroups` and `optionValues` are required.
130
+
117
131
  #### Multi-language support
118
132
 
119
133
  Use language-specific columns by suffixing the field name with the language code. The language codes must match those configured in your Vendure instance (e.g. `en`, `sv`).
@@ -161,6 +175,9 @@ The Admin UI offers basic import and export. Some features such as the export-al
161
175
 
162
176
  1. In the Admin UI or Dashboard, select products to export (or use bulk export).
163
177
  2. Configure export fields (assets, facets, custom fields, etc.).
178
+ - For products with more than one variant, `optionGroups` and `optionValues` must be included.
179
+ - `productId` is not available as a selectable export field.
180
+ - If `customFields` are not selected, no custom-field columns are written to the CSV.
164
181
  3. Choose asset format: URL or JSON.
165
182
  4. Start the export (it is added to a job queue and runs in the background).
166
183
  5. Download the CSV when the export is complete. Your downloaded files will be listed in the export view.
@@ -169,16 +186,27 @@ The Admin UI offers basic import and export. Some features such as the export-al
169
186
 
170
187
  ## Optional: Email notification on export complete
171
188
 
172
- If you use `@vendure/email-plugin`, you can add an email notification when an export finishes by importing it in the handler from the `/email` subpath. Create a template in your email templates directory: `product-export-complete/body.hbs`
189
+ If you use `@vendure/email-plugin`, you can add an email notification when an export finishes from the `/email` subpath.
190
+
191
+ The plugin now provides a default fallback template for `product-export-complete/body.hbs`.
192
+ If you define your own template in your app's template directory, your template takes precedence.
193
+ Note: templates for `@vendure/email-plugin` should be valid MJML.
173
194
 
174
195
  ```typescript
175
- import { DefaultEmailPlugin } from '@vendure/email-plugin'
176
- import { productExportedHandler } from '@haus-tech/product-import-export-plugin/email'
196
+ import path from 'path'
197
+ import { DefaultEmailPlugin, FileBasedTemplateLoader, defaultEmailHandlers } from '@vendure/email-plugin'
198
+ import {
199
+ withProductExportedHandler,
200
+ withProductExportedTemplateFallback,
201
+ } from '@haus-tech/product-import-export-plugin/email'
177
202
 
178
203
  export const config = {
179
204
  plugins: [
180
205
  DefaultEmailPlugin.init({
181
- handlers: [productExportedHandler],
206
+ handlers: withProductExportedHandler(defaultEmailHandlers),
207
+ templateLoader: withProductExportedTemplateFallback(
208
+ new FileBasedTemplateLoader(path.join(__dirname, '../static/email/templates')),
209
+ ),
182
210
  }),
183
211
  ],
184
212
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haus-tech/product-import-export-plugin",
3
- "version": "3.3.2-next.0",
3
+ "version": "3.3.2-next.2",
4
4
  "description": "A Vendure plugin for importing and exporting products using a CSV file",
5
5
  "author": "Haus Tech",
6
6
  "repository": {
@@ -11,6 +11,7 @@ export declare class ProductExportController {
11
11
  private productExportQueueService;
12
12
  constructor(options: PluginInitOptions, exportStorageStrategy: ExportStorageStrategy, productExportService: ProductExportService, productExportQueueService: ProductExportQueueService);
13
13
  private validateExportFileName;
14
+ private validateOptionColumnsForMultiVariantExport;
14
15
  exportProducts(ctx: RequestContext, res: Response, fileName: string, customFields: string, exportAssetsAs: 'url' | 'json', selectedExportFields: string, selection: ID[]): Promise<void>;
15
16
  exportAllProducts(ctx: RequestContext, fileName: string, customFields: string, exportAssetsAs: 'url' | 'json', selectedExportFields: string): Promise<{
16
17
  success: boolean;
@@ -46,6 +46,20 @@ let ProductExportController = class ProductExportController {
46
46
  }
47
47
  return trimmed;
48
48
  }
49
+ async validateOptionColumnsForMultiVariantExport(ctx, selectedExportFields, selectionIds) {
50
+ const selected = new Set(selectedExportFields
51
+ .split(',')
52
+ .map((field) => field.trim())
53
+ .filter(Boolean));
54
+ const hasRequiredFields = selected.has('optionGroups') && selected.has('optionValues');
55
+ if (hasRequiredFields) {
56
+ return;
57
+ }
58
+ const hasMultiVariantProducts = await this.productExportService.hasMultiVariantProducts(ctx, selectionIds);
59
+ if (hasMultiVariantProducts) {
60
+ throw new common_1.UnprocessableEntityException('optionGroups and optionValues are required when exporting products with multiple variants');
61
+ }
62
+ }
49
63
  async exportProducts(ctx, res, fileName, customFields, exportAssetsAs, selectedExportFields, selection) {
50
64
  try {
51
65
  if (!selection ||
@@ -70,6 +84,7 @@ let ProductExportController = class ProductExportController {
70
84
  if (!customFields) {
71
85
  customFields = '';
72
86
  }
87
+ await this.validateOptionColumnsForMultiVariantExport(ctx, selectedExportFields, selection);
73
88
  const job = await this.productExportQueueService.triggerExportWithSelection(ctx, fileName, customFields, exportAssetsAs, selectedExportFields, selection);
74
89
  if (!job || !job.id) {
75
90
  throw new common_1.UnprocessableEntityException('Failed to queue export job');
@@ -99,6 +114,7 @@ let ProductExportController = class ProductExportController {
99
114
  if (!customFields) {
100
115
  customFields = '';
101
116
  }
117
+ await this.validateOptionColumnsForMultiVariantExport(ctx, selectedExportFields);
102
118
  const job = await this.productExportQueueService.triggerExport(ctx, fileName, customFields, exportAssetsAs, selectedExportFields, true);
103
119
  return {
104
120
  success: true,
@@ -1 +1 @@
1
- {"version":3,"file":"product-export.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-export.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-export.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-export.controller.ts"],"names":[],"mappings":"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"}
@@ -34,11 +34,11 @@ let ProductImportController = class ProductImportController {
34
34
  return res.status(400).send('No mainLanguage provided');
35
35
  }
36
36
  try {
37
- this.service.processFile(ctx, file, updateProductSlug === 'true', mainLanguage, updatingStrategy);
37
+ await this.service.processFile(ctx, file, updateProductSlug === 'true', mainLanguage, updatingStrategy);
38
38
  return res.status(200).send('File uploaded successfully');
39
39
  }
40
40
  catch (error) {
41
- return res.status(500).send('Internal Server Error');
41
+ return res.status(500).send(error?.message || 'Internal Server Error');
42
42
  }
43
43
  }
44
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"product-import.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-import.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAiE;AACjE,2CASuB;AAEvB,+DAA0D;AAC1D,4CAAmE;AAEnE,+EAAyE;AAGlE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEsB;IAC9C;IAFV,YACwD,OAA0B,EACxE,OAA6B;QADiB,YAAO,GAAP,OAAO,CAAmB;QACxE,YAAO,GAAP,OAAO,CAAsB;IACpC,CAAC;IAIE,AAAN,KAAK,CAAC,cAAc,CACX,GAAmB,EACV,IAAyB,EAEzC,oBAAuC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc;QAC9E,EAAE,iBAAyB,IAAI,MAAM,EACjB,YAA0B,EACtB,gBAAkC,EAE5D,GAAa;QAEb,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACjD,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,WAAW,CACtB,GAAG,EACH,IAAI,EACJ,iBAAiB,KAAK,MAAM,EAC5B,YAAY,EACZ,gBAAgB,CACjB,CAAA;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;CACF,CAAA;AAxCY,0DAAuB;AAQ5B;IAFL,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IAEtC,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,qBAAY,GAAE,CAAA;IACd,WAAA,IAAA,aAAI,EAAC,mBAAmB,CAAC,CAAA;IAGzB,WAAA,IAAA,aAAI,EAAC,cAAc,CAAC,CAAA;IACpB,WAAA,IAAA,aAAI,EAAC,kBAAkB,CAAC,CAAA;IACxB,WAAA,IAAA,YAAG,GAAE,CAAA;;qCAPM,qBAAc;;6DA8B3B;kCAvCU,uBAAuB;IADnC,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAGxB,WAAA,IAAA,eAAM,EAAC,gDAAoC,CAAC,CAAA;6CAC5B,6CAAoB;GAH5B,uBAAuB,CAwCnC"}
1
+ {"version":3,"file":"product-import.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-import.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAiE;AACjE,2CAQuB;AAEvB,+DAA0D;AAC1D,4CAAmE;AAEnE,+EAAyE;AAGlE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEsB;IAC9C;IAFV,YACwD,OAA0B,EACxE,OAA6B;QADiB,YAAO,GAAP,OAAO,CAAmB;QACxE,YAAO,GAAP,OAAO,CAAsB;IACpC,CAAC;IAIE,AAAN,KAAK,CAAC,cAAc,CACX,GAAmB,EACV,IAAyB,EAEzC,oBAAuC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc;QAC9E,EAAE,iBAAyB,IAAI,MAAM,EACjB,YAA0B,EACtB,gBAAkC,EAE5D,GAAa;QAEb,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACjD,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAC5B,GAAG,EACH,IAAI,EACJ,iBAAiB,KAAK,MAAM,EAC5B,YAAY,EACZ,gBAAgB,CACjB,CAAA;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAE,KAAe,EAAE,OAAO,IAAI,uBAAuB,CAAC,CAAA;QACnF,CAAC;IACH,CAAC;CACF,CAAA;AAxCY,0DAAuB;AAQ5B;IAFL,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IAEtC,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,qBAAY,GAAE,CAAA;IACd,WAAA,IAAA,aAAI,EAAC,mBAAmB,CAAC,CAAA;IAGzB,WAAA,IAAA,aAAI,EAAC,cAAc,CAAC,CAAA;IACpB,WAAA,IAAA,aAAI,EAAC,kBAAkB,CAAC,CAAA;IACxB,WAAA,IAAA,YAAG,GAAE,CAAA;;qCAPM,qBAAc;;6DA8B3B;kCAvCU,uBAAuB;IADnC,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAGxB,WAAA,IAAA,eAAM,EAAC,gDAAoC,CAAC,CAAA;6CAC5B,6CAAoB;GAH5B,uBAAuB,CAwCnC"}
@@ -1,3 +1,4 @@
1
1
  export declare const PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS: unique symbol;
2
2
  export declare const EXPORT_STORAGE_STRATEGY: unique symbol;
3
+ export declare const IMPORT_JOB_STORAGE_STRATEGY: unique symbol;
3
4
  export declare const loggerCtx = "ProductImportExportPlugin";
package/src/constants.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loggerCtx = exports.EXPORT_STORAGE_STRATEGY = exports.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS = void 0;
3
+ exports.loggerCtx = exports.IMPORT_JOB_STORAGE_STRATEGY = exports.EXPORT_STORAGE_STRATEGY = exports.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS = void 0;
4
4
  exports.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS = Symbol('PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS');
5
5
  exports.EXPORT_STORAGE_STRATEGY = Symbol('EXPORT_STORAGE_STRATEGY');
6
+ exports.IMPORT_JOB_STORAGE_STRATEGY = Symbol('IMPORT_JOB_STORAGE_STRATEGY');
6
7
  exports.loggerCtx = 'ProductImportExportPlugin';
7
8
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAAG,MAAM,CAAC,sCAAsC,CAAC,CAAA;AACrF,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAC3D,QAAA,SAAS,GAAG,2BAA2B,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAAG,MAAM,CAAC,sCAAsC,CAAC,CAAA;AACrF,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAC3D,QAAA,2BAA2B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAA;AACnE,QAAA,SAAS,GAAG,2BAA2B,CAAA"}
@@ -36,13 +36,13 @@ export function ExportDialog({
36
36
  productIds,
37
37
  isExportAll = false,
38
38
  }: ExportDialogProps) {
39
+ const mandatoryOptionFields: Array<ProductFields | VariantFields> = ['optionGroups', 'optionValues']
39
40
  const [fileName, setFileName] = useState('')
40
41
  const [customFields, setCustomFields] = useState<string[]>([])
41
42
  const [selectedFields, setSelectedFields] = useState<string[]>([])
42
43
  const [exportAssetsAs, setExportAssetsAs] = useState<'url' | 'json'>('url')
43
44
  const [selectedExportFields, setSelectedExportFields] = useState<ExportFields>([])
44
45
  const [availableExportFields] = useState<ExportFields>([
45
- 'productId',
46
46
  'name',
47
47
  'slug',
48
48
  'description',
@@ -101,10 +101,15 @@ export function ExportDialog({
101
101
  configData.exportOptions?.defaultExportFields ||
102
102
  configData.exportOptions?.requiredExportFields
103
103
  ) {
104
- setSelectedExportFields([
105
- ...(configData.exportOptions.defaultExportFields || []),
106
- ...(configData.exportOptions.requiredExportFields || []),
107
- ])
104
+ setSelectedExportFields(
105
+ Array.from(
106
+ new Set([
107
+ ...(configData.exportOptions.defaultExportFields || []),
108
+ ...(configData.exportOptions.requiredExportFields || []),
109
+ ...mandatoryOptionFields,
110
+ ]),
111
+ ) as ExportFields,
112
+ )
108
113
  }
109
114
  } catch (error) {
110
115
  console.error('Failed to fetch config:', error)
@@ -123,6 +128,9 @@ export function ExportDialog({
123
128
  }
124
129
 
125
130
  const toggleExportFieldSelection = (fieldName: ProductFields | VariantFields) => {
131
+ if (mandatoryOptionFields.includes(fieldName)) {
132
+ return
133
+ }
126
134
  setSelectedExportFields((prev) =>
127
135
  prev.includes(fieldName) ? prev.filter((f) => f !== fieldName) : [...prev, fieldName],
128
136
  )
@@ -134,7 +142,10 @@ export function ExportDialog({
134
142
  setSelectedExportFields([...availableExportFields])
135
143
  setSelectedFields([...customFields])
136
144
  } else {
137
- setSelectedExportFields([...(config?.requiredExportFields || [])])
145
+ setSelectedExportFields([
146
+ ...(config?.requiredExportFields || []),
147
+ ...mandatoryOptionFields,
148
+ ])
138
149
  setSelectedFields([])
139
150
  }
140
151
  }
@@ -220,7 +231,10 @@ export function ExportDialog({
220
231
  id={`field-${field}`}
221
232
  checked={selectedExportFields.includes(field)}
222
233
  onCheckedChange={() => toggleExportFieldSelection(field)}
223
- disabled={config?.requiredExportFields?.includes(field)}
234
+ disabled={
235
+ config?.requiredExportFields?.includes(field) ||
236
+ mandatoryOptionFields.includes(field)
237
+ }
224
238
  />
225
239
  <Label htmlFor={`field-${field}`} className="font-normal">
226
240
  {field}
@@ -503,9 +503,6 @@ export function ProductImportBlock() {
503
503
  <UploadIcon className="mr-2 h-4 w-4" />
504
504
  {selectedFile.name}
505
505
  </Button>
506
- <Button type="button" onClick={uploadFile} disabled={!selectedMainLanguage}>
507
- Upload file
508
- </Button>
509
506
  </>
510
507
  ) : (
511
508
  <Button type="button" variant="default" onClick={() => fileInputRef.current?.click()}>
@@ -577,6 +574,12 @@ export function ProductImportBlock() {
577
574
  </p>
578
575
  )}
579
576
  </div>
577
+
578
+ <div className="pt-2 border-t">
579
+ <Button type="button" onClick={uploadFile} disabled={!selectedMainLanguage}>
580
+ Start import now
581
+ </Button>
582
+ </div>
580
583
  </div>
581
584
  )}
582
585
  </div>
@@ -13,7 +13,6 @@ export type ValidateReturnType = {
13
13
  }
14
14
 
15
15
  export type ProductFields =
16
- | 'productId'
17
16
  | 'name'
18
17
  | 'slug'
19
18
  | 'description'
@@ -0,0 +1,12 @@
1
+ <mjml>
2
+ <mj-body>
3
+ <mj-section>
4
+ <mj-column>
5
+ <mj-text font-size="20px" font-weight="bold">Product export complete</mj-text>
6
+ <mj-text>Your export has finished successfully.</mj-text>
7
+ <mj-text><strong>File:</strong> {{ fileName }}</mj-text>
8
+ <mj-text><strong>Products exported:</strong> {{ productCount }}</mj-text>
9
+ </mj-column>
10
+ </mj-section>
11
+ </mj-body>
12
+ </mjml>
package/src/email.d.ts CHANGED
@@ -1,6 +1,17 @@
1
+ import type { TemplateLoader } from '@vendure/email-plugin';
2
+ import { productExportedHandler } from './handlers/product-exported.handler';
3
+ export { productExportedHandler };
1
4
  /**
2
- * Re-export of the product exported email handler for use with @vendure/email-plugin.
3
- * Import from '@haus-tech/product-import-export-plugin/email'.
4
- * Requires @vendure/email-plugin to be installed.
5
+ * Convenience helper to append this plugin's email handler without duplicating it.
6
+ *
7
+ * @example
8
+ * handlers: withProductExportedHandler(defaultEmailHandlers)
5
9
  */
6
- export { productExportedHandler } from './handlers/product-exported.handler';
10
+ export declare function withProductExportedHandler<T>(handlers: T[]): T[];
11
+ /**
12
+ * Wrap a TemplateLoader with fallback support for this plugin's export-complete template.
13
+ *
14
+ * If your app has `product-export-complete/body.hbs`, it is used as normal.
15
+ * If it does not exist, the plugin's bundled default template is used.
16
+ */
17
+ export declare function withProductExportedTemplateFallback(templateLoader: TemplateLoader): TemplateLoader;
package/src/email.js CHANGED
@@ -1,11 +1,118 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.productExportedHandler = void 0;
37
+ exports.withProductExportedHandler = withProductExportedHandler;
38
+ exports.withProductExportedTemplateFallback = withProductExportedTemplateFallback;
4
39
  /**
5
40
  * Re-export of the product exported email handler for use with @vendure/email-plugin.
6
41
  * Import from '@haus-tech/product-import-export-plugin/email'.
7
42
  * Requires @vendure/email-plugin to be installed.
8
43
  */
9
- var product_exported_handler_1 = require("./handlers/product-exported.handler");
44
+ const promises_1 = require("node:fs/promises");
45
+ const path = __importStar(require("node:path"));
46
+ const product_exported_handler_1 = require("./handlers/product-exported.handler");
10
47
  Object.defineProperty(exports, "productExportedHandler", { enumerable: true, get: function () { return product_exported_handler_1.productExportedHandler; } });
48
+ /**
49
+ * Convenience helper to append this plugin's email handler without duplicating it.
50
+ *
51
+ * @example
52
+ * handlers: withProductExportedHandler(defaultEmailHandlers)
53
+ */
54
+ function withProductExportedHandler(handlers) {
55
+ if (handlers.includes(product_exported_handler_1.productExportedHandler)) {
56
+ return handlers;
57
+ }
58
+ return [...handlers, product_exported_handler_1.productExportedHandler];
59
+ }
60
+ const PRODUCT_EXPORT_EMAIL_TYPE = 'product-export-complete';
61
+ const DEFAULT_TEMPLATE_NAME = 'body.hbs';
62
+ const DEFAULT_PRODUCT_EXPORTED_TEMPLATE = `<mjml>
63
+ <mj-body>
64
+ <mj-section>
65
+ <mj-column>
66
+ <mj-text font-size="20px" font-weight="bold">Product export complete</mj-text>
67
+ <mj-text>Your export has finished successfully.</mj-text>
68
+ <mj-text><strong>File:</strong> {{ fileName }}</mj-text>
69
+ <mj-text><strong>Products exported:</strong> {{ productCount }}</mj-text>
70
+ </mj-column>
71
+ </mj-section>
72
+ </mj-body>
73
+ </mjml>
74
+ `;
75
+ function isFileNotFoundError(error) {
76
+ return error instanceof Error && 'code' in error && error.code === 'ENOENT';
77
+ }
78
+ function getBundledTemplatePath(templateName) {
79
+ return path.join(__dirname, 'email-templates', PRODUCT_EXPORT_EMAIL_TYPE, templateName);
80
+ }
81
+ /**
82
+ * Wrap a TemplateLoader with fallback support for this plugin's export-complete template.
83
+ *
84
+ * If your app has `product-export-complete/body.hbs`, it is used as normal.
85
+ * If it does not exist, the plugin's bundled default template is used.
86
+ */
87
+ function withProductExportedTemplateFallback(templateLoader) {
88
+ return {
89
+ async loadTemplate(injector, ctx, input) {
90
+ try {
91
+ return await templateLoader.loadTemplate(injector, ctx, input);
92
+ }
93
+ catch (error) {
94
+ const isProductExportBodyTemplate = input.type === PRODUCT_EXPORT_EMAIL_TYPE && input.templateName === DEFAULT_TEMPLATE_NAME;
95
+ if (!isProductExportBodyTemplate || !isFileNotFoundError(error)) {
96
+ throw error;
97
+ }
98
+ try {
99
+ return await (0, promises_1.readFile)(getBundledTemplatePath(input.templateName), 'utf8');
100
+ }
101
+ catch (bundledTemplateError) {
102
+ if (!isFileNotFoundError(bundledTemplateError)) {
103
+ throw bundledTemplateError;
104
+ }
105
+ // Final fallback if the package template file is unavailable in node_modules.
106
+ return DEFAULT_PRODUCT_EXPORTED_TEMPLATE;
107
+ }
108
+ }
109
+ },
110
+ async loadPartials() {
111
+ if (typeof templateLoader.loadPartials === 'function') {
112
+ return templateLoader.loadPartials();
113
+ }
114
+ return [];
115
+ },
116
+ };
117
+ }
11
118
  //# sourceMappingURL=email.js.map
package/src/email.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/email.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,gFAA4E;AAAnE,kIAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/email.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,gEAKC;AAgCD,kFA6BC;AArFD;;;;GAIG;AACH,+CAA2C;AAC3C,gDAAiC;AAGjC,kFAA4E;AAEnE,uGAFA,iDAAsB,OAEA;AAE/B;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,QAAa;IACzD,IAAI,QAAQ,CAAC,QAAQ,CAAC,iDAAsC,CAAC,EAAE,CAAC;QAC9D,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,EAAE,iDAAsC,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,yBAAyB,GAAG,yBAAyB,CAAA;AAC3D,MAAM,qBAAqB,GAAG,UAAU,CAAA;AACxC,MAAM,iCAAiC,GAAG;;;;;;;;;;;;CAYzC,CAAA;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAK,KAA2B,CAAC,IAAI,KAAK,QAAQ,CAAA;AACpG,CAAC;AAED,SAAS,sBAAsB,CAAC,YAAoB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,YAAY,CAAC,CAAA;AACzF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mCAAmC,CAAC,cAA8B;IAChF,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,QAAkB,EAAE,GAAmB,EAAE,KAAwB;YAClF,IAAI,CAAC;gBACH,OAAO,MAAM,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,2BAA2B,GAC/B,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,KAAK,CAAC,YAAY,KAAK,qBAAqB,CAAA;gBAC1F,IAAI,CAAC,2BAA2B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChE,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,IAAI,CAAC;oBACH,OAAO,MAAM,IAAA,mBAAQ,EAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;gBAC3E,CAAC;gBAAC,OAAO,oBAAoB,EAAE,CAAC;oBAC9B,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBAC/C,MAAM,oBAAoB,CAAA;oBAC5B,CAAC;oBACD,8EAA8E;oBAC9E,OAAO,iCAAiC,CAAA;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,IAAI,OAAO,cAAc,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBACtD,OAAO,cAAc,CAAC,YAAY,EAAE,CAAA;YACtC,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC;KACF,CAAA;AACH,CAAC"}
package/src/index.d.ts CHANGED
@@ -3,4 +3,7 @@ export type { PluginInitOptions, UpdatingStrategy, JsonAsset } from './types';
3
3
  export * from './services/export-storage/export-storage-strategy';
4
4
  export * from './services/export-storage/local-export-storage-strategy';
5
5
  export * from './services/export-storage/s3-export-storage-strategy';
6
+ export * from './services/import-storage/import-job-storage-strategy';
7
+ export * from './services/import-storage/local-import-job-storage-strategy';
8
+ export * from './services/import-storage/s3-import-job-storage-strategy';
6
9
  export type { S3ExportStorageConfig } from './services/export-storage.util';
package/src/index.js CHANGED
@@ -18,4 +18,7 @@ __exportStar(require("./product-import-export.plugin"), exports);
18
18
  __exportStar(require("./services/export-storage/export-storage-strategy"), exports);
19
19
  __exportStar(require("./services/export-storage/local-export-storage-strategy"), exports);
20
20
  __exportStar(require("./services/export-storage/s3-export-storage-strategy"), exports);
21
+ __exportStar(require("./services/import-storage/import-job-storage-strategy"), exports);
22
+ __exportStar(require("./services/import-storage/local-import-job-storage-strategy"), exports);
23
+ __exportStar(require("./services/import-storage/s3-import-job-storage-strategy"), exports);
21
24
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA8C;AAG9C,oFAAiE;AACjE,0FAAuE;AACvE,uFAAoE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA8C;AAG9C,oFAAiE;AACjE,0FAAuE;AACvE,uFAAoE;AACpE,wFAAqE;AACrE,8FAA2E;AAC3E,2FAAwE"}
@@ -60,6 +60,7 @@ const extended_fast_importer_service_1 = require("./services/extended-fast-impor
60
60
  const product_export_service_1 = require("./services/product-export.service");
61
61
  const product_export_queue_service_1 = require("./services/product-export-queue.service");
62
62
  const local_export_storage_strategy_1 = require("./services/export-storage/local-export-storage-strategy");
63
+ const local_import_job_storage_strategy_1 = require("./services/import-storage/local-import-job-storage-strategy");
63
64
  let ProductImportExportPlugin = class ProductImportExportPlugin {
64
65
  static { ProductImportExportPlugin_1 = this; }
65
66
  static options;
@@ -71,6 +72,9 @@ let ProductImportExportPlugin = class ProductImportExportPlugin {
71
72
  restoreSoftDeleted: true,
72
73
  };
73
74
  }
75
+ if (!options.importOptions.importJobStorage) {
76
+ options.importOptions.importJobStorage = 'local';
77
+ }
74
78
  // Ensure exportOptions exists
75
79
  if (!options.exportOptions) {
76
80
  options.exportOptions = {};
@@ -108,16 +112,20 @@ let ProductImportExportPlugin = class ProductImportExportPlugin {
108
112
  ...options.exportOptions.defaultExportFields,
109
113
  'name',
110
114
  'sku',
115
+ 'optionGroups',
116
+ 'optionValues',
111
117
  ]);
112
118
  }
113
119
  if (!options.exportOptions.requiredExportFields) {
114
- options.exportOptions.requiredExportFields = ['name', 'sku'];
120
+ options.exportOptions.requiredExportFields = ['name', 'sku', 'optionGroups', 'optionValues'];
115
121
  }
116
122
  if (options.exportOptions.requiredExportFields) {
117
123
  options.exportOptions.requiredExportFields = (0, lodash_1.uniq)([
118
124
  ...options.exportOptions.requiredExportFields,
119
125
  'name',
120
126
  'sku',
127
+ 'optionGroups',
128
+ 'optionValues',
121
129
  ]);
122
130
  }
123
131
  this.options = options;
@@ -160,6 +168,23 @@ exports.ProductImportExportPlugin = ProductImportExportPlugin = ProductImportExp
160
168
  },
161
169
  inject: [core_2.ModuleRef],
162
170
  },
171
+ {
172
+ provide: constants_1.IMPORT_JOB_STORAGE_STRATEGY,
173
+ useFactory: async (moduleRef) => {
174
+ const importOptions = ProductImportExportPlugin.options?.importOptions;
175
+ const injector = new core_1.Injector(moduleRef);
176
+ if (importOptions?.storageStrategy) {
177
+ return importOptions.storageStrategy;
178
+ }
179
+ if (importOptions?.storageStrategyFactory) {
180
+ return await importOptions.storageStrategyFactory(injector);
181
+ }
182
+ return new local_import_job_storage_strategy_1.LocalImportJobStorageStrategy({
183
+ baseDir: path.join(process.cwd(), 'static', 'imports-tmp'),
184
+ });
185
+ },
186
+ inject: [core_2.ModuleRef],
187
+ },
163
188
  product_import_service_1.ProductImportService,
164
189
  product_importer_1.ProductImporter,
165
190
  extended_fast_importer_service_1.ExtendedFastImporterService,
@@ -1 +1 @@
1
- {"version":3,"file":"product-import-export.plugin.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/product-import-export.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-import-export.plugin.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/product-import-export.plugin.ts"],"names":[],"mappings":"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"}