feed-common 0.0.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/.releaserc.json +33 -0
  2. package/CHANGELOG.md +23 -0
  3. package/dist/constants/google.constants.d.ts +11 -0
  4. package/dist/constants/google.constants.js.map +1 -1
  5. package/dist/constants/product.constants.d.ts +4 -0
  6. package/dist/constants/product.constants.js.map +1 -1
  7. package/dist/constants/profile.constants.d.ts +69 -0
  8. package/dist/constants/profile.constants.js.map +1 -1
  9. package/dist/index.d.ts +9 -0
  10. package/dist/index.js +10 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/types/company.types.d.ts +9 -0
  13. package/dist/types/company.types.js +2 -0
  14. package/dist/types/company.types.js.map +1 -0
  15. package/dist/types/product.types.d.ts +86 -0
  16. package/dist/types/product.types.js.map +1 -1
  17. package/dist/types/profile.types.d.ts +68 -0
  18. package/dist/types/profile.types.js.map +1 -1
  19. package/dist/utils/gmc.d.ts +16 -0
  20. package/dist/utils/gmc.js.map +1 -1
  21. package/dist/utils/profile.d.ts +28 -0
  22. package/dist/utils/profile.js.map +1 -1
  23. package/dist/utils/utils.d.ts +1 -0
  24. package/dist/utils/utils.js.map +1 -1
  25. package/package.json +4 -2
  26. package/scripts/install.sh +9 -0
  27. package/src/constants/google.constants.ts +12 -0
  28. package/src/constants/product.constants.ts +4 -0
  29. package/src/constants/profile.constants.ts +369 -0
  30. package/src/index.ts +11 -0
  31. package/src/types/company.types.ts +10 -0
  32. package/src/types/product.types.ts +97 -0
  33. package/src/types/profile.types.ts +73 -0
  34. package/src/utils/gmc.ts +69 -0
  35. package/src/utils/profile.ts +348 -0
  36. package/src/utils/utils.ts +3 -0
  37. package/.releaserc +0 -10
  38. package/dist/google.constants.js +0 -14
  39. package/dist/google.constants.js.map +0 -1
  40. package/dist/product.constants.js +0 -6
  41. package/dist/product.constants.js.map +0 -1
  42. package/dist/profile.constants.js +0 -356
  43. package/dist/profile.constants.js.map +0 -1
@@ -1,356 +0,0 @@
1
- export const SOURCE_VENDORS = "source.vendor";
2
- export const SOURCE_TAGS = "source.tag";
3
- export const SOURCE_PORODUCT_TYPE = "source.product_type";
4
- export const SOURCE_COLLECTIONS = "source.collection";
5
- export const SOURCE_LANGUAGE = "source.language";
6
- export const SOURCE_GOOGLE_CATEGORY = "source.google_category";
7
- export const SOURCE_COUNTRY = "source.country";
8
- export const SOURCE_SHOPIFY_VENDORS = "shopify.vendor";
9
- export const SOURCE_SHOPIFY_BARCODE = "shopify.barcode";
10
- export const SOURCE_SHOPIFY_SKU = "shopify.sku";
11
- export const SOURCE_CUSTOM = "custom_input";
12
- export const RuleOperators = {
13
- contains: {
14
- label: "Contains",
15
- value: "contains",
16
- },
17
- notContains: {
18
- label: "Not Contains",
19
- value: "notContains",
20
- },
21
- equals: {
22
- label: "Equals",
23
- value: "equals",
24
- },
25
- notEquals: {
26
- label: "Not Equals",
27
- value: "notEquals",
28
- },
29
- startsWith: {
30
- label: "Starts With",
31
- value: "startsWith",
32
- },
33
- notStartsWith: {
34
- label: "Not Starts With",
35
- value: "notStartsWith",
36
- },
37
- endsWith: {
38
- label: "Ends With",
39
- value: "endsWith",
40
- },
41
- notEndsWith: {
42
- label: "Not Ends With",
43
- value: "notEndsWith",
44
- },
45
- in: {
46
- label: "In",
47
- value: "in",
48
- },
49
- notIn: {
50
- label: "Not In",
51
- value: "notIn",
52
- },
53
- };
54
- export const PruoductUploadRulesOperators = {
55
- string: [
56
- RuleOperators.contains,
57
- RuleOperators.notContains,
58
- RuleOperators.equals,
59
- RuleOperators.notEquals,
60
- RuleOperators.startsWith,
61
- RuleOperators.endsWith,
62
- RuleOperators.notStartsWith,
63
- RuleOperators.notEndsWith,
64
- ],
65
- list: [RuleOperators.in, RuleOperators.notIn],
66
- };
67
- export const ProductUploadRuleFilters = [
68
- {
69
- label: "Title",
70
- operators: PruoductUploadRulesOperators.string,
71
- value: "title",
72
- },
73
- {
74
- label: "Collection",
75
- operators: PruoductUploadRulesOperators.list,
76
- value: "collection",
77
- },
78
- {
79
- label: "Product Type",
80
- operators: PruoductUploadRulesOperators.list,
81
- value: "product_type",
82
- },
83
- {
84
- label: "Vendor",
85
- operators: PruoductUploadRulesOperators.list,
86
- value: "vendor",
87
- },
88
- {
89
- label: "Tag",
90
- operators: PruoductUploadRulesOperators.list,
91
- value: "tag",
92
- },
93
- ];
94
- const ShopifyProductSource = {
95
- vendor: { label: "Shopify Product Vendor", value: SOURCE_SHOPIFY_VENDORS },
96
- barcode: { label: "Shopify Product Barcode", value: SOURCE_SHOPIFY_BARCODE },
97
- sku: { label: "Shopify Product SKU", value: SOURCE_SHOPIFY_SKU },
98
- custom: { label: "Custom input", value: SOURCE_CUSTOM },
99
- };
100
- export const ProductUploadMappings = [
101
- {
102
- required: true,
103
- label: "Content Language",
104
- attribute: "contentLanguage",
105
- type: "select",
106
- choises: [SOURCE_LANGUAGE],
107
- rules: ["title", "collection", "product_type", "vendor", "tag"],
108
- description: "Language for the item",
109
- },
110
- {
111
- required: true,
112
- label: "Target Country",
113
- attribute: "targetCountry",
114
- type: "select",
115
- choises: [SOURCE_COUNTRY],
116
- rules: ["title", "collection", "product_type", "vendor", "tag"],
117
- description: "The item's country of sale",
118
- },
119
- {
120
- required: false,
121
- label: "Adult",
122
- attribute: "adult",
123
- type: "select",
124
- choises: [
125
- { label: "Yes", value: true },
126
- { label: "No", value: false },
127
- ],
128
- rules: ["title", "collection", "product_type", "vendor", "tag"],
129
- description: 'Should be set to "Yes" if the item is targeted towards adults',
130
- },
131
- {
132
- required: false,
133
- label: "Age Group",
134
- attribute: "ageGroup",
135
- type: "select",
136
- choises: [
137
- { label: "0-3 months old", value: "newborn" },
138
- { label: "3-12 months old", value: "infant" },
139
- { label: "1-5 years old", value: "toddler" },
140
- { label: "5-13 years old", value: "kids" },
141
- { label: "13 years old or more", value: "adult" },
142
- ],
143
- rules: ["title", "collection", "product_type", "vendor", "tag"],
144
- description: "Target age group of the item",
145
- },
146
- {
147
- required: false,
148
- label: "Availability",
149
- attribute: "availability",
150
- type: "select",
151
- choises: [
152
- { label: "In Stock", value: "in_stock" },
153
- { label: "Out Of Stock", value: "out_of_stock" },
154
- { label: "Preorder", value: "preorder" },
155
- { label: "Backorder", value: "backorder" },
156
- ],
157
- rules: ["title", "collection", "product_type", "vendor", "tag"],
158
- description: "Availability status of the item",
159
- },
160
- {
161
- required: false,
162
- label: "Brand",
163
- attribute: "brand",
164
- type: "select",
165
- defaultValue: "shopify.vendor",
166
- rules: ["title", "collection", "product_type", "vendor", "tag"],
167
- description: "Brand of the item",
168
- choises: [
169
- ShopifyProductSource.vendor,
170
- SOURCE_VENDORS,
171
- ShopifyProductSource.custom,
172
- ],
173
- },
174
- {
175
- required: false,
176
- label: "Gender",
177
- attribute: "gender",
178
- type: "select",
179
- choises: [
180
- { label: "Male", value: "male" },
181
- { label: "Female", value: "female" },
182
- { label: "Unisex", value: "unisex" },
183
- ],
184
- rules: ["title", "collection", "product_type", "vendor", "tag"],
185
- description: "Target gender of the item",
186
- },
187
- {
188
- required: false,
189
- label: "Google category",
190
- attribute: "googleProductCategory",
191
- type: "select",
192
- choises: [SOURCE_GOOGLE_CATEGORY],
193
- rules: ["title", "collection", "product_type", "vendor", "tag"],
194
- description: "Google's category of the item",
195
- },
196
- {
197
- required: false,
198
- label: "GTIN",
199
- attribute: "gtin",
200
- type: "select",
201
- defaultValue: "shopify.vendor",
202
- rules: ["title", "collection", "product_type", "vendor", "tag"],
203
- description: "Global Trade Item Number (GTIN) of the item",
204
- choises: [
205
- ShopifyProductSource.barcode,
206
- ShopifyProductSource.sku,
207
- { label: "Custom input", value: SOURCE_CUSTOM },
208
- ],
209
- },
210
- {
211
- required: false,
212
- label: "MPN",
213
- attribute: "mpn",
214
- type: "select",
215
- defaultValue: "shopify.vendor",
216
- rules: ["title", "collection", "product_type", "vendor", "tag"],
217
- description: "Manufacturer Part Number (MPN) of the item",
218
- choises: [
219
- ShopifyProductSource.barcode,
220
- ShopifyProductSource.sku,
221
- { label: "Custom input", value: SOURCE_CUSTOM },
222
- ],
223
- },
224
- {
225
- required: false,
226
- label: "Included Destinations",
227
- attribute: "includedDestinations",
228
- type: "multiselect",
229
- choises: [
230
- { label: "Shopping ads", value: "Shopping_ads" },
231
- { label: "Dynamic remarketing ads", value: "Display_ads" },
232
- { label: "Free listings", value: "Free_listings" },
233
- ],
234
- rules: ["title", "collection", "product_type", "vendor", "tag"],
235
- description: "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center)",
236
- },
237
- {
238
- required: false,
239
- label: "Shipping label",
240
- attribute: "shippingLabel",
241
- type: "text",
242
- rules: ["title", "collection", "product_type", "vendor", "tag"],
243
- description: "The shipping label of the product, used to group product in account-level shipping rules",
244
- },
245
- // /**
246
- // * The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
247
- // */
248
- // availabilityDate?: string | null;
249
- // /**
250
- // * Color of the item.
251
- // */
252
- // color?: string | null;
253
- // /**
254
- // * Condition or state of the item.
255
- // */
256
- // condition?: string | null;
257
- // /**
258
- // * Custom label 0 for custom grouping of items in a Shopping campaign.
259
- // */
260
- // customLabel0?: string | null;
261
- // /**
262
- // * Custom label 1 for custom grouping of items in a Shopping campaign.
263
- // */
264
- // customLabel1?: string | null;
265
- // /**
266
- // * Custom label 2 for custom grouping of items in a Shopping campaign.
267
- // */
268
- // customLabel2?: string | null;
269
- // /**
270
- // * Custom label 3 for custom grouping of items in a Shopping campaign.
271
- // */
272
- // customLabel3?: string | null;
273
- // /**
274
- // * Custom label 4 for custom grouping of items in a Shopping campaign.
275
- // */
276
- // customLabel4?: string | null;
277
- // /**
278
- // * The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information.
279
- // */
280
- // disclosureDate?: string | null;
281
- // /**
282
- // * Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` and might be earlier if `expirationDate` is too far in the future.
283
- // */
284
- // expirationDate?: string | null;
285
- // /**
286
- // * The material of which the item is made.
287
- // */
288
- // material?: string | null;
289
- // /**
290
- // * Maximal product handling time (in business days).
291
- // */
292
- // maxHandlingTime?: string | null;
293
- // /**
294
- // * Minimal product handling time (in business days).
295
- // */
296
- // minHandlingTime?: string | null;
297
- // /**
298
- // * The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
299
- // */
300
- // pickupMethod?: string | null;
301
- // /**
302
- // * Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
303
- // */
304
- // pickupSla?: string | null;
305
- // /**
306
- // * The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
307
- // */
308
- // productHeight?: Schema$ProductDimension;
309
- // /**
310
- // * The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
311
- // */
312
- // productLength?: Schema$ProductDimension;
313
- // /**
314
- // * The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
315
- // */
316
- // productWidth?: Schema$ProductDimension;
317
- // /**
318
- // * Shipping rules.
319
- // */
320
- // shipping?: Schema$ProductShipping[];
321
- // /**
322
- // * Height of the item for shipping.
323
- // */
324
- // shippingHeight?: Schema$ProductShippingDimension;
325
- // /**
326
- // * Length of the item for shipping.
327
- // */
328
- // shippingLength?: Schema$ProductShippingDimension;
329
- // /**
330
- // * Weight of the item for shipping.
331
- // */
332
- // shippingWeight?: Schema$ProductShippingWeight;
333
- // /**
334
- // * Width of the item for shipping.
335
- // */
336
- // shippingWidth?: Schema$ProductShippingDimension;
337
- // /**
338
- // * List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
339
- // */
340
- // shoppingAdsExcludedCountries?: string[] | null;
341
- // /**
342
- // * Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value (see size definition).
343
- // */
344
- // sizes?: string[] | null;
345
- // /**
346
- // * System in which the size is specified. Recommended for apparel items.
347
- // */
348
- // sizeSystem?: string | null;
349
- // /**
350
- // * The cut of the item. Recommended for apparel items.
351
- // */
352
- // sizeType?: string | null;
353
- ];
354
- export const CHANNEL = "online";
355
- export const GMC_PRODUCT_ID_TEMPLATE = "{PRODUCT_ID}_{VARIANT_ID}";
356
- //# sourceMappingURL=profile.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profile.constants.js","sourceRoot":"","sources":["../src/common/constants/profile.constants.ts"],"names":[],"mappings":"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"}