@vendure/elasticsearch-plugin 1.3.3 → 1.4.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.
@@ -5,6 +5,11 @@ const apollo_server_core_1 = require("apollo-server-core");
5
5
  function generateSchemaExtensions(options) {
6
6
  const customMappingTypes = generateCustomMappingTypes(options);
7
7
  const inputExtensions = Object.entries(options.extendSearchInputType || {});
8
+ const sortExtensions = options.extendSearchSortType || [];
9
+ const sortExtensionGql = `
10
+ extend input SearchResultSortParameter {
11
+ ${sortExtensions.map(key => `${key}: SortOrder`).join('\n ')}
12
+ }`;
8
13
  return apollo_server_core_1.gql `
9
14
  extend type SearchResponse {
10
15
  prices: SearchResponsePriceData!
@@ -33,6 +38,8 @@ function generateSchemaExtensions(options) {
33
38
  ${inputExtensions.map(([name, type]) => `${name}: ${type}`).join('\n ')}
34
39
  }
35
40
 
41
+ ${sortExtensions.length > 0 ? sortExtensionGql : ''}
42
+
36
43
  input PriceRangeInput {
37
44
  min: Int!
38
45
  max: Int!
@@ -44,8 +51,8 @@ function generateSchemaExtensions(options) {
44
51
  exports.generateSchemaExtensions = generateSchemaExtensions;
45
52
  function generateCustomMappingTypes(options) {
46
53
  var _a, _b;
47
- const productMappings = Object.entries(options.customProductMappings || {});
48
- const variantMappings = Object.entries(options.customProductVariantMappings || {});
54
+ const productMappings = Object.entries(options.customProductMappings || {}).filter(([, value]) => { var _a; return (_a = value.public) !== null && _a !== void 0 ? _a : true; });
55
+ const variantMappings = Object.entries(options.customProductVariantMappings || {}).filter(([, value]) => { var _a; return (_a = value.public) !== null && _a !== void 0 ? _a : true; });
49
56
  const searchInputTypeExtensions = Object.entries(options.extendSearchInputType || {});
50
57
  const scriptProductFields = Object.entries(((_a = options.searchConfig) === null || _a === void 0 ? void 0 : _a.scriptFields) || {}).filter(([, scriptField]) => scriptField.context !== 'variant');
51
58
  const scriptVariantFields = Object.entries(((_b = options.searchConfig) === null || _b === void 0 ? void 0 : _b.scriptFields) || {}).filter(([, scriptField]) => scriptField.context !== 'product');
@@ -1 +1 @@
1
- {"version":3,"file":"api-extensions.js","sourceRoot":"","sources":["../../../src/api/api-extensions.ts"],"names":[],"mappings":";;;AAAA,2DAAyC;AAKzC,SAAgB,wBAAwB,CAAC,OAA6B;IAClE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC5E,OAAO,wBAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;cAyBA,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;;;;;;UAQpF,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;KACjD,CAAC;AACN,CAAC;AAtCD,4DAsCC;AAED,SAAS,0BAA0B,CAAC,OAA6B;;IAC7D,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;IACnF,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA,MAAA,OAAO,CAAC,YAAY,0CAAE,YAAY,KAAI,EAAE,CAAC,CAAC,MAAM,CACvF,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,CACzD,CAAC;IACF,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA,MAAA,OAAO,CAAC,YAAY,0CAAE,YAAY,KAAI,EAAE,CAAC,CAAC,MAAM,CACvF,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,CACzD,CAAC;IACF,IAAI,GAAG,GAAG,EAAE,CAAC;IAEb,IAAI,mBAAmB,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,EAAE;QAC1D,IAAI,mBAAmB,CAAC,MAAM,EAAE;YAC5B,GAAG,IAAI;;kBAED,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;;aAE5E,CAAC;SACL;QACD,IAAI,mBAAmB,CAAC,MAAM,EAAE;YAC5B,GAAG,IAAI;;kBAED,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;;aAE5E,CAAC;SACL;QACD,IAAI,mBAAmB,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,EAAE;YAC1D,GAAG,IAAI;;;;;;aAMN,CAAC;SACL;aAAM,IAAI,mBAAmB,CAAC,MAAM,EAAE;YACnC,GAAG,IAAI;;;;aAIN,CAAC;SACL;aAAM,IAAI,mBAAmB,CAAC,MAAM,EAAE;YACnC,GAAG,IAAI;;;;aAIN,CAAC;SACL;KACJ;IAED,IAAI,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,EAAE;QAClD,IAAI,eAAe,CAAC,MAAM,EAAE;YACxB,GAAG,IAAI;;kBAED,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;;aAExE,CAAC;SACL;QACD,IAAI,eAAe,CAAC,MAAM,EAAE;YACxB,GAAG,IAAI;;kBAED,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;;aAExE,CAAC;SACL;QACD,IAAI,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,EAAE;YAClD,GAAG,IAAI;;;;;;aAMN,CAAC;SACL;aAAM,IAAI,eAAe,CAAC,MAAM,EAAE;YAC/B,GAAG,IAAI;;;;aAIN,CAAC;SACL;aAAM,IAAI,eAAe,CAAC,MAAM,EAAE;YAC/B,GAAG,IAAI;;;;aAIN,CAAC;SACL;KACJ;IACD,OAAO,GAAG,CAAC,MAAM;QACb,CAAC,CAAC,wBAAG,CAAA;gBACG,GAAG;WACR;QACH,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"api-extensions.js","sourceRoot":"","sources":["../../../src/api/api-extensions.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ function buildElasticBody(input, searchConfig, channelId, languageCode, enabledO
99
99
  const scriptFields = createScriptFields(searchConfig.scriptFields, input, groupByProduct);
100
100
  const body = Object.assign({ query: searchConfig.mapQuery
101
101
  ? searchConfig.mapQuery(query, input, searchConfig, channelId, enabledOnly)
102
- : query, sort: sortArray, from: skip || 0, size: take || 10, track_total_hits: searchConfig.totalItemsMaxSize }, (scriptFields !== undefined
102
+ : query, sort: searchConfig.mapSort ? searchConfig.mapSort(sortArray, input) : sortArray, from: skip || 0, size: take || 10, track_total_hits: searchConfig.totalItemsMaxSize }, (scriptFields !== undefined
103
103
  ? {
104
104
  _source: true,
105
105
  script_fields: scriptFields,
@@ -1 +1 @@
1
- {"version":3,"file":"build-elastic-body.js","sourceRoot":"","sources":["../../src/build-elastic-body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-elastic-body.js","sourceRoot":"","sources":["../../src/build-elastic-body.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ClientOptions } from '@elastic/elasticsearch';
2
2
  import { DeepRequired, EntityRelationPaths, ID, LanguageCode, Product, ProductVariant } from '@vendure/core';
3
- import { CustomMapping, CustomScriptMapping, ElasticSearchInput, GraphQlPrimitive, PrimitiveTypeVariations } from './types';
3
+ import { CustomMapping, CustomScriptMapping, ElasticSearchInput, ElasticSearchSortInput, GraphQlPrimitive, PrimitiveTypeVariations } from './types';
4
4
  /**
5
5
  * @description
6
6
  * Configuration options for the {@link ElasticsearchPlugin}.
@@ -157,6 +157,10 @@ export interface ElasticsearchOptions {
157
157
  * The `graphQlType` property may be one of `String`, `Int`, `Float`, `Boolean`, `ID` or list
158
158
  * versions thereof (`[String!]` etc) and can be appended with a `!` to indicate non-nullable fields.
159
159
  *
160
+ * The `public` (default = `true`) property is used to reveal or hide the property in the GraphQL API schema.
161
+ * If this property is set to `false` it's not accessible in the `customMappings` field but it's still getting
162
+ * parsed to the elasticsearch index.
163
+ *
160
164
  * This config option defines custom mappings which are accessible when the "groupByProduct"
161
165
  * input options is set to `true`.
162
166
  *
@@ -169,8 +173,14 @@ export interface ElasticsearchOptions {
169
173
  * },
170
174
  * reviewRating: {
171
175
  * graphQlType: 'Float',
176
+ * public: true,
172
177
  * valueFn: product => (product.customFields as any).reviewRating,
173
178
  * },
179
+ * priority: {
180
+ * graphQlType: 'Int!',
181
+ * public: false,
182
+ * valueFn: product => (product.customFields as any).priority,
183
+ * },
174
184
  * }
175
185
  * ```
176
186
  *
@@ -309,6 +319,29 @@ export interface ElasticsearchOptions {
309
319
  extendSearchInputType?: {
310
320
  [name: string]: PrimitiveTypeVariations<GraphQlPrimitive>;
311
321
  };
322
+ /**
323
+ * @description
324
+ * Adds a list of sort parameters. This is mostly important to make the
325
+ * correct sort order values available inside `input` parameter of the `mapSort` option.
326
+ *
327
+ * @example
328
+ * ```TypeScript
329
+ * extendSearchSortType: ["distance"]
330
+ * ```
331
+ *
332
+ * will extend the `SearchResultSortParameter` input type like this:
333
+ *
334
+ * @example
335
+ * ```GraphQl
336
+ * extend input SearchResultSortParameter {
337
+ * distance: SortOrder
338
+ * }
339
+ * ```
340
+ *
341
+ * @default []
342
+ * @since 1.4.0
343
+ */
344
+ extendSearchSortType?: string[];
312
345
  }
313
346
  /**
314
347
  * @description
@@ -503,6 +536,82 @@ export interface SearchConfig {
503
536
  scriptFields?: {
504
537
  [fieldName: string]: CustomScriptMapping<[ElasticSearchInput]>;
505
538
  };
539
+ /**
540
+ * @description
541
+ * Allows extending the `sort` input of the elasticsearch body as covered in
542
+ * [Elasticsearch sort docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html)
543
+ *
544
+ * @example
545
+ * ```TS
546
+ * mapSort: (sort, input) => {
547
+ * // Assuming `extendSearchSortType: ["priority"]`
548
+ * // Assuming priority is never undefined
549
+ * const { priority } = input.sort;
550
+ * return [
551
+ * ...sort,
552
+ * {
553
+ * // The `product-priority` field corresponds to the `priority` customProductMapping
554
+ * // Depending on the index type, this field might require a
555
+ * // more detailed input (example: 'productName.keyword')
556
+ * ["product-priority"]: {
557
+ * order: priority === SortOrder.ASC ? 'asc' : 'desc'
558
+ * }
559
+ * }
560
+ * ];
561
+ * }
562
+ * ```
563
+ *
564
+ * A more generic example would be a sort function based on a product location like this:
565
+ * @example
566
+ * ```TS
567
+ * extendSearchInputType: {
568
+ * latitude: 'Float',
569
+ * longitude: 'Float',
570
+ * },
571
+ * extendSearchSortType: ["distance"],
572
+ * indexMappingProperties: {
573
+ * // The `product-location` field corresponds to the `location` customProductMapping
574
+ * // defined below. Here we specify that it would be index as a `geo_point` type,
575
+ * // which will allow us to perform geo-spacial calculations on it in our script field.
576
+ * 'product-location': {
577
+ * type: 'geo_point',
578
+ * },
579
+ * },
580
+ * customProductMappings: {
581
+ * location: {
582
+ * graphQlType: 'String',
583
+ * valueFn: (product: Product) => {
584
+ * // Assume that the Product entity has this customField defined
585
+ * const custom = product.customFields.location;
586
+ * return `${custom.latitude},${custom.longitude}`;
587
+ * },
588
+ * }
589
+ * },
590
+ * searchConfig: {
591
+ * mapSort: (sort, input) => {
592
+ * // Assuming distance is never undefined
593
+ * const { distance } = input.sort;
594
+ * return [
595
+ * ...sort,
596
+ * {
597
+ * ["_geo_distance"]: {
598
+ * "product-location": [
599
+ * input.longitude,
600
+ * input.latitude
601
+ * ],
602
+ * order: distance === SortOrder.ASC ? 'asc' : 'desc',
603
+ * unit: "km"
604
+ * }
605
+ * }
606
+ * ];
607
+ * }
608
+ * }
609
+ * ```
610
+ *
611
+ * @default {}
612
+ * @since 1.4.0
613
+ */
614
+ mapSort?: (sort: ElasticSearchSortInput, input: ElasticSearchInput) => ElasticSearchSortInput;
506
615
  }
507
616
  /**
508
617
  * @description
@@ -38,6 +38,7 @@ exports.defaultOptions = {
38
38
  },
39
39
  priceRangeBucketInterval: 1000,
40
40
  mapQuery: query => query,
41
+ mapSort: sort => sort,
41
42
  scriptFields: {},
42
43
  },
43
44
  customProductMappings: {},
@@ -46,6 +47,7 @@ exports.defaultOptions = {
46
47
  hydrateProductRelations: [],
47
48
  hydrateProductVariantRelations: [],
48
49
  extendSearchInputType: {},
50
+ extendSearchSortType: [],
49
51
  };
50
52
  function mergeWithDefaults(userOptions) {
51
53
  const { clientOptions } = userOptions, pluginOptions = __rest(userOptions, ["clientOptions"]);
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,0DAAkC;AAwjBrB,QAAA,cAAc,GAAgC;IACvD,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,IAAI;IACV,kBAAkB,EAAE,EAAE;IACtB,yBAAyB,EAAE,IAAI;IAC/B,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,EAAE;IACjB,sBAAsB,EAAE,EAAE;IAC1B,SAAS,EAAE,IAAI;IACf,YAAY,EAAE;QACV,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE;YACT,WAAW,EAAE,CAAC;YACd,kBAAkB,EAAE,CAAC;YACrB,WAAW,EAAE,CAAC;YACd,GAAG,EAAE,CAAC;SACT;QACD,wBAAwB,EAAE,IAAI;QAC9B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;QACxB,YAAY,EAAE,EAAE;KACnB;IACD,qBAAqB,EAAE,EAAE;IACzB,4BAA4B,EAAE,EAAE;IAChC,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,EAAE;IAC3B,8BAA8B,EAAE,EAAE;IAClC,qBAAqB,EAAE,EAAE;CAC5B,CAAC;AAEF,SAAgB,iBAAiB,CAAC,WAAiC;IAC/D,MAAM,EAAE,aAAa,KAAuB,WAAW,EAA7B,aAAa,UAAK,WAAW,EAAjD,iBAAmC,CAAc,CAAC;IACxD,MAAM,MAAM,GAAG,mBAAS,CAAC,sBAAc,EAAE,aAAa,CAAgC,CAAC;IACvF,uCAAY,MAAM,KAAE,aAAa,IAAG;AACxC,CAAC;AAJD,8CAIC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,0DAAkC;AAwqBrB,QAAA,cAAc,GAAgC;IACvD,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,IAAI;IACV,kBAAkB,EAAE,EAAE;IACtB,yBAAyB,EAAE,IAAI;IAC/B,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,EAAE;IACjB,sBAAsB,EAAE,EAAE;IAC1B,SAAS,EAAE,IAAI;IACf,YAAY,EAAE;QACV,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE;YACT,WAAW,EAAE,CAAC;YACd,kBAAkB,EAAE,CAAC;YACrB,WAAW,EAAE,CAAC;YACd,GAAG,EAAE,CAAC;SACT;QACD,wBAAwB,EAAE,IAAI;QAC9B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;QACxB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;QACrB,YAAY,EAAE,EAAE;KACnB;IACD,qBAAqB,EAAE,EAAE;IACzB,4BAA4B,EAAE,EAAE;IAChC,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,EAAE;IAC3B,8BAA8B,EAAE,EAAE;IAClC,qBAAqB,EAAE,EAAE;IACzB,oBAAoB,EAAE,EAAE;CAC3B,CAAC;AAEF,SAAgB,iBAAiB,CAAC,WAAiC;IAC/D,MAAM,EAAE,aAAa,KAAuB,WAAW,EAA7B,aAAa,UAAK,WAAW,EAAjD,iBAAmC,CAAc,CAAC;IACxD,MAAM,MAAM,GAAG,mBAAS,CAAC,sBAAc,EAAE,aAAa,CAAgC,CAAC;IACvF,uCAAY,MAAM,KAAE,aAAa,IAAG;AACxC,CAAC;AAJD,8CAIC"}
@@ -24,6 +24,28 @@ export declare type PriceRangeBucket = {
24
24
  to: number;
25
25
  count: number;
26
26
  };
27
+ export declare enum ElasticSearchSortMode {
28
+ /** Pick the lowest value */
29
+ MIN = "min",
30
+ /** Pick the highest value */
31
+ MAX = "max",
32
+ /** Use the sum of all values as sort value. Only applicable for number based array fields */
33
+ SUM = "sum",
34
+ /** Use the average of all values as sort value. Only applicable for number based array fields */
35
+ AVG = "avg",
36
+ /** Use the median of all values as sort value. Only applicable for number based array fields */
37
+ MEDIAN = "median"
38
+ }
39
+ export declare type ElasticSearchSortParameter = {
40
+ missing?: '_last' | '_first' | string;
41
+ mode?: ElasticSearchSortMode;
42
+ order: 'asc' | 'desc';
43
+ } & {
44
+ [key: string]: any;
45
+ };
46
+ export declare type ElasticSearchSortInput = Array<{
47
+ [key: string]: ElasticSearchSortParameter;
48
+ }>;
27
49
  export declare type IndexItemAssets = {
28
50
  productAssetId: ID | undefined;
29
51
  productPreview: string;
@@ -216,6 +238,7 @@ export declare type PrimitiveTypeVariations<T extends GraphQlPrimitive> = T | `$
216
238
  declare type GraphQlPermittedReturnType = PrimitiveTypeVariations<GraphQlPrimitive>;
217
239
  declare type CustomMappingDefinition<Args extends any[], T extends GraphQlPermittedReturnType, R> = {
218
240
  graphQlType: T;
241
+ public?: boolean;
219
242
  valueFn: (...args: Args) => R;
220
243
  };
221
244
  declare type TypeVariationMap<GqlType extends GraphQlPrimitive, TsType> = {
package/lib/src/types.js CHANGED
@@ -1,3 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ElasticSearchSortMode = void 0;
4
+ var ElasticSearchSortMode;
5
+ (function (ElasticSearchSortMode) {
6
+ /** Pick the lowest value */
7
+ ElasticSearchSortMode["MIN"] = "min";
8
+ /** Pick the highest value */
9
+ ElasticSearchSortMode["MAX"] = "max";
10
+ /** Use the sum of all values as sort value. Only applicable for number based array fields */
11
+ ElasticSearchSortMode["SUM"] = "sum";
12
+ /** Use the average of all values as sort value. Only applicable for number based array fields */
13
+ ElasticSearchSortMode["AVG"] = "avg";
14
+ /** Use the median of all values as sort value. Only applicable for number based array fields */
15
+ ElasticSearchSortMode["MEDIAN"] = "median";
16
+ })(ElasticSearchSortMode = exports.ElasticSearchSortMode || (exports.ElasticSearchSortMode = {}));
3
17
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAwCA,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAC7B,4BAA4B;IAC5B,oCAAW,CAAA;IACX,6BAA6B;IAC7B,oCAAW,CAAA;IACX,6FAA6F;IAC7F,oCAAW,CAAA;IACX,iGAAiG;IACjG,oCAAW,CAAA;IACX,gGAAgG;IAChG,0CAAiB,CAAA;AACrB,CAAC,EAXW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAWhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/elasticsearch-plugin",
3
- "version": "1.3.3",
3
+ "version": "1.4.1",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -25,10 +25,10 @@
25
25
  "fast-deep-equal": "^3.1.3"
26
26
  },
27
27
  "devDependencies": {
28
- "@vendure/common": "^1.3.3",
29
- "@vendure/core": "^1.3.3",
28
+ "@vendure/common": "^1.4.1",
29
+ "@vendure/core": "^1.4.1",
30
30
  "rimraf": "^3.0.2",
31
31
  "typescript": "4.3.5"
32
32
  },
33
- "gitHead": "1c535cf95cd2e2bdf68d08fbabd4a7c834826788"
33
+ "gitHead": "d81a3ad010672e2177719a77d4310bf3cbc52c1b"
34
34
  }