contentful-migration 4.31.0 → 4.31.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.
package/CHANGELOG.md CHANGED
@@ -1,9 +1,9 @@
1
- # [4.31.0](https://github.com/contentful/contentful-migration/compare/v4.30.0...v4.31.0) (2025-08-18)
1
+ ## [4.31.2](https://github.com/contentful/contentful-migration/compare/v4.31.1...v4.31.2) (2025-09-25)
2
2
 
3
3
 
4
- ### Features
4
+ ### Bug Fixes
5
5
 
6
- * allow specifying certain entryIds for transformation to transformEntriesToType ([#1538](https://github.com/contentful/contentful-migration/issues/1538)) ([cbde71f](https://github.com/contentful/contentful-migration/commit/cbde71fea0735c0c5d418c160c31148d8fffb566))
6
+ * **entry-derive:** check localeBasedPublishing and entry.fieldStatus before publishing. ([f8cd293](https://github.com/contentful/contentful-migration/commit/f8cd2939a70f614f5f7175e910127449e1ddc278))
7
7
 
8
8
  # Change Log
9
9
 
package/README.md CHANGED
@@ -351,6 +351,8 @@ The derive function is expected to return an object with the desired target fiel
351
351
 
352
352
  - **`shouldPublish : bool|'preserve'`** _(optional)_ – If true, both the source and the derived entries will be published. If false, both will remain in draft state. If preserve, will keep current states of the source entries (default `true`)
353
353
 
354
+ - **`useLocaleBasedPublishing : bool`** _(optional)_ - If true, the transformed entries will be published with locale based publishing. If `false`, they will remain in draft state. When the value from `shouldPublish` is set to "preserve" items will be published only if the original entry was published in this locale as well (default false)
355
+
354
356
  ##### `deriveLinkedEntries(config)` Example
355
357
 
356
358
  ```javascript
@@ -49,7 +49,13 @@ class EntryDeriveAction extends action_1.APIAction {
49
49
  }
50
50
  async publishEntry(api, entry, locales) {
51
51
  if (this.useLocaleBasedPublishing) {
52
- await api.localeBasedPublishEntry(entry.id, locales);
52
+ // Publish only locales that were already published if shouldPublish is 'preserve'
53
+ const localesToPublish = this.shouldPublish === 'preserve' && entry.fieldStatus
54
+ ? Object.entries(entry.fieldStatus['*'])
55
+ .filter(([, status]) => status === 'published')
56
+ .map(([locale]) => locale)
57
+ : locales;
58
+ await api.localeBasedPublishEntry(entry.id, localesToPublish);
53
59
  }
54
60
  else {
55
61
  await api.publishEntry(entry.id);
@@ -1 +1 @@
1
- {"version":3,"file":"entry-derive.js","sourceRoot":"","sources":["../../../src/lib/action/entry-derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-derive.js","sourceRoot":"","sources":["../../../src/lib/action/entry-derive.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -57,6 +57,8 @@ type BuiltinEditor =
57
57
  | 'dropdown'
58
58
  | 'radio'
59
59
  | 'richTextEditor'
60
+ | 'resourceLinkEditor'
61
+ | 'resourceLinksEditor'
60
62
 
61
63
  type FieldType =
62
64
  | 'Symbol'
@@ -605,6 +607,14 @@ export interface IDeriveLinkedEntriesConfig {
605
607
  * The return value must be an object with the same keys as specified in derivedFields. Their values will be written to the respective new entry fields for the current locale (i.e. {nameField: 'myNewValue'})
606
608
  */
607
609
  deriveEntryForLocale: (inputFields: ContentFields, locale: string) => { [field: string]: any }
610
+
611
+ /**
612
+ * (optional) – If true, the transformed entries will be published with locale based publishing.
613
+ * If `false`, they will remain in draft state. When the value from `shouldPublish` is set to
614
+ * "preserve" items will be published only if the original entry was published in this locale
615
+ * as well (default false)
616
+ */
617
+ useLocaleBasedPublishing?: boolean
608
618
  }
609
619
 
610
620
  type TagVisibility = 'private' | 'public'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contentful-migration",
3
- "version": "4.31.0",
3
+ "version": "4.31.2",
4
4
  "description": "Migration tooling for contentful",
5
5
  "author": "Contentful GmbH",
6
6
  "license": "MIT",