Skip to content

Commit cfc47de

Browse files
Merge pull request #2221 from contentstack/staging
DX | 10-11-2025 | Release
2 parents 4ec97f5 + d10ca17 commit cfc47de

File tree

117 files changed

+29933
-2904
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+29933
-2904
lines changed

.github/workflows/unit-test.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
- name: Install dependencies for all plugins
2020
run: |
21-
npm run setup-repo-old
21+
NODE_ENV=PREPACK_MODE npm run setup-repo-old
2222
2323
- name: Run tests for Contentstack Command
2424
working-directory: ./packages/contentstack-command
@@ -27,6 +27,10 @@ jobs:
2727
- name: Run tests for Contentstack Import Plugin
2828
working-directory: ./packages/contentstack-import
2929
run: npm run test:unit
30+
31+
- name: Run tests for Contentstack Export Plugin
32+
working-directory: ./packages/contentstack-export
33+
run: npm run test:unit
3034

3135
- name: Run tests for Audit plugin
3236
working-directory: ./packages/contentstack-audit

.talismanrc

Lines changed: 205 additions & 125 deletions
Large diffs are not rendered by default.

package-lock.json

Lines changed: 1150 additions & 1203 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/contentstack-audit/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@contentstack/cli-audit",
3-
"version": "1.15.0",
3+
"version": "1.16.0",
44
"description": "Contentstack audit plugin",
55
"author": "Contentstack CLI",
66
"homepage": "https://github.com/contentstack/cli",

packages/contentstack-audit/src/modules/entries.ts

Lines changed: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -529,11 +529,24 @@ export default class Entries {
529529
break;
530530
case 'global_field':
531531
log.debug(`Validating global field: ${display_name}`, this.config.auditContext);
532-
this.validateGlobalField(
533-
[...tree, { uid: child.uid, name: child.display_name, field: uid }],
534-
child as GlobalFieldDataType,
535-
entry[uid] as EntryGlobalFieldDataType,
536-
);
532+
if (child.multiple && Array.isArray(entry[uid])) {
533+
log.debug(`Processing ${entry[uid].length} multiple global field entries`, this.config.auditContext);
534+
entry[uid].forEach((globalFieldEntry, index) => {
535+
log.debug(`Processing global field entry ${index}`, this.config.auditContext);
536+
this.validateGlobalField(
537+
[...tree, { uid: child.uid, name: child.display_name, field: uid }],
538+
child as GlobalFieldDataType,
539+
globalFieldEntry as EntryGlobalFieldDataType,
540+
);
541+
});
542+
} else {
543+
log.debug(`Processing single global field entry`, this.config.auditContext);
544+
this.validateGlobalField(
545+
[...tree, { uid: child.uid, name: child.display_name, field: uid }],
546+
child as GlobalFieldDataType,
547+
entry[uid] as EntryGlobalFieldDataType,
548+
);
549+
}
537550
break;
538551
case 'json':
539552
if ('extension' in child.field_metadata && child.field_metadata.extension) {
@@ -995,11 +1008,24 @@ export default class Entries {
9951008
switch (data_type) {
9961009
case 'global_field':
9971010
log.debug(`Fixing global field: ${uid}`);
998-
entry[uid] = this.fixGlobalFieldReferences(
999-
[...tree, { uid: field.uid, name: field.display_name, data_type: field.data_type }],
1000-
field as GlobalFieldDataType,
1001-
entry[uid] as EntryGlobalFieldDataType,
1002-
) as EntryGlobalFieldDataType;
1011+
if (field.multiple && Array.isArray(entry[uid])) {
1012+
log.debug(`Fixing ${entry[uid].length} multiple global field entries`, this.config.auditContext);
1013+
entry[uid] = entry[uid].map((globalFieldEntry, index) => {
1014+
log.debug(`Fixing global field entry ${index}`, this.config.auditContext);
1015+
return this.fixGlobalFieldReferences(
1016+
[...tree, { uid: field.uid, name: field.display_name, data_type: field.data_type }],
1017+
field as GlobalFieldDataType,
1018+
globalFieldEntry as EntryGlobalFieldDataType,
1019+
) as EntryGlobalFieldDataType;
1020+
});
1021+
} else {
1022+
log.debug(`Fixing single global field entry`, this.config.auditContext);
1023+
entry[uid] = this.fixGlobalFieldReferences(
1024+
[...tree, { uid: field.uid, name: field.display_name, data_type: field.data_type }],
1025+
field as GlobalFieldDataType,
1026+
entry[uid] as EntryGlobalFieldDataType,
1027+
) as EntryGlobalFieldDataType;
1028+
}
10031029
break;
10041030
case 'json':
10051031
case 'reference':

0 commit comments

Comments
 (0)