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 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/main/default/classes
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/main/default/classes --dryrun
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/main/default/classes --prettier
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/main/default/lwc
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/main/default/lwc --dryrun
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/main/default/lwc --prettier
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 usePrettier = flags.prettier;
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, usePrettier);
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, usePrettier) {
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, usePrettier);
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, usePrettier);
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, usePrettier) {
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*{([\s\S]*?)}|if\s*\((.*?)\)\s*([^{\n].*?)(?=\n|$)/g;
18
- const elseRegex = /}\s*else\s*{([\s\S]*?)}|}\s*else\s+([^{\n].*?)(?=\n|$)/g;
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
- let lastCondition = '';
88
- // First process if statements and store conditions
89
- let modified = content.replace(ifStatementRegex, (match, blockCondition, blockBody, lineCondition, lineBody) => {
90
- const condition = typeof blockCondition === 'string' ? blockCondition : (typeof lineCondition === 'string' ? lineCondition : '');
91
- lastCondition = condition.trim();
92
- const logStatement = `${loggerName}.debug(\`if (${lastCondition})\`);`;
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
- return `if (${condition}) {\n ${logStatement}\n ${lineBody}\n }`;
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
- // Then process else blocks using stored condition
101
- modified = modified.replace(elseRegex, (match, blockBody, lineBody) => {
102
- const logStatement = `${loggerName}.debug(\`else for if (${lastCondition})\`);`;
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}\n ${lineBody}\n }`;
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.split(',').map(p => p.trim()).filter(p => p);
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
- modified = this.processIfStatements(modified, loggerName);
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() : (type === 'then' ? 'result' : 'error');
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
- await this.processDirectory(flags.sourcepath, flags.dryrun, flags.prettier);
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, usePrettier) {
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, usePrettier);
214
+ await this.processDirectory(filePath, isDryRun, flags);
189
215
  }
190
- else if (file.endsWith('.js') && !path.dirname(filePath).includes('aura')) {
191
- await this.instrumentLwcFile(filePath, isDryRun, usePrettier);
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, usePrettier) {
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:
@@ -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.1.2"
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.1.2",
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": "description for rflib",
51
+ "description": "Utility commands for the RFLIB Salesforce open-source library",
52
52
  "subtopics": {
53
53
  "logging": {
54
- "description": "description for rflib.logging",
54
+ "description": "Commands related to RFLIB's logging library",
55
55
  "subtopics": {
56
56
  "apex": {
57
- "description": "description for rflib.logging.apex"
57
+ "description": "Commands related to Apex logging"
58
58
  },
59
59
  "lwc": {
60
- "description": "description for rflib.logging.lwc"
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
+ }