@terafina/tffa-sfdx-plugin 15.0.0-rc.1 → 15.0.0-rc.10
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 +43 -13
- package/bin/pmd/apex_ruleset.xml +108 -0
- package/bin/pmd/apex_test_ruleset.xml +1 -1
- package/bin/pmd/apex_vf_ruleset.xml +17 -0
- package/bin/pmd/lib/pmd-visualforce-6.47.0.jar +0 -0
- package/bin/update.sh +0 -1
- package/lib/commands/tffa/apexdoc.d.ts +1 -0
- package/lib/commands/tffa/apexdoc.js +12 -3
- package/lib/commands/tffa/apexdoc.js.map +1 -1
- package/lib/commands/tffa/lint.js +19 -9
- package/lib/commands/tffa/lint.js.map +1 -1
- package/lib/commands/tffa/source/apiset.d.ts +11 -0
- package/lib/commands/tffa/source/apiset.js +89 -0
- package/lib/commands/tffa/source/apiset.js.map +1 -0
- package/lib/services/apexdoc/common/models/apex-model.js +7 -2
- package/lib/services/apexdoc/common/models/apex-model.js.map +1 -1
- package/lib/services/apexdoc/common/models/class-model.d.ts +3 -0
- package/lib/services/apexdoc/common/models/class-model.js +7 -0
- package/lib/services/apexdoc/common/models/class-model.js.map +1 -1
- package/lib/services/apexdoc/common/models/engine-config.d.ts +1 -1
- package/lib/services/apexdoc/common/models/engine-config.js +8 -3
- package/lib/services/apexdoc/common/models/engine-config.js.map +1 -1
- package/lib/services/apexdoc/common/settings.d.ts +2 -1
- package/lib/services/apexdoc/common/settings.js +16 -3
- package/lib/services/apexdoc/common/settings.js.map +1 -1
- package/lib/services/lint/apex-class-scan.d.ts +1 -3
- package/lib/services/lint/apex-class-scan.js +16 -109
- package/lib/services/lint/apex-class-scan.js.map +1 -1
- package/lib/services/lint/apex-pmd.d.ts +1 -0
- package/lib/services/lint/apex-pmd.js +10 -4
- package/lib/services/lint/apex-pmd.js.map +1 -1
- package/lib/services/lint/eslint-scan.d.ts +13 -0
- package/lib/services/lint/eslint-scan.js +138 -0
- package/lib/services/lint/eslint-scan.js.map +1 -0
- package/lib/services/lint/metadata-scan.d.ts +10 -4
- package/lib/services/lint/metadata-scan.js +44 -65
- package/lib/services/lint/metadata-scan.js.map +1 -1
- package/lib/services/lint/rules.d.ts +10 -0
- package/lib/services/lint/rules.js +86 -0
- package/lib/services/lint/rules.js.map +1 -0
- package/lib/services/lint/stylelint-scan.d.ts +13 -0
- package/lib/services/lint/stylelint-scan.js +119 -0
- package/lib/services/lint/stylelint-scan.js.map +1 -0
- package/lib/utils/constants.d.ts +9 -0
- package/lib/utils/constants.js +14 -0
- package/lib/utils/constants.js.map +1 -0
- package/lib/utils/ignored-files.d.ts +2 -0
- package/lib/utils/ignored-files.js +66 -1
- package/lib/utils/ignored-files.js.map +1 -1
- package/messages/apexdoc.json +5 -0
- package/messages/lint.json +5 -0
- package/messages/ping.json +1 -1
- package/messages/sourceApiSet.json +8 -0
- package/oclif.manifest.json +1 -1
- package/package.json +20 -18
- package/yarn.lock +8170 -0
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ $ npm install -g @terafina/tffa-sfdx-plugin
|
|
|
41
41
|
$ sfdx COMMAND
|
|
42
42
|
running command...
|
|
43
43
|
$ sfdx (--version|-v)
|
|
44
|
-
@terafina/tffa-sfdx-plugin/15.0.0-rc.
|
|
44
|
+
@terafina/tffa-sfdx-plugin/15.0.0-rc.10 darwin-arm64 node-v16.16.0
|
|
45
45
|
$ sfdx --help [COMMAND]
|
|
46
46
|
USAGE
|
|
47
47
|
$ sfdx COMMAND
|
|
@@ -53,10 +53,11 @@ USAGE
|
|
|
53
53
|
|
|
54
54
|
<!-- commands -->
|
|
55
55
|
* [`sfdx help [COMMAND]`](#sfdx-help-command)
|
|
56
|
-
* [`sfdx tffa:apexdoc [-s <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffaapexdoc--s-directory---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
56
|
+
* [`sfdx tffa:apexdoc [-s <directory>] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffaapexdoc--s-directory--d-directory---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
57
57
|
* [`sfdx tffa:lint [-s <directory>] [-m <integer>] [-r <filepath>] [-e] [-f] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffalint--s-directory--m-integer--r-filepath--e--f--j---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
58
58
|
* [`sfdx tffa:meta [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffameta--s-directory--d-directory--c-directory--o-jsoncsvhuman--f---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
59
59
|
* [`sfdx tffa:ping [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffaping---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
60
|
+
* [`sfdx tffa:source:apiset [-h <help>] [-s <directory>] [-a <integer>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffasourceapiset--h-help--s-directory--a-integer---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
60
61
|
* [`sfdx version`](#sfdx-version)
|
|
61
62
|
|
|
62
63
|
## `sfdx help [COMMAND]`
|
|
@@ -79,18 +80,19 @@ DESCRIPTION
|
|
|
79
80
|
|
|
80
81
|
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.12/src/commands/help.ts)_
|
|
81
82
|
|
|
82
|
-
## `sfdx tffa:apexdoc [-s <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
83
|
+
## `sfdx tffa:apexdoc [-s <directory>] [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
83
84
|
|
|
84
85
|
Generate Apex API Documentation
|
|
85
86
|
|
|
86
87
|
```
|
|
87
88
|
USAGE
|
|
88
|
-
$ sfdx tffa:apexdoc [-s <directory>] [--json] [--loglevel
|
|
89
|
+
$ sfdx tffa:apexdoc [-s <directory>] [-d <directory>] [--json] [--loglevel
|
|
89
90
|
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
|
|
90
91
|
|
|
91
92
|
FLAGS
|
|
93
|
+
-d, --destfolder=<value> directory to generate the api docs
|
|
92
94
|
-s, --sourcefolder=<value> [default: .] directory containing
|
|
93
|
-
|
|
95
|
+
sfdx project
|
|
94
96
|
--json format output as json
|
|
95
97
|
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
|
|
96
98
|
this command invocation
|
|
@@ -102,7 +104,7 @@ EXAMPLES
|
|
|
102
104
|
Generate Apex API Documentation : $sfdx tffa:apexdoc
|
|
103
105
|
```
|
|
104
106
|
|
|
105
|
-
_See code: [src/commands/tffa/apexdoc.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.
|
|
107
|
+
_See code: [src/commands/tffa/apexdoc.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.10/src/commands/tffa/apexdoc.ts)_
|
|
106
108
|
|
|
107
109
|
## `sfdx tffa:lint [-s <directory>] [-m <integer>] [-r <filepath>] [-e] [-f] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
108
110
|
|
|
@@ -129,10 +131,10 @@ DESCRIPTION
|
|
|
129
131
|
scan a sfdx project and provide a violations report based on defined standards
|
|
130
132
|
|
|
131
133
|
EXAMPLES
|
|
132
|
-
|
|
134
|
+
$sfdx tffa:lint
|
|
133
135
|
```
|
|
134
136
|
|
|
135
|
-
_See code: [src/commands/tffa/lint.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.
|
|
137
|
+
_See code: [src/commands/tffa/lint.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.10/src/commands/tffa/lint.ts)_
|
|
136
138
|
|
|
137
139
|
## `sfdx tffa:meta [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
138
140
|
|
|
@@ -161,11 +163,11 @@ EXAMPLES
|
|
|
161
163
|
scan a sfdx project for metadata : $sfdx tffa:meta
|
|
162
164
|
```
|
|
163
165
|
|
|
164
|
-
_See code: [src/commands/tffa/meta.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.
|
|
166
|
+
_See code: [src/commands/tffa/meta.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.10/src/commands/tffa/meta.ts)_
|
|
165
167
|
|
|
166
168
|
## `sfdx tffa:ping [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
167
169
|
|
|
168
|
-
ping
|
|
170
|
+
ping and test the plugin
|
|
169
171
|
|
|
170
172
|
```
|
|
171
173
|
USAGE
|
|
@@ -177,13 +179,41 @@ FLAGS
|
|
|
177
179
|
this command invocation
|
|
178
180
|
|
|
179
181
|
DESCRIPTION
|
|
180
|
-
ping
|
|
182
|
+
ping and test the plugin
|
|
181
183
|
|
|
182
184
|
EXAMPLES
|
|
183
185
|
$ sfdx tffa:ping
|
|
184
186
|
```
|
|
185
187
|
|
|
186
|
-
_See code: [src/commands/tffa/ping.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.
|
|
188
|
+
_See code: [src/commands/tffa/ping.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.10/src/commands/tffa/ping.ts)_
|
|
189
|
+
|
|
190
|
+
## `sfdx tffa:source:apiset [-h <help>] [-s <directory>] [-a <integer>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
191
|
+
|
|
192
|
+
Upgrades the current project and all metadata to the latest API version
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
USAGE
|
|
196
|
+
$ sfdx tffa:source:apiset [-h <help>] [-s <directory>] [-a <integer>] [--json] [--loglevel
|
|
197
|
+
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
|
|
198
|
+
|
|
199
|
+
FLAGS
|
|
200
|
+
-a, --api=<value> [default: 55] specify the API
|
|
201
|
+
version
|
|
202
|
+
-h, --help Show CLI help.
|
|
203
|
+
-s, --sourcefolder=<value> [default: .] directory containing
|
|
204
|
+
sfdx project
|
|
205
|
+
--json format output as json
|
|
206
|
+
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
|
|
207
|
+
this command invocation
|
|
208
|
+
|
|
209
|
+
DESCRIPTION
|
|
210
|
+
Upgrades the current project and all metadata to the latest API version
|
|
211
|
+
|
|
212
|
+
EXAMPLES
|
|
213
|
+
$ sfdx tffa:source:apiset
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
_See code: [src/commands/tffa/source/apiset.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v15.0.0-rc.10/src/commands/tffa/source/apiset.ts)_
|
|
187
217
|
|
|
188
218
|
## `sfdx version`
|
|
189
219
|
|
|
@@ -203,5 +233,5 @@ FLAG DESCRIPTIONS
|
|
|
203
233
|
Additionally shows the architecture, node version, operating system, and versions of plugins that the CLI is using.
|
|
204
234
|
```
|
|
205
235
|
|
|
206
|
-
_See code: [@oclif/plugin-version](https://github.com/oclif/plugin-version/blob/v1.1.
|
|
236
|
+
_See code: [@oclif/plugin-version](https://github.com/oclif/plugin-version/blob/v1.1.2/src/commands/version.ts)_
|
|
207
237
|
<!-- commandsstop -->
|
package/bin/pmd/apex_ruleset.xml
CHANGED
|
@@ -115,4 +115,112 @@
|
|
|
115
115
|
</properties>
|
|
116
116
|
</rule>
|
|
117
117
|
<!-- END ERROR PRONE -->
|
|
118
|
+
<!-- CUSTOM RULES -->
|
|
119
|
+
<rule
|
|
120
|
+
name="ValidateSessionRequiredInControllerRemoteMethods"
|
|
121
|
+
language="apex"
|
|
122
|
+
message="All Custom controllers should have validateSession"
|
|
123
|
+
class="net.sourceforge.pmd.lang.apex.rule.ApexXPathRule"
|
|
124
|
+
externalInfoUrl="https://developer.terafinainc.net/development-guidelines/security-guidelines#terafina-application-security"
|
|
125
|
+
>
|
|
126
|
+
<description>All Custom controllers should have validateSession();</description>
|
|
127
|
+
<priority>1</priority>
|
|
128
|
+
<properties>
|
|
129
|
+
<property name="xpath">
|
|
130
|
+
<value>
|
|
131
|
+
<![CDATA[
|
|
132
|
+
//UserClass[(ends-with(@Image, 'Controller')) and (@SuperClassName ='tffa.AbstractController')]
|
|
133
|
+
//Method[
|
|
134
|
+
./ModifierNode/Annotation[@Image = 'RemoteAction']
|
|
135
|
+
and
|
|
136
|
+
(
|
|
137
|
+
not(.//MethodCallExpression[@MethodName='validateSession'])
|
|
138
|
+
)
|
|
139
|
+
]
|
|
140
|
+
]]>
|
|
141
|
+
</value>
|
|
142
|
+
</property>
|
|
143
|
+
</properties>
|
|
144
|
+
</rule>
|
|
145
|
+
<rule
|
|
146
|
+
name="ValidateRecordAccessRequiredInControllerRemoteMethods"
|
|
147
|
+
language="apex"
|
|
148
|
+
message="All Custom controllers should have validateRecordAccess"
|
|
149
|
+
class="net.sourceforge.pmd.lang.apex.rule.ApexXPathRule"
|
|
150
|
+
externalInfoUrl="https://developer.terafinainc.net/development-guidelines/security-guidelines#terafina-application-security"
|
|
151
|
+
>
|
|
152
|
+
<description>All Custom controllers should have validateRecordAccess();</description>
|
|
153
|
+
<priority>1</priority>
|
|
154
|
+
<properties>
|
|
155
|
+
<property name="xpath">
|
|
156
|
+
<value>
|
|
157
|
+
<![CDATA[
|
|
158
|
+
//UserClass[(ends-with(@Image, 'Controller')) and (@SuperClassName ='tffa.AbstractController')]
|
|
159
|
+
//Method[
|
|
160
|
+
./ModifierNode/Annotation[@Image = 'RemoteAction']
|
|
161
|
+
and
|
|
162
|
+
(
|
|
163
|
+
not(.//MethodCallExpression[@MethodName='validateRecordAccess'])
|
|
164
|
+
)
|
|
165
|
+
]
|
|
166
|
+
]]>
|
|
167
|
+
</value>
|
|
168
|
+
</property>
|
|
169
|
+
</properties>
|
|
170
|
+
</rule>
|
|
171
|
+
<rule
|
|
172
|
+
name="InteractionInControllerRemoteMethods"
|
|
173
|
+
language="apex"
|
|
174
|
+
message="All Custom controllers should have tffa.Interaction.begin and tffa.Interaction.close"
|
|
175
|
+
class="net.sourceforge.pmd.lang.apex.rule.ApexXPathRule"
|
|
176
|
+
externalInfoUrl="https://developer.terafinainc.net/development-guidelines/security-guidelines#terafina-application-security"
|
|
177
|
+
>
|
|
178
|
+
<description>All Custom controllers should have tffa.Interaction.begin and tffa.Interaction.close</description>
|
|
179
|
+
<priority>1</priority>
|
|
180
|
+
<properties>
|
|
181
|
+
<property name="xpath">
|
|
182
|
+
<value>
|
|
183
|
+
<![CDATA[
|
|
184
|
+
//UserClass[(ends-with(@Image, 'Controller')) and (@SuperClassName ='tffa.AbstractController')]
|
|
185
|
+
//Method[
|
|
186
|
+
./ModifierNode/Annotation[@Image = 'RemoteAction']
|
|
187
|
+
and
|
|
188
|
+
(
|
|
189
|
+
not(.//MethodCallExpression[@FullMethodName='tffa.Interaction.begin'])
|
|
190
|
+
or
|
|
191
|
+
not(.//MethodCallExpression[@FullMethodName='tffa.Interaction.close'])
|
|
192
|
+
)
|
|
193
|
+
]
|
|
194
|
+
]]>
|
|
195
|
+
</value>
|
|
196
|
+
</property>
|
|
197
|
+
</properties>
|
|
198
|
+
</rule>
|
|
199
|
+
<rule
|
|
200
|
+
name="CtxParameterInControllerRemoteMethods"
|
|
201
|
+
language="apex"
|
|
202
|
+
message="All Custom controllers should have tffa.Context ctx as first parameter"
|
|
203
|
+
class="net.sourceforge.pmd.lang.apex.rule.ApexXPathRule"
|
|
204
|
+
externalInfoUrl="https://developer.terafinainc.net/development-guidelines/security-guidelines#terafina-application-security"
|
|
205
|
+
>
|
|
206
|
+
<description>All Custom controllers should have tffa.Context ctx as first parameter</description>
|
|
207
|
+
<priority>1</priority>
|
|
208
|
+
<properties>
|
|
209
|
+
<property name="xpath">
|
|
210
|
+
<value>
|
|
211
|
+
<![CDATA[
|
|
212
|
+
//UserClass[(ends-with(@Image, 'Controller')) and (@SuperClassName ='tffa.AbstractController')]
|
|
213
|
+
//Method[
|
|
214
|
+
./ModifierNode/Annotation[@Image = 'RemoteAction']
|
|
215
|
+
and
|
|
216
|
+
(
|
|
217
|
+
not(.//Parameter[1][@Type='tffa.Context'])
|
|
218
|
+
)
|
|
219
|
+
]
|
|
220
|
+
]]>
|
|
221
|
+
</value>
|
|
222
|
+
</property>
|
|
223
|
+
</properties>
|
|
224
|
+
</rule>
|
|
225
|
+
<!--END CUSTOM RULES -->
|
|
118
226
|
</ruleset>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<exclude name="AvoidHardcodingId" />
|
|
25
25
|
</rule>
|
|
26
26
|
<rule ref="category/apex/errorprone.xml/EmptyCatchBlock" message="Avoid empty catch blocks">
|
|
27
|
-
<priority>
|
|
27
|
+
<priority>3</priority>
|
|
28
28
|
<properties>
|
|
29
29
|
<property name="allowCommentedBlocks" value="true" />
|
|
30
30
|
<property name="allowExceptionNameRegex" value="^(ignored|expected)$" />
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
+
<ruleset
|
|
3
|
+
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
|
|
4
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
5
|
+
name="TFFA ruleset for Salesforce.com Visualforce pages"
|
|
6
|
+
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd"
|
|
7
|
+
>
|
|
8
|
+
<description>TFFA ruleset for Salesforce.com Visualforce pages</description>
|
|
9
|
+
<exclude-pattern>.*</exclude-pattern>
|
|
10
|
+
<include-pattern>.*/app/main/default/pages/.*</include-pattern>
|
|
11
|
+
<!-- SECURITY -->
|
|
12
|
+
<rule ref="category/vf/security.xml">
|
|
13
|
+
<exclude name="VfCsrf" />
|
|
14
|
+
</rule>
|
|
15
|
+
<!-- SECURITY -->
|
|
16
|
+
|
|
17
|
+
</ruleset>
|
|
Binary file
|
package/bin/update.sh
CHANGED
|
@@ -14,11 +14,13 @@ const perf_hooks_1 = require("perf_hooks");
|
|
|
14
14
|
const line_reader_1 = tslib_1.__importDefault(require("../../services/apexdoc/common/line-reader"));
|
|
15
15
|
const utils_1 = tslib_1.__importDefault(require("../../services/apexdoc/common/utils"));
|
|
16
16
|
const array_utils_1 = require("../../services/apexdoc/common/array-utils");
|
|
17
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
18
|
+
const messages = core_1.Messages.loadMessages('@terafina/tffa-sfdx-plugin', 'apexdoc');
|
|
17
19
|
class ApexDoc extends command_1.SfdxCommand {
|
|
18
20
|
async run() {
|
|
19
21
|
await core_1.SfdxProject.resolve(this.flags.sourcefolder);
|
|
20
22
|
try {
|
|
21
|
-
settings_1.default.config = settings_1.default.getConfig(settings_1.Feature.ENGINE, this.flags.sourcefolder);
|
|
23
|
+
settings_1.default.config = settings_1.default.getConfig(settings_1.Feature.ENGINE, this.flags.sourcefolder, this.flags.destfolder);
|
|
22
24
|
this.generateDocs(settings_1.default.config);
|
|
23
25
|
}
|
|
24
26
|
catch (e) {
|
|
@@ -231,6 +233,9 @@ class ApexDoc extends command_1.SfdxCommand {
|
|
|
231
233
|
const mModel = new Models.MethodModel(comments, line, startingLine, className, sourceUrl);
|
|
232
234
|
mModel.parseAnnotations(line, reader.peekPrevLine());
|
|
233
235
|
cModel && cModel.methods.push(mModel);
|
|
236
|
+
if (mModel.scope === 'global' && !mModel.isConstructor) {
|
|
237
|
+
cModel.setHasGlobalMethods(true);
|
|
238
|
+
}
|
|
234
239
|
comments = [];
|
|
235
240
|
continue;
|
|
236
241
|
}
|
|
@@ -260,13 +265,17 @@ class ApexDoc extends command_1.SfdxCommand {
|
|
|
260
265
|
}
|
|
261
266
|
}
|
|
262
267
|
exports.default = ApexDoc;
|
|
263
|
-
ApexDoc.description = '
|
|
268
|
+
ApexDoc.description = messages.getMessage('commandDescription');
|
|
264
269
|
ApexDoc.examples = [`Generate Apex API Documentation :\t$sfdx tffa:apexdoc `];
|
|
265
270
|
ApexDoc.flagsConfig = {
|
|
266
271
|
sourcefolder: command_1.flags.directory({
|
|
267
272
|
char: 's',
|
|
268
|
-
description: '
|
|
273
|
+
description: messages.getMessage('sourceFolderDescription'),
|
|
269
274
|
default: '.'
|
|
275
|
+
}),
|
|
276
|
+
destfolder: command_1.flags.directory({
|
|
277
|
+
char: 'd',
|
|
278
|
+
description: messages.getMessage('destFolderDescription')
|
|
270
279
|
})
|
|
271
280
|
};
|
|
272
281
|
//# sourceMappingURL=apexdoc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apexdoc.js","sourceRoot":"","sources":["../../../src/commands/tffa/apexdoc.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,iDAAyD;AACzD,qFAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"apexdoc.js","sourceRoot":"","sources":["../../../src/commands/tffa/apexdoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,12 @@ const apex_class_scan_1 = tslib_1.__importDefault(require("../../services/lint/a
|
|
|
10
10
|
const ignored_files_1 = tslib_1.__importDefault(require("../../utils/ignored-files"));
|
|
11
11
|
const metadata_scan_1 = tslib_1.__importDefault(require("../../services/lint/metadata-scan"));
|
|
12
12
|
const apex_pmd_1 = tslib_1.__importDefault(require("../../services/lint/apex-pmd"));
|
|
13
|
+
const constants_1 = require("../../utils/constants");
|
|
14
|
+
const eslint_scan_1 = tslib_1.__importDefault(require("../../services/lint/eslint-scan"));
|
|
15
|
+
const stylelint_scan_1 = tslib_1.__importDefault(require("../../services/lint/stylelint-scan"));
|
|
16
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
17
|
+
const messages = core_1.Messages.loadMessages('@terafina/tffa-sfdx-plugin', 'lint');
|
|
13
18
|
class Lint extends command_1.SfdxCommand {
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
19
|
async run() {
|
|
16
20
|
const project = await core_1.SfdxProject.resolve(this.flags.sourcefolder);
|
|
17
21
|
const projectJson = await project.resolveProjectConfig();
|
|
@@ -21,13 +25,19 @@ class Lint extends command_1.SfdxCommand {
|
|
|
21
25
|
await new apex_pmd_1.default().eject(this.flags.sourcefolder);
|
|
22
26
|
return;
|
|
23
27
|
}
|
|
24
|
-
|
|
28
|
+
const violations = [];
|
|
29
|
+
let mViolations = [];
|
|
25
30
|
await ignored_files_1.default.init(this.flags.sourcefolder);
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
mViolations = await new apex_class_scan_1.default().scan(this.flags.sourcefolder);
|
|
32
|
+
violations.push(...mViolations);
|
|
33
|
+
mViolations = await new metadata_scan_1.default(namespace).scan(this.flags.sourcefolder, this.flags.minapi);
|
|
28
34
|
violations.push(...mViolations);
|
|
29
35
|
mViolations = await new apex_pmd_1.default().scan(this.flags.sourcefolder, this.flags.rulesetpath);
|
|
30
36
|
violations.push(...mViolations);
|
|
37
|
+
mViolations = await new eslint_scan_1.default().scan(this.flags.sourcefolder);
|
|
38
|
+
violations.push(...mViolations);
|
|
39
|
+
mViolations = await new stylelint_scan_1.default().scan(this.flags.sourcefolder);
|
|
40
|
+
violations.push(...mViolations);
|
|
31
41
|
this.printViolations(this.flags.json, violations, this.flags.level);
|
|
32
42
|
}
|
|
33
43
|
/**
|
|
@@ -50,18 +60,18 @@ class Lint extends command_1.SfdxCommand {
|
|
|
50
60
|
}
|
|
51
61
|
}
|
|
52
62
|
exports.default = Lint;
|
|
53
|
-
Lint.description = '
|
|
54
|
-
Lint.examples = [
|
|
63
|
+
Lint.description = messages.getMessage('commandDescription');
|
|
64
|
+
Lint.examples = [`$sfdx tffa:lint`];
|
|
55
65
|
Lint.flagsConfig = {
|
|
56
66
|
sourcefolder: command_1.flags.directory({
|
|
57
67
|
char: 's',
|
|
58
|
-
description: '
|
|
68
|
+
description: messages.getMessage('sourceFolderDescription'),
|
|
59
69
|
default: '.'
|
|
60
70
|
}),
|
|
61
71
|
minapi: command_1.flags.integer({
|
|
62
72
|
char: 'm',
|
|
63
|
-
description: '
|
|
64
|
-
default:
|
|
73
|
+
description: messages.getMessage('flagApiversionDescription'),
|
|
74
|
+
default: constants_1.Constants.API_VERSION
|
|
65
75
|
}),
|
|
66
76
|
json: command_1.flags.boolean({
|
|
67
77
|
char: 'j',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/commands/tffa/lint.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,iDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/commands/tffa/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SfdxCommand, flags } from '@salesforce/command';
|
|
2
|
+
export default class SourceApiSet extends SfdxCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
protected static flagsConfig: {
|
|
6
|
+
help: flags.Discriminated<flags.Boolean<void>>;
|
|
7
|
+
sourcefolder: flags.Discriminated<flags.String>;
|
|
8
|
+
api: flags.Discriminated<flags.Number>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<any>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) NCR Terafina
|
|
6
|
+
**/
|
|
7
|
+
const recursiveReaddir = require("recursive-readdir");
|
|
8
|
+
const fs_extra_1 = require("fs-extra");
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
const command_1 = require("@salesforce/command");
|
|
11
|
+
const core_1 = require("@salesforce/core");
|
|
12
|
+
const fs = tslib_1.__importStar(require("fs-extra"));
|
|
13
|
+
const path = tslib_1.__importStar(require("path"));
|
|
14
|
+
const constants_1 = require("../../../utils/constants");
|
|
15
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
16
|
+
const messages = core_1.Messages.loadMessages('@terafina/tffa-sfdx-plugin', 'sourceApiSet');
|
|
17
|
+
class SourceApiSet extends command_1.SfdxCommand {
|
|
18
|
+
async run() {
|
|
19
|
+
const resp = {};
|
|
20
|
+
const project = await core_1.SfdxProject.resolve(this.flags.sourcefolder);
|
|
21
|
+
const apiversion = this.flags.api + '.0';
|
|
22
|
+
const apiRegex = /<apiVersion>[0-9][0-9]\.0<\/apiVersion>/g;
|
|
23
|
+
const apiCurrent = `<apiVersion>${apiversion}</apiVersion>`;
|
|
24
|
+
const basePath = project.getPath();
|
|
25
|
+
const projectJson = await fs.readJson(path.resolve(basePath, 'sfdx-project.json'));
|
|
26
|
+
projectJson.sourceApiVersion = apiversion;
|
|
27
|
+
const packageDirectories = projectJson.packageDirectories;
|
|
28
|
+
projectJson.sourceApiVersion = apiversion;
|
|
29
|
+
this.ux.log(messages.getMessage('msgReadingPackageDirectories'));
|
|
30
|
+
fs.writeJSONSync(path.resolve(basePath, 'sfdx-project.json'), projectJson, { spaces: 2 });
|
|
31
|
+
this.ux.log(messages.getMessage('successMessage', [1, apiversion, 'sfdx-project.json']));
|
|
32
|
+
packageDirectories.push({ path: 'scripts' });
|
|
33
|
+
for (const packageConfig of packageDirectories) {
|
|
34
|
+
let noChangedFiles = 0;
|
|
35
|
+
const sourcePath = (0, path_1.join)(basePath, packageConfig.path);
|
|
36
|
+
const files = recursiveReaddir(sourcePath);
|
|
37
|
+
files
|
|
38
|
+
.then((result) => {
|
|
39
|
+
const filesFiltered = [];
|
|
40
|
+
for (const file of result) {
|
|
41
|
+
if (file.endsWith('meta.xml') || file.endsWith('js')) {
|
|
42
|
+
filesFiltered.push(file);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (filesFiltered.length === 0) {
|
|
46
|
+
this.ux.log(messages.getMessage('msgNoMetadataInPackageDirectories'));
|
|
47
|
+
resp.message = messages.getMessage('msgNoMetadataInPackageDirectories');
|
|
48
|
+
return resp;
|
|
49
|
+
}
|
|
50
|
+
resp.files = [];
|
|
51
|
+
for (const file of filesFiltered) {
|
|
52
|
+
let data = (0, fs_extra_1.readFileSync)(file, 'utf8');
|
|
53
|
+
data = data.toString();
|
|
54
|
+
if (data.search(apiRegex) > 0 && data.search(apiCurrent) === -1) {
|
|
55
|
+
data = data.replace(apiRegex, apiCurrent);
|
|
56
|
+
(0, fs_extra_1.writeFileSync)(file, data);
|
|
57
|
+
resp.files.push(file);
|
|
58
|
+
noChangedFiles++;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
.then(() => {
|
|
63
|
+
this.ux.log(messages.getMessage('successMessage', [noChangedFiles, apiversion, packageConfig.path]));
|
|
64
|
+
resp.message = messages.getMessage('successMessage', [noChangedFiles, apiversion, packageConfig.path]);
|
|
65
|
+
return resp;
|
|
66
|
+
})
|
|
67
|
+
.catch(function (error) {
|
|
68
|
+
throw new core_1.SfdxError(error);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.default = SourceApiSet;
|
|
74
|
+
SourceApiSet.description = messages.getMessage('commandDescription');
|
|
75
|
+
SourceApiSet.examples = ['$ sfdx tffa:source:apiset '];
|
|
76
|
+
SourceApiSet.flagsConfig = {
|
|
77
|
+
help: command_1.flags.help({ char: 'h' }),
|
|
78
|
+
sourcefolder: command_1.flags.directory({
|
|
79
|
+
char: 's',
|
|
80
|
+
description: messages.getMessage('sourceFolderDescription'),
|
|
81
|
+
default: '.'
|
|
82
|
+
}),
|
|
83
|
+
api: command_1.flags.integer({
|
|
84
|
+
char: 'a',
|
|
85
|
+
description: messages.getMessage('flagApiversionDescription'),
|
|
86
|
+
default: constants_1.Constants.API_VERSION
|
|
87
|
+
})
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=apiset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiset.js","sourceRoot":"","sources":["../../../../src/commands/tffa/source/apiset.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ class ApexModel {
|
|
|
21
21
|
this._apimethod = '';
|
|
22
22
|
this._exception = [];
|
|
23
23
|
this._groupContentPath = '';
|
|
24
|
-
this._groupName = '';
|
|
24
|
+
this._groupName = 'Miscellaneous';
|
|
25
25
|
this._tags = '';
|
|
26
26
|
this._lineNum = 0;
|
|
27
27
|
this._nameLine = '';
|
|
@@ -196,7 +196,12 @@ class ApexModel {
|
|
|
196
196
|
// These tags only support a single line if a duplicate
|
|
197
197
|
// tag is encountered, override any existing value.
|
|
198
198
|
else if (currBlock === tags.GROUP.label) {
|
|
199
|
-
|
|
199
|
+
if (settings_1.default.GROUPS.includes(line.trim())) {
|
|
200
|
+
this._groupName = line.trim();
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
this._groupName = 'Miscellaneous';
|
|
204
|
+
}
|
|
200
205
|
}
|
|
201
206
|
else if (currBlock === tags.TAGS.label) {
|
|
202
207
|
this._tags = line.trim();
|