@salesforce/plugin-templates 56.8.2 → 56.9.1

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 CHANGED
@@ -175,7 +175,7 @@ FLAG DESCRIPTIONS
175
175
  directory.
176
176
  ```
177
177
 
178
- _See code: [src/commands/template/generate/analytics/template.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/analytics/template.ts)_
178
+ _See code: [src/commands/template/generate/analytics/template.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/analytics/template.ts)_
179
179
 
180
180
  ## `sf template generate apex class`
181
181
 
@@ -235,7 +235,7 @@ FLAG DESCRIPTIONS
235
235
  Supplied parameter values or default values are filled into a copy of the template.
236
236
  ```
237
237
 
238
- _See code: [src/commands/template/generate/apex/class.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/apex/class.ts)_
238
+ _See code: [src/commands/template/generate/apex/class.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/apex/class.ts)_
239
239
 
240
240
  ## `sf template generate apex trigger`
241
241
 
@@ -305,7 +305,7 @@ FLAG DESCRIPTIONS
305
305
  Supplied parameter values or default values are filled into a copy of the template.
306
306
  ```
307
307
 
308
- _See code: [src/commands/template/generate/apex/trigger.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/apex/trigger.ts)_
308
+ _See code: [src/commands/template/generate/apex/trigger.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/apex/trigger.ts)_
309
309
 
310
310
  ## `sf template generate digital-experience site`
311
311
 
@@ -313,8 +313,8 @@ Generate an Experience Cloud site.
313
313
 
314
314
  ```
315
315
  USAGE
316
- $ sf template generate digital-experience site -n <value> -t BuildYourOwnLWR [--json] [--flags-dir <value>] [-o <value>] [-p <value>] [-e
317
- <value>] [-d <value>]
316
+ $ sf template generate digital-experience site -n <value> -t Build Your Own (LWR) [--json] [--flags-dir <value>] [-o <value>] [-p <value>]
317
+ [-e <value>] [-d <value>]
318
318
 
319
319
  FLAGS
320
320
  -d, --output-dir=<value> Directory to generate the site files in.
@@ -323,8 +323,8 @@ FLAGS
323
323
  -n, --name=<value> (required) Name of the Experience Cloud site to generate.
324
324
  -o, --target-org=<value> Username or alias of the target org.
325
325
  -p, --url-path-prefix=<value> URL path prefix for the site; must contain only alphanumeric characters.
326
- -t, --template=<option> (required) Template to use when generating the site.
327
- <options: BuildYourOwnLWR>
326
+ -t, --template-name=<option> (required) Template to use when generating the site.
327
+ <options: Build Your Own (LWR)>
328
328
 
329
329
  GLOBAL FLAGS
330
330
  --flags-dir=<value> Import flag values from a directory.
@@ -333,19 +333,23 @@ GLOBAL FLAGS
333
333
  DESCRIPTION
334
334
  Generate an Experience Cloud site.
335
335
 
336
- Creates an Experience Cloud site with the specified template, name, and URL path prefix. The site includes all
337
- necessary metadata files, including DigitalExperienceConfig, DigitalExperienceBundle, Network, and CustomSite.
336
+ Creates the metadata of an Experience Cloud site with the specified template, name, and URL path prefix. The output
337
+ includes all the necessary metadata files, including DigitalExperienceConfig, DigitalExperienceBundle, Network, and
338
+ CustomSite.
339
+ Unlike `sf community create`, which builds the site directly in the org, this command generates only the local
340
+ metadata.
338
341
 
339
342
  EXAMPLES
340
- Generate an Experience Cloud site using the BuildYourOwnLWR template. The site is called "mysite" and has the URL
341
- path prefix "mysite":
343
+ Generate an Experience Cloud site using the Build Your Own (LWR) template. The site is called "mysite" and has the
344
+ URL path prefix "mysite":
342
345
 
343
- $ sf template generate digital-experience site --template BuildYourOwnLWR --name mysite --url-path-prefix mysite
346
+ $ sf template generate digital-experience site --template-name "Build Your Own (LWR)" --name mysite \
347
+ --url-path-prefix mysite
344
348
 
345
349
  Generate an Experience Cloud site like the last example, but generate the files into the specified output directory:
346
350
 
347
- $ sf template generate digital-experience site --template BuildYourOwnLWR --name mysite --url-path-prefix mysite \
348
- --output-dir force-app/main/default
351
+ $ sf template generate digital-experience site --template-name "Build Your Own (LWR)" --name mysite \
352
+ --url-path-prefix mysite --output-dir force-app/main/default
349
353
 
350
354
  FLAG DESCRIPTIONS
351
355
  -d, --output-dir=<value> Directory to generate the site files in.
@@ -355,7 +359,7 @@ FLAG DESCRIPTIONS
355
359
  project, defaults to the current directory.
356
360
  ```
357
361
 
358
- _See code: [src/commands/template/generate/digital-experience/site.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/digital-experience/site.ts)_
362
+ _See code: [src/commands/template/generate/digital-experience/site.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/digital-experience/site.ts)_
359
363
 
360
364
  ## `sf template generate flexipage`
361
365
 
@@ -437,7 +441,7 @@ FLAG DESCRIPTIONS
437
441
  'Custom_Object__c'. This sets the `sobjectType` field in the FlexiPage metadata.
438
442
  ```
439
443
 
440
- _See code: [src/commands/template/generate/flexipage/index.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/flexipage/index.ts)_
444
+ _See code: [src/commands/template/generate/flexipage/index.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/flexipage/index.ts)_
441
445
 
442
446
  ## `sf template generate lightning app`
443
447
 
@@ -493,7 +497,7 @@ FLAG DESCRIPTIONS
493
497
  Supplied parameter values or default values are filled into a copy of the template.
494
498
  ```
495
499
 
496
- _See code: [src/commands/template/generate/lightning/app.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/lightning/app.ts)_
500
+ _See code: [src/commands/template/generate/lightning/app.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/lightning/app.ts)_
497
501
 
498
502
  ## `sf template generate lightning component`
499
503
 
@@ -563,7 +567,7 @@ FLAG DESCRIPTIONS
563
567
  Supplied parameter values or default values are filled into a copy of the template.
564
568
  ```
565
569
 
566
- _See code: [src/commands/template/generate/lightning/component.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/lightning/component.ts)_
570
+ _See code: [src/commands/template/generate/lightning/component.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/lightning/component.ts)_
567
571
 
568
572
  ## `sf template generate lightning event`
569
573
 
@@ -619,7 +623,7 @@ FLAG DESCRIPTIONS
619
623
  Supplied parameter values or default values are filled into a copy of the template.
620
624
  ```
621
625
 
622
- _See code: [src/commands/template/generate/lightning/event.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/lightning/event.ts)_
626
+ _See code: [src/commands/template/generate/lightning/event.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/lightning/event.ts)_
623
627
 
624
628
  ## `sf template generate lightning interface`
625
629
 
@@ -675,7 +679,7 @@ FLAG DESCRIPTIONS
675
679
  Supplied parameter values or default values are filled into a copy of the template.
676
680
  ```
677
681
 
678
- _See code: [src/commands/template/generate/lightning/interface.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/lightning/interface.ts)_
682
+ _See code: [src/commands/template/generate/lightning/interface.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/lightning/interface.ts)_
679
683
 
680
684
  ## `sf template generate lightning test`
681
685
 
@@ -731,7 +735,7 @@ FLAG DESCRIPTIONS
731
735
  Supplied parameter values or default values are filled into a copy of the template.
732
736
  ```
733
737
 
734
- _See code: [src/commands/template/generate/lightning/test.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/lightning/test.ts)_
738
+ _See code: [src/commands/template/generate/lightning/test.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/lightning/test.ts)_
735
739
 
736
740
  ## `sf template generate project`
737
741
 
@@ -837,7 +841,7 @@ FLAG DESCRIPTIONS
837
841
  Override the api version used for api requests made by this command
838
842
  ```
839
843
 
840
- _See code: [src/commands/template/generate/project/index.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/project/index.ts)_
844
+ _See code: [src/commands/template/generate/project/index.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/project/index.ts)_
841
845
 
842
846
  ## `sf template generate static-resource`
843
847
 
@@ -900,7 +904,7 @@ FLAG DESCRIPTIONS
900
904
  etc.
901
905
  ```
902
906
 
903
- _See code: [src/commands/template/generate/static-resource/index.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/static-resource/index.ts)_
907
+ _See code: [src/commands/template/generate/static-resource/index.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/static-resource/index.ts)_
904
908
 
905
909
  ## `sf template generate visualforce component`
906
910
 
@@ -957,7 +961,7 @@ FLAG DESCRIPTIONS
957
961
  Supplied parameter values or default values are filled into a copy of the template.
958
962
  ```
959
963
 
960
- _See code: [src/commands/template/generate/visualforce/component.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/visualforce/component.ts)_
964
+ _See code: [src/commands/template/generate/visualforce/component.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/visualforce/component.ts)_
961
965
 
962
966
  ## `sf template generate visualforce page`
963
967
 
@@ -1008,6 +1012,6 @@ FLAG DESCRIPTIONS
1008
1012
  The name can be up to 40 characters and must start with a letter.
1009
1013
  ```
1010
1014
 
1011
- _See code: [src/commands/template/generate/visualforce/page.ts](https://github.com/salesforcecli/plugin-templates/blob/56.8.2/src/commands/template/generate/visualforce/page.ts)_
1015
+ _See code: [src/commands/template/generate/visualforce/page.ts](https://github.com/salesforcecli/plugin-templates/blob/56.9.1/src/commands/template/generate/visualforce/page.ts)_
1012
1016
 
1013
1017
  <!-- commandsstop -->
@@ -8,7 +8,7 @@ export default class GenerateSite extends SfCommand<CreateOutput> {
8
8
  static readonly flags: {
9
9
  'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
10
10
  name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
- template: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'template-name': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
12
  'url-path-prefix': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
13
  'admin-email': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
14
  'output-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -11,6 +11,13 @@ import { Messages, SfProject } from '@salesforce/core';
11
11
  import { getCustomTemplates, runGenerator } from '../../../../utils/templateCommand.js';
12
12
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
13
13
  const messages = Messages.loadMessages('@salesforce/plugin-templates', 'digitalExperienceSite');
14
+ /**
15
+ * Strips spaces and non-alphanumeric characters so display names map to template directories
16
+ * (e.g. "Build Your Own (LWR)" → "BuildYourOwnLWR").
17
+ */
18
+ function normalizeTemplateName(name) {
19
+ return name.replace(/[^a-zA-Z0-9]/g, '');
20
+ }
14
21
  export default class GenerateSite extends SfCommand {
15
22
  static state = 'preview';
16
23
  static summary = messages.getMessage('summary');
@@ -23,10 +30,10 @@ export default class GenerateSite extends SfCommand {
23
30
  summary: messages.getMessage('flags.name.summary'),
24
31
  required: true,
25
32
  }),
26
- template: Flags.string({
33
+ 'template-name': Flags.string({
27
34
  char: 't',
28
- summary: messages.getMessage('flags.template.summary'),
29
- options: ['BuildYourOwnLWR'],
35
+ summary: messages.getMessage('flags.template-name.summary'),
36
+ options: ['Build Your Own (LWR)'],
30
37
  required: true,
31
38
  }),
32
39
  'url-path-prefix': Flags.string({
@@ -75,7 +82,7 @@ export default class GenerateSite extends SfCommand {
75
82
  sitename: flags.name,
76
83
  urlpathprefix: flags['url-path-prefix'],
77
84
  adminemail: adminEmail,
78
- template: flags.template,
85
+ template: normalizeTemplateName(flags['template-name']),
79
86
  outputdir: outputDir,
80
87
  };
81
88
  return runGenerator({
@@ -1 +1 @@
1
- {"version":3,"file":"site.js","sourceRoot":"","sources":["../../../../../src/commands/template/generate/digital-experience/site.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site.js","sourceRoot":"","sources":["../../../../../src/commands/template/generate/digital-experience/site.ts"],"names":[],"mappings":"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"}
@@ -4,31 +4,32 @@ Generate an Experience Cloud site.
4
4
 
5
5
  # description
6
6
 
7
- Creates an Experience Cloud site with the specified template, name, and URL path prefix. The site includes all necessary metadata files, including DigitalExperienceConfig, DigitalExperienceBundle, Network, and CustomSite.
7
+ Creates the metadata of an Experience Cloud site with the specified template, name, and URL path prefix. The output includes all the necessary metadata files, including DigitalExperienceConfig, DigitalExperienceBundle, Network, and CustomSite.
8
+ Unlike `sf community create`, which builds the site directly in the org, this command generates only the local metadata.
8
9
 
9
10
  # examples
10
11
 
11
- - Generate an Experience Cloud site using the BuildYourOwnLWR template. The site is called "mysite" and has the URL path prefix "mysite":
12
+ - Generate an Experience Cloud site using the Build Your Own (LWR) template. The site is called "mysite" and has the URL path prefix "mysite":
12
13
 
13
- <%= config.bin %> <%= command.id %> --template BuildYourOwnLWR --name mysite --url-path-prefix mysite
14
+ <%= config.bin %> <%= command.id %> --template-name "Build Your Own (LWR)" --name mysite --url-path-prefix mysite
14
15
 
15
16
  - Generate an Experience Cloud site like the last example, but generate the files into the specified output directory:
16
17
 
17
- <%= config.bin %> <%= command.id %> --template BuildYourOwnLWR --name mysite --url-path-prefix mysite --output-dir force-app/main/default
18
+ <%= config.bin %> <%= command.id %> --template-name "Build Your Own (LWR)" --name mysite --url-path-prefix mysite --output-dir force-app/main/default
18
19
 
19
20
  # flags.name.summary
20
21
 
21
22
  Name of the Experience Cloud site to generate.
22
23
 
23
- # flags.template.summary
24
+ # flags.template-name.summary
24
25
 
25
26
  Template to use when generating the site.
26
27
 
27
- # flags.template.description
28
+ # flags.template-name.description
28
29
 
29
30
  Supported templates:
30
31
 
31
- - BuildYourOwnLWR - Creates blazing-fast digital experiences, such as websites, microsites, and portals, using the Lightning Web Components programming model. Powered by Lightning Web Runtime (LWR), this customizable template delivers unparalleled site performance. For additional details, see this Salesforce Help topic: https://help.salesforce.com/s/articleView?id=experience.rss_build_your_own_lwr.htm.
32
+ - Build Your Own (LWR) - Creates blazing-fast digital experiences, such as websites, microsites, and portals, using the Lightning Web Components programming model. Powered by Lightning Web Runtime (LWR), this customizable template delivers unparalleled site performance. For additional details, see this Salesforce Help topic: https://help.salesforce.com/s/articleView?id=experience.rss_build_your_own_lwr.htm.
32
33
 
33
34
  # flags.url-path-prefix.summary
34
35
 
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "commands": {
3
- "template:generate:analytics:template": {
3
+ "template:generate:apex:class": {
4
4
  "aliases": [
5
- "force:analytics:template:create",
6
- "analytics:generate:template"
5
+ "force:apex:class:create",
6
+ "apex:generate:class"
7
7
  ],
8
8
  "args": {},
9
9
  "deprecateAliases": true,
10
- "description": "The metadata files associated with the Analytics template must be contained in a parent directory called \"waveTemplates\" in your package directory. Either run this command from an existing directory of this name, or use the --output-dir flag to generate one or point to an existing one.",
10
+ "description": "Generates the Apex *.cls file and associated metadata file. These files must be contained in a parent directory called \"classes\" in your package directory. Either run this command from an existing directory of this name, or use the --output-dir flag to generate one or point to an existing one.",
11
11
  "examples": [
12
- "Generate the metadata files for a simple Analytics template file called myTemplate in the force-app/main/default/waveTemplates directory:\n<%= config.bin %> <%= command.id %> --name myTemplate --output-dir force-app/main/default/waveTemplates"
12
+ "Generate two metadata files associated with the MyClass Apex class (MyClass.cls and MyClass.cls-meta.xml) in the current directory:\n<%= config.bin %> <%= command.id %> --name MyClass",
13
+ "Similar to previous example, but generates the files in the \"force-app/main/default/classes\" directory:\n<%= config.bin %> <%= command.id %> --name MyClass --output-dir force-app/main/default/classes"
13
14
  ],
14
15
  "flags": {
15
16
  "json": {
@@ -27,6 +28,37 @@
27
28
  "multiple": false,
28
29
  "type": "option"
29
30
  },
31
+ "name": {
32
+ "aliases": [
33
+ "classname"
34
+ ],
35
+ "char": "n",
36
+ "deprecateAliases": true,
37
+ "description": "The name can be up to 40 characters and must start with a letter.",
38
+ "name": "name",
39
+ "required": true,
40
+ "summary": "Name of the generated Apex class.",
41
+ "hasDynamicHelp": false,
42
+ "multiple": false,
43
+ "type": "option"
44
+ },
45
+ "template": {
46
+ "char": "t",
47
+ "description": "Supplied parameter values or default values are filled into a copy of the template.",
48
+ "name": "template",
49
+ "summary": "Template to use for file creation.",
50
+ "default": "DefaultApexClass",
51
+ "hasDynamicHelp": false,
52
+ "multiple": false,
53
+ "options": [
54
+ "ApexException",
55
+ "ApexUnitTest",
56
+ "BasicUnitTest",
57
+ "DefaultApexClass",
58
+ "InboundEmailService"
59
+ ],
60
+ "type": "option"
61
+ },
30
62
  "output-dir": {
31
63
  "aliases": [
32
64
  "outputdir"
@@ -52,19 +84,6 @@
52
84
  "multiple": false,
53
85
  "type": "option"
54
86
  },
55
- "name": {
56
- "aliases": [
57
- "templatename"
58
- ],
59
- "char": "n",
60
- "deprecateAliases": true,
61
- "name": "name",
62
- "required": true,
63
- "summary": "Name of the Analytics template.",
64
- "hasDynamicHelp": false,
65
- "multiple": false,
66
- "type": "option"
67
- },
68
87
  "loglevel": {
69
88
  "deprecated": {
70
89
  "message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
@@ -78,12 +97,12 @@
78
97
  },
79
98
  "hasDynamicHelp": false,
80
99
  "hiddenAliases": [],
81
- "id": "template:generate:analytics:template",
100
+ "id": "template:generate:apex:class",
82
101
  "pluginAlias": "@salesforce/plugin-templates",
83
102
  "pluginName": "@salesforce/plugin-templates",
84
103
  "pluginType": "core",
85
104
  "strict": true,
86
- "summary": "Generate a simple Analytics template.",
105
+ "summary": "Generate an Apex class.",
87
106
  "enableJsonFlag": true,
88
107
  "isESM": true,
89
108
  "relativePath": [
@@ -91,75 +110,80 @@
91
110
  "commands",
92
111
  "template",
93
112
  "generate",
94
- "analytics",
95
- "template.js"
113
+ "apex",
114
+ "class.js"
96
115
  ],
97
116
  "aliasPermutations": [
98
- "force:analytics:template:create",
99
- "analytics:force:template:create",
100
- "analytics:template:force:create",
101
- "analytics:template:create:force",
102
- "force:template:analytics:create",
103
- "template:force:analytics:create",
104
- "template:analytics:force:create",
105
- "template:analytics:create:force",
106
- "force:template:create:analytics",
107
- "template:force:create:analytics",
108
- "template:create:force:analytics",
109
- "template:create:analytics:force",
110
- "force:analytics:create:template",
111
- "analytics:force:create:template",
112
- "analytics:create:force:template",
113
- "analytics:create:template:force",
114
- "force:create:analytics:template",
115
- "create:force:analytics:template",
116
- "create:analytics:force:template",
117
- "create:analytics:template:force",
118
- "force:create:template:analytics",
119
- "create:force:template:analytics",
120
- "create:template:force:analytics",
121
- "create:template:analytics:force",
122
- "analytics:generate:template",
123
- "generate:analytics:template",
124
- "generate:template:analytics",
125
- "analytics:template:generate",
126
- "template:analytics:generate",
127
- "template:generate:analytics"
117
+ "force:apex:class:create",
118
+ "apex:force:class:create",
119
+ "apex:class:force:create",
120
+ "apex:class:create:force",
121
+ "force:class:apex:create",
122
+ "class:force:apex:create",
123
+ "class:apex:force:create",
124
+ "class:apex:create:force",
125
+ "force:class:create:apex",
126
+ "class:force:create:apex",
127
+ "class:create:force:apex",
128
+ "class:create:apex:force",
129
+ "force:apex:create:class",
130
+ "apex:force:create:class",
131
+ "apex:create:force:class",
132
+ "apex:create:class:force",
133
+ "force:create:apex:class",
134
+ "create:force:apex:class",
135
+ "create:apex:force:class",
136
+ "create:apex:class:force",
137
+ "force:create:class:apex",
138
+ "create:force:class:apex",
139
+ "create:class:force:apex",
140
+ "create:class:apex:force",
141
+ "apex:generate:class",
142
+ "generate:apex:class",
143
+ "generate:class:apex",
144
+ "apex:class:generate",
145
+ "class:apex:generate",
146
+ "class:generate:apex"
128
147
  ],
129
148
  "permutations": [
130
- "template:generate:analytics:template",
131
- "generate:template:analytics:template",
132
- "generate:analytics:template:template",
133
- "generate:analytics:template:template",
134
- "template:analytics:generate:template",
135
- "analytics:template:generate:template",
136
- "analytics:generate:template:template",
137
- "analytics:generate:template:template",
138
- "template:analytics:template:generate",
139
- "analytics:template:template:generate",
140
- "analytics:template:template:generate",
141
- "analytics:template:generate:template",
142
- "template:generate:template:analytics",
143
- "generate:template:template:analytics",
144
- "generate:template:template:analytics",
145
- "generate:template:analytics:template",
146
- "template:template:generate:analytics",
147
- "template:template:generate:analytics",
148
- "template:generate:template:analytics",
149
- "template:generate:analytics:template",
150
- "template:template:analytics:generate",
151
- "template:template:analytics:generate",
152
- "template:analytics:template:generate",
153
- "template:analytics:generate:template"
149
+ "template:generate:apex:class",
150
+ "generate:template:apex:class",
151
+ "generate:apex:template:class",
152
+ "generate:apex:class:template",
153
+ "template:apex:generate:class",
154
+ "apex:template:generate:class",
155
+ "apex:generate:template:class",
156
+ "apex:generate:class:template",
157
+ "template:apex:class:generate",
158
+ "apex:template:class:generate",
159
+ "apex:class:template:generate",
160
+ "apex:class:generate:template",
161
+ "template:generate:class:apex",
162
+ "generate:template:class:apex",
163
+ "generate:class:template:apex",
164
+ "generate:class:apex:template",
165
+ "template:class:generate:apex",
166
+ "class:template:generate:apex",
167
+ "class:generate:template:apex",
168
+ "class:generate:apex:template",
169
+ "template:class:apex:generate",
170
+ "class:template:apex:generate",
171
+ "class:apex:template:generate",
172
+ "class:apex:generate:template"
154
173
  ]
155
174
  },
156
- "template:generate:digital-experience:site": {
157
- "aliases": [],
175
+ "template:generate:apex:trigger": {
176
+ "aliases": [
177
+ "force:apex:trigger:create",
178
+ "apex:generate:trigger"
179
+ ],
158
180
  "args": {},
159
- "description": "Creates an Experience Cloud site with the specified template, name, and URL path prefix. The site includes all necessary metadata files, including DigitalExperienceConfig, DigitalExperienceBundle, Network, and CustomSite.",
181
+ "deprecateAliases": true,
182
+ "description": "Generates the Apex trigger *.trigger file and associated metadata file. These files must be contained in a parent directory called \"triggers\" in your package directory. Either run this command from an existing directory of this name, or use the --output-dir flag to generate one or point to an existing one.\n\nIf you don't specify the --sobject flag, the .trigger file contains the generic placeholder SOBJECT; replace it with the Salesforce object you want to generate a trigger for. If you don't specify --event, \"before insert\" is used.",
160
183
  "examples": [
161
- "Generate an Experience Cloud site using the BuildYourOwnLWR template. The site is called \"mysite\" and has the URL path prefix \"mysite\":\n<%= config.bin %> <%= command.id %> --template BuildYourOwnLWR --name mysite --url-path-prefix mysite",
162
- "Generate an Experience Cloud site like the last example, but generate the files into the specified output directory:\n<%= config.bin %> <%= command.id %> --template BuildYourOwnLWR --name mysite --url-path-prefix mysite --output-dir force-app/main/default"
184
+ "Generate two files associated with the MyTrigger Apex trigger (MyTrigger.trigger and MyTrigger.trigger-meta.xml) in the current directory:\n<%= config.bin %> <%= command.id %> --name MyTrigger",
185
+ "Similar to the previous example, but generate the files in the \"force-app/main/default/triggers\" directory:\n<%= config.bin %> <%= command.id %> --name MyTrigger --output-dir force-app/main/default/triggers",
186
+ "Generate files for a trigger that fires on the Account object before and after an insert:\n<%= config.bin %> <%= command.id %> --name MyTrigger --sobject Account --event \"before insert,after insert\""
163
187
  ],
164
188
  "flags": {
165
189
  "json": {
@@ -177,121 +201,187 @@
177
201
  "multiple": false,
178
202
  "type": "option"
179
203
  },
180
- "target-org": {
181
- "char": "o",
182
- "name": "target-org",
183
- "noCacheDefault": true,
184
- "summary": "Username or alias of the target org.",
185
- "hasDynamicHelp": true,
186
- "multiple": false,
187
- "type": "option"
188
- },
189
204
  "name": {
205
+ "aliases": [
206
+ "triggername"
207
+ ],
190
208
  "char": "n",
209
+ "deprecateAliases": true,
210
+ "description": "The name can be up to 40 characters and must start with a letter.",
191
211
  "name": "name",
192
212
  "required": true,
193
- "summary": "Name of the Experience Cloud site to generate.",
213
+ "summary": "Name of the generated Apex trigger",
194
214
  "hasDynamicHelp": false,
195
215
  "multiple": false,
196
216
  "type": "option"
197
217
  },
198
218
  "template": {
199
219
  "char": "t",
220
+ "description": "Supplied parameter values or default values are filled into a copy of the template.",
200
221
  "name": "template",
201
- "required": true,
202
- "summary": "Template to use when generating the site.",
222
+ "summary": "Template to use for file creation.",
223
+ "default": "ApexTrigger",
203
224
  "hasDynamicHelp": false,
204
225
  "multiple": false,
205
226
  "options": [
206
- "BuildYourOwnLWR"
227
+ "ApexTrigger"
207
228
  ],
208
229
  "type": "option"
209
230
  },
210
- "url-path-prefix": {
211
- "char": "p",
212
- "name": "url-path-prefix",
213
- "summary": "URL path prefix for the site; must contain only alphanumeric characters.",
214
- "default": "",
231
+ "output-dir": {
232
+ "aliases": [
233
+ "outputdir"
234
+ ],
235
+ "char": "d",
236
+ "deprecateAliases": true,
237
+ "description": "The location can be an absolute path or relative to the current working directory. The default is the current directory.",
238
+ "name": "output-dir",
239
+ "summary": "Directory for saving the created files.",
240
+ "default": ".",
215
241
  "hasDynamicHelp": false,
216
242
  "multiple": false,
217
243
  "type": "option"
218
244
  },
219
- "admin-email": {
220
- "char": "e",
221
- "name": "admin-email",
222
- "summary": "Email address for the site administrator. Defaults to the username of the currently authenticated user.",
245
+ "api-version": {
246
+ "aliases": [
247
+ "apiversion"
248
+ ],
249
+ "deprecateAliases": true,
250
+ "description": "Override the api version used for api requests made by this command",
251
+ "name": "api-version",
223
252
  "hasDynamicHelp": false,
224
253
  "multiple": false,
225
254
  "type": "option"
226
255
  },
227
- "output-dir": {
228
- "char": "d",
229
- "description": "The location can be an absolute path or relative to the current working directory. If not specified, the command reads your sfdx-project.json file and uses the default package directory. When running outside a Salesforce DX project, defaults to the current directory.",
230
- "name": "output-dir",
231
- "summary": "Directory to generate the site files in.",
256
+ "sobject": {
257
+ "char": "s",
258
+ "name": "sobject",
259
+ "summary": "Salesforce object to generate a trigger on.",
260
+ "default": "SOBJECT",
232
261
  "hasDynamicHelp": false,
233
262
  "multiple": false,
234
263
  "type": "option"
235
- }
236
- },
237
- "hasDynamicHelp": true,
238
- "hiddenAliases": [],
239
- "id": "template:generate:digital-experience:site",
240
- "pluginAlias": "@salesforce/plugin-templates",
241
- "pluginName": "@salesforce/plugin-templates",
242
- "pluginType": "core",
243
- "state": "preview",
244
- "strict": true,
245
- "summary": "Generate an Experience Cloud site.",
246
- "enableJsonFlag": true,
247
- "isESM": true,
248
- "relativePath": [
249
- "lib",
264
+ },
265
+ "event": {
266
+ "aliases": [
267
+ "triggerevents"
268
+ ],
269
+ "char": "e",
270
+ "deprecateAliases": true,
271
+ "name": "event",
272
+ "summary": "Events that fire the trigger.",
273
+ "default": [
274
+ "before insert"
275
+ ],
276
+ "delimiter": ",",
277
+ "hasDynamicHelp": false,
278
+ "multiple": true,
279
+ "options": [
280
+ "before insert",
281
+ "before update",
282
+ "before delete",
283
+ "after insert",
284
+ "after update",
285
+ "after delete",
286
+ "after undelete"
287
+ ],
288
+ "type": "option"
289
+ },
290
+ "loglevel": {
291
+ "deprecated": {
292
+ "message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
293
+ },
294
+ "hidden": true,
295
+ "name": "loglevel",
296
+ "hasDynamicHelp": false,
297
+ "multiple": false,
298
+ "type": "option"
299
+ }
300
+ },
301
+ "hasDynamicHelp": false,
302
+ "hiddenAliases": [],
303
+ "id": "template:generate:apex:trigger",
304
+ "pluginAlias": "@salesforce/plugin-templates",
305
+ "pluginName": "@salesforce/plugin-templates",
306
+ "pluginType": "core",
307
+ "strict": true,
308
+ "summary": "Generate an Apex trigger.",
309
+ "enableJsonFlag": true,
310
+ "isESM": true,
311
+ "relativePath": [
312
+ "lib",
250
313
  "commands",
251
314
  "template",
252
315
  "generate",
253
- "digital-experience",
254
- "site.js"
316
+ "apex",
317
+ "trigger.js"
318
+ ],
319
+ "aliasPermutations": [
320
+ "force:apex:trigger:create",
321
+ "apex:force:trigger:create",
322
+ "apex:trigger:force:create",
323
+ "apex:trigger:create:force",
324
+ "force:trigger:apex:create",
325
+ "trigger:force:apex:create",
326
+ "trigger:apex:force:create",
327
+ "trigger:apex:create:force",
328
+ "force:trigger:create:apex",
329
+ "trigger:force:create:apex",
330
+ "trigger:create:force:apex",
331
+ "trigger:create:apex:force",
332
+ "force:apex:create:trigger",
333
+ "apex:force:create:trigger",
334
+ "apex:create:force:trigger",
335
+ "apex:create:trigger:force",
336
+ "force:create:apex:trigger",
337
+ "create:force:apex:trigger",
338
+ "create:apex:force:trigger",
339
+ "create:apex:trigger:force",
340
+ "force:create:trigger:apex",
341
+ "create:force:trigger:apex",
342
+ "create:trigger:force:apex",
343
+ "create:trigger:apex:force",
344
+ "apex:generate:trigger",
345
+ "generate:apex:trigger",
346
+ "generate:trigger:apex",
347
+ "apex:trigger:generate",
348
+ "trigger:apex:generate",
349
+ "trigger:generate:apex"
255
350
  ],
256
- "aliasPermutations": [],
257
351
  "permutations": [
258
- "template:generate:digital-experience:site",
259
- "generate:template:digital-experience:site",
260
- "generate:digital-experience:template:site",
261
- "generate:digital-experience:site:template",
262
- "template:digital-experience:generate:site",
263
- "digital-experience:template:generate:site",
264
- "digital-experience:generate:template:site",
265
- "digital-experience:generate:site:template",
266
- "template:digital-experience:site:generate",
267
- "digital-experience:template:site:generate",
268
- "digital-experience:site:template:generate",
269
- "digital-experience:site:generate:template",
270
- "template:generate:site:digital-experience",
271
- "generate:template:site:digital-experience",
272
- "generate:site:template:digital-experience",
273
- "generate:site:digital-experience:template",
274
- "template:site:generate:digital-experience",
275
- "site:template:generate:digital-experience",
276
- "site:generate:template:digital-experience",
277
- "site:generate:digital-experience:template",
278
- "template:site:digital-experience:generate",
279
- "site:template:digital-experience:generate",
280
- "site:digital-experience:template:generate",
281
- "site:digital-experience:generate:template"
352
+ "template:generate:apex:trigger",
353
+ "generate:template:apex:trigger",
354
+ "generate:apex:template:trigger",
355
+ "generate:apex:trigger:template",
356
+ "template:apex:generate:trigger",
357
+ "apex:template:generate:trigger",
358
+ "apex:generate:template:trigger",
359
+ "apex:generate:trigger:template",
360
+ "template:apex:trigger:generate",
361
+ "apex:template:trigger:generate",
362
+ "apex:trigger:template:generate",
363
+ "apex:trigger:generate:template",
364
+ "template:generate:trigger:apex",
365
+ "generate:template:trigger:apex",
366
+ "generate:trigger:template:apex",
367
+ "generate:trigger:apex:template",
368
+ "template:trigger:generate:apex",
369
+ "trigger:template:generate:apex",
370
+ "trigger:generate:template:apex",
371
+ "trigger:generate:apex:template",
372
+ "template:trigger:apex:generate",
373
+ "trigger:template:apex:generate",
374
+ "trigger:apex:template:generate",
375
+ "trigger:apex:generate:template"
282
376
  ]
283
377
  },
284
- "template:generate:apex:class": {
285
- "aliases": [
286
- "force:apex:class:create",
287
- "apex:generate:class"
288
- ],
378
+ "template:generate:digital-experience:site": {
379
+ "aliases": [],
289
380
  "args": {},
290
- "deprecateAliases": true,
291
- "description": "Generates the Apex *.cls file and associated metadata file. These files must be contained in a parent directory called \"classes\" in your package directory. Either run this command from an existing directory of this name, or use the --output-dir flag to generate one or point to an existing one.",
381
+ "description": "Creates the metadata of an Experience Cloud site with the specified template, name, and URL path prefix. The output includes all the necessary metadata files, including DigitalExperienceConfig, DigitalExperienceBundle, Network, and CustomSite.\nUnlike `sf community create`, which builds the site directly in the org, this command generates only the local metadata.",
292
382
  "examples": [
293
- "Generate two metadata files associated with the MyClass Apex class (MyClass.cls and MyClass.cls-meta.xml) in the current directory:\n<%= config.bin %> <%= command.id %> --name MyClass",
294
- "Similar to previous example, but generates the files in the \"force-app/main/default/classes\" directory:\n<%= config.bin %> <%= command.id %> --name MyClass --output-dir force-app/main/default/classes"
383
+ "Generate an Experience Cloud site using the Build Your Own (LWR) template. The site is called \"mysite\" and has the URL path prefix \"mysite\":\n<%= config.bin %> <%= command.id %> --template-name \"Build Your Own (LWR)\" --name mysite --url-path-prefix mysite",
384
+ "Generate an Experience Cloud site like the last example, but generate the files into the specified output directory:\n<%= config.bin %> <%= command.id %> --template-name \"Build Your Own (LWR)\" --name mysite --url-path-prefix mysite --output-dir force-app/main/default"
295
385
  ],
296
386
  "flags": {
297
387
  "json": {
@@ -309,81 +399,72 @@
309
399
  "multiple": false,
310
400
  "type": "option"
311
401
  },
402
+ "target-org": {
403
+ "char": "o",
404
+ "name": "target-org",
405
+ "noCacheDefault": true,
406
+ "summary": "Username or alias of the target org.",
407
+ "hasDynamicHelp": true,
408
+ "multiple": false,
409
+ "type": "option"
410
+ },
312
411
  "name": {
313
- "aliases": [
314
- "classname"
315
- ],
316
412
  "char": "n",
317
- "deprecateAliases": true,
318
- "description": "The name can be up to 40 characters and must start with a letter.",
319
413
  "name": "name",
320
414
  "required": true,
321
- "summary": "Name of the generated Apex class.",
415
+ "summary": "Name of the Experience Cloud site to generate.",
322
416
  "hasDynamicHelp": false,
323
417
  "multiple": false,
324
418
  "type": "option"
325
419
  },
326
- "template": {
420
+ "template-name": {
327
421
  "char": "t",
328
- "description": "Supplied parameter values or default values are filled into a copy of the template.",
329
- "name": "template",
330
- "summary": "Template to use for file creation.",
331
- "default": "DefaultApexClass",
422
+ "name": "template-name",
423
+ "required": true,
424
+ "summary": "Template to use when generating the site.",
332
425
  "hasDynamicHelp": false,
333
426
  "multiple": false,
334
427
  "options": [
335
- "ApexException",
336
- "ApexUnitTest",
337
- "BasicUnitTest",
338
- "DefaultApexClass",
339
- "InboundEmailService"
428
+ "Build Your Own (LWR)"
340
429
  ],
341
430
  "type": "option"
342
431
  },
343
- "output-dir": {
344
- "aliases": [
345
- "outputdir"
346
- ],
347
- "char": "d",
348
- "deprecateAliases": true,
349
- "description": "The location can be an absolute path or relative to the current working directory. The default is the current directory.",
350
- "name": "output-dir",
351
- "summary": "Directory for saving the created files.",
352
- "default": ".",
432
+ "url-path-prefix": {
433
+ "char": "p",
434
+ "name": "url-path-prefix",
435
+ "summary": "URL path prefix for the site; must contain only alphanumeric characters.",
436
+ "default": "",
353
437
  "hasDynamicHelp": false,
354
438
  "multiple": false,
355
439
  "type": "option"
356
440
  },
357
- "api-version": {
358
- "aliases": [
359
- "apiversion"
360
- ],
361
- "deprecateAliases": true,
362
- "description": "Override the api version used for api requests made by this command",
363
- "name": "api-version",
441
+ "admin-email": {
442
+ "char": "e",
443
+ "name": "admin-email",
444
+ "summary": "Email address for the site administrator. Defaults to the username of the currently authenticated user.",
364
445
  "hasDynamicHelp": false,
365
446
  "multiple": false,
366
447
  "type": "option"
367
448
  },
368
- "loglevel": {
369
- "deprecated": {
370
- "message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
371
- },
372
- "hidden": true,
373
- "name": "loglevel",
449
+ "output-dir": {
450
+ "char": "d",
451
+ "description": "The location can be an absolute path or relative to the current working directory. If not specified, the command reads your sfdx-project.json file and uses the default package directory. When running outside a Salesforce DX project, defaults to the current directory.",
452
+ "name": "output-dir",
453
+ "summary": "Directory to generate the site files in.",
374
454
  "hasDynamicHelp": false,
375
455
  "multiple": false,
376
456
  "type": "option"
377
457
  }
378
458
  },
379
- "hasDynamicHelp": false,
459
+ "hasDynamicHelp": true,
380
460
  "hiddenAliases": [],
381
- "id": "template:generate:apex:class",
461
+ "id": "template:generate:digital-experience:site",
382
462
  "pluginAlias": "@salesforce/plugin-templates",
383
463
  "pluginName": "@salesforce/plugin-templates",
384
464
  "pluginType": "core",
465
+ "state": "preview",
385
466
  "strict": true,
386
- "summary": "Generate an Apex class.",
467
+ "summary": "Generate an Experience Cloud site.",
387
468
  "enableJsonFlag": true,
388
469
  "isESM": true,
389
470
  "relativePath": [
@@ -391,80 +472,47 @@
391
472
  "commands",
392
473
  "template",
393
474
  "generate",
394
- "apex",
395
- "class.js"
396
- ],
397
- "aliasPermutations": [
398
- "force:apex:class:create",
399
- "apex:force:class:create",
400
- "apex:class:force:create",
401
- "apex:class:create:force",
402
- "force:class:apex:create",
403
- "class:force:apex:create",
404
- "class:apex:force:create",
405
- "class:apex:create:force",
406
- "force:class:create:apex",
407
- "class:force:create:apex",
408
- "class:create:force:apex",
409
- "class:create:apex:force",
410
- "force:apex:create:class",
411
- "apex:force:create:class",
412
- "apex:create:force:class",
413
- "apex:create:class:force",
414
- "force:create:apex:class",
415
- "create:force:apex:class",
416
- "create:apex:force:class",
417
- "create:apex:class:force",
418
- "force:create:class:apex",
419
- "create:force:class:apex",
420
- "create:class:force:apex",
421
- "create:class:apex:force",
422
- "apex:generate:class",
423
- "generate:apex:class",
424
- "generate:class:apex",
425
- "apex:class:generate",
426
- "class:apex:generate",
427
- "class:generate:apex"
475
+ "digital-experience",
476
+ "site.js"
428
477
  ],
478
+ "aliasPermutations": [],
429
479
  "permutations": [
430
- "template:generate:apex:class",
431
- "generate:template:apex:class",
432
- "generate:apex:template:class",
433
- "generate:apex:class:template",
434
- "template:apex:generate:class",
435
- "apex:template:generate:class",
436
- "apex:generate:template:class",
437
- "apex:generate:class:template",
438
- "template:apex:class:generate",
439
- "apex:template:class:generate",
440
- "apex:class:template:generate",
441
- "apex:class:generate:template",
442
- "template:generate:class:apex",
443
- "generate:template:class:apex",
444
- "generate:class:template:apex",
445
- "generate:class:apex:template",
446
- "template:class:generate:apex",
447
- "class:template:generate:apex",
448
- "class:generate:template:apex",
449
- "class:generate:apex:template",
450
- "template:class:apex:generate",
451
- "class:template:apex:generate",
452
- "class:apex:template:generate",
453
- "class:apex:generate:template"
480
+ "template:generate:digital-experience:site",
481
+ "generate:template:digital-experience:site",
482
+ "generate:digital-experience:template:site",
483
+ "generate:digital-experience:site:template",
484
+ "template:digital-experience:generate:site",
485
+ "digital-experience:template:generate:site",
486
+ "digital-experience:generate:template:site",
487
+ "digital-experience:generate:site:template",
488
+ "template:digital-experience:site:generate",
489
+ "digital-experience:template:site:generate",
490
+ "digital-experience:site:template:generate",
491
+ "digital-experience:site:generate:template",
492
+ "template:generate:site:digital-experience",
493
+ "generate:template:site:digital-experience",
494
+ "generate:site:template:digital-experience",
495
+ "generate:site:digital-experience:template",
496
+ "template:site:generate:digital-experience",
497
+ "site:template:generate:digital-experience",
498
+ "site:generate:template:digital-experience",
499
+ "site:generate:digital-experience:template",
500
+ "template:site:digital-experience:generate",
501
+ "site:template:digital-experience:generate",
502
+ "site:digital-experience:template:generate",
503
+ "site:digital-experience:generate:template"
454
504
  ]
455
505
  },
456
- "template:generate:apex:trigger": {
506
+ "template:generate:analytics:template": {
457
507
  "aliases": [
458
- "force:apex:trigger:create",
459
- "apex:generate:trigger"
508
+ "force:analytics:template:create",
509
+ "analytics:generate:template"
460
510
  ],
461
511
  "args": {},
462
512
  "deprecateAliases": true,
463
- "description": "Generates the Apex trigger *.trigger file and associated metadata file. These files must be contained in a parent directory called \"triggers\" in your package directory. Either run this command from an existing directory of this name, or use the --output-dir flag to generate one or point to an existing one.\n\nIf you don't specify the --sobject flag, the .trigger file contains the generic placeholder SOBJECT; replace it with the Salesforce object you want to generate a trigger for. If you don't specify --event, \"before insert\" is used.",
513
+ "description": "The metadata files associated with the Analytics template must be contained in a parent directory called \"waveTemplates\" in your package directory. Either run this command from an existing directory of this name, or use the --output-dir flag to generate one or point to an existing one.",
464
514
  "examples": [
465
- "Generate two files associated with the MyTrigger Apex trigger (MyTrigger.trigger and MyTrigger.trigger-meta.xml) in the current directory:\n<%= config.bin %> <%= command.id %> --name MyTrigger",
466
- "Similar to the previous example, but generate the files in the \"force-app/main/default/triggers\" directory:\n<%= config.bin %> <%= command.id %> --name MyTrigger --output-dir force-app/main/default/triggers",
467
- "Generate files for a trigger that fires on the Account object before and after an insert:\n<%= config.bin %> <%= command.id %> --name MyTrigger --sobject Account --event \"before insert,after insert\""
515
+ "Generate the metadata files for a simple Analytics template file called myTemplate in the force-app/main/default/waveTemplates directory:\n<%= config.bin %> <%= command.id %> --name myTemplate --output-dir force-app/main/default/waveTemplates"
468
516
  ],
469
517
  "flags": {
470
518
  "json": {
@@ -482,33 +530,6 @@
482
530
  "multiple": false,
483
531
  "type": "option"
484
532
  },
485
- "name": {
486
- "aliases": [
487
- "triggername"
488
- ],
489
- "char": "n",
490
- "deprecateAliases": true,
491
- "description": "The name can be up to 40 characters and must start with a letter.",
492
- "name": "name",
493
- "required": true,
494
- "summary": "Name of the generated Apex trigger",
495
- "hasDynamicHelp": false,
496
- "multiple": false,
497
- "type": "option"
498
- },
499
- "template": {
500
- "char": "t",
501
- "description": "Supplied parameter values or default values are filled into a copy of the template.",
502
- "name": "template",
503
- "summary": "Template to use for file creation.",
504
- "default": "ApexTrigger",
505
- "hasDynamicHelp": false,
506
- "multiple": false,
507
- "options": [
508
- "ApexTrigger"
509
- ],
510
- "type": "option"
511
- },
512
533
  "output-dir": {
513
534
  "aliases": [
514
535
  "outputdir"
@@ -534,38 +555,17 @@
534
555
  "multiple": false,
535
556
  "type": "option"
536
557
  },
537
- "sobject": {
538
- "char": "s",
539
- "name": "sobject",
540
- "summary": "Salesforce object to generate a trigger on.",
541
- "default": "SOBJECT",
542
- "hasDynamicHelp": false,
543
- "multiple": false,
544
- "type": "option"
545
- },
546
- "event": {
558
+ "name": {
547
559
  "aliases": [
548
- "triggerevents"
560
+ "templatename"
549
561
  ],
550
- "char": "e",
562
+ "char": "n",
551
563
  "deprecateAliases": true,
552
- "name": "event",
553
- "summary": "Events that fire the trigger.",
554
- "default": [
555
- "before insert"
556
- ],
557
- "delimiter": ",",
564
+ "name": "name",
565
+ "required": true,
566
+ "summary": "Name of the Analytics template.",
558
567
  "hasDynamicHelp": false,
559
- "multiple": true,
560
- "options": [
561
- "before insert",
562
- "before update",
563
- "before delete",
564
- "after insert",
565
- "after update",
566
- "after delete",
567
- "after undelete"
568
- ],
568
+ "multiple": false,
569
569
  "type": "option"
570
570
  },
571
571
  "loglevel": {
@@ -581,12 +581,12 @@
581
581
  },
582
582
  "hasDynamicHelp": false,
583
583
  "hiddenAliases": [],
584
- "id": "template:generate:apex:trigger",
584
+ "id": "template:generate:analytics:template",
585
585
  "pluginAlias": "@salesforce/plugin-templates",
586
586
  "pluginName": "@salesforce/plugin-templates",
587
587
  "pluginType": "core",
588
588
  "strict": true,
589
- "summary": "Generate an Apex trigger.",
589
+ "summary": "Generate a simple Analytics template.",
590
590
  "enableJsonFlag": true,
591
591
  "isESM": true,
592
592
  "relativePath": [
@@ -594,66 +594,66 @@
594
594
  "commands",
595
595
  "template",
596
596
  "generate",
597
- "apex",
598
- "trigger.js"
597
+ "analytics",
598
+ "template.js"
599
599
  ],
600
600
  "aliasPermutations": [
601
- "force:apex:trigger:create",
602
- "apex:force:trigger:create",
603
- "apex:trigger:force:create",
604
- "apex:trigger:create:force",
605
- "force:trigger:apex:create",
606
- "trigger:force:apex:create",
607
- "trigger:apex:force:create",
608
- "trigger:apex:create:force",
609
- "force:trigger:create:apex",
610
- "trigger:force:create:apex",
611
- "trigger:create:force:apex",
612
- "trigger:create:apex:force",
613
- "force:apex:create:trigger",
614
- "apex:force:create:trigger",
615
- "apex:create:force:trigger",
616
- "apex:create:trigger:force",
617
- "force:create:apex:trigger",
618
- "create:force:apex:trigger",
619
- "create:apex:force:trigger",
620
- "create:apex:trigger:force",
621
- "force:create:trigger:apex",
622
- "create:force:trigger:apex",
623
- "create:trigger:force:apex",
624
- "create:trigger:apex:force",
625
- "apex:generate:trigger",
626
- "generate:apex:trigger",
627
- "generate:trigger:apex",
628
- "apex:trigger:generate",
629
- "trigger:apex:generate",
630
- "trigger:generate:apex"
601
+ "force:analytics:template:create",
602
+ "analytics:force:template:create",
603
+ "analytics:template:force:create",
604
+ "analytics:template:create:force",
605
+ "force:template:analytics:create",
606
+ "template:force:analytics:create",
607
+ "template:analytics:force:create",
608
+ "template:analytics:create:force",
609
+ "force:template:create:analytics",
610
+ "template:force:create:analytics",
611
+ "template:create:force:analytics",
612
+ "template:create:analytics:force",
613
+ "force:analytics:create:template",
614
+ "analytics:force:create:template",
615
+ "analytics:create:force:template",
616
+ "analytics:create:template:force",
617
+ "force:create:analytics:template",
618
+ "create:force:analytics:template",
619
+ "create:analytics:force:template",
620
+ "create:analytics:template:force",
621
+ "force:create:template:analytics",
622
+ "create:force:template:analytics",
623
+ "create:template:force:analytics",
624
+ "create:template:analytics:force",
625
+ "analytics:generate:template",
626
+ "generate:analytics:template",
627
+ "generate:template:analytics",
628
+ "analytics:template:generate",
629
+ "template:analytics:generate",
630
+ "template:generate:analytics"
631
631
  ],
632
632
  "permutations": [
633
- "template:generate:apex:trigger",
634
- "generate:template:apex:trigger",
635
- "generate:apex:template:trigger",
636
- "generate:apex:trigger:template",
637
- "template:apex:generate:trigger",
638
- "apex:template:generate:trigger",
639
- "apex:generate:template:trigger",
640
- "apex:generate:trigger:template",
641
- "template:apex:trigger:generate",
642
- "apex:template:trigger:generate",
643
- "apex:trigger:template:generate",
644
- "apex:trigger:generate:template",
645
- "template:generate:trigger:apex",
646
- "generate:template:trigger:apex",
647
- "generate:trigger:template:apex",
648
- "generate:trigger:apex:template",
649
- "template:trigger:generate:apex",
650
- "trigger:template:generate:apex",
651
- "trigger:generate:template:apex",
652
- "trigger:generate:apex:template",
653
- "template:trigger:apex:generate",
654
- "trigger:template:apex:generate",
655
- "trigger:apex:template:generate",
656
- "trigger:apex:generate:template"
633
+ "template:generate:analytics:template",
634
+ "generate:template:analytics:template",
635
+ "generate:analytics:template:template",
636
+ "generate:analytics:template:template",
637
+ "template:analytics:generate:template",
638
+ "analytics:template:generate:template",
639
+ "analytics:generate:template:template",
640
+ "analytics:generate:template:template",
641
+ "template:analytics:template:generate",
642
+ "analytics:template:template:generate",
643
+ "analytics:template:template:generate",
644
+ "analytics:template:generate:template",
645
+ "template:generate:template:analytics",
646
+ "generate:template:template:analytics",
647
+ "generate:template:template:analytics",
648
+ "generate:template:analytics:template",
649
+ "template:template:generate:analytics",
650
+ "template:template:generate:analytics",
651
+ "template:generate:template:analytics",
652
+ "template:generate:analytics:template",
653
+ "template:template:analytics:generate",
654
+ "template:template:analytics:generate",
655
+ "template:analytics:template:generate",
656
+ "template:analytics:generate:template"
657
657
  ]
658
658
  },
659
659
  "template:generate:flexipage": {
@@ -2505,5 +2505,5 @@
2505
2505
  ]
2506
2506
  }
2507
2507
  },
2508
- "version": "56.8.2"
2508
+ "version": "56.9.1"
2509
2509
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@salesforce/plugin-templates",
3
3
  "description": "Commands to create metadata from a default or custom template",
4
- "version": "56.8.2",
4
+ "version": "56.9.1",
5
5
  "author": "Salesforce",
6
6
  "bugs": "https://github.com/salesforcecli/plugin-templates/issues",
7
7
  "enableO11y": true,
@@ -249,7 +249,7 @@
249
249
  "exports": "./lib/index.js",
250
250
  "type": "module",
251
251
  "sfdx": {
252
- "publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-templates/56.8.2.crt",
253
- "signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-templates/56.8.2.sig"
252
+ "publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-templates/56.9.1.crt",
253
+ "signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-templates/56.9.1.sig"
254
254
  }
255
255
  }