sfdx-hardis 6.8.0 → 6.9.0

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
@@ -4,6 +4,16 @@
4
4
 
5
5
  Note: Can be used with `sfdx plugins:install sfdx-hardis@beta` and docker image `hardisgroupcom/sfdx-hardis@beta`
6
6
 
7
+ ## [6.9.0] 2025-10-23
8
+
9
+ - Bring back Microsoft Teams notifications [using Teams Workflow](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-setup-integration-ms-teams/)
10
+ - Update servicenow-report to add validity rows management
11
+
12
+ ## [6.8.1] 2025-10-22
13
+
14
+ - Update Metadata List to use v65 one
15
+ - Update servicenow-report command to handle more use cases
16
+
7
17
  ## [6.8.0] 2025-10-19
8
18
 
9
19
  - Ticketing providers: Add more variables that can be defined in .sfdx-hardis.yml
@@ -41,12 +51,14 @@ Note: Can be used with `sfdx plugins:install sfdx-hardis@beta` and docker image
41
51
  - New command: [hardis:project:metadata:activate-decomposed](https://sfdx-hardis.cloudity.com/hardis/project/metadata/activate-decomposed/): Activate decomposed metadata types in `sfdx-project.json` and convert existing sources.
42
52
 
43
53
  - Improvements & Fixes
54
+
44
55
  - Cast descriptions to string before formatting to avoid rendering issues.
45
56
  - Avoid unnecessary file writes during builds to improve performance and CI speed.
46
57
  - Update JSON Schema to reflect new features and validation rules.
47
58
  - Add support for **Vector** (vector.dev) to enable ingestion by DataDog and other observability platforms.
48
59
 
49
60
  - Integrations
61
+
50
62
  - BitBucket: show a clear message when the Pull Requests app must be installed.
51
63
  - Azure Comment Reporter: create a Work Item and attach images when an item approaches the attachments limit.
52
64
 
@@ -37,7 +37,7 @@ The command's technical flow involves:
37
37
  `;
38
38
  static examples = [
39
39
  '$ sf hardis:auth:login',
40
- 'CI=true sf hardis:auth:login'
40
+ 'CI=true CI_COMMIT_REF_NAME=monitoring_myclient sf hardis:auth:login'
41
41
  ];
42
42
  // public static args = [{name: 'file'}];
43
43
  static flags = {
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/commands/hardis/auth/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/commands/hardis/auth/login.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
+ import { Connection } from '@salesforce/core';
2
3
  import { AnyJson } from '@salesforce/ts-types';
3
4
  export default class ServiceNowReport extends SfCommand<any> {
4
5
  static title: string;
@@ -13,12 +14,15 @@ export default class ServiceNowReport extends SfCommand<any> {
13
14
  protected outputFilesRes: any;
14
15
  protected userStories: any[];
15
16
  protected results: any[];
17
+ protected invalidResults: any[];
18
+ protected conn: Connection;
16
19
  protected userStoriesConfig: any;
17
20
  protected serviceNowConfig: any;
18
21
  run(): Promise<AnyJson>;
19
- private getServiceNowConfig;
20
22
  private fetchUserStories;
23
+ private completeUserStoriesWithServiceNowInfo;
24
+ private handleResults;
25
+ private getServiceNowConfig;
21
26
  private initializeConfiguration;
22
27
  private buildServiceNowAuthHeaders;
23
- private buildCsvFile;
24
28
  }
@@ -5,11 +5,14 @@ import { generateCsvFile, generateReportPath } from '../../../common/utils/files
5
5
  import { soqlQuery } from '../../../common/utils/apiUtils.js';
6
6
  import axios from 'axios';
7
7
  import c from 'chalk';
8
- import { uxLog } from '../../../common/utils/index.js';
8
+ import { uxLog, uxLogTable } from '../../../common/utils/index.js';
9
9
  import { glob } from 'glob';
10
10
  import { GLOB_IGNORE_PATTERNS } from '../../../common/utils/projectUtils.js';
11
11
  import { prompts } from '../../../common/utils/prompts.js';
12
12
  import fs from 'fs-extra';
13
+ import { getNotificationButtons, getOrgMarkdown } from '../../../common/utils/notifUtils.js';
14
+ import { NotifProvider } from '../../../common/notifProvider/index.js';
15
+ import { setConnectionVariables } from '../../../common/utils/orgUtils.js';
13
16
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
14
17
  const messages = Messages.loadMessages('sfdx-hardis', 'org');
15
18
  /* jscpd:ignore-end */
@@ -64,14 +67,17 @@ Example:
64
67
  },
65
68
  "serviceNowConfig": {
66
69
  "tables": [
67
- { "tableName": "demand" },
70
+ { "tableName": "dmn_demand" },
68
71
  { "tableName": "incident" }
69
72
  ]
70
73
  }
71
74
  }
72
75
  \`\`\`
73
76
  `;
74
- static examples = ['$ sf hardis:misc:servicenow-report'];
77
+ static examples = [
78
+ '$ sf hardis:misc:servicenow-report',
79
+ '$ sf hardis:misc:servicenow-report --config config/user-stories/my-config.json --where-choice "UAT all"'
80
+ ];
75
81
  /* jscpd:ignore-start */
76
82
  static flags = {
77
83
  config: Flags.string({
@@ -109,6 +115,8 @@ Example:
109
115
  outputFilesRes = {};
110
116
  userStories = [];
111
117
  results = [];
118
+ invalidResults = [];
119
+ conn;
112
120
  userStoriesConfig = {
113
121
  fields: [
114
122
  'Id',
@@ -154,18 +162,80 @@ Example:
154
162
  this.whereChoice = flags['where-choice'];
155
163
  this.outputFile = flags.outputfile || null;
156
164
  await this.initializeConfiguration();
157
- const conn = flags['target-org']?.getConnection();
165
+ this.conn = flags['target-org']?.getConnection();
158
166
  // List user stories matching with criteria
159
- const ticketNumbers = await this.fetchUserStories(conn);
167
+ const ticketNumbers = await this.fetchUserStories(this.conn);
160
168
  // Get matching demands and incidents from ServiceNow API with axios using ticket numbers
169
+ await this.completeUserStoriesWithServiceNowInfo(ticketNumbers);
170
+ // Build final result
171
+ await this.handleResults();
172
+ return { results: this.results, outputFilesRes: this.outputFilesRes };
173
+ }
174
+ async fetchUserStories(conn) {
175
+ if (this.userStoriesConfig.whereChoices) {
176
+ // If whereChoices is defined, use the provided whereChoice flag or prompt user to select one
177
+ if (this.whereChoice) {
178
+ // If whereChoice is provided, use it directly
179
+ this.userStoriesConfig.where = this.userStoriesConfig.whereChoices[this.whereChoice];
180
+ }
181
+ else {
182
+ // If whereChoice is not provided, prompt user to select one
183
+ uxLog("warning", this, c.yellow('No WHERE choice provided. Please select one from the available choices.'));
184
+ // If whereChoices is defined, prompt user to select one
185
+ const whereChoices = Object.keys(this.userStoriesConfig.whereChoices).map((key) => ({
186
+ title: key,
187
+ description: this.userStoriesConfig.whereChoices[key],
188
+ value: key,
189
+ }));
190
+ const whereChoiceRes = await prompts({
191
+ type: 'select',
192
+ message: 'Select a WHERE condition for user stories:',
193
+ description: 'Choose a predefined WHERE condition to filter user stories',
194
+ placeholder: 'Select a condition',
195
+ choices: whereChoices,
196
+ });
197
+ this.whereChoice = whereChoiceRes.value;
198
+ this.userStoriesConfig.where = this.userStoriesConfig.whereChoices[this.whereChoice || ''];
199
+ }
200
+ }
201
+ uxLog("action", this, c.cyan(`Fetching user stories from Salesforce...`));
202
+ const userStoriesQuery = `SELECT ${this.userStoriesConfig.fields.join(', ')} FROM ${this.userStoriesConfig.table} WHERE ${this.userStoriesConfig.where} ORDER BY ${this.userStoriesConfig.orderBy}`;
203
+ const userStoriesRes = await soqlQuery(userStoriesQuery, conn);
204
+ this.userStories = userStoriesRes.records;
205
+ const initialUserStoriesCount = this.userStories.length;
206
+ // Duplicate user stories entries if there are multiple ticket numbers separated by ; or , in the ticket field
207
+ this.userStories = this.userStories.flatMap((us) => {
208
+ const ticketFieldValue = us?.[this.userStoriesConfig.ticketField];
209
+ if (ticketFieldValue && (ticketFieldValue.includes(';') || ticketFieldValue.includes(','))) {
210
+ const ticketNumbers = ticketFieldValue.split(/[,;]\s*/).filter((tn) => tn);
211
+ return ticketNumbers.map((tn) => ({ ...us, [this.userStoriesConfig.ticketField]: tn }));
212
+ }
213
+ return us;
214
+ });
215
+ const finalUserStoriesCount = this.userStories.length;
216
+ // Get list of tickets from user stories
217
+ const ticketNumbers = userStoriesRes.records.map((record) => record?.[this.userStoriesConfig.ticketField]);
218
+ // Remove null/undefined and duplicates
219
+ const ticketNumbersUnique = [...new Set(ticketNumbers.filter((tn) => tn))];
220
+ let message = `${initialUserStoriesCount} user stories fetched from Salesforce, with ${ticketNumbersUnique.length} unique ticket numbers.`;
221
+ if (finalUserStoriesCount > initialUserStoriesCount) {
222
+ message += ` After splitting multiple ticket numbers, there are ${finalUserStoriesCount} user story entries to process.`;
223
+ }
224
+ uxLog("action", this, c.cyan(message));
225
+ uxLog("log", this, c.grey(`Ticket Numbers:\n${ticketNumbersUnique.map((tn) => `- ${tn}`).join('\n')}`));
226
+ return ticketNumbersUnique;
227
+ }
228
+ async completeUserStoriesWithServiceNowInfo(ticketNumbers) {
161
229
  const { serviceNowUrl, serviceNowApiOptions } = this.getServiceNowConfig();
162
230
  // Check each service now table to get the tickets infos
231
+ uxLog("action", this, c.cyan(`Fetching matching tickets from ServiceNow...`));
163
232
  for (const table of this.serviceNowConfig.tables) {
164
233
  const serviceNowApiResource = `/api/now/table/${table.tableName}`;
165
- const serviceNowApiQuery = `?sysparm_query=numberIN${ticketNumbers.join(',')}&sysparm_display_value=true`;
234
+ const serviceNowApiQuery = `?sysparm_query=numberIN${ticketNumbers.join(',')}&sysparm_display_value=true` +
235
+ (table.urlSuffix ? table.urlSuffix : '');
166
236
  const serviceNowApiUrlWithQuery = `${serviceNowUrl}${serviceNowApiResource}${serviceNowApiQuery}`;
167
237
  // Make API call to ServiceNow
168
- uxLog("other", this, `Fetching ServiceNow using query: ${serviceNowApiUrlWithQuery}`);
238
+ uxLog("log", this, `Fetching ServiceNow ${table.tableName} table using query: ${serviceNowApiUrlWithQuery}`);
169
239
  let serviceNowApiRes;
170
240
  try {
171
241
  serviceNowApiRes = await axios.get(serviceNowApiUrlWithQuery, serviceNowApiOptions);
@@ -175,8 +245,34 @@ Example:
175
245
  continue;
176
246
  }
177
247
  // Complete user stories with ServiceNow data
178
- const serviceNowRecords = serviceNowApiRes.data.result;
179
- uxLog("other", this, `ServiceNow API call succeeded: ${serviceNowRecords.length} records found.`);
248
+ const serviceNowRecords = serviceNowApiRes?.data?.result;
249
+ if (!serviceNowRecords || serviceNowRecords.length === 0) {
250
+ uxLog("warning", this, c.yellow(`No ${table.tableName} records found in ServiceNow response.`));
251
+ continue;
252
+ }
253
+ uxLog("success", this, `ServiceNow API call succeeded: ${serviceNowRecords.length} records of table ${table.tableName} have been found`);
254
+ // If subRecordFields is defined in config, fetch each sub-record using its URL
255
+ if (table.subRecordFields) {
256
+ for (const subRecordField of table.subRecordFields) {
257
+ for (const record of serviceNowRecords) {
258
+ if (record?.[subRecordField]?.link && typeof record[subRecordField].link === 'string') {
259
+ try {
260
+ const serviceNowSubRecordQuery = await axios.get(record[subRecordField].link, serviceNowApiOptions);
261
+ record[subRecordField] = Object.assign(record[subRecordField], serviceNowSubRecordQuery?.data?.result || {});
262
+ uxLog("success", this, `ServiceNow sub-record API call succeeded for record ${record.number} field ${subRecordField}`);
263
+ }
264
+ catch (error) {
265
+ uxLog("error", this, c.red(`ServiceNow sub-record API call failed: ${error.message}\n${JSON.stringify(error?.response?.data || {})}`));
266
+ }
267
+ }
268
+ else {
269
+ uxLog("warning", this, c.yellow(`No link found for sub-record field ${subRecordField} in record ${record.number}. Skipping sub-record fetch.`));
270
+ }
271
+ }
272
+ }
273
+ }
274
+ // Match ServiceNow records to user stories based on ticket number
275
+ uxLog("action", this, c.cyan(`Matching ServiceNow records with user stories...`));
180
276
  for (const userStory of this.userStories) {
181
277
  const ticketNumber = userStory?.[this.userStoriesConfig.ticketField];
182
278
  const serviceNowRecord = serviceNowRecords.find((record) => record.number === ticketNumber);
@@ -186,11 +282,14 @@ Example:
186
282
  }
187
283
  }
188
284
  }
189
- // Build final result
285
+ }
286
+ async handleResults() {
287
+ uxLog("action", this, c.cyan(`Building final results...`));
190
288
  this.results = this.userStories.map((userStory) => {
191
289
  const serviceNowInfo = userStory.serviceNowInfo || {};
192
290
  // Build result object dynamically based on config
193
- const result = {};
291
+ let result = {};
292
+ const invalidFields = [];
194
293
  for (const field of this.userStoriesConfig.reportFields) {
195
294
  if (field.special === "serviceNowTicketUrl") {
196
295
  if (!serviceNowInfo.sys_id) {
@@ -205,13 +304,71 @@ Example:
205
304
  const value = field.path.split('.').reduce((obj, prop) => obj && obj[prop], { ...userStory, serviceNowInfo });
206
305
  result[field.key] = value !== undefined && value !== null ? value : (field.default ?? 'NOT FOUND');
207
306
  }
307
+ // Check field validity
308
+ let isValueValid = true;
309
+ // Use a safe hasOwnProperty check to avoid calling Object.prototype methods on the target object.
310
+ if (Object.prototype.hasOwnProperty.call(field, 'valid')) {
311
+ const fieldValue = result[field.key];
312
+ if (field.valid === "NOT NULL") {
313
+ isValueValid = fieldValue !== null && fieldValue !== 'NOT FOUND';
314
+ }
315
+ else {
316
+ isValueValid = fieldValue === field.valid;
317
+ }
318
+ }
319
+ // If any field is invalid for this result, mark the result as invalid
320
+ if (!isValueValid) {
321
+ invalidFields.push(field.key);
322
+ }
208
323
  }
324
+ const isValid = invalidFields.length === 0 ? true : false;
325
+ const invalidFieldsStr = invalidFields.join(", ");
326
+ result = Object.assign({ "Is Valid": isValid, "Invalid Fields": invalidFieldsStr }, result);
209
327
  return result;
210
328
  });
211
- uxLog("log", this, c.grey(JSON.stringify(this.results, null, 2)));
212
- // Generate CSV file
213
- await this.buildCsvFile();
214
- return { results: this.results, outputFilesRes: this.outputFilesRes };
329
+ uxLog("action", this, c.cyan(`Final results built with ${this.results.length} records.`));
330
+ uxLogTable(this, this.results);
331
+ // Check results validity
332
+ this.invalidResults = this.results.filter((res) => {
333
+ return res["Is Valid"] === false;
334
+ });
335
+ uxLog("action", this, c.cyan(`${this.invalidResults.length} invalid results found.`));
336
+ if (this.invalidResults.length > 0) {
337
+ uxLog("warning", this, c.yellow(`Listing invalid results below.`));
338
+ uxLogTable(this, this.invalidResults);
339
+ process.exitCode = 1;
340
+ }
341
+ // Process result
342
+ if (this.results.length > 0) {
343
+ // Generate output CSV file
344
+ this.outputFile = await generateReportPath('service-now-report', this.outputFile);
345
+ this.outputFilesRes = await generateCsvFile(this.results, this.outputFile, { fileTitle: 'ServiceNow cross-report' });
346
+ if (this.invalidResults.length > 0) {
347
+ const invalidOutputFile = this.outputFile.replace('.csv', '-invalid.csv');
348
+ await generateCsvFile(this.invalidResults, invalidOutputFile, { fileTitle: 'ServiceNow cross-report - Invalid Entries' });
349
+ }
350
+ // Build notification
351
+ const orgMarkdown = await getOrgMarkdown(this.conn?.instanceUrl);
352
+ const notifButtons = await getNotificationButtons();
353
+ const notifSeverity = 'warning';
354
+ let notifText = `${this.results.length} ServiceNow report lines have been extracted from ${orgMarkdown}`;
355
+ if (this.invalidResults.length > 0) {
356
+ notifText += `, including ${this.invalidResults.length} invalid entries`;
357
+ }
358
+ // Post notif
359
+ await setConnectionVariables(this.conn); // Required for some notifications providers like Email
360
+ await NotifProvider.postNotifications({
361
+ type: 'SERVICENOW_REPORT',
362
+ text: notifText,
363
+ attachments: [],
364
+ buttons: notifButtons,
365
+ severity: notifSeverity,
366
+ attachedFiles: this.outputFilesRes.xlsxFile ? [this.outputFilesRes.xlsxFile] : [],
367
+ logElements: this.results,
368
+ data: { metric: this.results.length },
369
+ metrics: {}
370
+ });
371
+ }
215
372
  }
216
373
  getServiceNowConfig() {
217
374
  const serviceNowUrl = process.env.SERVICENOW_URL;
@@ -227,40 +384,6 @@ Example:
227
384
  const serviceNowApiOptions = this.buildServiceNowAuthHeaders(serviceNowApiHeaders, serviceNowApiUser, serviceNowApiPassword);
228
385
  return { serviceNowUrl, serviceNowApiOptions };
229
386
  }
230
- async fetchUserStories(conn) {
231
- if (this.userStoriesConfig.whereChoices) {
232
- // If whereChoices is defined, use the provided whereChoice flag or prompt user to select one
233
- if (this.whereChoice) {
234
- // If whereChoice is provided, use it directly
235
- this.userStoriesConfig.where = this.userStoriesConfig.whereChoices[this.whereChoice];
236
- }
237
- else {
238
- // If whereChoice is not provided, prompt user to select one
239
- uxLog("warning", this, c.yellow('No WHERE choice provided. Please select one from the available choices.'));
240
- // If whereChoices is defined, prompt user to select one
241
- const whereChoices = Object.keys(this.userStoriesConfig.whereChoices).map((key) => ({
242
- title: key,
243
- description: this.userStoriesConfig.whereChoices[key],
244
- value: key,
245
- }));
246
- const whereChoiceRes = await prompts({
247
- type: 'select',
248
- message: 'Select a WHERE condition for user stories:',
249
- description: 'Choose a predefined WHERE condition to filter user stories',
250
- placeholder: 'Select a condition',
251
- choices: whereChoices,
252
- });
253
- this.whereChoice = whereChoiceRes.value;
254
- this.userStoriesConfig.where = this.userStoriesConfig.whereChoices[this.whereChoice || ''];
255
- }
256
- }
257
- const userStoriesQuery = `SELECT ${this.userStoriesConfig.fields.join(', ')} FROM ${this.userStoriesConfig.table} WHERE ${this.userStoriesConfig.where} ORDER BY ${this.userStoriesConfig.orderBy}`;
258
- const userStoriesRes = await soqlQuery(userStoriesQuery, conn);
259
- this.userStories = userStoriesRes.records;
260
- // Get list of tickets from user stories
261
- const ticketNumbers = userStoriesRes.records.map((record) => record?.[this.userStoriesConfig.ticketField]);
262
- return ticketNumbers;
263
- }
264
387
  async initializeConfiguration() {
265
388
  if (!this.configFile) {
266
389
  // If no config file is provided, prompt users to select a JSON file in all files found in folder config/user-stories/
@@ -309,9 +432,5 @@ Example:
309
432
  },
310
433
  };
311
434
  }
312
- async buildCsvFile() {
313
- this.outputFile = await generateReportPath('user-story-report' + (this.whereChoice ? `-${this.whereChoice}` : ''), this.outputFile, { withDate: true });
314
- this.outputFilesRes = await generateCsvFile(this.results, this.outputFile, { fileTitle: 'User Stories Report' });
315
- }
316
435
  }
317
436
  //# sourceMappingURL=servicenow-report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"servicenow-report.js","sourceRoot":"","sources":["../../../../src/commands/hardis/misc/servicenow-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"servicenow-report.js","sourceRoot":"","sources":["../../../../src/commands/hardis/misc/servicenow-report.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ export declare function listMetadataTypes(): ({
5
5
  suffix: string;
6
6
  xmlName: string;
7
7
  childXmlNames?: undefined;
8
- content?: undefined;
9
8
  parentXmlName?: undefined;
9
+ content?: undefined;
10
10
  xmlTag?: undefined;
11
11
  key?: undefined;
12
12
  pruneOnly?: undefined;
@@ -18,8 +18,8 @@ export declare function listMetadataTypes(): ({
18
18
  xmlName: string;
19
19
  suffix?: undefined;
20
20
  childXmlNames?: undefined;
21
- content?: undefined;
22
21
  parentXmlName?: undefined;
22
+ content?: undefined;
23
23
  xmlTag?: undefined;
24
24
  key?: undefined;
25
25
  pruneOnly?: undefined;
@@ -31,21 +31,21 @@ export declare function listMetadataTypes(): ({
31
31
  metaFile: boolean;
32
32
  suffix: string;
33
33
  xmlName: string;
34
- content?: undefined;
35
34
  parentXmlName?: undefined;
35
+ content?: undefined;
36
36
  xmlTag?: undefined;
37
37
  key?: undefined;
38
38
  pruneOnly?: undefined;
39
39
  excluded?: undefined;
40
40
  } | {
41
- childXmlNames: string;
42
41
  directoryName: string;
43
42
  inFolder: boolean;
44
43
  metaFile: boolean;
45
44
  suffix: string;
45
+ parentXmlName: string;
46
46
  xmlName: string;
47
+ childXmlNames?: undefined;
47
48
  content?: undefined;
48
- parentXmlName?: undefined;
49
49
  xmlTag?: undefined;
50
50
  key?: undefined;
51
51
  pruneOnly?: undefined;
@@ -66,6 +66,19 @@ export declare function listMetadataTypes(): ({
66
66
  key?: undefined;
67
67
  pruneOnly?: undefined;
68
68
  excluded?: undefined;
69
+ } | {
70
+ childXmlNames: string;
71
+ directoryName: string;
72
+ inFolder: boolean;
73
+ metaFile: boolean;
74
+ suffix: string;
75
+ xmlName: string;
76
+ parentXmlName?: undefined;
77
+ content?: undefined;
78
+ xmlTag?: undefined;
79
+ key?: undefined;
80
+ pruneOnly?: undefined;
81
+ excluded?: undefined;
69
82
  } | {
70
83
  inFolder: boolean;
71
84
  metaFile: boolean;
@@ -113,8 +126,8 @@ export declare function listMetadataTypes(): ({
113
126
  xmlName: string;
114
127
  pruneOnly: boolean;
115
128
  childXmlNames?: undefined;
116
- content?: undefined;
117
129
  parentXmlName?: undefined;
130
+ content?: undefined;
118
131
  xmlTag?: undefined;
119
132
  key?: undefined;
120
133
  excluded?: undefined;