@haus-tech/product-import-export-plugin 3.6.9 → 3.6.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 3.6.10
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - **product-import-export-plugin:** read SKU relation columns once per import ([#53](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/pull/53))
6
+ - **product-import-export-plugin:** list rejected upload rows in the Admin UI ([#52](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/pull/52))
7
+
1
8
  ## 3.6.9
2
9
 
3
10
  ### 🩹 Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haus-tech/product-import-export-plugin",
3
- "version": "3.6.9",
3
+ "version": "3.6.10",
4
4
  "description": "A Vendure plugin for importing and exporting products using a CSV file",
5
5
  "author": "Haus Tech",
6
6
  "repository": {
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The lines of an import CSV that the importer reads: blank and comma-only lines are dropped, so
3
+ * the header is line 1 and data row N is line N + 1 for everything that reports a row.
4
+ */
5
+ export declare function importCsvLines(csv: string): string[];
6
+ /** Splits one CSV line on commas that are not inside double quotes. */
7
+ export declare function splitCsvLine(line: string): string[];
8
+ /** A header cell as the CSV parser reads it: no byte order mark, no surrounding quotes or space. */
9
+ export declare function normalizeHeader(header: string): string;
10
+ /** The header cells of the import CSV, read the same way by every step of an import. */
11
+ export declare function importCsvHeaders(lines: string[]): string[];
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.importCsvLines = importCsvLines;
4
+ exports.splitCsvLine = splitCsvLine;
5
+ exports.normalizeHeader = normalizeHeader;
6
+ exports.importCsvHeaders = importCsvHeaders;
7
+ /**
8
+ * The lines of an import CSV that the importer reads: blank and comma-only lines are dropped, so
9
+ * the header is line 1 and data row N is line N + 1 for everything that reports a row.
10
+ */
11
+ function importCsvLines(csv) {
12
+ return csv.split('\n').filter((line) => {
13
+ const trimmed = line.trim();
14
+ return trimmed !== '' && !/^,+$/.test(trimmed);
15
+ });
16
+ }
17
+ /** Splits one CSV line on commas that are not inside double quotes. */
18
+ function splitCsvLine(line) {
19
+ return line.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
20
+ }
21
+ /** A header cell as the CSV parser reads it: no byte order mark, no surrounding quotes or space. */
22
+ function normalizeHeader(header) {
23
+ return header
24
+ .replace(/^\uFEFF/, '')
25
+ .trim()
26
+ .replace(/^"(.*)"$/, '$1');
27
+ }
28
+ /** The header cells of the import CSV, read the same way by every step of an import. */
29
+ function importCsvHeaders(lines) {
30
+ return lines.length === 0 ? [] : splitCsvLine(lines[0]).map(normalizeHeader);
31
+ }
32
+ //# sourceMappingURL=import-csv-lines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-csv-lines.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/helpers/import-csv-lines.ts"],"names":[],"mappings":";;AAIA,wCAKC;AAGD,oCAEC;AAGD,0CAKC;AAGD,4CAEC;AA3BD;;;GAGG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,OAAO,OAAO,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,uEAAuE;AACvE,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;AACpD,CAAC;AAED,oGAAoG;AACpG,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,MAAM;SACV,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,IAAI,EAAE;SACN,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,wFAAwF;AACxF,SAAgB,gBAAgB,CAAC,KAAe;IAC9C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC9E,CAAC"}
@@ -7,7 +7,9 @@ import { ParsedProductWithId, UpdatingStrategy } from '../../types';
7
7
  import { PluginInitOptions } from '../../types';
8
8
  import { ImportParser } from './import-parser';
9
9
  import { ExtendedAssetImporter } from './asset-importer';
10
- import { SkuRelationResolver } from '../../services/sku-relation-resolver';
10
+ import { SkuRelationResolver, SkuRelationResult } from '../../services/sku-relation-resolver';
11
+ /** The relation columns of one import whose values are SKUs, and the variant id behind each SKU. */
12
+ type SkuLookup = Pick<SkuRelationResult, 'fields' | 'variantIdsBySku'>;
11
13
  export declare class ProductImporter {
12
14
  private connection;
13
15
  private configService;
@@ -28,9 +30,6 @@ export declare class ProductImporter {
28
30
  private facetMap;
29
31
  private facetValueMap;
30
32
  private customFieldTypes;
31
- /** `<owner>:<field>` keys of relation columns whose values are SKUs (header `...:sku`). */
32
- private skuLookupFields;
33
- private variantIdsBySku;
34
33
  private allAssets;
35
34
  private allAssetsById;
36
35
  private facetIdCache;
@@ -45,7 +44,7 @@ export declare class ProductImporter {
45
44
  setMissingAssetHashes(ctx: RequestContext): Promise<void>;
46
45
  private doParseAndImport;
47
46
  private getRequestContext;
48
- importProducts(ctx: RequestContext, rows: ParsedProductWithId[], updatingStrategy: UpdatingStrategy, onProgress: OnProgressFn): Promise<string[]>;
47
+ importProducts(ctx: RequestContext, rows: ParsedProductWithId[], updatingStrategy: UpdatingStrategy, onProgress: OnProgressFn, skuLookup?: SkuLookup): Promise<string[]>;
49
48
  /**
50
49
  * Normalizes CSV-style JSON (single quotes, spacing) before JSON.parse, consistent with other custom-field parsing in this importer.
51
50
  */
@@ -78,3 +77,4 @@ export declare class ProductImporter {
78
77
  private resolveFeaturedAssetId;
79
78
  getProductByIdWithRelations(ctx: RequestContext, id?: ID, withDeleted?: boolean): Promise<Product | undefined>;
80
79
  }
80
+ export {};
@@ -31,6 +31,8 @@ const generate_asset_hash_1 = require("../../helpers/generate-asset-hash");
31
31
  const crypto_1 = require("crypto");
32
32
  const remove_update_at_fields_1 = require("../../helpers/remove-update-at-fields");
33
33
  const sku_relation_resolver_1 = require("../../services/sku-relation-resolver");
34
+ const import_csv_lines_1 = require("../../helpers/import-csv-lines");
35
+ const NO_SKU_LOOKUP = { fields: new Set(), variantIdsBySku: new Map() };
34
36
  let ProductImporter = class ProductImporter {
35
37
  connection;
36
38
  configService;
@@ -51,9 +53,6 @@ let ProductImporter = class ProductImporter {
51
53
  facetMap = new Map();
52
54
  facetValueMap = new Map();
53
55
  customFieldTypes = {};
54
- /** `<owner>:<field>` keys of relation columns whose values are SKUs (header `...:sku`). */
55
- skuLookupFields = new Set();
56
- variantIdsBySku = new Map();
57
56
  allAssets = [];
58
57
  allAssetsById = new Map();
59
58
  facetIdCache = new Map();
@@ -109,30 +108,18 @@ let ProductImporter = class ProductImporter {
109
108
  }
110
109
  preprocessCsv(input, updateProductSlug) {
111
110
  const customFieldTypes = {};
112
- const skuLookupFields = new Set();
113
- const lines = input.split('\n');
114
- // Filter out empty lines (lines that are either blank or just commas)
115
- const filteredLines = lines.filter((line) => {
116
- const trimmed = line.trim();
117
- return trimmed !== '' && !/^,+$/.test(trimmed); // Keep lines that are not empty or comma-only
118
- });
119
- const splitLines = (text) => {
120
- // Split text by commas, but not if comma is inside double quotes
121
- const splittedText = text.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
122
- return splittedText;
123
- };
124
- const headers = splitLines(filteredLines[0]); // Use splitCsvLine to split headers correctly
111
+ // Without blank and comma-only lines, as SkuRelationResolver reads the file
112
+ const filteredLines = (0, import_csv_lines_1.importCsvLines)(input);
113
+ const headers = (0, import_csv_lines_1.splitCsvLine)(filteredLines[0]);
125
114
  const cleanedHeaders = headers.map((rawHeader) => {
126
- const header = normalizeHeader(rawHeader);
115
+ const header = (0, import_csv_lines_1.normalizeHeader)(rawHeader);
127
116
  if (header.startsWith('product:') || header.startsWith('variant:')) {
128
117
  const parts = header.split(':');
129
118
  if (parts.length === 3 || parts.length === 4) {
130
- const [prefix, fieldName, type, lookup] = parts;
119
+ // A fourth segment (`:sku`) is read by SkuRelationResolver
120
+ const [prefix, fieldName, type] = parts;
131
121
  const fullFieldName = `${prefix}:${fieldName}`;
132
122
  customFieldTypes[fullFieldName] = type.trim();
133
- if (lookup?.trim() === sku_relation_resolver_1.SKU_LOOKUP) {
134
- skuLookupFields.add(fullFieldName);
135
- }
136
123
  return fullFieldName;
137
124
  }
138
125
  }
@@ -149,7 +136,7 @@ let ProductImporter = class ProductImporter {
149
136
  filteredLines.forEach((line, index) => {
150
137
  if (index === 0)
151
138
  return; // Skip header row
152
- const columns = splitLines(line); // Use splitCsvLine to split the data line correctly
139
+ const columns = (0, import_csv_lines_1.splitCsvLine)(line);
153
140
  slugIndices.forEach((slugIndex) => {
154
141
  columns[slugIndex] = ''; // Clear each slug column
155
142
  });
@@ -160,7 +147,6 @@ let ProductImporter = class ProductImporter {
160
147
  return {
161
148
  cleanedCsv: filteredLines.join('\n'), // Join the filtered lines
162
149
  customFieldTypes,
163
- skuLookupFields,
164
150
  };
165
151
  }
166
152
  async streamToString(stream) {
@@ -211,16 +197,15 @@ let ProductImporter = class ProductImporter {
211
197
  // If input is a Stream, you need to read it fully into memory
212
198
  csvContent = await this.streamToString(input);
213
199
  }
214
- // Checked again here, not only on upload: variants can change while the job waits.
200
+ // Checked again here, not only on upload: variants can change while the job waits. SKUs are
201
+ // resolved once, here: a variant deleted while the import runs is still linked to.
215
202
  const skuRelations = await this.skuRelationResolver.resolve(ctx, csvContent);
216
203
  if (skuRelations.errors.length > 0) {
217
204
  return { errors: skuRelations.errors, imported: 0, processed: 0 };
218
205
  }
219
- this.variantIdsBySku = skuRelations.variantIdsBySku;
220
206
  // Preprocess the CSV to extract types and clean headers
221
- const { cleanedCsv, customFieldTypes, skuLookupFields } = this.preprocessCsv(csvContent, updateProductSlug);
207
+ const { cleanedCsv, customFieldTypes } = this.preprocessCsv(csvContent, updateProductSlug);
222
208
  this.customFieldTypes = customFieldTypes;
223
- this.skuLookupFields = skuLookupFields;
224
209
  const parsed = (await this.importParser.parseProducts(cleanedCsv, ctx.languageCode));
225
210
  const productIds = this.extractProductIdsFromCSV(cleanedCsv);
226
211
  parsed.results.forEach((result, index) => {
@@ -237,7 +222,7 @@ let ProductImporter = class ProductImporter {
237
222
  ...progess,
238
223
  processed: parsed.processed,
239
224
  });
240
- });
225
+ }, skuRelations);
241
226
  return {
242
227
  errors: parsed.errors.concat(importErrors),
243
228
  imported: parsed.results.length,
@@ -275,7 +260,7 @@ let ProductImporter = class ProductImporter {
275
260
  throw new core_2.InternalServerError('No RequestContext provided');
276
261
  }
277
262
  }
278
- async importProducts(ctx, rows, updatingStrategy, onProgress) {
263
+ async importProducts(ctx, rows, updatingStrategy, onProgress, skuLookup = NO_SKU_LOOKUP) {
279
264
  let errors = [];
280
265
  let imported = 0;
281
266
  const languageCode = ctx.languageCode;
@@ -309,7 +294,7 @@ let ProductImporter = class ProductImporter {
309
294
  if (createProductAssets.errors.length) {
310
295
  errors = errors.concat(createProductAssets.errors);
311
296
  }
312
- const customFields = await this.processCustomFieldValues(product.translations[0].customFields, this.configService.customFields.Product, ctx);
297
+ const customFields = await this.processCustomFieldValues(product.translations[0].customFields, this.configService.customFields.Product, ctx, 'product', skuLookup);
313
298
  let checkExistingProduct;
314
299
  if (product.productId) {
315
300
  checkExistingProduct = await this.productService.findOne(ctx, product.productId);
@@ -385,7 +370,7 @@ let ProductImporter = class ProductImporter {
385
370
  ? { description: translation.description }
386
371
  : {}),
387
372
  slug: existingTranslation?.slug || translation.slug,
388
- customFields: await this.processCustomFieldValues(translation.customFields, this.configService.customFields.Product, ctx),
373
+ customFields: await this.processCustomFieldValues(translation.customFields, this.configService.customFields.Product, ctx, 'product', skuLookup),
389
374
  };
390
375
  })),
391
376
  customFields,
@@ -514,7 +499,7 @@ let ProductImporter = class ProductImporter {
514
499
  // if (0 < variant.facets.length) {
515
500
  // facetValueIds = await this.getFacetValueIds(ctx, variant.facets, languageCode)
516
501
  // }
517
- const variantCustomFields = await this.processCustomFieldValues(variantMainTranslation.customFields, this.configService.customFields.ProductVariant, ctx);
502
+ const variantCustomFields = await this.processCustomFieldValues(variantMainTranslation.customFields, this.configService.customFields.ProductVariant, ctx, 'variant', skuLookup);
518
503
  const optionIds = shouldUpdateOptions
519
504
  ? variantMainTranslation.optionValues.map((v, index) => optionsMap[`${index}_${v}`])
520
505
  : undefined;
@@ -575,7 +560,7 @@ let ProductImporter = class ProductImporter {
575
560
  return {
576
561
  languageCode: translation.languageCode,
577
562
  name: [productTranslation.name, ...translation.optionValues].join(' '),
578
- customFields: await this.processCustomFieldValues(translation.customFields, this.configService.customFields.ProductVariant, ctx),
563
+ customFields: await this.processCustomFieldValues(translation.customFields, this.configService.customFields.ProductVariant, ctx, 'variant', skuLookup),
579
564
  };
580
565
  })),
581
566
  price: (0, lodash_1.isUndefined)(variant.price) ? undefined : Math.round(variant.price * 100),
@@ -747,9 +732,9 @@ let ProductImporter = class ProductImporter {
747
732
  return out;
748
733
  }
749
734
  /** Swaps SKUs for variant ids; `SkuRelationResolver` has already checked each SKU. */
750
- variantIdsForSkus(value, list) {
735
+ variantIdsForSkus(variantIdsBySku, value, list) {
751
736
  const idFor = (sku) => {
752
- const id = this.variantIdsBySku.get(sku);
737
+ const id = variantIdsBySku.get(sku);
753
738
  if (id === undefined) {
754
739
  throw new core_2.InternalServerError(`No variant with SKU ${sku}`);
755
740
  }
@@ -758,16 +743,12 @@ let ProductImporter = class ProductImporter {
758
743
  if (!list) {
759
744
  return idFor(value.trim());
760
745
  }
761
- return value
762
- .split('|')
763
- .map((sku) => sku.trim())
764
- .filter((sku) => sku !== '')
765
- .map(idFor);
746
+ return (0, sku_relation_resolver_1.splitSkuList)(value).map(idFor);
766
747
  }
767
748
  isValidRelationIdentifier(value) {
768
749
  return /^[A-Za-z0-9_-]+$/.test(value);
769
750
  }
770
- async processCustomFieldValues(customFields, config, ctx) {
751
+ async processCustomFieldValues(customFields, config, ctx, owner, skuLookup = NO_SKU_LOOKUP) {
771
752
  function parseBoolean(input) {
772
753
  if (input == null) {
773
754
  return false;
@@ -782,7 +763,6 @@ let ProductImporter = class ProductImporter {
782
763
  }
783
764
  }
784
765
  const processed = {};
785
- const owner = config === this.configService.customFields.Product ? 'product' : 'variant';
786
766
  for (const fieldDef of config) {
787
767
  let foundCustomFieldType = (0, lodash_1.find)(this.customFieldTypes, (_type, key) => key.split(':')[1] === fieldDef.name);
788
768
  if (!foundCustomFieldType) {
@@ -904,8 +884,8 @@ let ProductImporter = class ProductImporter {
904
884
  }
905
885
  continue;
906
886
  }
907
- if (this.skuLookupFields.has(`${owner}:${fieldDef.name}`)) {
908
- const variantIds = this.variantIdsForSkus(value, fieldDef.list === true);
887
+ if (skuLookup.fields.has(`${owner}:${fieldDef.name}`)) {
888
+ const variantIds = this.variantIdsForSkus(skuLookup.variantIdsBySku, value, fieldDef.list === true);
909
889
  if (relDef.nullable === false && Array.isArray(variantIds) && variantIds.length === 0) {
910
890
  throw new core_2.InternalServerError(`Required relation custom field "${fieldDef.name}" is missing or empty`);
911
891
  }
@@ -1053,16 +1033,17 @@ let ProductImporter = class ProductImporter {
1053
1033
  },
1054
1034
  },
1055
1035
  });
1036
+ // The fast importer ignores `options` here; the loop below upserts each option.
1056
1037
  const groupId = existingGroup
1057
1038
  ? await this.fastImporter.updateProductOptionGroup({
1058
1039
  id: existingGroup.id,
1059
1040
  code,
1060
- options: [...values.keys()].map(() => ({})),
1041
+ options: [],
1061
1042
  translations: groupTranslations,
1062
1043
  })
1063
1044
  : await this.fastImporter.createProductOptionGroup({
1064
1045
  code,
1065
- options: [...values.keys()].map(() => ({})),
1046
+ options: [],
1066
1047
  translations: groupTranslations,
1067
1048
  });
1068
1049
  const optionIds = new Map();
@@ -1185,11 +1166,4 @@ exports.ProductImporter = ProductImporter = __decorate([
1185
1166
  core_1.AssetService,
1186
1167
  core_1.ProductOptionGroupService, Object, sku_relation_resolver_1.SkuRelationResolver])
1187
1168
  ], ProductImporter);
1188
- /** A header cell as the CSV parser reads it: no byte order mark, no surrounding quotes or space. */
1189
- function normalizeHeader(header) {
1190
- return header
1191
- .replace(/^\uFEFF/, '')
1192
- .trim()
1193
- .replace(/^"(.*)"$/, '$1');
1194
- }
1195
1169
  //# sourceMappingURL=product-importer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-importer.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/providers/import-providers/product-importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-importer.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/providers/import-providers/product-importer.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface SkuRelationResult {
6
6
  errors: string[];
7
7
  /** The id of the single live variant behind each SKU the file references. */
8
8
  variantIdsBySku: Map<string, ID>;
9
+ /** `<owner>:<field>` keys of the relation columns whose values are SKUs. */
10
+ fields: Set<string>;
9
11
  }
10
12
  /**
11
13
  * Resolves relation custom field columns written as `<owner>:<field>:<type>:sku`, where each
@@ -17,11 +19,15 @@ export declare class SkuRelationResolver {
17
19
  private configService;
18
20
  constructor(connection: TransactionalConnection, configService: ConfigService);
19
21
  resolve(ctx: RequestContext, csv: string): Promise<SkuRelationResult>;
20
- private readHeaders;
21
22
  private splitHeader;
22
23
  private checkHeader;
23
24
  private findFieldConfig;
24
- /** The SKUs each data row references, with the file line the row ends on (header is line 1). */
25
+ /**
26
+ * The SKUs each data row references, with the row's line as the importer numbers it: the
27
+ * header is line 1 and blank and comma-only lines are not counted.
28
+ */
25
29
  private readSkus;
26
30
  private findLiveVariants;
27
31
  }
32
+ /** The SKUs in a list relation cell, written `SKU|SKU`. */
33
+ export declare function splitSkuList(value: string): string[];
@@ -10,10 +10,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SkuRelationResolver = exports.SKU_LOOKUP = void 0;
13
+ exports.splitSkuList = splitSkuList;
13
14
  const common_1 = require("@nestjs/common");
14
15
  const core_1 = require("@vendure/core");
15
16
  const sync_1 = require("csv-parse/sync");
16
17
  const typeorm_1 = require("typeorm");
18
+ const import_csv_lines_1 = require("../helpers/import-csv-lines");
17
19
  /** The fourth header segment that makes a relation column hold SKUs instead of ids. */
18
20
  exports.SKU_LOOKUP = 'sku';
19
21
  /** SKUs per database query, well below every driver's bind parameter limit. */
@@ -32,33 +34,34 @@ let SkuRelationResolver = class SkuRelationResolver {
32
34
  }
33
35
  async resolve(ctx, csv) {
34
36
  const variantIdsBySku = new Map();
35
- let headers;
36
- try {
37
- headers = this.readHeaders(csv);
38
- }
39
- catch {
40
- // Not ours to report: without readable headers there are no SKU columns, and the
41
- // importer's own parser tells the uploader what is wrong with the file.
42
- return { errors: [], variantIdsBySku };
43
- }
37
+ const fields = new Set();
38
+ // The importer reads the same lines and headers, so both agree on which columns hold SKUs
39
+ // and on row numbers.
40
+ const lines = (0, import_csv_lines_1.importCsvLines)(csv);
41
+ const headers = (0, import_csv_lines_1.importCsvHeaders)(lines);
44
42
  const lookupHeaders = headers.filter((header) => this.splitHeader(header).length === 4);
45
43
  if (lookupHeaders.length === 0) {
46
- return { errors: [], variantIdsBySku };
44
+ return { errors: [], variantIdsBySku, fields };
47
45
  }
48
46
  const headerErrors = lookupHeaders.flatMap((header) => this.checkHeader(header));
49
47
  if (headerErrors.length > 0) {
50
- return { errors: headerErrors, variantIdsBySku };
48
+ return { errors: headerErrors, variantIdsBySku, fields };
51
49
  }
52
- const columns = lookupHeaders.map((header) => ({
53
- header,
54
- list: this.findFieldConfig(header)?.list === true,
55
- }));
50
+ const columns = lookupHeaders.map((header) => {
51
+ const [owner, fieldName] = this.splitHeader(header);
52
+ fields.add(`${owner}:${fieldName}`);
53
+ return { index: headers.indexOf(header), list: this.findFieldConfig(header)?.list === true };
54
+ });
56
55
  let rows;
57
56
  try {
58
- rows = this.readSkus(csv, columns);
57
+ rows = this.readSkus(lines, columns);
59
58
  }
60
59
  catch (error) {
61
- return { errors: [`Could not read the file: ${error.message}`], variantIdsBySku };
60
+ return {
61
+ errors: [`Could not read the file: ${error.message}`],
62
+ variantIdsBySku,
63
+ fields,
64
+ };
62
65
  }
63
66
  const matches = await this.findLiveVariants(ctx, uniqueSkus(rows));
64
67
  const errors = [];
@@ -76,11 +79,7 @@ let SkuRelationResolver = class SkuRelationResolver {
76
79
  }
77
80
  }
78
81
  }
79
- return { errors, variantIdsBySku };
80
- }
81
- readHeaders(csv) {
82
- const [headers] = (0, sync_1.parse)(csv, { bom: true, to_line: 1, relax_column_count: true });
83
- return (headers ?? []).map((header) => header.trim());
82
+ return { errors, variantIdsBySku, fields };
84
83
  }
85
84
  splitHeader(header) {
86
85
  if (!header.startsWith('product:') && !header.startsWith('variant:')) {
@@ -94,6 +93,11 @@ let SkuRelationResolver = class SkuRelationResolver {
94
93
  return [`Column '${header}': only ':${exports.SKU_LOOKUP}' is supported as a lookup`];
95
94
  }
96
95
  const config = this.findFieldConfig(header);
96
+ if (!config) {
97
+ const [owner, fieldName] = this.splitHeader(header);
98
+ const entity = owner === 'product' ? 'Product' : 'ProductVariant';
99
+ return [`Column '${header}': ${entity} has no custom field named '${fieldName}'`];
100
+ }
97
101
  const isVariantRelation = config?.type === 'relation' && config.entity === core_1.ProductVariant;
98
102
  if (!isVariantRelation) {
99
103
  return [
@@ -109,21 +113,21 @@ let SkuRelationResolver = class SkuRelationResolver {
109
113
  : this.configService.customFields.ProductVariant;
110
114
  return configs.find((config) => config.name === fieldName);
111
115
  }
112
- /** The SKUs each data row references, with the file line the row ends on (header is line 1). */
113
- readSkus(csv, columns) {
114
- const records = (0, sync_1.parse)(csv, {
116
+ /**
117
+ * The SKUs each data row references, with the row's line as the importer numbers it: the
118
+ * header is line 1 and blank and comma-only lines are not counted.
119
+ */
120
+ readSkus(lines, columns) {
121
+ const [, ...records] = (0, sync_1.parse)(lines.join('\n'), {
115
122
  bom: true,
116
- columns: (headers) => headers.map((header) => header.trim()),
117
- skip_empty_lines: true,
118
123
  // As lenient as the importer's parser, so a file it imports is never rejected here.
119
124
  relax_column_count: true,
120
125
  relax_quotes: true,
121
- info: true,
122
126
  });
123
127
  return records
124
- .map(({ record, info }) => ({
125
- line: info.lines,
126
- skus: columns.flatMap(({ header, list }) => splitSkus(record[header], list)),
128
+ .map((record, index) => ({
129
+ line: index + 2,
130
+ skus: columns.flatMap(({ index: column, list }) => splitSkus(record[column], list)),
127
131
  }))
128
132
  .filter((row) => row.skus.length > 0);
129
133
  }
@@ -153,18 +157,19 @@ exports.SkuRelationResolver = SkuRelationResolver = __decorate([
153
157
  __metadata("design:paramtypes", [core_1.TransactionalConnection,
154
158
  core_1.ConfigService])
155
159
  ], SkuRelationResolver);
160
+ /** The SKUs in a list relation cell, written `SKU|SKU`. */
161
+ function splitSkuList(value) {
162
+ return value
163
+ .split('|')
164
+ .map((sku) => sku.trim())
165
+ .filter((sku) => sku !== '');
166
+ }
156
167
  function splitSkus(value, list) {
157
168
  const trimmed = value?.trim() ?? '';
158
169
  if (trimmed === '') {
159
170
  return [];
160
171
  }
161
- if (!list) {
162
- return [trimmed];
163
- }
164
- return trimmed
165
- .split('|')
166
- .map((sku) => sku.trim())
167
- .filter((sku) => sku !== '');
172
+ return list ? splitSkuList(trimmed) : [trimmed];
168
173
  }
169
174
  function uniqueSkus(rows) {
170
175
  return [...new Set(rows.flatMap((row) => row.skus))];
@@ -1 +1 @@
1
- {"version":3,"file":"sku-relation-resolver.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/sku-relation-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sku-relation-resolver.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/sku-relation-resolver.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,18 @@
104
104
  {{ 'product-import.card.button-upload' | translate }}
105
105
  </button>
106
106
  </div>
107
+
108
+ <div
109
+ *ngIf="uploadErrors.length"
110
+ class="upload-errors"
111
+ role="alert"
112
+ style="margin-top: 16px; color: red"
113
+ >
114
+ <p>{{ 'product-import.notifications.upload-rejected-rows' | translate }}</p>
115
+ <ul>
116
+ <li *ngFor="let error of uploadErrors">{{ error }}</li>
117
+ </ul>
118
+ </div>
107
119
  </div>
108
120
  </vdr-card>
109
121
  </vdr-page-block>
@@ -6,6 +6,7 @@ import { TranslateService } from '@ngx-translate/core'
6
6
  import { endsWith, startsWith, size, uniq } from 'lodash'
7
7
  import { AdminUiConfig } from '@vendure/common/lib/shared-types'
8
8
  import { Channel, LanguageCode } from '@vendure/core'
9
+ import { readUploadErrors } from '../upload-errors'
9
10
 
10
11
  type UpdatingStrategy = 'replace' | 'merge'
11
12
 
@@ -37,6 +38,7 @@ export class ProductImportComponent implements OnInit {
37
38
  selectedMainLanguage: LanguageCode | undefined
38
39
  availableLanguages: LanguageCode[] = []
39
40
  updatingStrategy: UpdatingStrategy = 'merge'
41
+ uploadErrors: string[] = []
40
42
 
41
43
  @ViewChild('fileUpload', { static: false }) fileUploadElement: ElementRef<HTMLInputElement>
42
44
 
@@ -99,6 +101,7 @@ export class ProductImportComponent implements OnInit {
99
101
  const input = event.target as HTMLInputElement
100
102
  if (input.files && input.files.length > 0) {
101
103
  const file = input.files[0]
104
+ this.uploadErrors = []
102
105
  if (file.type !== 'text/csv') {
103
106
  this.notificationService.error(
104
107
  this.translate.instant('product-import.notifications.invalid-file-type'),
@@ -435,15 +438,22 @@ export class ProductImportComponent implements OnInit {
435
438
  })
436
439
 
437
440
  if (res.ok) {
441
+ this.uploadErrors = []
438
442
  this.clearFile()
439
443
  this.notificationService.success(
440
444
  this.translate.instant('product-import.notifications.upload-success'),
441
445
  )
442
446
  this.cd.detectChanges()
443
447
  } else {
448
+ this.uploadErrors = await readUploadErrors(res)
444
449
  this.notificationService.error(
445
- this.translate.instant('product-import.notifications.upload-error'),
450
+ this.translate.instant(
451
+ this.uploadErrors.length
452
+ ? 'product-import.notifications.upload-rejected-rows'
453
+ : 'product-import.notifications.upload-error',
454
+ ),
446
455
  )
456
+ this.cd.detectChanges()
447
457
  }
448
458
  } catch (error) {
449
459
  this.notificationService.error(
@@ -19,6 +19,7 @@
19
19
  "invalid-file-structure": "Invalid file structure. Please upload a correct CSV file.",
20
20
  "upload-success": "The file was uploaded and has been added to the import queue.",
21
21
  "upload-error": "An error occurred while uploading the file.",
22
+ "upload-rejected-rows": "The file was not imported. Fix these rows and upload it again:",
22
23
  "no-file-selected": "No file selected.",
23
24
  "mismatched-values": "Some fields are missing language specifications. Please fill in all languages: ",
24
25
  "missing-base-columns": "Some columns are missing: ",
@@ -19,6 +19,7 @@
19
19
  "invalid-file-structure": "Felaktig filstruktur. Vänligen ladda upp en korrekt CSV-fil.",
20
20
  "upload-success": "Filen laddades upp och har lagts till i kön för import.",
21
21
  "upload-error": "Ett fel uppstod vid uppladdning av filen.",
22
+ "upload-rejected-rows": "Filen importerades inte. Rätta de här raderna och ladda upp den igen:",
22
23
  "no-file-selected": "Ingen fil vald.",
23
24
  "mismatched-values": "Det saknas språkspecifikationer för vissa fält. Vänligen fyll i alla språk: ",
24
25
  "missing-base-columns": "Vissa kolumner saknas: ",
@@ -0,0 +1,17 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { readUploadErrors } from './upload-errors'
3
+
4
+ describe('readUploadErrors (Admin UI)', () => {
5
+ it('returns the errors of a 400 answer', async () => {
6
+ const res = new Response(JSON.stringify({ errors: ['Row 2: no variant with SKU X'] }), {
7
+ status: 400,
8
+ })
9
+ expect(await readUploadErrors(res)).toEqual(['Row 2: no variant with SKU X'])
10
+ })
11
+
12
+ it('returns none for other statuses or a body that is not the error shape', async () => {
13
+ expect(await readUploadErrors(new Response('boom', { status: 500 }))).toEqual([])
14
+ expect(await readUploadErrors(new Response('not json', { status: 400 }))).toEqual([])
15
+ expect(await readUploadErrors(new Response('{}', { status: 400 }))).toEqual([])
16
+ })
17
+ })
@@ -0,0 +1,14 @@
1
+ // Mirrors src/dashboard/upload-errors.ts: the Angular extension compiles only the ui folder, so it cannot import from dashboard.
2
+
3
+ /** The `errors` a rejected upload answers with (HTTP 400, `{ errors: string[] }`), else none. */
4
+ export async function readUploadErrors(res: Response): Promise<string[]> {
5
+ if (res.status !== 400) {
6
+ return []
7
+ }
8
+ try {
9
+ const body = (await res.json()) as { errors?: unknown }
10
+ return Array.isArray(body.errors) ? body.errors.map(String) : []
11
+ } catch {
12
+ return []
13
+ }
14
+ }