contentful-migration 4.31.1 → 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.1](https://github.com/contentful/contentful-migration/compare/v4.31.0...v4.31.1) (2025-08-27)
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
4
  ### Bug Fixes
5
5
 
6
- * add resource editor types to builtin editor type definition ([0d5e085](https://github.com/contentful/contentful-migration/commit/0d5e085bfe8cad7d6e940cbe42c9824fa036c8e6))
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
@@ -607,6 +607,14 @@ export interface IDeriveLinkedEntriesConfig {
607
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'})
608
608
  */
609
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
610
618
  }
611
619
 
612
620
  type TagVisibility = 'private' | 'public'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contentful-migration",
3
- "version": "4.31.1",
3
+ "version": "4.31.2",
4
4
  "description": "Migration tooling for contentful",
5
5
  "author": "Contentful GmbH",
6
6
  "license": "MIT",