@salesforce/plugin-sobject 0.2.15 → 0.2.17
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/README.md +4 -4
- package/lib/commands/schema/generate/field.d.ts +2 -2
- package/lib/commands/schema/generate/field.js +48 -52
- package/lib/commands/schema/generate/field.js.map +1 -1
- package/lib/commands/schema/generate/platformevent.d.ts +2 -2
- package/lib/commands/schema/generate/platformevent.js +31 -34
- package/lib/commands/schema/generate/platformevent.js.map +1 -1
- package/lib/commands/schema/generate/sobject.d.ts +3 -3
- package/lib/commands/schema/generate/sobject.js +40 -44
- package/lib/commands/schema/generate/sobject.js.map +1 -1
- package/lib/commands/schema/generate/tab.d.ts +3 -3
- package/lib/commands/schema/generate/tab.js +42 -46
- package/lib/commands/schema/generate/tab.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/shared/convert.d.ts +1 -1
- package/lib/shared/convert.js +4 -8
- package/lib/shared/convert.js.map +1 -1
- package/lib/shared/flags.js +13 -18
- package/lib/shared/flags.js.map +1 -1
- package/lib/shared/fs.d.ts +1 -1
- package/lib/shared/fs.js +10 -17
- package/lib/shared/fs.js.map +1 -1
- package/lib/shared/prompts/prompts.d.ts +6 -6
- package/lib/shared/prompts/prompts.js +27 -29
- package/lib/shared/prompts/prompts.js.map +1 -1
- package/lib/shared/prompts/relationshipField.js +14 -16
- package/lib/shared/prompts/relationshipField.js.map +1 -1
- package/lib/shared/types.js +1 -2
- package/lib/shared/types.js.map +1 -1
- package/oclif.lock +7986 -0
- package/oclif.manifest.json +188 -78
- package/package.json +29 -53
package/README.md
CHANGED
|
@@ -167,7 +167,7 @@ FLAG DESCRIPTIONS
|
|
|
167
167
|
If you don't specify this flag, the command prompts you to choose from your local objects.
|
|
168
168
|
```
|
|
169
169
|
|
|
170
|
-
_See code: [src/commands/schema/generate/field.ts](https://github.com/salesforcecli/plugin-sobject/blob/0.2.
|
|
170
|
+
_See code: [src/commands/schema/generate/field.ts](https://github.com/salesforcecli/plugin-sobject/blob/0.2.17/src/commands/schema/generate/field.ts)_
|
|
171
171
|
|
|
172
172
|
## `sf schema generate platformevent`
|
|
173
173
|
|
|
@@ -196,7 +196,7 @@ EXAMPLES
|
|
|
196
196
|
$ sf schema generate platformevent --label "My Platform Event"
|
|
197
197
|
```
|
|
198
198
|
|
|
199
|
-
_See code: [src/commands/schema/generate/platformevent.ts](https://github.com/salesforcecli/plugin-sobject/blob/0.2.
|
|
199
|
+
_See code: [src/commands/schema/generate/platformevent.ts](https://github.com/salesforcecli/plugin-sobject/blob/0.2.17/src/commands/schema/generate/platformevent.ts)_
|
|
200
200
|
|
|
201
201
|
## `sf schema generate sobject`
|
|
202
202
|
|
|
@@ -250,7 +250,7 @@ FLAG DESCRIPTIONS
|
|
|
250
250
|
* Streaming API: With Bulk API and Sharing, classifies the custom object as an Enterprise Application object.
|
|
251
251
|
```
|
|
252
252
|
|
|
253
|
-
_See code: [src/commands/schema/generate/sobject.ts](https://github.com/salesforcecli/plugin-sobject/blob/0.2.
|
|
253
|
+
_See code: [src/commands/schema/generate/sobject.ts](https://github.com/salesforcecli/plugin-sobject/blob/0.2.17/src/commands/schema/generate/sobject.ts)_
|
|
254
254
|
|
|
255
255
|
## `sf schema generate tab`
|
|
256
256
|
|
|
@@ -297,6 +297,6 @@ FLAG DESCRIPTIONS
|
|
|
297
297
|
The API name for a custom object always ends in "__c", such as "MyObject__c".
|
|
298
298
|
```
|
|
299
299
|
|
|
300
|
-
_See code: [src/commands/schema/generate/tab.ts](https://github.com/salesforcecli/plugin-sobject/blob/0.2.
|
|
300
|
+
_See code: [src/commands/schema/generate/tab.ts](https://github.com/salesforcecli/plugin-sobject/blob/0.2.17/src/commands/schema/generate/tab.ts)_
|
|
301
301
|
|
|
302
302
|
<!-- commandsstop -->
|
|
@@ -18,8 +18,8 @@ export default class FieldGenerate extends SfCommand<FieldGenerateResult> {
|
|
|
18
18
|
static readonly aliases: string[];
|
|
19
19
|
static readonly deprecateAliases = true;
|
|
20
20
|
static readonly flags: {
|
|
21
|
-
label: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
22
|
-
object: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
21
|
+
label: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
22
|
+
object: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
23
23
|
};
|
|
24
24
|
run(): Promise<FieldGenerateResult>;
|
|
25
25
|
}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
1
|
/*
|
|
5
2
|
* Copyright (c) 2021, 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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
import fs from 'node:fs';
|
|
8
|
+
import path, { dirname } from 'node:path';
|
|
9
|
+
import { fileURLToPath } from 'node:url';
|
|
10
|
+
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
11
|
+
import { Messages } from '@salesforce/core';
|
|
12
|
+
import { convertJsonToXml } from '../../../shared/convert.js';
|
|
13
|
+
import { descriptionPrompt, apiNamePrompt, objectPrompt, integerValidation, picklistPrompts, } from '../../../shared/prompts/prompts.js';
|
|
14
|
+
import { relationshipFieldPrompts } from '../../../shared/prompts/relationshipField.js';
|
|
15
|
+
import { isObjectsFolder, labelValidation } from '../../../shared/flags.js';
|
|
16
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
17
|
+
const messages = Messages.loadMessages('@salesforce/plugin-sobject', 'generate.field');
|
|
20
18
|
const MAX_LONG_TEXT_LENGTH = 131072;
|
|
21
19
|
const MAX_TEXT_LENGTH = 255;
|
|
22
20
|
const supportedFieldTypesCustomObject = [
|
|
@@ -39,12 +37,35 @@ const supportedFieldTypesCustomObject = [
|
|
|
39
37
|
'Url',
|
|
40
38
|
];
|
|
41
39
|
const supportedFieldTypesPlatformEvent = ['Text', 'Number', 'DateTime', 'Date', 'LongTextArea', 'Checkbox'];
|
|
42
|
-
class FieldGenerate extends
|
|
40
|
+
export default class FieldGenerate extends SfCommand {
|
|
41
|
+
static summary = messages.getMessage('summary');
|
|
42
|
+
static description = messages.getMessage('description');
|
|
43
|
+
static examples = messages.getMessages('examples');
|
|
44
|
+
static requiresProject = true;
|
|
45
|
+
static enableJsonFlag = false;
|
|
46
|
+
static aliases = ['generate:metadata:field'];
|
|
47
|
+
static deprecateAliases = true;
|
|
48
|
+
static flags = {
|
|
49
|
+
label: Flags.string({
|
|
50
|
+
char: 'l',
|
|
51
|
+
summary: messages.getMessage('flags.label.summary'),
|
|
52
|
+
required: true,
|
|
53
|
+
parse: async (label) => labelValidation(label),
|
|
54
|
+
}),
|
|
55
|
+
// this a dir and not an API name to support 1 object being in multiple package directories
|
|
56
|
+
object: Flags.directory({
|
|
57
|
+
char: 'o',
|
|
58
|
+
exists: true,
|
|
59
|
+
summary: messages.getMessage('flags.object.summary'),
|
|
60
|
+
description: messages.getMessage('flags.object.description'),
|
|
61
|
+
parse: async (input) => isObjectsFolder(input),
|
|
62
|
+
}),
|
|
63
|
+
};
|
|
43
64
|
async run() {
|
|
44
|
-
const { flags } = await this.parse(
|
|
65
|
+
const { flags } = await this.parse(FieldGenerate);
|
|
45
66
|
const responses = await this.prompt([
|
|
46
|
-
await
|
|
47
|
-
|
|
67
|
+
await objectPrompt(this.project.getPackageDirectories()),
|
|
68
|
+
apiNamePrompt(flags.label, 'CustomField'),
|
|
48
69
|
{
|
|
49
70
|
type: 'list',
|
|
50
71
|
message: messages.getMessage('prompts.type'),
|
|
@@ -55,7 +76,7 @@ class FieldGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
55
76
|
{
|
|
56
77
|
type: 'number',
|
|
57
78
|
message: messages.getMessage('prompts.startingNumber'),
|
|
58
|
-
validate: (n) =>
|
|
79
|
+
validate: (n) => integerValidation(n, 0, Number.MAX_SAFE_INTEGER),
|
|
59
80
|
name: 'startingNumber',
|
|
60
81
|
when: (answers) => answers.type === 'AutoNumber',
|
|
61
82
|
default: 0,
|
|
@@ -76,7 +97,7 @@ class FieldGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
76
97
|
{
|
|
77
98
|
type: 'number',
|
|
78
99
|
message: `Length (max ${MAX_LONG_TEXT_LENGTH})`,
|
|
79
|
-
validate: (n) =>
|
|
100
|
+
validate: (n) => integerValidation(n, 1, MAX_LONG_TEXT_LENGTH),
|
|
80
101
|
name: 'length',
|
|
81
102
|
when: (answers) => ['Html', 'LongTextArea'].includes(answers.type),
|
|
82
103
|
default: MAX_LONG_TEXT_LENGTH,
|
|
@@ -84,7 +105,7 @@ class FieldGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
84
105
|
{
|
|
85
106
|
type: 'number',
|
|
86
107
|
message: `Length (max ${MAX_TEXT_LENGTH})`,
|
|
87
|
-
validate: (n) =>
|
|
108
|
+
validate: (n) => integerValidation(n, 1, MAX_TEXT_LENGTH),
|
|
88
109
|
name: 'length',
|
|
89
110
|
when: (answers) => answers.type === 'Text',
|
|
90
111
|
default: MAX_TEXT_LENGTH,
|
|
@@ -92,7 +113,7 @@ class FieldGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
92
113
|
{
|
|
93
114
|
type: 'number',
|
|
94
115
|
message: 'Visible Lines',
|
|
95
|
-
validate: (n) =>
|
|
116
|
+
validate: (n) => integerValidation(n, 1, 1000),
|
|
96
117
|
name: 'visibleLines',
|
|
97
118
|
when: (answers) => ['Html', 'LongTextArea'].includes(answers.type),
|
|
98
119
|
default: 5,
|
|
@@ -101,7 +122,7 @@ class FieldGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
101
122
|
{
|
|
102
123
|
type: 'number',
|
|
103
124
|
message: messages.getMessage('prompts.scale'),
|
|
104
|
-
validate: (n) =>
|
|
125
|
+
validate: (n) => integerValidation(n, 0, 18),
|
|
105
126
|
name: 'scale',
|
|
106
127
|
when: (answers) => ['Number', 'Currency', 'Location'].includes(answers.type),
|
|
107
128
|
default: 0,
|
|
@@ -109,13 +130,13 @@ class FieldGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
109
130
|
{
|
|
110
131
|
type: 'number',
|
|
111
132
|
message: messages.getMessage('prompts.precision'),
|
|
112
|
-
validate: (n, answers) =>
|
|
133
|
+
validate: (n, answers) => integerValidation(n, 1, 18 - (answers.scale ?? 0)),
|
|
113
134
|
name: 'precision',
|
|
114
135
|
when: (answers) => ['Number', 'Currency'].includes(answers.type),
|
|
115
136
|
default: (answers) => 18 - (answers.scale ?? 0),
|
|
116
137
|
},
|
|
117
138
|
// non-fieldtype-specific questions
|
|
118
|
-
|
|
139
|
+
descriptionPrompt,
|
|
119
140
|
{
|
|
120
141
|
type: 'input',
|
|
121
142
|
message: messages.getMessage('prompts.inlineHelpText'),
|
|
@@ -161,10 +182,10 @@ class FieldGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
161
182
|
// always use decimal version of location unless someone asks us not to in a feature request
|
|
162
183
|
...(customField.type === 'Location' ? { displayLocationInDecimal: true } : {}),
|
|
163
184
|
// building picklists is an independent inquirer series of questions
|
|
164
|
-
...(customField.type === 'Picklist' ? { valueSet: await
|
|
185
|
+
...(customField.type === 'Picklist' ? { valueSet: await picklistPrompts() } : {}),
|
|
165
186
|
// relationship fields have their own series of questions
|
|
166
187
|
...(responses.type === 'MasterDetail' || responses.type === 'Lookup'
|
|
167
|
-
? await
|
|
188
|
+
? await relationshipFieldPrompts({
|
|
168
189
|
type: responses.type,
|
|
169
190
|
packageDirs: this.project.getPackageDirectories(),
|
|
170
191
|
childObjectFolderPath: responses.object,
|
|
@@ -175,36 +196,11 @@ class FieldGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
175
196
|
};
|
|
176
197
|
this.styledJSON(result);
|
|
177
198
|
await fs.promises.mkdir(path.join(object, 'fields'), { recursive: true });
|
|
178
|
-
await fs.promises.writeFile(result.path,
|
|
199
|
+
await fs.promises.writeFile(result.path, convertJsonToXml({ json: result.field, type: 'CustomField' }));
|
|
179
200
|
this.logSuccess(messages.getMessage('success', [path.join(object, 'fields', `${responses.fullName}.field-meta.xml`)]));
|
|
180
201
|
return result;
|
|
181
202
|
}
|
|
182
203
|
}
|
|
183
|
-
_a = FieldGenerate;
|
|
184
|
-
FieldGenerate.summary = messages.getMessage('summary');
|
|
185
|
-
FieldGenerate.description = messages.getMessage('description');
|
|
186
|
-
FieldGenerate.examples = messages.getMessages('examples');
|
|
187
|
-
FieldGenerate.requiresProject = true;
|
|
188
|
-
FieldGenerate.enableJsonFlag = false;
|
|
189
|
-
FieldGenerate.aliases = ['generate:metadata:field'];
|
|
190
|
-
FieldGenerate.deprecateAliases = true;
|
|
191
|
-
FieldGenerate.flags = {
|
|
192
|
-
label: sf_plugins_core_1.Flags.string({
|
|
193
|
-
char: 'l',
|
|
194
|
-
summary: messages.getMessage('flags.label.summary'),
|
|
195
|
-
required: true,
|
|
196
|
-
parse: async (label) => (0, flags_1.labelValidation)(label),
|
|
197
|
-
}),
|
|
198
|
-
// this a dir and not an API name to support 1 object being in multiple package directories
|
|
199
|
-
object: sf_plugins_core_1.Flags.directory({
|
|
200
|
-
char: 'o',
|
|
201
|
-
exists: true,
|
|
202
|
-
summary: messages.getMessage('flags.object.summary'),
|
|
203
|
-
description: messages.getMessage('flags.object.description'),
|
|
204
|
-
parse: async (input) => (0, flags_1.isObjectsFolder)(input),
|
|
205
|
-
}),
|
|
206
|
-
};
|
|
207
|
-
exports.default = FieldGenerate;
|
|
208
204
|
/**
|
|
209
205
|
*
|
|
210
206
|
* @param objFolder examples `force-app/main/default/objects/Foo__c` or `force-app/main/default/objects/Foo__e`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/commands/schema/generate/field.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/commands/schema/generate/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
-
import { SaveablePlatformEvent } from '../../../shared/types';
|
|
2
|
+
import { SaveablePlatformEvent } from '../../../shared/types.js';
|
|
3
3
|
export type PlatformEventGenerateResult = {
|
|
4
4
|
object: SaveablePlatformEvent;
|
|
5
5
|
path: string;
|
|
@@ -13,7 +13,7 @@ export default class PlatformEventGenerate extends SfCommand<PlatformEventGenera
|
|
|
13
13
|
static readonly aliases: string[];
|
|
14
14
|
static readonly deprecateAliases = true;
|
|
15
15
|
static readonly flags: {
|
|
16
|
-
label: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
|
+
label: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
17
17
|
};
|
|
18
18
|
run(): Promise<PlatformEventGenerateResult>;
|
|
19
19
|
}
|
|
@@ -1,27 +1,41 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2021, 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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const messages =
|
|
17
|
-
class PlatformEventGenerate extends
|
|
7
|
+
import { fileURLToPath } from 'node:url';
|
|
8
|
+
import { dirname } from 'node:path';
|
|
9
|
+
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
10
|
+
import { Messages } from '@salesforce/core';
|
|
11
|
+
import { apiNamePrompt, descriptionPrompt, directoryPrompt, pluralPrompt } from '../../../shared/prompts/prompts.js';
|
|
12
|
+
import { writeObjectFile } from '../../../shared/fs.js';
|
|
13
|
+
import { labelValidation } from '../../../shared/flags.js';
|
|
14
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
15
|
+
const messages = Messages.loadMessages('@salesforce/plugin-sobject', 'generate.event');
|
|
16
|
+
export default class PlatformEventGenerate extends SfCommand {
|
|
17
|
+
static summary = messages.getMessage('summary');
|
|
18
|
+
static description = messages.getMessage('description');
|
|
19
|
+
static examples = messages.getMessages('examples');
|
|
20
|
+
static requiresProject = true;
|
|
21
|
+
static enableJsonFlag = false;
|
|
22
|
+
static aliases = ['generate:metadata:platformevent'];
|
|
23
|
+
static deprecateAliases = true;
|
|
24
|
+
static flags = {
|
|
25
|
+
label: Flags.string({
|
|
26
|
+
char: 'l',
|
|
27
|
+
summary: messages.getMessage('flags.label.summary'),
|
|
28
|
+
required: true,
|
|
29
|
+
parse: async (label) => labelValidation(label),
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
18
32
|
async run() {
|
|
19
|
-
const { flags } = await this.parse(
|
|
33
|
+
const { flags } = await this.parse(PlatformEventGenerate);
|
|
20
34
|
const responses = await this.prompt([
|
|
21
|
-
await
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
35
|
+
await directoryPrompt(this.project.getPackageDirectories()),
|
|
36
|
+
pluralPrompt(flags.label),
|
|
37
|
+
apiNamePrompt(flags.label, 'PlatformEvent'),
|
|
38
|
+
descriptionPrompt,
|
|
25
39
|
{
|
|
26
40
|
type: 'list',
|
|
27
41
|
message: messages.getMessage('prompts.publishBehavior'),
|
|
@@ -37,25 +51,8 @@ class PlatformEventGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
37
51
|
label: flags.label,
|
|
38
52
|
};
|
|
39
53
|
this.styledJSON(objectToWrite);
|
|
40
|
-
const writePath = await
|
|
54
|
+
const writePath = await writeObjectFile(directory, objectToWrite);
|
|
41
55
|
return { object: objectToWrite, path: writePath };
|
|
42
56
|
}
|
|
43
57
|
}
|
|
44
|
-
_a = PlatformEventGenerate;
|
|
45
|
-
PlatformEventGenerate.summary = messages.getMessage('summary');
|
|
46
|
-
PlatformEventGenerate.description = messages.getMessage('description');
|
|
47
|
-
PlatformEventGenerate.examples = messages.getMessages('examples');
|
|
48
|
-
PlatformEventGenerate.requiresProject = true;
|
|
49
|
-
PlatformEventGenerate.enableJsonFlag = false;
|
|
50
|
-
PlatformEventGenerate.aliases = ['generate:metadata:platformevent'];
|
|
51
|
-
PlatformEventGenerate.deprecateAliases = true;
|
|
52
|
-
PlatformEventGenerate.flags = {
|
|
53
|
-
label: sf_plugins_core_1.Flags.string({
|
|
54
|
-
char: 'l',
|
|
55
|
-
summary: messages.getMessage('flags.label.summary'),
|
|
56
|
-
required: true,
|
|
57
|
-
parse: async (label) => (0, flags_1.labelValidation)(label),
|
|
58
|
-
}),
|
|
59
|
-
};
|
|
60
|
-
exports.default = PlatformEventGenerate;
|
|
61
58
|
//# sourceMappingURL=platformevent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformevent.js","sourceRoot":"","sources":["../../../../src/commands/schema/generate/platformevent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platformevent.js","sourceRoot":"","sources":["../../../../src/commands/schema/generate/platformevent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAC;AAOvF,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,SAAsC;IAChF,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAU,eAAe,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,MAAM,CAAU,OAAO,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC9D,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC;IACxC,MAAM,CAAU,KAAK,GAAG;QAC7B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;YACnD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;SAC/C,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAE1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAgD;YACjF,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC3D,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;YACzB,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC;YAC3C,iBAAiB;YACjB;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,yBAAyB,CAAC;gBACvD,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;aACtD;SACF,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,SAAS,CAAC;QAElD,MAAM,aAAa,GAA0C;YAC3D,GAAG,aAAa;YAChB,gBAAgB,EAAE,UAAU;YAC5B,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,aAAwB,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAClE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
-
import { SaveableCustomObject } from '../../../shared/types';
|
|
2
|
+
import { SaveableCustomObject } from '../../../shared/types.js';
|
|
3
3
|
export type CustomObjectGenerateResult = {
|
|
4
4
|
object: SaveableCustomObject;
|
|
5
5
|
path: string;
|
|
@@ -13,8 +13,8 @@ export default class ObjectGenerate extends SfCommand<CustomObjectGenerateResult
|
|
|
13
13
|
static readonly aliases: string[];
|
|
14
14
|
static readonly deprecateAliases = true;
|
|
15
15
|
static readonly flags: {
|
|
16
|
-
label: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
17
|
-
'use-default-features': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
label: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
17
|
+
'use-default-features': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
18
|
};
|
|
19
19
|
run(): Promise<CustomObjectGenerateResult>;
|
|
20
20
|
}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
1
|
/*
|
|
5
2
|
* Copyright (c) 2021, 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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
import { dirname } from 'node:path';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
10
|
+
import { Messages } from '@salesforce/core';
|
|
11
|
+
import { sentenceCase } from 'change-case';
|
|
12
|
+
import { descriptionPrompt, directoryPrompt, pluralPrompt, apiNamePrompt, namePrompts, } from '../../../shared/prompts/prompts.js';
|
|
13
|
+
import { writeObjectFile } from '../../../shared/fs.js';
|
|
14
|
+
import { labelValidation } from '../../../shared/flags.js';
|
|
15
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
16
|
+
const messages = Messages.loadMessages('@salesforce/plugin-sobject', 'generate.object');
|
|
19
17
|
const defaultFeatures = {
|
|
20
18
|
enableHistory: true,
|
|
21
19
|
enableActivities: true,
|
|
@@ -26,20 +24,40 @@ const defaultFeatures = {
|
|
|
26
24
|
enableSharing: true,
|
|
27
25
|
enableStreamingApi: true,
|
|
28
26
|
};
|
|
29
|
-
class ObjectGenerate extends
|
|
27
|
+
export default class ObjectGenerate extends SfCommand {
|
|
28
|
+
static summary = messages.getMessage('summary');
|
|
29
|
+
static description = messages.getMessage('description');
|
|
30
|
+
static examples = messages.getMessages('examples');
|
|
31
|
+
static requiresProject = true;
|
|
32
|
+
static enableJsonFlag = false;
|
|
33
|
+
static aliases = ['generate:metadata:sobject'];
|
|
34
|
+
static deprecateAliases = true;
|
|
35
|
+
static flags = {
|
|
36
|
+
label: Flags.string({
|
|
37
|
+
char: 'l',
|
|
38
|
+
summary: messages.getMessage('flags.label.summary'),
|
|
39
|
+
required: true,
|
|
40
|
+
parse: async (label) => labelValidation(label),
|
|
41
|
+
}),
|
|
42
|
+
'use-default-features': Flags.boolean({
|
|
43
|
+
char: 'f',
|
|
44
|
+
summary: messages.getMessage('flags.use-default-features.summary'),
|
|
45
|
+
description: messages.getMessage('flags.use-default-features.description'),
|
|
46
|
+
}),
|
|
47
|
+
};
|
|
30
48
|
async run() {
|
|
31
|
-
const { flags } = await this.parse(
|
|
49
|
+
const { flags } = await this.parse(ObjectGenerate);
|
|
32
50
|
const responses = await this.prompt([
|
|
33
|
-
await
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
...
|
|
51
|
+
await directoryPrompt(this.project.getPackageDirectories()),
|
|
52
|
+
pluralPrompt(flags.label),
|
|
53
|
+
apiNamePrompt(flags.label, 'CustomObject'),
|
|
54
|
+
descriptionPrompt,
|
|
55
|
+
...namePrompts(flags.label),
|
|
38
56
|
// transform the default features into confirm prompts
|
|
39
57
|
...Object.keys(defaultFeatures).map((name) => ({
|
|
40
58
|
type: 'confirm',
|
|
41
59
|
name,
|
|
42
|
-
message:
|
|
60
|
+
message: sentenceCase(name).replace('Api', 'API'),
|
|
43
61
|
})),
|
|
44
62
|
{
|
|
45
63
|
type: 'list',
|
|
@@ -62,34 +80,12 @@ class ObjectGenerate extends sf_plugins_core_1.SfCommand {
|
|
|
62
80
|
label: flags.label,
|
|
63
81
|
};
|
|
64
82
|
this.styledJSON(resultsObject);
|
|
65
|
-
const writePath = await
|
|
83
|
+
const writePath = await writeObjectFile(directory, resultsObject);
|
|
66
84
|
this.logSuccess(messages.getMessage('success', [writePath]));
|
|
67
|
-
this.info(messages.getMessage('success.field', [
|
|
85
|
+
this.info(messages.getMessage('success.field', [dirname(writePath)]));
|
|
68
86
|
this.log();
|
|
69
87
|
this.info(messages.getMessage('success.advice'));
|
|
70
88
|
return { object: resultsObject, path: writePath };
|
|
71
89
|
}
|
|
72
90
|
}
|
|
73
|
-
_a = ObjectGenerate;
|
|
74
|
-
ObjectGenerate.summary = messages.getMessage('summary');
|
|
75
|
-
ObjectGenerate.description = messages.getMessage('description');
|
|
76
|
-
ObjectGenerate.examples = messages.getMessages('examples');
|
|
77
|
-
ObjectGenerate.requiresProject = true;
|
|
78
|
-
ObjectGenerate.enableJsonFlag = false;
|
|
79
|
-
ObjectGenerate.aliases = ['generate:metadata:sobject'];
|
|
80
|
-
ObjectGenerate.deprecateAliases = true;
|
|
81
|
-
ObjectGenerate.flags = {
|
|
82
|
-
label: sf_plugins_core_1.Flags.string({
|
|
83
|
-
char: 'l',
|
|
84
|
-
summary: messages.getMessage('flags.label.summary'),
|
|
85
|
-
required: true,
|
|
86
|
-
parse: async (label) => (0, flags_1.labelValidation)(label),
|
|
87
|
-
}),
|
|
88
|
-
'use-default-features': sf_plugins_core_1.Flags.boolean({
|
|
89
|
-
char: 'f',
|
|
90
|
-
summary: messages.getMessage('flags.use-default-features.summary'),
|
|
91
|
-
description: messages.getMessage('flags.use-default-features.description'),
|
|
92
|
-
}),
|
|
93
|
-
};
|
|
94
|
-
exports.default = ObjectGenerate;
|
|
95
91
|
//# sourceMappingURL=sobject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sobject.js","sourceRoot":"","sources":["../../../../src/commands/schema/generate/sobject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sobject.js","sourceRoot":"","sources":["../../../../src/commands/schema/generate/sobject.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,CAAC;AAOxF,MAAM,eAAe,GAAkC;IACrD,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAqC;IACxE,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAU,eAAe,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,MAAM,CAAU,OAAO,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACxD,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC;IACxC,MAAM,CAAU,KAAK,GAAG;QAC7B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;YACnD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;SAC/C,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oCAAoC,CAAC;YAClE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wCAAwC,CAAC;SAC3E,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CACjC;YACE,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC3D,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;YACzB,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC;YAC1C,iBAAiB;YACjB,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;YAC3B,sDAAsD;YACtD,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7C,IAAI,EAAE,SAAS;gBACf,IAAI;gBACJ,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aAClD,CAAC,CAAC;YACH;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC;gBACzC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;gBACpD,IAAI,EAAE,cAAc;aACrB;SACF,EACD,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CACrD,CAAC;QAEF,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,CAAC;QAElG,MAAM,aAAa,GAAG;YACpB,GAAG,YAAY;YACf,SAAS,EAAE;gBACT,GAAG;oBACD,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,cAAc;iBACtB;gBACD,GAAG,CAAC,SAAS,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzF;YACD,gBAAgB,EAAE,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,aAAwB,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC"}
|
|
@@ -12,9 +12,9 @@ export default class GenerateTab extends SfCommand<GenerateTabResult> {
|
|
|
12
12
|
static readonly aliases: string[];
|
|
13
13
|
static readonly deprecateAliases = true;
|
|
14
14
|
static readonly flags: {
|
|
15
|
-
object: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
|
-
directory: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
17
|
-
icon: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
15
|
+
object: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
16
|
+
directory: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
17
|
+
icon: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
18
18
|
};
|
|
19
19
|
run(): Promise<GenerateTabResult>;
|
|
20
20
|
}
|