rflib-plugin 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -6
- package/lib/commands/rflib/logging/apex/instrument.d.ts +2 -0
- package/lib/commands/rflib/logging/apex/instrument.js +57 -6
- package/lib/commands/rflib/logging/apex/instrument.js.map +1 -1
- package/lib/commands/rflib/logging/aura/instrument.d.ts +32 -0
- package/lib/commands/rflib/logging/aura/instrument.js +316 -0
- package/lib/commands/rflib/logging/aura/instrument.js.map +1 -0
- package/lib/commands/rflib/logging/lwc/instrument.d.ts +1 -0
- package/lib/commands/rflib/logging/lwc/instrument.js +62 -33
- package/lib/commands/rflib/logging/lwc/instrument.js.map +1 -1
- package/messages/rflib.logging.apex.instrument.md +16 -2
- package/messages/rflib.logging.aura.instrument.md +78 -0
- package/messages/rflib.logging.lwc.instrument.md +8 -0
- package/oclif.manifest.json +116 -2
- package/package.json +14 -7
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ Plugin for Salesforce CLI to help with the adoption of [RFLIB](https://github.co
|
|
|
8
8
|
|
|
9
9
|
- Automatically instruments Apex classes with RFLIB logging statements
|
|
10
10
|
- Automatically instruments LWC components with RFLIB logging statements
|
|
11
|
+
- Automatically instruments Aura components with RFLIB logging statements
|
|
11
12
|
|
|
12
13
|
## Installation
|
|
13
14
|
|
|
@@ -23,13 +24,13 @@ Adds RFLIB logging statements to Apex classes.
|
|
|
23
24
|
|
|
24
25
|
```bash
|
|
25
26
|
# Add logging to all classes in a directory
|
|
26
|
-
sf rflib logging apex instrument --sourcepath force-app
|
|
27
|
+
sf rflib logging apex instrument --sourcepath force-app
|
|
27
28
|
|
|
28
29
|
# Preview changes without modifying files
|
|
29
|
-
sf rflib logging apex instrument --sourcepath force-app
|
|
30
|
+
sf rflib logging apex instrument --sourcepath force-app --dryrun
|
|
30
31
|
|
|
31
32
|
# Format modified files with Prettier
|
|
32
|
-
sf rflib logging apex instrument --sourcepath force-app
|
|
33
|
+
sf rflib logging apex instrument --sourcepath force-app --prettier
|
|
33
34
|
```
|
|
34
35
|
|
|
35
36
|
#### Command Options
|
|
@@ -44,15 +45,42 @@ Adds RFLIB logging statements to Lightning Web Components.
|
|
|
44
45
|
|
|
45
46
|
```bash
|
|
46
47
|
# Add logging to all LWC files
|
|
47
|
-
sf rflib logging lwc instrument --sourcepath force-app
|
|
48
|
+
sf rflib logging lwc instrument --sourcepath force-app
|
|
48
49
|
|
|
49
50
|
# Preview changes without modifying files
|
|
50
|
-
sf rflib logging lwc instrument --sourcepath force-app
|
|
51
|
+
sf rflib logging lwc instrument --sourcepath force-app --dryrun
|
|
51
52
|
|
|
52
53
|
# Add logging and format code
|
|
53
|
-
sf rflib logging lwc instrument --sourcepath force-app
|
|
54
|
+
sf rflib logging lwc instrument --sourcepath force-app --prettier
|
|
54
55
|
```
|
|
55
56
|
|
|
57
|
+
#### Command Options
|
|
58
|
+
|
|
59
|
+
- `--sourcepath (-s)`: Directory containing Apex classes to instrument
|
|
60
|
+
- `--dryrun (-d)`: Preview changes without modifying files
|
|
61
|
+
- `--prettier (-p)`: Format modified files using Prettier
|
|
62
|
+
|
|
63
|
+
### `sf rflib logging aura instrument`
|
|
64
|
+
|
|
65
|
+
Adds RFLIB logging statements to Aura Components.
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Add logging to all LWC files
|
|
69
|
+
sf rflib logging aura instrument --sourcepath force-app
|
|
70
|
+
|
|
71
|
+
# Preview changes without modifying files
|
|
72
|
+
sf rflib logging aura instrument --sourcepath force-app --dryrun
|
|
73
|
+
|
|
74
|
+
# Add logging and format code
|
|
75
|
+
sf rflib logging aura instrument --sourcepath force-app --prettier
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### Command Options
|
|
79
|
+
|
|
80
|
+
- `--sourcepath (-s)`: Directory containing Apex classes to instrument
|
|
81
|
+
- `--dryrun (-d)`: Preview changes without modifying files
|
|
82
|
+
- `--prettier (-p)`: Format modified files using Prettier
|
|
83
|
+
|
|
56
84
|
## Contributing
|
|
57
85
|
|
|
58
86
|
1. Fork the repository
|
|
@@ -12,6 +12,7 @@ export default class RflibLoggingApexInstrument extends SfCommand<RflibLoggingAp
|
|
|
12
12
|
sourcepath: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
13
|
dryrun: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
prettier: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
'no-if': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
16
|
};
|
|
16
17
|
private logger;
|
|
17
18
|
private processedFiles;
|
|
@@ -24,6 +25,7 @@ export default class RflibLoggingApexInstrument extends SfCommand<RflibLoggingAp
|
|
|
24
25
|
private static processParameters;
|
|
25
26
|
private static processMethodDeclarations;
|
|
26
27
|
private static processCatchBlocks;
|
|
28
|
+
private static processIfStatements;
|
|
27
29
|
run(): Promise<RflibLoggingApexInstrumentResult>;
|
|
28
30
|
private processDirectory;
|
|
29
31
|
private processTestFile;
|
|
@@ -15,6 +15,8 @@ const classLevelLoggerRegex = /\bprivate\s+(?:static\s+)?(?:final\s+)?rflib_Logg
|
|
|
15
15
|
const genericArgsRegex = /<[^>]+>/g;
|
|
16
16
|
const catchRegex = /catch\s*\(\s*\w+\s+(\w+)\s*\)\s*{/g;
|
|
17
17
|
const testSetupRegex = /@TestSetup\s+((public|private|protected|global)s+)?(?:static\s+)?void\s+(\w+)\s*\([^)]*\)\s*{/g;
|
|
18
|
+
const ifStatementRegex = /if\s*\((.*?)\)\s*(?:{([^]*?(?:(?<!{){(?:[^]*?)}(?!})[^]*?)*)}|([^{].*?)(?=\s*(?:;|$));)/g;
|
|
19
|
+
const elseRegex = /}\s*else(?!\s+if\b)\s*(?:{((?:[^{}]|{(?:[^{}]|{[^{}]*})*})*)}|([^{].*?)(?=\n|;|$))/g;
|
|
18
20
|
const PRIMITIVE_TYPES = new Set([
|
|
19
21
|
'STRING',
|
|
20
22
|
'INTEGER',
|
|
@@ -50,6 +52,9 @@ export default class RflibLoggingApexInstrument extends SfCommand {
|
|
|
50
52
|
char: 'p',
|
|
51
53
|
default: false,
|
|
52
54
|
}),
|
|
55
|
+
'no-if': Flags.boolean({
|
|
56
|
+
summary: messages.getMessage('flags.no-if.summary'),
|
|
57
|
+
}),
|
|
53
58
|
};
|
|
54
59
|
logger;
|
|
55
60
|
processedFiles = 0;
|
|
@@ -126,16 +131,58 @@ export default class RflibLoggingApexInstrument extends SfCommand {
|
|
|
126
131
|
return `${match}\n ${loggerName}.error('An error occurred in ${methodName}()', ${exceptionVar.trim()});`;
|
|
127
132
|
});
|
|
128
133
|
}
|
|
134
|
+
static processIfStatements(content, loggerName) {
|
|
135
|
+
const conditions = [];
|
|
136
|
+
// Process if statements and store conditions with positions
|
|
137
|
+
let modified = content.replace(ifStatementRegex, (match, condition, blockBody, singleLineBody, offset) => {
|
|
138
|
+
const cleanedUpCondition = condition.trim().replaceAll("'", "\\'");
|
|
139
|
+
conditions.push({
|
|
140
|
+
condition: cleanedUpCondition,
|
|
141
|
+
position: offset,
|
|
142
|
+
});
|
|
143
|
+
const logStatement = `${loggerName}.debug('if (${cleanedUpCondition})');\n `;
|
|
144
|
+
if (blockBody) {
|
|
145
|
+
return `if (${condition}) {\n ${logStatement}${blockBody}}`;
|
|
146
|
+
}
|
|
147
|
+
else if (singleLineBody) {
|
|
148
|
+
const cleanBody = singleLineBody.replace(/;$/, '').trim();
|
|
149
|
+
return `if (${condition}) {\n ${logStatement}${cleanBody};\n }`;
|
|
150
|
+
}
|
|
151
|
+
return match;
|
|
152
|
+
});
|
|
153
|
+
// Process else blocks using nearest if condition
|
|
154
|
+
modified = modified.replace(elseRegex, (match, blockBody, singleLineBody, offset) => {
|
|
155
|
+
// Find last if statement before this else
|
|
156
|
+
const nearestIf = conditions
|
|
157
|
+
.filter((c) => c.position < offset)
|
|
158
|
+
.reduce((prev, curr) => (!prev || curr.position > prev.position ? curr : prev));
|
|
159
|
+
const logStatement = nearestIf
|
|
160
|
+
? `${loggerName}.debug('else for if (${nearestIf.condition})');\n `
|
|
161
|
+
: `${loggerName}.debug('else statement');\n `;
|
|
162
|
+
if (blockBody) {
|
|
163
|
+
return `} else {\n ${logStatement}${blockBody}}`;
|
|
164
|
+
}
|
|
165
|
+
else if (singleLineBody) {
|
|
166
|
+
return `} else {\n ${logStatement}${singleLineBody};\n }`;
|
|
167
|
+
}
|
|
168
|
+
return match;
|
|
169
|
+
});
|
|
170
|
+
return modified;
|
|
171
|
+
}
|
|
129
172
|
async run() {
|
|
130
173
|
this.logger = await Logger.child(this.ctor.name);
|
|
131
174
|
const startTime = Date.now();
|
|
132
175
|
const { flags } = await this.parse(RflibLoggingApexInstrument);
|
|
133
176
|
const sourcePath = flags.sourcepath;
|
|
134
177
|
const isDryRun = flags.dryrun;
|
|
135
|
-
const
|
|
178
|
+
const instrumentationFlags = {
|
|
179
|
+
prettier: flags.prettier,
|
|
180
|
+
noIf: flags['no-if'],
|
|
181
|
+
};
|
|
136
182
|
this.log(`Scanning Apex classes in ${sourcePath} and sub directories`);
|
|
183
|
+
this.logger.debug(`Dry run mode: ${flags.dryrun}`);
|
|
137
184
|
this.spinner.start('Running...');
|
|
138
|
-
await this.processDirectory(sourcePath, isDryRun,
|
|
185
|
+
await this.processDirectory(sourcePath, isDryRun, instrumentationFlags);
|
|
139
186
|
this.spinner.stop();
|
|
140
187
|
const duration = Date.now() - startTime;
|
|
141
188
|
this.logger.debug(`Completed instrumentation in ${duration}ms`);
|
|
@@ -149,20 +196,20 @@ export default class RflibLoggingApexInstrument extends SfCommand {
|
|
|
149
196
|
formattedFiles: this.formattedFiles,
|
|
150
197
|
};
|
|
151
198
|
}
|
|
152
|
-
async processDirectory(dirPath, isDryRun,
|
|
199
|
+
async processDirectory(dirPath, isDryRun, flags) {
|
|
153
200
|
this.logger.debug(`Processing directory: ${dirPath}`);
|
|
154
201
|
const files = await fs.promises.readdir(dirPath);
|
|
155
202
|
for (const file of files) {
|
|
156
203
|
const filePath = path.join(dirPath, file);
|
|
157
204
|
const stat = await fs.promises.stat(filePath);
|
|
158
205
|
if (stat.isDirectory()) {
|
|
159
|
-
await this.processDirectory(filePath, isDryRun,
|
|
206
|
+
await this.processDirectory(filePath, isDryRun, flags);
|
|
160
207
|
}
|
|
161
208
|
else if (file.endsWith('Test.cls')) {
|
|
162
209
|
await this.processTestFile(filePath, isDryRun);
|
|
163
210
|
}
|
|
164
211
|
else if (file.endsWith('.cls')) {
|
|
165
|
-
await this.instrumentApexClass(filePath, isDryRun,
|
|
212
|
+
await this.instrumentApexClass(filePath, isDryRun, flags);
|
|
166
213
|
}
|
|
167
214
|
}
|
|
168
215
|
}
|
|
@@ -182,7 +229,8 @@ export default class RflibLoggingApexInstrument extends SfCommand {
|
|
|
182
229
|
}
|
|
183
230
|
}
|
|
184
231
|
}
|
|
185
|
-
async instrumentApexClass(filePath, isDryRun,
|
|
232
|
+
async instrumentApexClass(filePath, isDryRun, flags) {
|
|
233
|
+
const usePrettier = flags.prettier;
|
|
186
234
|
const className = path.basename(filePath, '.cls');
|
|
187
235
|
this.logger.debug(`Processing class: ${className}`);
|
|
188
236
|
try {
|
|
@@ -193,6 +241,9 @@ export default class RflibLoggingApexInstrument extends SfCommand {
|
|
|
193
241
|
content = RflibLoggingApexInstrument.addLoggerDeclaration(content, className);
|
|
194
242
|
content = RflibLoggingApexInstrument.processMethodDeclarations(content, loggerVariableName);
|
|
195
243
|
content = RflibLoggingApexInstrument.processCatchBlocks(content, loggerVariableName);
|
|
244
|
+
if (!flags.noIf) {
|
|
245
|
+
content = RflibLoggingApexInstrument.processIfStatements(content, loggerVariableName);
|
|
246
|
+
}
|
|
196
247
|
if (content !== originalContent) {
|
|
197
248
|
this.modifiedFiles++;
|
|
198
249
|
if (!isDryRun) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../../../../src/commands/rflib/logging/apex/instrument.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../../../../src/commands/rflib/logging/apex/instrument.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
export type RflibLoggingAuraInstrumentResult = {
|
|
3
|
+
processedFiles: number;
|
|
4
|
+
modifiedFiles: number;
|
|
5
|
+
formattedFiles: number;
|
|
6
|
+
};
|
|
7
|
+
export default class RflibLoggingAuraInstrument extends SfCommand<RflibLoggingAuraInstrumentResult> {
|
|
8
|
+
static readonly summary: string;
|
|
9
|
+
static readonly description: string;
|
|
10
|
+
static readonly examples: string[];
|
|
11
|
+
static readonly flags: {
|
|
12
|
+
sourcepath: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
dryrun: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
prettier: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
'no-if': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
private logger;
|
|
18
|
+
private processedFiles;
|
|
19
|
+
private modifiedFiles;
|
|
20
|
+
private formattedFiles;
|
|
21
|
+
private readonly prettierConfig;
|
|
22
|
+
private static processMethodLogging;
|
|
23
|
+
private static processPromiseChains;
|
|
24
|
+
private static processTryCatchBlocks;
|
|
25
|
+
private static processIfStatements;
|
|
26
|
+
run(): Promise<RflibLoggingAuraInstrumentResult>;
|
|
27
|
+
private processDirectory;
|
|
28
|
+
private processAuraComponents;
|
|
29
|
+
private processAuraComponent;
|
|
30
|
+
private instrumentCmpFile;
|
|
31
|
+
private instrumentJsFile;
|
|
32
|
+
}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
|
|
2
|
+
/* eslint-disable no-await-in-loop */
|
|
3
|
+
/* eslint-disable @typescript-eslint/quotes */
|
|
4
|
+
/* eslint-disable sf-plugin/no-missing-messages */
|
|
5
|
+
import * as fs from 'node:fs';
|
|
6
|
+
import * as path from 'node:path';
|
|
7
|
+
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
8
|
+
import { Messages, Logger } from '@salesforce/core';
|
|
9
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
10
|
+
import * as prettier from 'prettier';
|
|
11
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
12
|
+
const messages = Messages.loadMessages('rflib-plugin', 'rflib.logging.aura.instrument');
|
|
13
|
+
const loggerComponentRegex = /<c:rflibLoggerCmp\s+aura:id="([^"]+)"\s+name="([^"]+)"\s+appendComponentId="([^"]+)"\s*\/>/;
|
|
14
|
+
const attributeRegex = /<aura:attribute[^>]*>/g;
|
|
15
|
+
const loggerVarRegex = /var\s+(\w+)\s*=\s*component\.find\(['"](\w+)['"]\)/;
|
|
16
|
+
const methodRegex = /(\b\w+)\s*:\s*function\s*\((.*?)\)\s*{((?:[^{}]|{(?:[^{}]|{(?:[^{}]|{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})*})*})*?)}/g;
|
|
17
|
+
const promiseChainRegex = /\.(then|catch|finally)\s*\(\s*(?:async\s+)?(?:\(?([^)]*)\)?)?\s*=>\s*(?:{([\s\S]*?)}|([^{].*?)(?=\.|\)|\n|;|$))/g;
|
|
18
|
+
const tryCatchBlockRegex = /try\s*{[\s\S]*?}\s*catch\s*\(([^)]*)\)\s*{/g;
|
|
19
|
+
const ifStatementRegex = /if\s*\((.*?)\)\s*(?:{([^]*?(?:(?<!{){(?:[^]*?)}(?!})[^]*?)*)}|([^{].*?)(?=\s*(?:;|$));)/g;
|
|
20
|
+
const elseRegex = /}\s*else(?!\s+if\b)\s*(?:{((?:[^{}]|{(?:[^{}]|{[^{}]*})*})*)}|([^{].*?)(?=\n|;|$))/g;
|
|
21
|
+
export default class RflibLoggingAuraInstrument extends SfCommand {
|
|
22
|
+
static summary = messages.getMessage('summary');
|
|
23
|
+
static description = messages.getMessage('description');
|
|
24
|
+
static examples = messages.getMessages('examples');
|
|
25
|
+
static flags = {
|
|
26
|
+
sourcepath: Flags.string({
|
|
27
|
+
char: 's',
|
|
28
|
+
required: true,
|
|
29
|
+
summary: messages.getMessage('flags.sourcepath.summary'),
|
|
30
|
+
description: messages.getMessage('flags.sourcepath.description'),
|
|
31
|
+
}),
|
|
32
|
+
dryrun: Flags.boolean({
|
|
33
|
+
char: 'd',
|
|
34
|
+
default: false,
|
|
35
|
+
summary: messages.getMessage('flags.dryrun.summary'),
|
|
36
|
+
description: messages.getMessage('flags.dryrun.description'),
|
|
37
|
+
}),
|
|
38
|
+
prettier: Flags.boolean({
|
|
39
|
+
char: 'p',
|
|
40
|
+
default: false,
|
|
41
|
+
summary: messages.getMessage('flags.prettier.summary'),
|
|
42
|
+
description: messages.getMessage('flags.prettier.description'),
|
|
43
|
+
}),
|
|
44
|
+
'no-if': Flags.boolean({
|
|
45
|
+
summary: messages.getMessage('flags.no-if.summary'),
|
|
46
|
+
}),
|
|
47
|
+
};
|
|
48
|
+
logger;
|
|
49
|
+
processedFiles = 0;
|
|
50
|
+
modifiedFiles = 0;
|
|
51
|
+
formattedFiles = 0;
|
|
52
|
+
prettierConfig = {
|
|
53
|
+
parser: 'babel',
|
|
54
|
+
printWidth: 120,
|
|
55
|
+
tabWidth: 4,
|
|
56
|
+
useTabs: false,
|
|
57
|
+
singleQuote: true,
|
|
58
|
+
trailingComma: 'none',
|
|
59
|
+
};
|
|
60
|
+
static processMethodLogging(logger, content, loggerId, filePath, flags) {
|
|
61
|
+
const isHelper = filePath.endsWith('Helper.js');
|
|
62
|
+
return content.replace(methodRegex, (match, methodName, params, body) => {
|
|
63
|
+
logger.trace(`Processing method: ${methodName}`);
|
|
64
|
+
const paramList = params
|
|
65
|
+
.split(',')
|
|
66
|
+
.map((p) => p.trim())
|
|
67
|
+
.filter((p) => p);
|
|
68
|
+
let loggerVar = 'logger';
|
|
69
|
+
let bodyContent = body;
|
|
70
|
+
// Prepare logging parameters
|
|
71
|
+
const paramsToLog = isHelper ? paramList : paramList.slice(1, 2);
|
|
72
|
+
const placeholders = paramsToLog.map((_, i) => `{${i}}`).join(', ');
|
|
73
|
+
const logParams = paramsToLog.length > 0 ? `, [${paramsToLog.join(', ')}]` : '';
|
|
74
|
+
// Find existing logger in function body
|
|
75
|
+
const loggerMatch = body.match(loggerVarRegex);
|
|
76
|
+
if (loggerMatch && loggerMatch[2] === loggerId) {
|
|
77
|
+
loggerVar = loggerMatch[1];
|
|
78
|
+
// Insert log after existing logger declaration
|
|
79
|
+
const loggerIndex = body.indexOf(loggerMatch[0]) + loggerMatch[0].length;
|
|
80
|
+
bodyContent =
|
|
81
|
+
body.slice(0, loggerIndex) +
|
|
82
|
+
`\n ${loggerVar}.info('${methodName}(${placeholders})'${logParams});` +
|
|
83
|
+
body.slice(loggerIndex);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
// Add new logger and log statement
|
|
87
|
+
const loggerInit = `var ${loggerVar} = ${paramList[0]}.find('${loggerId}');\n`;
|
|
88
|
+
bodyContent = `\n ${loggerInit} ${loggerVar}.info('${methodName}(${placeholders})'${logParams});${body}`;
|
|
89
|
+
}
|
|
90
|
+
// Then handle if statements
|
|
91
|
+
if (!flags.noIf) {
|
|
92
|
+
bodyContent = this.processIfStatements(bodyContent, loggerVar);
|
|
93
|
+
}
|
|
94
|
+
return `${methodName}: function(${params}) {${bodyContent}}`;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
static processPromiseChains(content) {
|
|
98
|
+
return content.replace(promiseChainRegex, (match, type, param, blockBody, singleLineBody) => {
|
|
99
|
+
const paramName = param?.trim() || (type === 'then' ? 'result' : 'error');
|
|
100
|
+
let logStatement = '';
|
|
101
|
+
switch (type) {
|
|
102
|
+
case 'then':
|
|
103
|
+
logStatement = `logger.info('Promise resolved. Result={0}', ${paramName});`;
|
|
104
|
+
break;
|
|
105
|
+
case 'catch':
|
|
106
|
+
logStatement = `logger.error('An error occurred', ${paramName});`;
|
|
107
|
+
break;
|
|
108
|
+
case 'finally':
|
|
109
|
+
logStatement = `logger.info('Promise chain completed');`;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
if (singleLineBody) {
|
|
113
|
+
return `.${type}(${param || paramName} => {
|
|
114
|
+
${logStatement}
|
|
115
|
+
return ${singleLineBody};
|
|
116
|
+
})`;
|
|
117
|
+
}
|
|
118
|
+
if (blockBody) {
|
|
119
|
+
return `.${type}(${param || paramName} => {
|
|
120
|
+
${logStatement}${blockBody}
|
|
121
|
+
})`;
|
|
122
|
+
}
|
|
123
|
+
return match;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
static processTryCatchBlocks(content) {
|
|
127
|
+
return content.replace(tryCatchBlockRegex, (match, exceptionVar) => {
|
|
128
|
+
const errorVar = exceptionVar.trim().split(' ')[0] || 'error';
|
|
129
|
+
return match.replace(/catch\s*\(([^)]*)\)\s*{/, `catch(${exceptionVar}) {
|
|
130
|
+
logger.error('An error occurred', ${errorVar});`);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
static processIfStatements(content, loggerName) {
|
|
134
|
+
const conditions = [];
|
|
135
|
+
// Process if statements and store conditions with positions
|
|
136
|
+
let modified = content.replace(ifStatementRegex, (match, condition, blockBody, singleLineBody, offset) => {
|
|
137
|
+
const cleanedUpCondition = condition.trim().replaceAll("'", "\\'");
|
|
138
|
+
conditions.push({
|
|
139
|
+
condition: cleanedUpCondition,
|
|
140
|
+
position: offset,
|
|
141
|
+
});
|
|
142
|
+
const logStatement = `${loggerName}.debug('if (${cleanedUpCondition})');\n `;
|
|
143
|
+
if (blockBody) {
|
|
144
|
+
return `if (${condition}) {\n ${logStatement}${blockBody}}`;
|
|
145
|
+
}
|
|
146
|
+
else if (singleLineBody) {
|
|
147
|
+
const cleanBody = singleLineBody.replace(/;$/, '').trim();
|
|
148
|
+
return `if (${condition}) {\n ${logStatement}${cleanBody};\n }`;
|
|
149
|
+
}
|
|
150
|
+
return match;
|
|
151
|
+
});
|
|
152
|
+
// Process else blocks using nearest if condition
|
|
153
|
+
modified = modified.replace(elseRegex, (match, blockBody, singleLineBody, offset) => {
|
|
154
|
+
// Find last if statement before this else
|
|
155
|
+
const nearestIf = conditions
|
|
156
|
+
.filter((c) => c.position < offset)
|
|
157
|
+
.reduce((prev, curr) => (!prev || curr.position > prev.position ? curr : prev));
|
|
158
|
+
const logStatement = nearestIf
|
|
159
|
+
? `${loggerName}.debug('else for if (${nearestIf.condition})');\n `
|
|
160
|
+
: `${loggerName}.debug('else statement');\n `;
|
|
161
|
+
if (blockBody) {
|
|
162
|
+
return `} else {\n ${logStatement}${blockBody}}`;
|
|
163
|
+
}
|
|
164
|
+
else if (singleLineBody) {
|
|
165
|
+
return `} else {\n ${logStatement}${singleLineBody};\n }`;
|
|
166
|
+
}
|
|
167
|
+
return match;
|
|
168
|
+
});
|
|
169
|
+
return modified;
|
|
170
|
+
}
|
|
171
|
+
async run() {
|
|
172
|
+
this.logger = await Logger.child(this.ctor.name);
|
|
173
|
+
const { flags } = await this.parse(RflibLoggingAuraInstrument);
|
|
174
|
+
const instrumentationFlags = {
|
|
175
|
+
prettier: flags.prettier,
|
|
176
|
+
noIf: flags['no-if'],
|
|
177
|
+
};
|
|
178
|
+
this.log(`Starting Aura component instrumentation in ${flags.sourcepath}`);
|
|
179
|
+
this.logger.debug(`Dry run mode: ${flags.dryrun}`);
|
|
180
|
+
this.spinner.start('Running...');
|
|
181
|
+
await this.processDirectory(flags.sourcepath, flags.dryrun, instrumentationFlags);
|
|
182
|
+
this.spinner.stop();
|
|
183
|
+
this.log(`\nInstrumentation complete.`);
|
|
184
|
+
this.log(`Processed files: ${this.processedFiles}`);
|
|
185
|
+
this.log(`Modified files: ${this.modifiedFiles}`);
|
|
186
|
+
this.log(`Formatted files: ${this.formattedFiles}`);
|
|
187
|
+
return {
|
|
188
|
+
processedFiles: this.processedFiles,
|
|
189
|
+
modifiedFiles: this.modifiedFiles,
|
|
190
|
+
formattedFiles: this.formattedFiles,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
async processDirectory(dirPath, isDryRun, flags) {
|
|
194
|
+
this.logger.debug(`Processing directory: ${dirPath}`);
|
|
195
|
+
// Check if path is direct component
|
|
196
|
+
const dirName = path.basename(dirPath);
|
|
197
|
+
const parentDir = path.basename(path.dirname(dirPath));
|
|
198
|
+
if (parentDir === 'aura') {
|
|
199
|
+
this.logger.info(`Processing single component: ${dirName}`);
|
|
200
|
+
await this.processAuraComponent(dirPath, dirName, isDryRun, flags);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
const entries = await fs.promises.readdir(dirPath, { withFileTypes: true });
|
|
204
|
+
for (const entry of entries) {
|
|
205
|
+
const fullPath = path.join(dirPath, entry.name);
|
|
206
|
+
this.logger.debug(`Examining entry: ${entry.name}`);
|
|
207
|
+
if (entry.isDirectory()) {
|
|
208
|
+
if (entry.name === 'aura') {
|
|
209
|
+
this.logger.info(`Found Aura directory: ${fullPath}`);
|
|
210
|
+
await this.processAuraComponents(fullPath, isDryRun, flags);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
await this.processDirectory(fullPath, isDryRun, flags);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
async processAuraComponents(auraPath, isDryRun, flags) {
|
|
219
|
+
// Check if path is already an aura directory
|
|
220
|
+
if (path.basename(auraPath) !== 'aura') {
|
|
221
|
+
this.logger.warn(`Not an aura directory: ${auraPath}`);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
const entries = await fs.promises.readdir(auraPath, { withFileTypes: true });
|
|
225
|
+
for (const entry of entries) {
|
|
226
|
+
if (entry.isDirectory()) {
|
|
227
|
+
const componentPath = path.join(auraPath, entry.name);
|
|
228
|
+
await this.processAuraComponent(componentPath, entry.name, isDryRun, flags);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
async processAuraComponent(componentPath, componentName, isDryRun, flags) {
|
|
233
|
+
this.logger.info(`Processing Aura component: ${componentName}`);
|
|
234
|
+
const cmpPath = path.join(componentPath, `${componentName}.cmp`);
|
|
235
|
+
const controllerPath = path.join(componentPath, `${componentName}Controller.js`);
|
|
236
|
+
const helperPath = path.join(componentPath, `${componentName}Helper.js`);
|
|
237
|
+
const rendererPath = path.join(componentPath, `${componentName}Renderer.js`);
|
|
238
|
+
try {
|
|
239
|
+
const loggerId = await this.instrumentCmpFile(cmpPath, componentName, isDryRun);
|
|
240
|
+
this.logger.debug(`Using logger ID: ${loggerId}`);
|
|
241
|
+
await this.instrumentJsFile(controllerPath, loggerId, isDryRun, flags);
|
|
242
|
+
await this.instrumentJsFile(helperPath, loggerId, isDryRun, flags);
|
|
243
|
+
await this.instrumentJsFile(rendererPath, loggerId, isDryRun, flags);
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
this.logger.error(`Error processing Aura ${componentName}`, error);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
async instrumentCmpFile(filePath, componentName, isDryRun) {
|
|
250
|
+
if (!fs.existsSync(filePath)) {
|
|
251
|
+
this.logger.warn(`Component file not found: ${filePath}`);
|
|
252
|
+
return 'logger';
|
|
253
|
+
}
|
|
254
|
+
this.logger.debug(`Instrumenting component file: ${filePath}`);
|
|
255
|
+
this.processedFiles++;
|
|
256
|
+
let content = await fs.promises.readFile(filePath, 'utf8');
|
|
257
|
+
const originalContent = content;
|
|
258
|
+
const loggerMatch = content.match(loggerComponentRegex);
|
|
259
|
+
if (loggerMatch) {
|
|
260
|
+
return loggerMatch[1];
|
|
261
|
+
}
|
|
262
|
+
const lastAttributeMatch = [...content.matchAll(attributeRegex)].pop();
|
|
263
|
+
if (lastAttributeMatch) {
|
|
264
|
+
const insertPosition = lastAttributeMatch.index + lastAttributeMatch[0].length;
|
|
265
|
+
const loggerComponent = `\n <c:rflibLoggerCmp aura:id="logger" name="${componentName}" appendComponentId="false" />`;
|
|
266
|
+
content = content.slice(0, insertPosition) + loggerComponent + content.slice(insertPosition);
|
|
267
|
+
}
|
|
268
|
+
if (content !== originalContent) {
|
|
269
|
+
this.modifiedFiles++;
|
|
270
|
+
if (!isDryRun) {
|
|
271
|
+
await fs.promises.writeFile(filePath, content, 'utf8');
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return 'logger';
|
|
275
|
+
}
|
|
276
|
+
async instrumentJsFile(filePath, loggerId, isDryRun, flags) {
|
|
277
|
+
if (!fs.existsSync(filePath)) {
|
|
278
|
+
this.logger.debug(`JavaScript file not found: ${filePath}`);
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
this.logger.debug(`Instrumenting JavaScript file: ${filePath}`);
|
|
282
|
+
this.processedFiles++;
|
|
283
|
+
let content = await fs.promises.readFile(filePath, 'utf8');
|
|
284
|
+
const originalContent = content;
|
|
285
|
+
const usePrettier = flags.prettier;
|
|
286
|
+
// Process methods
|
|
287
|
+
content = RflibLoggingAuraInstrument.processMethodLogging(this.logger, content, loggerId, filePath, flags);
|
|
288
|
+
content = RflibLoggingAuraInstrument.processPromiseChains(content);
|
|
289
|
+
content = RflibLoggingAuraInstrument.processTryCatchBlocks(content);
|
|
290
|
+
if (content !== originalContent) {
|
|
291
|
+
this.modifiedFiles++;
|
|
292
|
+
if (!isDryRun) {
|
|
293
|
+
try {
|
|
294
|
+
const finalContent = usePrettier ? await prettier.format(content, this.prettierConfig) : content;
|
|
295
|
+
await fs.promises.writeFile(filePath, finalContent);
|
|
296
|
+
if (usePrettier) {
|
|
297
|
+
this.formattedFiles++;
|
|
298
|
+
this.logger.info(`Modified and formatted: ${filePath}`);
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
this.logger.info(`Modified: ${filePath}`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
this.logger.warn(`Failed to format ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
306
|
+
await fs.promises.writeFile(filePath, content);
|
|
307
|
+
this.logger.info(`Modified without formatting: ${filePath}`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
this.logger.info(`Would modify: ${filePath}`);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=instrument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../../../../src/commands/rflib/logging/aura/instrument.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export default class RflibLoggingLwcInstrument extends SfCommand<RflibLoggingLwc
|
|
|
12
12
|
sourcepath: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
13
|
dryrun: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
prettier: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
'no-if': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
16
|
};
|
|
16
17
|
private logger;
|
|
17
18
|
private processedFiles;
|
|
@@ -14,8 +14,8 @@ const importRegex = /import\s*{\s*createLogger\s*}\s*from\s*['"]c\/rflibLogger['
|
|
|
14
14
|
const loggerRegex = /const\s+(\w+)\s*=\s*createLogger\s*\(['"]([\w-]+)['"]\)/;
|
|
15
15
|
const methodRegex = /(?:async\s+)?(?!(?:if|switch|case|while|for|catch)\b)(\b\w+)\s*\((.*?)\)\s*{/g;
|
|
16
16
|
const exportDefaultRegex = /export\s+default\s+class\s+(\w+)/;
|
|
17
|
-
const ifStatementRegex = /if\s*\((.*?)\)\s*{([
|
|
18
|
-
const elseRegex = /}\s*else\s*{([
|
|
17
|
+
const ifStatementRegex = /if\s*\((.*?)\)\s*(?:{([^]*?(?:(?<!{){(?:[^]*?)}(?!})[^]*?)*)}|([^{].*?)(?=\s*(?:;|$));)/g;
|
|
18
|
+
const elseRegex = /}\s*else(?!\s+if\b)\s*(?:{((?:[^{}]|{(?:[^{}]|{[^{}]*})*})*)}|([^{].*?)(?=\n|;|$))/g;
|
|
19
19
|
const promiseChainRegex = /\.(then|catch|finally)\s*\(\s*(?:async\s+)?(?:\(?([^)]*)\)?)?\s*=>\s*(?:\{((?:[^{}]|`[^`]*`)*?)\}|([^{;]*(?:\([^)]*\))*)(?=(?:\)\))|\)|\.))/g;
|
|
20
20
|
const tryCatchBlockRegex = /try\s*{[\s\S]*?}\s*catch\s*\(([^)]*)\)\s*{/g;
|
|
21
21
|
export default class RflibLoggingLwcInstrument extends SfCommand {
|
|
@@ -27,20 +27,23 @@ export default class RflibLoggingLwcInstrument extends SfCommand {
|
|
|
27
27
|
char: 's',
|
|
28
28
|
required: true,
|
|
29
29
|
summary: messages.getMessage('flags.sourcepath.summary'),
|
|
30
|
-
description: messages.getMessage('flags.sourcepath.description')
|
|
30
|
+
description: messages.getMessage('flags.sourcepath.description'),
|
|
31
31
|
}),
|
|
32
32
|
dryrun: Flags.boolean({
|
|
33
33
|
char: 'd',
|
|
34
34
|
default: false,
|
|
35
35
|
summary: messages.getMessage('flags.dryrun.summary'),
|
|
36
|
-
description: messages.getMessage('flags.dryrun.description')
|
|
36
|
+
description: messages.getMessage('flags.dryrun.description'),
|
|
37
37
|
}),
|
|
38
38
|
prettier: Flags.boolean({
|
|
39
39
|
char: 'p',
|
|
40
40
|
default: false,
|
|
41
41
|
summary: messages.getMessage('flags.prettier.summary'),
|
|
42
|
-
description: messages.getMessage('flags.prettier.description')
|
|
43
|
-
})
|
|
42
|
+
description: messages.getMessage('flags.prettier.description'),
|
|
43
|
+
}),
|
|
44
|
+
'no-if': Flags.boolean({
|
|
45
|
+
summary: messages.getMessage('flags.no-if.summary'),
|
|
46
|
+
}),
|
|
44
47
|
};
|
|
45
48
|
logger;
|
|
46
49
|
processedFiles = 0;
|
|
@@ -51,7 +54,7 @@ export default class RflibLoggingLwcInstrument extends SfCommand {
|
|
|
51
54
|
printWidth: 120,
|
|
52
55
|
tabWidth: 4,
|
|
53
56
|
useTabs: false,
|
|
54
|
-
singleQuote: true
|
|
57
|
+
singleQuote: true,
|
|
55
58
|
};
|
|
56
59
|
static detectExistingImport(content) {
|
|
57
60
|
return importRegex.test(content);
|
|
@@ -60,7 +63,7 @@ export default class RflibLoggingLwcInstrument extends SfCommand {
|
|
|
60
63
|
const match = content.match(loggerRegex);
|
|
61
64
|
return {
|
|
62
65
|
exists: match !== null,
|
|
63
|
-
loggerName: match ? match[1] : 'logger'
|
|
66
|
+
loggerName: match ? match[1] : 'logger',
|
|
64
67
|
};
|
|
65
68
|
}
|
|
66
69
|
static addImportAndLogger(content, componentName) {
|
|
@@ -84,47 +87,64 @@ export default class RflibLoggingLwcInstrument extends SfCommand {
|
|
|
84
87
|
return closestMethod ? closestMethod[1] : 'unknown';
|
|
85
88
|
}
|
|
86
89
|
static processIfStatements(content, loggerName) {
|
|
87
|
-
|
|
88
|
-
//
|
|
89
|
-
let modified = content.replace(ifStatementRegex, (match,
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
const conditions = [];
|
|
91
|
+
// Process if statements and store conditions with positions
|
|
92
|
+
let modified = content.replace(ifStatementRegex, (match, condition, blockBody, singleLineBody, offset) => {
|
|
93
|
+
const cleanedUpCondition = condition.trim().replaceAll("'", "\\'");
|
|
94
|
+
conditions.push({
|
|
95
|
+
condition: cleanedUpCondition,
|
|
96
|
+
position: offset,
|
|
97
|
+
});
|
|
98
|
+
const logStatement = `${loggerName}.debug('if (${cleanedUpCondition})');\n `;
|
|
93
99
|
if (blockBody) {
|
|
94
100
|
return `if (${condition}) {\n ${logStatement}${blockBody}}`;
|
|
95
101
|
}
|
|
96
|
-
else {
|
|
97
|
-
|
|
102
|
+
else if (singleLineBody) {
|
|
103
|
+
const cleanBody = singleLineBody.replace(/;$/, '').trim();
|
|
104
|
+
return `if (${condition}) {\n ${logStatement}${cleanBody};\n }`;
|
|
98
105
|
}
|
|
106
|
+
return match;
|
|
99
107
|
});
|
|
100
|
-
//
|
|
101
|
-
modified = modified.replace(elseRegex, (match, blockBody,
|
|
102
|
-
|
|
108
|
+
// Process else blocks using nearest if condition
|
|
109
|
+
modified = modified.replace(elseRegex, (match, blockBody, singleLineBody, offset) => {
|
|
110
|
+
// Find last if statement before this else
|
|
111
|
+
const nearestIf = conditions
|
|
112
|
+
.filter((c) => c.position <= offset)
|
|
113
|
+
.reduce((prev, curr) => (!prev || curr.position > prev.position ? curr : prev));
|
|
114
|
+
const logStatement = nearestIf
|
|
115
|
+
? `${loggerName}.debug('else for if (${nearestIf.condition})');\n `
|
|
116
|
+
: `${loggerName}.debug('else statement');\n `;
|
|
103
117
|
if (blockBody) {
|
|
104
118
|
return `} else {\n ${logStatement}${blockBody}}`;
|
|
105
119
|
}
|
|
106
|
-
else {
|
|
107
|
-
return `} else {\n ${logStatement}
|
|
120
|
+
else if (singleLineBody) {
|
|
121
|
+
return `} else {\n ${logStatement}${singleLineBody};\n }`;
|
|
108
122
|
}
|
|
123
|
+
return match;
|
|
109
124
|
});
|
|
110
125
|
return modified;
|
|
111
126
|
}
|
|
112
|
-
static processMethodLogging(content, loggerName) {
|
|
127
|
+
static processMethodLogging(content, loggerName, flags) {
|
|
113
128
|
// First handle methods
|
|
114
129
|
let modified = content.replace(methodRegex, (match, methodName, args) => {
|
|
115
|
-
const parameters = args
|
|
130
|
+
const parameters = args
|
|
131
|
+
.split(',')
|
|
132
|
+
.map((p) => p.trim())
|
|
133
|
+
.filter((p) => p);
|
|
116
134
|
const placeholders = parameters.map((_, i) => `{${i}}`).join(', ');
|
|
117
135
|
const logArgs = parameters.length > 0 ? `, ${parameters.join(', ')}` : '';
|
|
118
136
|
return `${match}\n ${loggerName}.info('${methodName}(${placeholders})'${logArgs});`;
|
|
119
137
|
});
|
|
120
138
|
// Then handle if statements
|
|
121
|
-
|
|
139
|
+
if (!flags.noIf) {
|
|
140
|
+
modified = this.processIfStatements(modified, loggerName);
|
|
141
|
+
}
|
|
122
142
|
return modified;
|
|
123
143
|
}
|
|
124
144
|
static processPromiseChains(content, loggerName) {
|
|
125
145
|
return content.replace(promiseChainRegex, (match, type, param, blockBody, singleLineBody, offset) => {
|
|
126
146
|
const methodName = this.findEnclosingMethod(content, offset);
|
|
127
|
-
const paramName = typeof param === 'string' ? param.trim() :
|
|
147
|
+
const paramName = typeof param === 'string' ? param.trim() : type === 'then' ? 'result' : 'error';
|
|
128
148
|
const indentation = match.match(/\n\s*/)?.[0] || '\n ';
|
|
129
149
|
let logStatement;
|
|
130
150
|
switch (type) {
|
|
@@ -167,8 +187,14 @@ export default class RflibLoggingLwcInstrument extends SfCommand {
|
|
|
167
187
|
async run() {
|
|
168
188
|
this.logger = await Logger.child(this.ctor.name);
|
|
169
189
|
const { flags } = await this.parse(RflibLoggingLwcInstrument);
|
|
190
|
+
const instrumentationFlags = {
|
|
191
|
+
prettier: flags.prettier,
|
|
192
|
+
noIf: flags['no-if'],
|
|
193
|
+
};
|
|
170
194
|
this.log(`Scanning LWC components in ${flags.sourcepath}...`);
|
|
171
|
-
|
|
195
|
+
this.spinner.start('Running...');
|
|
196
|
+
await this.processDirectory(flags.sourcepath, flags.dryrun, instrumentationFlags);
|
|
197
|
+
this.spinner.stop();
|
|
172
198
|
this.log(`\nInstrumentation complete.`);
|
|
173
199
|
this.log(`Processed files: ${this.processedFiles}`);
|
|
174
200
|
this.log(`Modified files: ${this.modifiedFiles}`);
|
|
@@ -176,32 +202,35 @@ export default class RflibLoggingLwcInstrument extends SfCommand {
|
|
|
176
202
|
return {
|
|
177
203
|
processedFiles: this.processedFiles,
|
|
178
204
|
modifiedFiles: this.modifiedFiles,
|
|
179
|
-
formattedFiles: this.formattedFiles
|
|
205
|
+
formattedFiles: this.formattedFiles,
|
|
180
206
|
};
|
|
181
207
|
}
|
|
182
|
-
async processDirectory(dirPath, isDryRun,
|
|
208
|
+
async processDirectory(dirPath, isDryRun, flags) {
|
|
183
209
|
const files = await fs.promises.readdir(dirPath);
|
|
184
210
|
for (const file of files) {
|
|
185
211
|
const filePath = path.join(dirPath, file);
|
|
186
212
|
const stat = await fs.promises.stat(filePath);
|
|
187
213
|
if (stat.isDirectory()) {
|
|
188
|
-
await this.processDirectory(filePath, isDryRun,
|
|
214
|
+
await this.processDirectory(filePath, isDryRun, flags);
|
|
189
215
|
}
|
|
190
|
-
else if (file.endsWith('.js') &&
|
|
191
|
-
|
|
216
|
+
else if (file.endsWith('.js') &&
|
|
217
|
+
!path.dirname(filePath).includes('aura') &&
|
|
218
|
+
!path.dirname(filePath).includes('__tests__')) {
|
|
219
|
+
await this.instrumentLwcFile(filePath, isDryRun, flags);
|
|
192
220
|
}
|
|
193
221
|
}
|
|
194
222
|
}
|
|
195
|
-
async instrumentLwcFile(filePath, isDryRun,
|
|
223
|
+
async instrumentLwcFile(filePath, isDryRun, flags) {
|
|
196
224
|
const componentName = path.basename(path.dirname(filePath));
|
|
197
225
|
this.logger.debug(`Processing LWC: ${componentName}`);
|
|
226
|
+
const usePrettier = flags.prettier;
|
|
198
227
|
try {
|
|
199
228
|
this.processedFiles++;
|
|
200
229
|
let content = await fs.promises.readFile(filePath, 'utf8');
|
|
201
230
|
const originalContent = content;
|
|
202
231
|
const { loggerName } = RflibLoggingLwcInstrument.detectExistingLogger(content);
|
|
203
232
|
content = RflibLoggingLwcInstrument.addImportAndLogger(content, componentName);
|
|
204
|
-
content = RflibLoggingLwcInstrument.processMethodLogging(content, loggerName);
|
|
233
|
+
content = RflibLoggingLwcInstrument.processMethodLogging(content, loggerName, flags);
|
|
205
234
|
content = RflibLoggingLwcInstrument.processTryCatchBlocks(content, loggerName);
|
|
206
235
|
content = RflibLoggingLwcInstrument.processPromiseChains(content, loggerName);
|
|
207
236
|
if (content !== originalContent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../../../../src/commands/rflib/logging/lwc/instrument.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../../../../src/commands/rflib/logging/lwc/instrument.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,20 @@ Format modified files using Prettier.
|
|
|
29
29
|
|
|
30
30
|
# flags.prettier.description
|
|
31
31
|
|
|
32
|
-
When enabled, formats the modified Apex files using prettier-plugin-apex after adding logging statements. Maintains consistent code style
|
|
32
|
+
When enabled, formats the modified Apex files using prettier-plugin-apex after adding logging statements. Maintains consistent code style with:
|
|
33
|
+
|
|
34
|
+
- 120 character line width
|
|
35
|
+
- 4 space indentation
|
|
36
|
+
- Single quotes for strings
|
|
37
|
+
- No tabs
|
|
38
|
+
|
|
39
|
+
# flags.no-if.summary
|
|
40
|
+
|
|
41
|
+
Exclude the instrumentation of if-else statements.
|
|
42
|
+
|
|
43
|
+
# flags.no-if.description
|
|
44
|
+
|
|
45
|
+
When provided, the command will not add log statements inside of `if` and `else` blocks.
|
|
33
46
|
|
|
34
47
|
# examples
|
|
35
48
|
|
|
@@ -43,4 +56,5 @@ $ sf rflib logging apex instrument --sourcepath force-app/main/default/classes -
|
|
|
43
56
|
|
|
44
57
|
- Add logging statements and format code:
|
|
45
58
|
|
|
46
|
-
$ sf rflib logging apex instrument --sourcepath force-app/main/default/classes --prettier
|
|
59
|
+
$ sf rflib logging apex instrument --sourcepath force-app/main/default/classes --prettier
|
|
60
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Instrument Aura Components with RFLIB logging statements automatically.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
Analyzes Aura Component files and adds RFLIB logging statements for:
|
|
8
|
+
- Method entry logging with parameter values in Controller, Helper, and Renderer files
|
|
9
|
+
- Error logging in try-catch blocks
|
|
10
|
+
- Error logging in Promise catch handlers
|
|
11
|
+
- Adds rflibLoggerCmp component if not present
|
|
12
|
+
- Formats modified files using Prettier (optional)
|
|
13
|
+
|
|
14
|
+
The command processes:
|
|
15
|
+
- Component (.cmp) files to add the logger component
|
|
16
|
+
- Controller (.js) files for method instrumentation
|
|
17
|
+
- Helper (.js) files for method instrumentation
|
|
18
|
+
- Renderer (.js) files for method instrumentation
|
|
19
|
+
|
|
20
|
+
# flags.sourcepath.summary
|
|
21
|
+
|
|
22
|
+
Directory containing Aura components to instrument with logging.
|
|
23
|
+
|
|
24
|
+
# flags.sourcepath.description
|
|
25
|
+
|
|
26
|
+
Path to the source directory containing Aura components that should be instrumented with RFLIB logging statements. The command will:
|
|
27
|
+
- Scan for 'aura' directories recursively
|
|
28
|
+
- Process all Aura components found
|
|
29
|
+
- Add <c:rflibLoggerCmp> to component files
|
|
30
|
+
- Add logging statements to JavaScript files
|
|
31
|
+
- Initialize logger in methods using component.find()
|
|
32
|
+
|
|
33
|
+
# flags.dryrun.summary
|
|
34
|
+
|
|
35
|
+
Preview changes without modifying files.
|
|
36
|
+
|
|
37
|
+
# flags.dryrun.description
|
|
38
|
+
|
|
39
|
+
When enabled, shows which files would be modified without making actual changes. Useful for reviewing the impact before applying changes. Shows:
|
|
40
|
+
- Files that would be modified
|
|
41
|
+
- Number of processed files
|
|
42
|
+
- Number of modified files
|
|
43
|
+
- Number of formatted files
|
|
44
|
+
|
|
45
|
+
# flags.prettier.summary
|
|
46
|
+
|
|
47
|
+
Format modified files using Prettier.
|
|
48
|
+
|
|
49
|
+
# flags.prettier.description
|
|
50
|
+
|
|
51
|
+
When enabled, formats the modified JavaScript files using Prettier after adding logging statements. Maintains consistent code style with:
|
|
52
|
+
- 120 character line width
|
|
53
|
+
- 4 space indentation
|
|
54
|
+
- Single quotes for strings
|
|
55
|
+
- No tabs
|
|
56
|
+
- No trailing commas
|
|
57
|
+
|
|
58
|
+
# flags.no-if.summary
|
|
59
|
+
|
|
60
|
+
Exclude the instrumentation of if-else statements.
|
|
61
|
+
|
|
62
|
+
# flags.no-if.description
|
|
63
|
+
|
|
64
|
+
When provided, the command will not add log statements inside of `if` and `else` blocks.
|
|
65
|
+
|
|
66
|
+
# examples
|
|
67
|
+
|
|
68
|
+
- Add logging to all aura files:
|
|
69
|
+
$ sf rflib logging aura instrument --sourcepath force-app
|
|
70
|
+
|
|
71
|
+
- Preview changes:
|
|
72
|
+
$ sf rflib logging aura instrument --sourcepath force-app --dryrun
|
|
73
|
+
|
|
74
|
+
- Add logging and format code:
|
|
75
|
+
$ sf rflib logging aura instrument --sourcepath force-app --prettier
|
|
76
|
+
|
|
77
|
+
- Process specific component:
|
|
78
|
+
$ sf rflib logging aura instrument --sourcepath force-app/main/default/aura/myComponent
|
|
@@ -49,6 +49,14 @@ When enabled, formats the modified JavaScript files using Prettier after adding
|
|
|
49
49
|
- Single quotes for strings
|
|
50
50
|
- No tabs
|
|
51
51
|
|
|
52
|
+
# flags.no-if.summary
|
|
53
|
+
|
|
54
|
+
Exclude the instrumentation of if-else statements.
|
|
55
|
+
|
|
56
|
+
# flags.no-if.description
|
|
57
|
+
|
|
58
|
+
When provided, the command will not add log statements inside of `if` and `else` blocks.
|
|
59
|
+
|
|
52
60
|
# examples
|
|
53
61
|
|
|
54
62
|
- Add logging to all LWC files:
|
package/oclif.manifest.json
CHANGED
|
@@ -43,11 +43,17 @@
|
|
|
43
43
|
},
|
|
44
44
|
"prettier": {
|
|
45
45
|
"char": "p",
|
|
46
|
-
"description": "When enabled, formats the modified Apex files using prettier-plugin-apex after adding logging statements. Maintains consistent code style
|
|
46
|
+
"description": "When enabled, formats the modified Apex files using prettier-plugin-apex after adding logging statements. Maintains consistent code style with:\n\n- 120 character line width\n- 4 space indentation\n- Single quotes for strings\n- No tabs",
|
|
47
47
|
"name": "prettier",
|
|
48
48
|
"summary": "Format modified files using Prettier.",
|
|
49
49
|
"allowNo": false,
|
|
50
50
|
"type": "boolean"
|
|
51
|
+
},
|
|
52
|
+
"no-if": {
|
|
53
|
+
"name": "no-if",
|
|
54
|
+
"summary": "Exclude the instrumentation of if-else statements.",
|
|
55
|
+
"allowNo": false,
|
|
56
|
+
"type": "boolean"
|
|
51
57
|
}
|
|
52
58
|
},
|
|
53
59
|
"hasDynamicHelp": false,
|
|
@@ -96,6 +102,108 @@
|
|
|
96
102
|
"instrument:apex:logging:rflib"
|
|
97
103
|
]
|
|
98
104
|
},
|
|
105
|
+
"rflib:logging:aura:instrument": {
|
|
106
|
+
"aliases": [],
|
|
107
|
+
"args": {},
|
|
108
|
+
"description": "Analyzes Aura Component files and adds RFLIB logging statements for:\n- Method entry logging with parameter values in Controller, Helper, and Renderer files\n- Error logging in try-catch blocks\n- Error logging in Promise catch handlers\n- Adds rflibLoggerCmp component if not present\n- Formats modified files using Prettier (optional)\n\nThe command processes:\n- Component (.cmp) files to add the logger component\n- Controller (.js) files for method instrumentation\n- Helper (.js) files for method instrumentation\n- Renderer (.js) files for method instrumentation",
|
|
109
|
+
"examples": [
|
|
110
|
+
"- Add logging to all aura files:\n$ sf rflib logging aura instrument --sourcepath force-app\n\n- Preview changes:\n$ sf rflib logging aura instrument --sourcepath force-app --dryrun\n\n- Add logging and format code:\n$ sf rflib logging aura instrument --sourcepath force-app --prettier\n\n- Process specific component:\n$ sf rflib logging aura instrument --sourcepath force-app/main/default/aura/myComponent"
|
|
111
|
+
],
|
|
112
|
+
"flags": {
|
|
113
|
+
"json": {
|
|
114
|
+
"description": "Format output as json.",
|
|
115
|
+
"helpGroup": "GLOBAL",
|
|
116
|
+
"name": "json",
|
|
117
|
+
"allowNo": false,
|
|
118
|
+
"type": "boolean"
|
|
119
|
+
},
|
|
120
|
+
"flags-dir": {
|
|
121
|
+
"helpGroup": "GLOBAL",
|
|
122
|
+
"name": "flags-dir",
|
|
123
|
+
"summary": "Import flag values from a directory.",
|
|
124
|
+
"hasDynamicHelp": false,
|
|
125
|
+
"multiple": false,
|
|
126
|
+
"type": "option"
|
|
127
|
+
},
|
|
128
|
+
"sourcepath": {
|
|
129
|
+
"char": "s",
|
|
130
|
+
"description": "Path to the source directory containing Aura components that should be instrumented with RFLIB logging statements. The command will:\n- Scan for 'aura' directories recursively\n- Process all Aura components found\n- Add <c:rflibLoggerCmp> to component files\n- Add logging statements to JavaScript files\n- Initialize logger in methods using component.find()",
|
|
131
|
+
"name": "sourcepath",
|
|
132
|
+
"required": true,
|
|
133
|
+
"summary": "Directory containing Aura components to instrument with logging.",
|
|
134
|
+
"hasDynamicHelp": false,
|
|
135
|
+
"multiple": false,
|
|
136
|
+
"type": "option"
|
|
137
|
+
},
|
|
138
|
+
"dryrun": {
|
|
139
|
+
"char": "d",
|
|
140
|
+
"description": "When enabled, shows which files would be modified without making actual changes. Useful for reviewing the impact before applying changes. Shows:\n- Files that would be modified\n- Number of processed files\n- Number of modified files\n- Number of formatted files",
|
|
141
|
+
"name": "dryrun",
|
|
142
|
+
"summary": "Preview changes without modifying files.",
|
|
143
|
+
"allowNo": false,
|
|
144
|
+
"type": "boolean"
|
|
145
|
+
},
|
|
146
|
+
"prettier": {
|
|
147
|
+
"char": "p",
|
|
148
|
+
"description": "When enabled, formats the modified JavaScript files using Prettier after adding logging statements. Maintains consistent code style with:\n- 120 character line width\n- 4 space indentation\n- Single quotes for strings\n- No tabs\n- No trailing commas",
|
|
149
|
+
"name": "prettier",
|
|
150
|
+
"summary": "Format modified files using Prettier.",
|
|
151
|
+
"allowNo": false,
|
|
152
|
+
"type": "boolean"
|
|
153
|
+
},
|
|
154
|
+
"no-if": {
|
|
155
|
+
"name": "no-if",
|
|
156
|
+
"summary": "Exclude the instrumentation of if-else statements.",
|
|
157
|
+
"allowNo": false,
|
|
158
|
+
"type": "boolean"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"hasDynamicHelp": false,
|
|
162
|
+
"hiddenAliases": [],
|
|
163
|
+
"id": "rflib:logging:aura:instrument",
|
|
164
|
+
"pluginAlias": "rflib-plugin",
|
|
165
|
+
"pluginName": "rflib-plugin",
|
|
166
|
+
"pluginType": "core",
|
|
167
|
+
"strict": true,
|
|
168
|
+
"summary": "Instrument Aura Components with RFLIB logging statements automatically.",
|
|
169
|
+
"enableJsonFlag": true,
|
|
170
|
+
"isESM": true,
|
|
171
|
+
"relativePath": [
|
|
172
|
+
"lib",
|
|
173
|
+
"commands",
|
|
174
|
+
"rflib",
|
|
175
|
+
"logging",
|
|
176
|
+
"aura",
|
|
177
|
+
"instrument.js"
|
|
178
|
+
],
|
|
179
|
+
"aliasPermutations": [],
|
|
180
|
+
"permutations": [
|
|
181
|
+
"rflib:logging:aura:instrument",
|
|
182
|
+
"logging:rflib:aura:instrument",
|
|
183
|
+
"logging:aura:rflib:instrument",
|
|
184
|
+
"logging:aura:instrument:rflib",
|
|
185
|
+
"rflib:aura:logging:instrument",
|
|
186
|
+
"aura:rflib:logging:instrument",
|
|
187
|
+
"aura:logging:rflib:instrument",
|
|
188
|
+
"aura:logging:instrument:rflib",
|
|
189
|
+
"rflib:aura:instrument:logging",
|
|
190
|
+
"aura:rflib:instrument:logging",
|
|
191
|
+
"aura:instrument:rflib:logging",
|
|
192
|
+
"aura:instrument:logging:rflib",
|
|
193
|
+
"rflib:logging:instrument:aura",
|
|
194
|
+
"logging:rflib:instrument:aura",
|
|
195
|
+
"logging:instrument:rflib:aura",
|
|
196
|
+
"logging:instrument:aura:rflib",
|
|
197
|
+
"rflib:instrument:logging:aura",
|
|
198
|
+
"instrument:rflib:logging:aura",
|
|
199
|
+
"instrument:logging:rflib:aura",
|
|
200
|
+
"instrument:logging:aura:rflib",
|
|
201
|
+
"rflib:instrument:aura:logging",
|
|
202
|
+
"instrument:rflib:aura:logging",
|
|
203
|
+
"instrument:aura:rflib:logging",
|
|
204
|
+
"instrument:aura:logging:rflib"
|
|
205
|
+
]
|
|
206
|
+
},
|
|
99
207
|
"rflib:logging:lwc:instrument": {
|
|
100
208
|
"aliases": [],
|
|
101
209
|
"args": {},
|
|
@@ -144,6 +252,12 @@
|
|
|
144
252
|
"summary": "Format modified files using Prettier.",
|
|
145
253
|
"allowNo": false,
|
|
146
254
|
"type": "boolean"
|
|
255
|
+
},
|
|
256
|
+
"no-if": {
|
|
257
|
+
"name": "no-if",
|
|
258
|
+
"summary": "Exclude the instrumentation of if-else statements.",
|
|
259
|
+
"allowNo": false,
|
|
260
|
+
"type": "boolean"
|
|
147
261
|
}
|
|
148
262
|
},
|
|
149
263
|
"hasDynamicHelp": false,
|
|
@@ -193,5 +307,5 @@
|
|
|
193
307
|
]
|
|
194
308
|
}
|
|
195
309
|
},
|
|
196
|
-
"version": "0.
|
|
310
|
+
"version": "0.3.0"
|
|
197
311
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rflib-plugin",
|
|
3
3
|
"description": "Utility commands to help with the adoption of the RFLIB open-source library for Salesforce.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@oclif/core": "^4",
|
|
7
7
|
"@salesforce/core": "^8",
|
|
@@ -48,16 +48,19 @@
|
|
|
48
48
|
],
|
|
49
49
|
"topics": {
|
|
50
50
|
"rflib": {
|
|
51
|
-
"description": "
|
|
51
|
+
"description": "Utility commands for the RFLIB Salesforce open-source library",
|
|
52
52
|
"subtopics": {
|
|
53
53
|
"logging": {
|
|
54
|
-
"description": "
|
|
54
|
+
"description": "Commands related to RFLIB's logging library",
|
|
55
55
|
"subtopics": {
|
|
56
56
|
"apex": {
|
|
57
|
-
"description": "
|
|
57
|
+
"description": "Commands related to Apex logging"
|
|
58
58
|
},
|
|
59
59
|
"lwc": {
|
|
60
|
-
"description": "
|
|
60
|
+
"description": "Commands related to LWC logging"
|
|
61
|
+
},
|
|
62
|
+
"aura": {
|
|
63
|
+
"description": "Commands related to Aura logging"
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
}
|
|
@@ -207,5 +210,9 @@
|
|
|
207
210
|
},
|
|
208
211
|
"exports": "./lib/index.js",
|
|
209
212
|
"type": "module",
|
|
210
|
-
"author": "Johannes Fischer"
|
|
211
|
-
|
|
213
|
+
"author": "Johannes Fischer",
|
|
214
|
+
"volta": {
|
|
215
|
+
"node": "20.17.0",
|
|
216
|
+
"yarn": "1.22.22"
|
|
217
|
+
}
|
|
218
|
+
}
|