@salesforce/plugin-custom-metadata 2.2.13 → 3.0.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.
Files changed (35) hide show
  1. package/README.md +46 -46
  2. package/lib/commands/cmdt/generate/field.d.ts +7 -7
  3. package/lib/commands/cmdt/generate/field.js +76 -79
  4. package/lib/commands/cmdt/generate/field.js.map +1 -1
  5. package/lib/commands/cmdt/generate/fromorg.d.ts +11 -11
  6. package/lib/commands/cmdt/generate/fromorg.js +87 -92
  7. package/lib/commands/cmdt/generate/fromorg.js.map +1 -1
  8. package/lib/commands/cmdt/generate/object.d.ts +6 -6
  9. package/lib/commands/cmdt/generate/object.js +55 -58
  10. package/lib/commands/cmdt/generate/object.js.map +1 -1
  11. package/lib/commands/cmdt/generate/record.d.ts +7 -7
  12. package/lib/commands/cmdt/generate/record.js +64 -68
  13. package/lib/commands/cmdt/generate/record.js.map +1 -1
  14. package/lib/commands/cmdt/generate/records.d.ts +7 -7
  15. package/lib/commands/cmdt/generate/records.js +58 -60
  16. package/lib/commands/cmdt/generate/records.js.map +1 -1
  17. package/lib/index.js +1 -3
  18. package/lib/index.js.map +1 -1
  19. package/lib/shared/helpers/createUtil.d.ts +2 -2
  20. package/lib/shared/helpers/createUtil.js +17 -27
  21. package/lib/shared/helpers/createUtil.js.map +1 -1
  22. package/lib/shared/helpers/fileWriter.d.ts +2 -2
  23. package/lib/shared/helpers/fileWriter.js +4 -9
  24. package/lib/shared/helpers/fileWriter.js.map +1 -1
  25. package/lib/shared/helpers/metadataUtil.js +5 -12
  26. package/lib/shared/helpers/metadataUtil.js.map +1 -1
  27. package/lib/shared/helpers/validationUtil.js +15 -21
  28. package/lib/shared/helpers/validationUtil.js.map +1 -1
  29. package/lib/shared/interfaces/createConfig.js +1 -2
  30. package/lib/shared/interfaces/createConfig.js.map +1 -1
  31. package/lib/shared/templates/templates.js +13 -18
  32. package/lib/shared/templates/templates.js.map +1 -1
  33. package/oclif.lock +292 -390
  34. package/oclif.manifest.json +520 -268
  35. package/package.json +29 -26
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/commands/cmdt/generate/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/commands/cmdt/generate/record.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
- import { CreateConfigs } from '../../../shared/interfaces/createConfig';
2
+ import { CreateConfigs } from '../../../shared/interfaces/createConfig.js';
3
3
  export default class Insert extends SfCommand<CreateConfigs> {
4
4
  static readonly summary: string;
5
5
  static readonly description: string;
@@ -7,12 +7,12 @@ export default class Insert extends SfCommand<CreateConfigs> {
7
7
  static readonly aliases: string[];
8
8
  static readonly examples: string[];
9
9
  static readonly flags: {
10
- loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
- csv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
- 'type-name': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
13
- 'input-directory': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
14
- 'output-directory': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
15
- 'name-column': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ loglevel: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ csv: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ 'type-name': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ 'input-directory': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
+ 'output-directory': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
15
+ 'name-column': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
16
  };
17
17
  run(): Promise<CreateConfigs>;
18
18
  }
@@ -1,30 +1,70 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /*
4
2
  * Copyright (c) 2020, salesforce.com, inc.
5
3
  * All rights reserved.
6
4
  * Licensed under the BSD 3-Clause license.
7
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
8
6
  */
9
- const fs = require("node:fs");
10
- const path = require("node:path");
11
- const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
12
- const core_1 = require("@salesforce/core");
13
- const sync_1 = require("csv-parse/sync");
14
- const createUtil_1 = require("../../../shared/helpers/createUtil");
15
- core_1.Messages.importMessagesDirectory(__dirname);
16
- const messages = core_1.Messages.loadMessages('@salesforce/plugin-custom-metadata', 'records');
17
- class Insert extends sf_plugins_core_1.SfCommand {
7
+ import fs from 'node:fs';
8
+ import path from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
10
+ import { Flags, loglevel, SfCommand } from '@salesforce/sf-plugins-core';
11
+ import { Messages, SfError } from '@salesforce/core';
12
+ import { parse } from 'csv-parse/sync';
13
+ import { getFieldNames, appendDirectorySuffix, createRecord, getFileData } from '../../../shared/helpers/createUtil.js';
14
+ Messages.importMessagesDirectory(path.dirname(fileURLToPath(import.meta.url)));
15
+ const messages = Messages.loadMessages('@salesforce/plugin-custom-metadata', 'records');
16
+ export default class Insert extends SfCommand {
17
+ static summary = messages.getMessage('summary');
18
+ static description = messages.getMessage('description');
19
+ static requiresProject = true;
20
+ static aliases = ['force:cmdt:record:insert', 'cmdt:record:insert'];
21
+ static examples = messages.getMessages('examples');
22
+ static flags = {
23
+ loglevel,
24
+ csv: Flags.string({
25
+ char: 'f',
26
+ summary: messages.getMessage('flags.csv.summary'),
27
+ required: true,
28
+ aliases: ['filepath'],
29
+ }),
30
+ 'type-name': Flags.string({
31
+ char: 't',
32
+ summary: messages.getMessage('flags.type-name.summary'),
33
+ description: messages.getMessage('flags.type-name.description'),
34
+ required: true,
35
+ parse: (input) => Promise.resolve(input.endsWith('__mdt') ? input.replace('__mdt', '') : input),
36
+ aliases: ['typename'],
37
+ }),
38
+ 'input-directory': Flags.directory({
39
+ char: 'i',
40
+ summary: messages.getMessage('flags.input-directory.summary'),
41
+ default: path.join('force-app', 'main', 'default', 'objects'),
42
+ aliases: ['inputdir', 'inputdirectory'],
43
+ exists: true,
44
+ }),
45
+ 'output-directory': Flags.directory({
46
+ char: 'd',
47
+ summary: messages.getMessage('flags.output-directory.summary'),
48
+ default: path.join('force-app', 'main', 'default', 'customMetadata'),
49
+ aliases: ['outputdir', 'outputdirectory'],
50
+ }),
51
+ 'name-column': Flags.string({
52
+ char: 'n',
53
+ summary: messages.getMessage('flags.name-column.summary'),
54
+ default: 'Name',
55
+ aliases: ['namecolumn'],
56
+ }),
57
+ };
18
58
  async run() {
19
59
  const { flags } = await this.parse(Insert);
20
- const dirName = (0, createUtil_1.appendDirectorySuffix)(flags['type-name']);
60
+ const dirName = appendDirectorySuffix(flags['type-name']);
21
61
  const fieldDirPath = path.join(flags['input-directory'], dirName, 'fields');
22
62
  const fileNames = await fs.promises.readdir(fieldDirPath);
23
63
  // if customMetadata folder does not exist, create it
24
64
  await fs.promises.mkdir(flags['output-directory'], { recursive: true });
25
- const fileData = await (0, createUtil_1.getFileData)(fieldDirPath, fileNames);
26
- const metadataTypeFields = (0, createUtil_1.getFieldNames)(fileData, flags['name-column']);
27
- const parsedRecords = (0, sync_1.parse)(await fs.promises.readFile(flags.csv), {
65
+ const fileData = await getFileData(fieldDirPath, fileNames);
66
+ const metadataTypeFields = getFieldNames(fileData, flags['name-column']);
67
+ const parsedRecords = parse(await fs.promises.readFile(flags.csv), {
28
68
  columns: (header) => columnValidation(metadataTypeFields, header, flags['type-name']),
29
69
  });
30
70
  // Transforms on the recordname are to match the behavior of adding a new Custom Metadata Type record in the UI
@@ -47,65 +87,23 @@ class Insert extends sf_plugins_core_1.SfCommand {
47
87
  return record[file.fullName] ? [file.fullName, record[file.fullName]] : [];
48
88
  }
49
89
  else {
50
- throw new core_1.SfError('No fullName found in fileData');
90
+ throw new SfError('No fullName found in fileData');
51
91
  }
52
92
  })),
53
93
  fileData,
54
94
  }));
55
95
  // find the cmdt in the inputdir.
56
96
  // loop through files and create records that match fields
57
- await Promise.all(recordConfigs.map((r) => (0, createUtil_1.createRecord)(r)));
97
+ await Promise.all(recordConfigs.map((r) => createRecord(r)));
58
98
  this.log(messages.getMessage('successResponse', [flags.csv, flags['output-directory']]));
59
99
  return recordConfigs;
60
100
  }
61
101
  }
62
- Insert.summary = messages.getMessage('summary');
63
- Insert.description = messages.getMessage('description');
64
- Insert.requiresProject = true;
65
- Insert.aliases = ['force:cmdt:record:insert', 'cmdt:record:insert'];
66
- Insert.examples = messages.getMessages('examples');
67
- Insert.flags = {
68
- loglevel: sf_plugins_core_1.loglevel,
69
- csv: sf_plugins_core_1.Flags.string({
70
- char: 'f',
71
- summary: messages.getMessage('flags.csv.summary'),
72
- required: true,
73
- aliases: ['filepath'],
74
- }),
75
- 'type-name': sf_plugins_core_1.Flags.string({
76
- char: 't',
77
- summary: messages.getMessage('flags.type-name.summary'),
78
- description: messages.getMessage('flags.type-name.description'),
79
- required: true,
80
- parse: (input) => Promise.resolve(input.endsWith('__mdt') ? input.replace('__mdt', '') : input),
81
- aliases: ['typename'],
82
- }),
83
- 'input-directory': sf_plugins_core_1.Flags.directory({
84
- char: 'i',
85
- summary: messages.getMessage('flags.input-directory.summary'),
86
- default: path.join('force-app', 'main', 'default', 'objects'),
87
- aliases: ['inputdir', 'inputdirectory'],
88
- exists: true,
89
- }),
90
- 'output-directory': sf_plugins_core_1.Flags.directory({
91
- char: 'd',
92
- summary: messages.getMessage('flags.output-directory.summary'),
93
- default: path.join('force-app', 'main', 'default', 'customMetadata'),
94
- aliases: ['outputdir', 'outputdirectory'],
95
- }),
96
- 'name-column': sf_plugins_core_1.Flags.string({
97
- char: 'n',
98
- summary: messages.getMessage('flags.name-column.summary'),
99
- default: 'Name',
100
- aliases: ['namecolumn'],
101
- }),
102
- };
103
- exports.default = Insert;
104
102
  /** Validate that every column in the CSV has known metadata */
105
103
  const columnValidation = (requiredFields, columnList, typeNameFlag) => {
106
104
  columnList.forEach((column) => {
107
105
  if (!requiredFields.includes(column)) {
108
- throw new core_1.SfError(messages.getMessage('fieldNotFoundError', [column, typeNameFlag]));
106
+ throw new SfError(messages.getMessage('fieldNotFoundError', [column, typeNameFlag]));
109
107
  }
110
108
  });
111
109
  return columnList;
@@ -1 +1 @@
1
- {"version":3,"file":"records.js","sourceRoot":"","sources":["../../../../src/commands/cmdt/generate/records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../../../src/commands/cmdt/generate/records.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,10 +1,8 @@
1
- "use strict";
2
1
  /*
3
2
  * Copyright (c) 2020, salesforce.com, inc.
4
3
  * All rights reserved.
5
4
  * Licensed under the BSD 3-Clause license.
6
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
6
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.default = {};
7
+ export default {};
10
8
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,kBAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { CustomField } from 'jsforce/api/metadata';
2
- import { CreateConfig } from '../interfaces/createConfig';
2
+ import { CreateConfig } from '../interfaces/createConfig.js';
3
3
  /**
4
4
  * Number and Percent types will be int or double depending on their respective scale values.
5
5
  * If the scale === 0, it is an int, otherwise it is a double
@@ -41,7 +41,7 @@ export declare const getFieldPrimitiveType: (fileData?: CustomField[], fieldName
41
41
  */
42
42
  export declare const appendDirectorySuffix: (typename: string) => string;
43
43
  /**
44
- * Goes through the file data that has been genreated and gets all of the field names and adds the
44
+ * Goes through the file data that has been generated and gets all of the field names and adds the
45
45
  * name of the field that is used as the label for metadata record
46
46
  *
47
47
  * @param fileData Array of objects based on metadata type xml
@@ -1,17 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFieldNames = exports.appendDirectorySuffix = exports.getFieldPrimitiveType = exports.createRecord = exports.getFieldDataType = exports.getFileData = void 0;
4
1
  /*
5
2
  * Copyright (c) 2020, salesforce.com, inc.
6
3
  * All rights reserved.
7
4
  * Licensed under the BSD 3-Clause license.
8
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
9
6
  */
10
- const fs = require("node:fs");
11
- const path = require("node:path");
12
- const fast_xml_parser_1 = require("fast-xml-parser");
13
- const ts_types_1 = require("@salesforce/ts-types");
14
- const templates_1 = require("../templates/templates");
7
+ import fs from 'node:fs';
8
+ import path from 'node:path';
9
+ import { XMLParser } from 'fast-xml-parser';
10
+ import { canConvert } from '../templates/templates.js';
15
11
  const fieldTypeMap = new Map([
16
12
  ['Checkbox', 'boolean'],
17
13
  ['Date', 'date'],
@@ -35,8 +31,8 @@ const fieldTypeMap = new Map([
35
31
  * @param fileNames filenames in that folder that should be read
36
32
  * @returns CustomField[]
37
33
  */
38
- const getFileData = async (fieldDirPath, fileNames) => {
39
- const parser = new fast_xml_parser_1.XMLParser();
34
+ export const getFileData = async (fieldDirPath, fileNames) => {
35
+ const parser = new XMLParser();
40
36
  return Promise.all(fileNames
41
37
  .map((file) => path.join(fieldDirPath, file))
42
38
  .map(async (filePath) => {
@@ -44,7 +40,6 @@ const getFileData = async (fieldDirPath, fileNames) => {
44
40
  return parser.parse(fileData).CustomField;
45
41
  }));
46
42
  };
47
- exports.getFileData = getFileData;
48
43
  /**
49
44
  * Get the field type from the custom metadata type that has a matching field name.
50
45
  *
@@ -52,20 +47,18 @@ exports.getFileData = getFileData;
52
47
  * @param fieldName Name of the field
53
48
  * @return {string} Data Type of the field.
54
49
  */
55
- const getFieldDataType = (fileData = [], fieldName = '') => fileData.find((file) => file.fullName === fieldName)?.type;
56
- exports.getFieldDataType = getFieldDataType;
50
+ export const getFieldDataType = (fileData = [], fieldName = '') => fileData.find((file) => file.fullName === fieldName)?.type;
57
51
  /**
58
52
  * Creates the Custom Metadata Record
59
53
  *
60
54
  * @param createConfig Properties include typename, recname, label, protection, varargs, and fileData
61
55
  * @return void
62
56
  */
63
- const createRecord = async (createConfig) => {
57
+ export const createRecord = async (createConfig) => {
64
58
  const outputFilePath = path.join(createConfig.outputdir, `${createConfig.typename}.${createConfig.recordname}.md-meta.xml`);
65
59
  const newRecordContent = getRecordTemplate(createConfig.label, createConfig.protected, buildCustomFieldXml(createConfig.fileData, createConfig.varargs, createConfig.ignorefields));
66
60
  return fs.promises.writeFile(outputFilePath, newRecordContent);
67
61
  };
68
- exports.createRecord = createRecord;
69
62
  /**
70
63
  * Get the field primitive type from the custom metadata type that has a matching field name.
71
64
  *
@@ -73,7 +66,7 @@ exports.createRecord = createRecord;
73
66
  * @param fieldName Name of the field
74
67
  * @return {string} Type used by a custom metadata record
75
68
  */
76
- const getFieldPrimitiveType = (fileData = [], fieldName) => {
69
+ export const getFieldPrimitiveType = (fileData = [], fieldName) => {
77
70
  const matchingFile = fileData.find((file) => file.fullName === fieldName);
78
71
  if (matchingFile && typeof matchingFile.type === 'string' && ['Number', 'Percent'].includes(matchingFile.type)) {
79
72
  return getNumberType(matchingFile.type, matchingFile.scale);
@@ -83,27 +76,24 @@ const getFieldPrimitiveType = (fileData = [], fieldName) => {
83
76
  }
84
77
  return 'string';
85
78
  };
86
- exports.getFieldPrimitiveType = getFieldPrimitiveType;
87
79
  /**
88
80
  * Filenames should have the suffix of '__mdt'. This will append that suffix if it does not exist.
89
81
  *
90
82
  * @param typename Name of file
91
83
  */
92
- const appendDirectorySuffix = (typename) => typename.endsWith('__mdt') ? typename : `${typename}__mdt`;
93
- exports.appendDirectorySuffix = appendDirectorySuffix;
84
+ export const appendDirectorySuffix = (typename) => typename.endsWith('__mdt') ? typename : `${typename}__mdt`;
94
85
  /**
95
- * Goes through the file data that has been genreated and gets all of the field names and adds the
86
+ * Goes through the file data that has been generated and gets all of the field names and adds the
96
87
  * name of the field that is used as the label for metadata record
97
88
  *
98
89
  * @param fileData Array of objects based on metadata type xml
99
90
  * @param nameField name of the column that is going to be used for the name of the metadata record
100
91
  * @return [] Array of field names
101
92
  */
102
- const getFieldNames = (fileData, nameField) => [
103
- ...fileData.map((file) => file.fullName).filter(ts_types_1.isString),
93
+ export const getFieldNames = (fileData, nameField) => [
94
+ ...fileData.map((file) => file.fullName).filter((f) => typeof f === 'string'),
104
95
  nameField,
105
96
  ];
106
- exports.getFieldNames = getFieldNames;
107
97
  /**
108
98
  * Takes JSON representation of CLI varargs and converts them to xml with help
109
99
  * from helper.getFieldTemplate
@@ -115,10 +105,10 @@ exports.getFieldNames = getFieldNames;
115
105
  const buildCustomFieldXml = (fileData = [], cliParams = {}, ignoreFields = false) => {
116
106
  let ret = '';
117
107
  for (const fieldName of Object.keys(cliParams)) {
118
- const type = (0, exports.getFieldPrimitiveType)(fileData, fieldName);
119
- const dataType = (0, exports.getFieldDataType)(fileData, fieldName);
120
- // Added functionality to handle the igonre fields scenario.
121
- if ((0, templates_1.canConvert)(dataType) || !ignoreFields) {
108
+ const type = getFieldPrimitiveType(fileData, fieldName);
109
+ const dataType = getFieldDataType(fileData, fieldName);
110
+ // Added functionality to handle the ignore fields scenario.
111
+ if (canConvert(dataType) || !ignoreFields) {
122
112
  ret += getFieldTemplate(fieldName, cliParams[fieldName], type);
123
113
  }
124
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createUtil.js","sourceRoot":"","sources":["../../../src/shared/helpers/createUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createUtil.js","sourceRoot":"","sources":["../../../src/shared/helpers/createUtil.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- /// <reference types="node" />
2
- import * as fs from 'node:fs';
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import fs from 'node:fs';
3
3
  interface FileWriterResult {
4
4
  dir: string;
5
5
  fileName: string;
@@ -1,14 +1,11 @@
1
- "use strict";
2
1
  /*
3
2
  * Copyright (c) 2020, salesforce.com, inc.
4
3
  * All rights reserved.
5
4
  * Licensed under the BSD 3-Clause license.
6
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
6
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.writeFieldFile = exports.writeTypeFile = void 0;
10
- const fs = require("node:fs");
11
- const path = require("node:path");
7
+ import fs from 'node:fs';
8
+ import path from 'node:path';
12
9
  /**
13
10
  * Using the given file system, creates a file representing a new custom metadata type.
14
11
  *
@@ -16,7 +13,7 @@ const path = require("node:path");
16
13
  * @param devname
17
14
  * @param objectXML
18
15
  */
19
- const writeTypeFile = async (corefs = fs, dir, devName, objectXML) => {
16
+ export const writeTypeFile = async (corefs = fs, dir, devName, objectXML) => {
20
17
  let apiName = devName;
21
18
  // replace __c with __mdt
22
19
  if (apiName.endsWith('__c')) {
@@ -33,7 +30,6 @@ const writeTypeFile = async (corefs = fs, dir, devName, objectXML) => {
33
30
  await corefs.promises.writeFile(path.join(outputFilePath, fileName), objectXML);
34
31
  return { dir: outputFilePath, fileName, updated };
35
32
  };
36
- exports.writeTypeFile = writeTypeFile;
37
33
  /**
38
34
  * Using the given file system, creates a file representing a new field for the given custom metadata type
39
35
  *
@@ -42,7 +38,7 @@ exports.writeTypeFile = writeTypeFile;
42
38
  * @param fieldXML
43
39
  */
44
40
  // /fields/{fieldAPI}.field-meta.xml
45
- const writeFieldFile = async (corefs = fs, dir, fieldName, fieldXML) => {
41
+ export const writeFieldFile = async (corefs = fs, dir, fieldName, fieldXML) => {
46
42
  // appending __c if its not already there
47
43
  if (fieldName?.endsWith('__c') === false) {
48
44
  fieldName += '__c';
@@ -54,6 +50,5 @@ const writeFieldFile = async (corefs = fs, dir, fieldName, fieldXML) => {
54
50
  await corefs.promises.writeFile(path.join(outputFilePath, fileName), fieldXML);
55
51
  return { dir: outputFilePath, fileName, updated };
56
52
  };
57
- exports.writeFieldFile = writeFieldFile;
58
53
  const removeTrailingSlash = (dir) => dir.replace(/\/+$/, '');
59
54
  //# sourceMappingURL=fileWriter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileWriter.js","sourceRoot":"","sources":["../../../src/shared/helpers/fileWriter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,8BAA8B;AAC9B,kCAAkC;AAQlC;;;;;;GAMG;AACI,MAAM,aAAa,GAAG,KAAK,EAChC,MAAM,GAAG,EAAE,EACX,GAAW,EACX,OAAe,EACf,SAAiB,EACU,EAAE;IAC7B,IAAI,OAAO,GAAG,OAAO,CAAC;IAEtB,yBAAyB;IACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAC3C;IAED,8CAA8C;IAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC9B,OAAO,IAAI,OAAO,CAAC;KACpB;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,GAAG,OAAO,kBAAkB,CAAC;IAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnE,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;IAEhF,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACpD,CAAC,CAAC;AA1BW,QAAA,aAAa,iBA0BxB;AAEF;;;;;;GAMG;AACH,oCAAoC;AAC7B,MAAM,cAAc,GAAG,KAAK,EACjC,MAAM,GAAG,EAAE,EACX,GAAW,EACX,SAAoC,EACpC,QAAgB,EACW,EAAE;IAC7B,yCAAyC;IACzC,IAAI,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;QACxC,SAAS,IAAI,KAAK,CAAC;KACpB;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,GAAG,SAAS,iBAAiB,CAAC;IAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE/E,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACpD,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"fileWriter.js","sourceRoot":"","sources":["../../../src/shared/helpers/fileWriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAQ7B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,MAAM,GAAG,EAAE,EACX,GAAW,EACX,OAAe,EACf,SAAiB,EACU,EAAE;IAC7B,IAAI,OAAO,GAAG,OAAO,CAAC;IAEtB,yBAAyB;IACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAC3C;IAED,8CAA8C;IAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC9B,OAAO,IAAI,OAAO,CAAC;KACpB;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,GAAG,OAAO,kBAAkB,CAAC;IAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnE,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;IAEhF,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,oCAAoC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,MAAM,GAAG,EAAE,EACX,GAAW,EACX,SAAoC,EACpC,QAAgB,EACW,EAAE;IAC7B,yCAAyC;IACzC,IAAI,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;QACxC,SAAS,IAAI,KAAK,CAAC;KACpB;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,GAAG,SAAS,iBAAiB,CAAC;IAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE/E,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC"}
@@ -1,12 +1,9 @@
1
- "use strict";
2
1
  /*
3
2
  * Copyright (c) 2020, salesforce.com, inc.
4
3
  * All rights reserved.
5
4
  * Licensed under the BSD 3-Clause license.
6
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
6
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.cleanQueryResponse = exports.describeObjFields = exports.validCustomSettingType = exports.describeField = void 0;
10
7
  /**
11
8
  * Returns describe object for the field API name from the Object API name you specify
12
9
  *
@@ -14,28 +11,25 @@ exports.cleanQueryResponse = exports.describeObjFields = exports.validCustomSett
14
11
  * @param fieldName API name of the field to query
15
12
  * @returns Promise - Promise - record in JSON format
16
13
  */
17
- const describeField = (objDescribe, fieldName) => (0, exports.describeObjFields)(objDescribe).find((field) => field.fullName === fieldName);
18
- exports.describeField = describeField;
14
+ export const describeField = (objDescribe, fieldName) => describeObjFields(objDescribe).find((field) => field.fullName === fieldName);
19
15
  /**
20
16
  * Returns true if the object name you specify is a list type custom setting
21
17
  *
22
18
  * @param objName object describe JSON
23
19
  * @returns boolean
24
20
  */
25
- const validCustomSettingType = (objDescribe) => objDescribe.customSettingsType === 'List' && objDescribe.visibility === 'Public';
26
- exports.validCustomSettingType = validCustomSettingType;
21
+ export const validCustomSettingType = (objDescribe) => objDescribe.customSettingsType === 'List' && objDescribe.visibility === 'Public';
27
22
  /**
28
23
  * Returns describe object for all fields from the object API name you specify
29
24
  *
30
25
  * @param objDescribe object describe JSON
31
26
  * @returns Promise - Promise - record in JSON format
32
27
  */
33
- const describeObjFields = (objDescribe) => objDescribe.fields;
34
- exports.describeObjFields = describeObjFields;
35
- const cleanQueryResponse = (sObjectRecord, objectDescribe) => Object.fromEntries(Object.entries(sObjectRecord)
28
+ export const describeObjFields = (objDescribe) => objDescribe.fields;
29
+ export const cleanQueryResponse = (sObjectRecord, objectDescribe) => Object.fromEntries(Object.entries(sObjectRecord)
36
30
  .filter(([fieldName]) => fieldName !== 'attributes' && fieldName !== 'Name')
37
31
  .flatMap(([fieldName, value]) => {
38
- const fieldDescribe = (0, exports.describeField)(objectDescribe, fieldName);
32
+ const fieldDescribe = describeField(objectDescribe, fieldName);
39
33
  // everything but location returns as is
40
34
  if (fieldDescribe?.type !== 'Location') {
41
35
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return
@@ -55,5 +49,4 @@ const cleanQueryResponse = (sObjectRecord, objectDescribe) => Object.fromEntries
55
49
  ];
56
50
  }
57
51
  }));
58
- exports.cleanQueryResponse = cleanQueryResponse;
59
52
  //# sourceMappingURL=metadataUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadataUtil.js","sourceRoot":"","sources":["../../../src/shared/helpers/metadataUtil.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH;;;;;;GAMG;AACI,MAAM,aAAa,GAAG,CAAC,WAAyB,EAAE,SAAiB,EAA2B,EAAE,CACrG,IAAA,yBAAiB,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;AADlE,QAAA,aAAa,iBACqD;AAE/E;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,WAAyB,EAAW,EAAE,CAC3E,WAAW,CAAC,kBAAkB,KAAK,MAAM,IAAI,WAAW,CAAC,UAAU,KAAK,QAAQ,CAAC;AADtE,QAAA,sBAAsB,0BACgD;AAEnF;;;;;GAKG;AACI,MAAM,iBAAiB,GAAG,CAAC,WAAyB,EAAiB,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;AAArF,QAAA,iBAAiB,qBAAoE;AAE3F,MAAM,kBAAkB,GAAG,CAAC,aAAqB,EAAE,cAA4B,EAAU,EAAE,CAChG,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;KAC1B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,MAAM,CAAC;KAC3E,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE;IAC9B,MAAM,aAAa,GAAG,IAAA,qBAAa,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC/D,wCAAwC;IACxC,IAAI,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE;QACtC,+DAA+D;QAC/D,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;KAC7B;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACvE,OAAO;YACL,CAAC,OAAO,SAAS,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,CAAC,QAAQ,SAAS,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAClG,CAAC;KACH;SAAM;QACL,OAAO;YACL,CAAC,OAAO,SAAS,EAAE,EAAE,EAAE,CAAC;YACxB,CAAC,QAAQ,SAAS,EAAE,EAAE,EAAE,CAAC;SAC1B,CAAC;KACH;AACH,CAAC,CAAC,CACL,CAAC;AAxBS,QAAA,kBAAkB,sBAwB3B"}
1
+ {"version":3,"file":"metadataUtil.js","sourceRoot":"","sources":["../../../src/shared/helpers/metadataUtil.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAyB,EAAE,SAAiB,EAA2B,EAAE,CACrG,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,WAAyB,EAAW,EAAE,CAC3E,WAAW,CAAC,kBAAkB,KAAK,MAAM,IAAI,WAAW,CAAC,UAAU,KAAK,QAAQ,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAyB,EAAiB,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;AAElG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,aAAqB,EAAE,cAA4B,EAAU,EAAE,CAChG,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;KAC1B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,MAAM,CAAC;KAC3E,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE;IAC9B,MAAM,aAAa,GAAG,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC/D,wCAAwC;IACxC,IAAI,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE;QACtC,+DAA+D;QAC/D,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;KAC7B;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACvE,OAAO;YACL,CAAC,OAAO,SAAS,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,CAAC,QAAQ,SAAS,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAClG,CAAC;KACH;SAAM;QACL,OAAO;YACL,CAAC,OAAO,SAAS,EAAE,EAAE,EAAE,CAAC;YACxB,CAAC,QAAQ,SAAS,EAAE,EAAE,EAAE,CAAC;SAC1B,CAAC;KACH;AACH,CAAC,CAAC,CACL,CAAC"}