@salesforce/plugin-apex 3.1.22 → 3.2.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 +7 -7
- package/lib/commands/apex/get/log.js +1 -1
- package/lib/commands/apex/get/log.js.map +1 -1
- package/lib/commands/apex/get/test.js +3 -15
- package/lib/commands/apex/get/test.js.map +1 -1
- package/lib/commands/apex/list/log.d.ts +1 -1
- package/lib/commands/apex/list/log.js +25 -38
- package/lib/commands/apex/list/log.js.map +1 -1
- package/lib/commands/apex/run/test.js +3 -15
- package/lib/commands/apex/run/test.js.map +1 -1
- package/lib/commands/apex/tail/log.js +4 -3
- package/lib/commands/apex/tail/log.js.map +1 -1
- package/lib/flags.d.ts +2 -0
- package/lib/flags.js +25 -0
- package/lib/flags.js.map +1 -0
- package/lib/logColorize.d.ts +5 -0
- package/lib/logColorize.js +42 -0
- package/lib/logColorize.js.map +1 -0
- package/lib/reporters/runReporter.js +4 -4
- package/lib/reporters/runReporter.js.map +1 -1
- package/lib/reporters/testReporter.js +1 -1
- package/lib/reporters/testReporter.js.map +1 -1
- package/messages/flags.md +7 -0
- package/messages/gettest.md +0 -8
- package/messages/list.md +0 -40
- package/messages/runtest.md +0 -4
- package/oclif.manifest.json +118 -118
- package/package.json +4 -7
- package/lib/legacyColorization.d.ts +0 -6
- package/lib/legacyColorization.js +0 -66
- package/lib/legacyColorization.js.map +0 -1
- package/lib/utils.d.ts +0 -5
- package/lib/utils.js +0 -35
- package/lib/utils.js.map +0 -1
package/README.md
CHANGED
|
@@ -148,7 +148,7 @@ FLAG DESCRIPTIONS
|
|
|
148
148
|
directory.
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
-
_See code: [src/commands/apex/get/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.
|
|
151
|
+
_See code: [src/commands/apex/get/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.2.0/src/commands/apex/get/log.ts)_
|
|
152
152
|
|
|
153
153
|
## `sf apex get test`
|
|
154
154
|
|
|
@@ -165,7 +165,7 @@ FLAGS
|
|
|
165
165
|
-i, --test-run-id=<value> (required) ID of the test run.
|
|
166
166
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
167
167
|
configuration variable is already set.
|
|
168
|
-
-r, --result-format=<option> [default: human] Format of the results.
|
|
168
|
+
-r, --result-format=<option> [default: human] Format of the test results.
|
|
169
169
|
<options: human|tap|junit|json>
|
|
170
170
|
--api-version=<value> Override the api version used for api requests made by this command
|
|
171
171
|
|
|
@@ -202,7 +202,7 @@ EXAMPLES
|
|
|
202
202
|
me@myorg',
|
|
203
203
|
```
|
|
204
204
|
|
|
205
|
-
_See code: [src/commands/apex/get/test.ts](https://github.com/salesforcecli/plugin-apex/blob/3.
|
|
205
|
+
_See code: [src/commands/apex/get/test.ts](https://github.com/salesforcecli/plugin-apex/blob/3.2.0/src/commands/apex/get/test.ts)_
|
|
206
206
|
|
|
207
207
|
## `sf apex list log`
|
|
208
208
|
|
|
@@ -242,7 +242,7 @@ EXAMPLES
|
|
|
242
242
|
$ sf apex list log --target-org me@my.org
|
|
243
243
|
```
|
|
244
244
|
|
|
245
|
-
_See code: [src/commands/apex/list/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.
|
|
245
|
+
_See code: [src/commands/apex/list/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.2.0/src/commands/apex/list/log.ts)_
|
|
246
246
|
|
|
247
247
|
## `sf apex run`
|
|
248
248
|
|
|
@@ -289,7 +289,7 @@ EXAMPLES
|
|
|
289
289
|
$ sf apex run
|
|
290
290
|
```
|
|
291
291
|
|
|
292
|
-
_See code: [src/commands/apex/run.ts](https://github.com/salesforcecli/plugin-apex/blob/3.
|
|
292
|
+
_See code: [src/commands/apex/run.ts](https://github.com/salesforcecli/plugin-apex/blob/3.2.0/src/commands/apex/run.ts)_
|
|
293
293
|
|
|
294
294
|
## `sf apex run test`
|
|
295
295
|
|
|
@@ -399,7 +399,7 @@ FLAG DESCRIPTIONS
|
|
|
399
399
|
--tests Test1 --tests Test2
|
|
400
400
|
```
|
|
401
401
|
|
|
402
|
-
_See code: [src/commands/apex/run/test.ts](https://github.com/salesforcecli/plugin-apex/blob/3.
|
|
402
|
+
_See code: [src/commands/apex/run/test.ts](https://github.com/salesforcecli/plugin-apex/blob/3.2.0/src/commands/apex/run/test.ts)_
|
|
403
403
|
|
|
404
404
|
## `sf apex tail log`
|
|
405
405
|
|
|
@@ -442,6 +442,6 @@ EXAMPLES
|
|
|
442
442
|
$ sf apex tail log --color --skip-trace-flag
|
|
443
443
|
```
|
|
444
444
|
|
|
445
|
-
_See code: [src/commands/apex/tail/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.
|
|
445
|
+
_See code: [src/commands/apex/tail/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.2.0/src/commands/apex/tail/log.ts)_
|
|
446
446
|
|
|
447
447
|
<!-- commandsstop -->
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { LogService } from '@salesforce/apex-node';
|
|
8
8
|
import { Flags, loglevel, orgApiVersionFlagWithDeprecations, requiredOrgFlagWithDeprecations, SfCommand, } from '@salesforce/sf-plugins-core';
|
|
9
9
|
import { Messages } from '@salesforce/core';
|
|
10
|
-
import { colorLogs } from '../../../
|
|
10
|
+
import { colorLogs } from '../../../logColorize.js';
|
|
11
11
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
12
12
|
const messages = Messages.loadMessages('@salesforce/plugin-apex', 'get');
|
|
13
13
|
export default class Log extends SfCommand {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/commands/apex/get/log.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,KAAK,EACL,QAAQ,EACR,iCAAiC,EACjC,+BAA+B,EAC/B,SAAS,GACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/commands/apex/get/log.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { TestService } from '@salesforce/apex-node';
|
|
|
8
8
|
import { Flags, loglevel, orgApiVersionFlagWithDeprecations, requiredOrgFlagWithDeprecations, SfCommand, Ux, } from '@salesforce/sf-plugins-core';
|
|
9
9
|
import { Messages } from '@salesforce/core';
|
|
10
10
|
import { TestReporter } from '../../../reporters/index.js';
|
|
11
|
-
import {
|
|
11
|
+
import { codeCoverageFlag, resultFormatFlag } from '../../../flags.js';
|
|
12
12
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
13
13
|
const messages = Messages.loadMessages('@salesforce/plugin-apex', 'gettest');
|
|
14
14
|
export default class Test extends SfCommand {
|
|
@@ -30,26 +30,14 @@ export default class Test extends SfCommand {
|
|
|
30
30
|
startsWith: '707',
|
|
31
31
|
length: 'both',
|
|
32
32
|
}),
|
|
33
|
-
'code-coverage':
|
|
34
|
-
aliases: ['codecoverage'],
|
|
35
|
-
deprecateAliases: true,
|
|
36
|
-
char: 'c',
|
|
37
|
-
summary: messages.getMessage('flags.code-coverage.summary'),
|
|
38
|
-
}),
|
|
33
|
+
'code-coverage': codeCoverageFlag,
|
|
39
34
|
'output-dir': Flags.directory({
|
|
40
35
|
aliases: ['outputdir', 'output-directory'],
|
|
41
36
|
deprecateAliases: true,
|
|
42
37
|
char: 'd',
|
|
43
38
|
summary: messages.getMessage('flags.output-dir.summary'),
|
|
44
39
|
}),
|
|
45
|
-
'result-format':
|
|
46
|
-
deprecateAliases: true,
|
|
47
|
-
aliases: ['resultformat'],
|
|
48
|
-
char: 'r',
|
|
49
|
-
summary: messages.getMessage('flags.result-format.summary'),
|
|
50
|
-
options: resultFormat,
|
|
51
|
-
default: 'human',
|
|
52
|
-
}),
|
|
40
|
+
'result-format': resultFormatFlag,
|
|
53
41
|
};
|
|
54
42
|
async run() {
|
|
55
43
|
const { flags } = await this.parse(Test);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../src/commands/apex/get/test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,KAAK,EACL,QAAQ,EACR,iCAAiC,EACjC,+BAA+B,EAC/B,SAAS,EACT,EAAE,GACH,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAa,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../src/commands/apex/get/test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,KAAK,EACL,QAAQ,EACR,iCAAiC,EACjC,+BAA+B,EAC/B,SAAS,EACT,EAAE,GACH,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAa,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;AAC7E,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAoB;IAC7C,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC;IACxC,MAAM,CAAU,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAErD,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,+BAA+B;QAC7C,aAAa,EAAE,iCAAiC;QAChD,QAAQ;QACR,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;YAChC,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;YACzD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,eAAe,EAAE,gBAAgB;QACjC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;YAC5B,OAAO,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;YAC1C,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;SACzD,CAAC;QACF,eAAe,EAAE,gBAAgB;KAClC,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAElG,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE1G,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;YACjC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;YACjC,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC;YACvC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC;SACxC,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -13,5 +13,5 @@ export default class Log extends SfCommand<LogListResult> {
|
|
|
13
13
|
loglevel: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
14
|
};
|
|
15
15
|
run(): Promise<LogListResult>;
|
|
16
|
-
private formatTime;
|
|
17
16
|
}
|
|
17
|
+
export declare const formatStartTime: (lr: LogRecord) => LogRecord;
|
|
@@ -22,52 +22,39 @@ export default class Log extends SfCommand {
|
|
|
22
22
|
};
|
|
23
23
|
async run() {
|
|
24
24
|
const { flags } = await this.parse(Log);
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const logRecords = await logService.getLogRecords();
|
|
25
|
+
const logService = new LogService(flags['target-org'].getConnection(flags['api-version']));
|
|
26
|
+
const logRecords = (await logService.getLogRecords()).map(formatStartTime);
|
|
28
27
|
if (logRecords.length === 0) {
|
|
29
28
|
this.log(messages.getMessage('noDebugLogsFound'));
|
|
30
29
|
return [];
|
|
31
30
|
}
|
|
32
|
-
logRecords.map((logRecord) => {
|
|
33
|
-
logRecord.StartTime = this.formatTime(logRecord.StartTime);
|
|
34
|
-
});
|
|
35
31
|
if (!flags.json) {
|
|
36
32
|
// while not required to prevent table output, save a few iterations if only printing json
|
|
37
|
-
|
|
38
|
-
app: logRecord.Application,
|
|
39
|
-
duration: String(logRecord.DurationMilliseconds),
|
|
40
|
-
id: logRecord.Id,
|
|
41
|
-
location: logRecord.Location,
|
|
42
|
-
size: String(logRecord.LogLength),
|
|
43
|
-
user: logRecord.LogUser.Name,
|
|
44
|
-
operation: logRecord.Operation,
|
|
45
|
-
request: logRecord.Request,
|
|
46
|
-
time: logRecord.StartTime,
|
|
47
|
-
status: logRecord.Status,
|
|
48
|
-
}));
|
|
49
|
-
this.table(cleanLogs, {
|
|
50
|
-
app: { header: messages.getMessage('appColHeader') },
|
|
51
|
-
duration: { header: messages.getMessage('durationColHeader') },
|
|
52
|
-
id: { header: messages.getMessage('idColHeader') },
|
|
53
|
-
location: { header: messages.getMessage('locationColHeader') },
|
|
54
|
-
size: { header: messages.getMessage('sizeColHeader') },
|
|
55
|
-
user: { header: messages.getMessage('userColHeader') },
|
|
56
|
-
operation: { header: messages.getMessage('operationColHeader') },
|
|
57
|
-
request: { header: messages.getMessage('requestColHeader') },
|
|
58
|
-
time: { header: messages.getMessage('timeColHeader') },
|
|
59
|
-
status: { header: messages.getMessage('statusColHeader') },
|
|
60
|
-
}, { 'no-truncate': true });
|
|
33
|
+
this.table(logRecords.map(formatForTable), tableHeaders, { 'no-truncate': true });
|
|
61
34
|
}
|
|
62
35
|
return logRecords;
|
|
63
36
|
}
|
|
64
|
-
// eslint-disable-next-line class-methods-use-this
|
|
65
|
-
formatTime(time) {
|
|
66
|
-
const milliIndex = time.indexOf('.');
|
|
67
|
-
if (milliIndex !== -1) {
|
|
68
|
-
return time.substring(0, milliIndex) + time.substring(milliIndex + 4);
|
|
69
|
-
}
|
|
70
|
-
return time;
|
|
71
|
-
}
|
|
72
37
|
}
|
|
38
|
+
const formatForTable = (logRecord) => ({
|
|
39
|
+
...logRecord,
|
|
40
|
+
DurationMilliseconds: String(logRecord.DurationMilliseconds),
|
|
41
|
+
User: logRecord.LogUser.Name,
|
|
42
|
+
});
|
|
43
|
+
export const formatStartTime = (lr) => ({ ...lr, StartTime: formatTime(lr.StartTime) });
|
|
44
|
+
const formatTime = (time) => {
|
|
45
|
+
const msIndex = time.indexOf('.');
|
|
46
|
+
return msIndex !== -1 ? time.substring(0, msIndex) + time.substring(msIndex + 4) : time;
|
|
47
|
+
};
|
|
48
|
+
const tableHeaders = {
|
|
49
|
+
Application: { header: 'Application' },
|
|
50
|
+
DurationMilliseconds: { header: 'Duration (ms)' },
|
|
51
|
+
Id: { header: 'Id' },
|
|
52
|
+
Location: { header: 'Location' },
|
|
53
|
+
LogLength: { header: 'Size (B)' },
|
|
54
|
+
User: { header: 'Log User' },
|
|
55
|
+
Operation: { header: 'Operation' },
|
|
56
|
+
Request: { header: 'Request' },
|
|
57
|
+
StartTime: { header: 'Start Time' },
|
|
58
|
+
Status: { header: 'Status' },
|
|
59
|
+
};
|
|
73
60
|
//# sourceMappingURL=log.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/commands/apex/list/log.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAa,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,SAAS,EACT,+BAA+B,EAC/B,iCAAiC,EACjC,QAAQ,GACT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/commands/apex/list/log.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { CancellationTokenSource, TestService } from '@salesforce/apex-node';
|
|
|
8
8
|
import { arrayWithDeprecation, Flags, loglevel, orgApiVersionFlagWithDeprecations, requiredOrgFlagWithDeprecations, SfCommand, Ux, } from '@salesforce/sf-plugins-core';
|
|
9
9
|
import { Messages, SfError } from '@salesforce/core';
|
|
10
10
|
import { TestReporter } from '../../../reporters/index.js';
|
|
11
|
-
import {
|
|
11
|
+
import { codeCoverageFlag, resultFormatFlag } from '../../../flags.js';
|
|
12
12
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
13
13
|
const messages = Messages.loadMessages('@salesforce/plugin-apex', 'runtest');
|
|
14
14
|
export const TestLevelValues = ['RunLocalTests', 'RunAllTestsInOrg', 'RunSpecifiedTests'];
|
|
@@ -23,12 +23,7 @@ export default class Test extends SfCommand {
|
|
|
23
23
|
'target-org': requiredOrgFlagWithDeprecations,
|
|
24
24
|
'api-version': orgApiVersionFlagWithDeprecations,
|
|
25
25
|
loglevel,
|
|
26
|
-
'code-coverage':
|
|
27
|
-
aliases: ['codecoverage'],
|
|
28
|
-
deprecateAliases: true,
|
|
29
|
-
char: 'c',
|
|
30
|
-
summary: messages.getMessage('flags.code-coverage.summary'),
|
|
31
|
-
}),
|
|
26
|
+
'code-coverage': codeCoverageFlag,
|
|
32
27
|
'output-dir': Flags.directory({
|
|
33
28
|
aliases: ['outputdir', 'output-directory'],
|
|
34
29
|
deprecateAliases: true,
|
|
@@ -51,14 +46,7 @@ export default class Test extends SfCommand {
|
|
|
51
46
|
description: messages.getMessage('flags.class-names.description'),
|
|
52
47
|
exclusive: exclusiveTestSpecifiers.filter((specifier) => specifier !== 'class-names'),
|
|
53
48
|
}),
|
|
54
|
-
'result-format':
|
|
55
|
-
deprecateAliases: true,
|
|
56
|
-
aliases: ['resultformat'],
|
|
57
|
-
char: 'r',
|
|
58
|
-
summary: messages.getMessage('flags.result-format.summary'),
|
|
59
|
-
options: resultFormat,
|
|
60
|
-
default: 'human',
|
|
61
|
-
}),
|
|
49
|
+
'result-format': resultFormatFlag,
|
|
62
50
|
'suite-names': arrayWithDeprecation({
|
|
63
51
|
deprecateAliases: true,
|
|
64
52
|
aliases: ['suitenames'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../src/commands/apex/run/test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,uBAAuB,EAA0C,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EACL,oBAAoB,EACpB,KAAK,EACL,QAAQ,EACR,iCAAiC,EACjC,+BAA+B,EAC/B,SAAS,EACT,EAAE,GACH,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAa,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../src/commands/apex/run/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { LogService } from '@salesforce/apex-node';
|
|
8
8
|
import { Flags, SfCommand, requiredOrgFlagWithDeprecations, orgApiVersionFlagWithDeprecations, loglevel, } from '@salesforce/sf-plugins-core';
|
|
9
9
|
import { Messages } from '@salesforce/core';
|
|
10
|
-
import {
|
|
10
|
+
import { colorLogs } from '../../../logColorize.js';
|
|
11
11
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
12
12
|
const messages = Messages.loadMessages('@salesforce/plugin-apex', 'tail');
|
|
13
13
|
export default class Log extends SfCommand {
|
|
@@ -52,10 +52,11 @@ export default class Log extends SfCommand {
|
|
|
52
52
|
await logService.tail(flags['target-org'], this.logTailer.bind(this));
|
|
53
53
|
this.log(messages.getMessage('finishedTailing'));
|
|
54
54
|
}
|
|
55
|
+
// the colorize function used to be async, but not isn't. Preserving the public method signature
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
55
57
|
async logTailer(fullLog) {
|
|
56
58
|
if (fullLog) {
|
|
57
|
-
|
|
58
|
-
this.log(output);
|
|
59
|
+
this.log(this.color ? colorLogs(fullLog) : fullLog);
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/commands/apex/tail/log.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,KAAK,EACL,SAAS,EACT,+BAA+B,EAC/B,iCAAiC,EACjC,QAAQ,GACT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAc,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/commands/apex/tail/log.ts"],"names":[],"mappings":"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"}
|
package/lib/flags.d.ts
ADDED
package/lib/flags.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023, salesforce.com, inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import { Messages } from '@salesforce/core';
|
|
8
|
+
import { Flags } from '@salesforce/sf-plugins-core';
|
|
9
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
10
|
+
const messages = Messages.loadMessages('@salesforce/plugin-apex', 'flags');
|
|
11
|
+
export const resultFormatFlag = Flags.string({
|
|
12
|
+
deprecateAliases: true,
|
|
13
|
+
aliases: ['resultformat'],
|
|
14
|
+
char: 'r',
|
|
15
|
+
summary: messages.getMessage('flags.result-format.summary'),
|
|
16
|
+
options: ['human', 'tap', 'junit', 'json'],
|
|
17
|
+
default: 'human',
|
|
18
|
+
});
|
|
19
|
+
export const codeCoverageFlag = Flags.boolean({
|
|
20
|
+
aliases: ['codecoverage'],
|
|
21
|
+
deprecateAliases: true,
|
|
22
|
+
char: 'c',
|
|
23
|
+
summary: messages.getMessage('flags.code-coverage.summary'),
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=flags.js.map
|
package/lib/flags.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3C,gBAAgB,EAAE,IAAI;IACtB,OAAO,EAAE,CAAC,cAAc,CAAC;IACzB,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;IAC3D,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAU;IACnD,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5C,OAAO,EAAE,CAAC,cAAc,CAAC;IACzB,gBAAgB,EAAE,IAAI;IACtB,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;CAC5D,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** one or more functions that have the same signature, returns one composed function that does them all sequentially */
|
|
2
|
+
export declare const compose: <R>(fn1: (a: R) => R, ...fns: Array<(a: R) => R>) => ((a: R) => R);
|
|
3
|
+
/** all colorizers in one */
|
|
4
|
+
export declare const colorize: (a: string) => string;
|
|
5
|
+
export declare const colorLogs: (log: string) => string;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* Licensed under the BSD 3-Clause license.
|
|
5
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
import { StandardColors } from '@salesforce/sf-plugins-core';
|
|
8
|
+
import ansis from 'ansis';
|
|
9
|
+
/** these color matching pieces of content within a log line */
|
|
10
|
+
const contentColorMap = [
|
|
11
|
+
[new RegExp(/\|VARIABLE_\w*\|/g), ansis.bold.cyan],
|
|
12
|
+
[new RegExp(/\|METHOD_\w*\|/g), ansis.blue],
|
|
13
|
+
[new RegExp(/\|SOQL_\w*\|/g), StandardColors.warning],
|
|
14
|
+
[new RegExp(/\|CONSTRUCTOR_\w*\|/g), ansis.magenta],
|
|
15
|
+
[new RegExp(/\|USER\w*\|/g), StandardColors.success],
|
|
16
|
+
[new RegExp(/\b([\w]+\.)+(\w)+\b/g), ansis.blueBright],
|
|
17
|
+
[new RegExp(/\b(DEBUG)\b/g), ansis.bold.cyan],
|
|
18
|
+
[new RegExp(/\b(HINT|INFO|INFORMATION|EXCEPTION_\w*|FATAL_\w*)\b/g), StandardColors.success],
|
|
19
|
+
[new RegExp(/\b(WARNING|WARN)\b/g), StandardColors.warning],
|
|
20
|
+
[new RegExp(/\b(ERROR|FAILURE|FAIL)\b/g), StandardColors.error],
|
|
21
|
+
[new RegExp(/\b([a-zA-Z.]*Exception)\b/g), StandardColors.error],
|
|
22
|
+
[new RegExp(/"[^"]*"/g), StandardColors.error],
|
|
23
|
+
[new RegExp(/\b([0-9]+|true|false|null)\b/g), ansis.blueBright],
|
|
24
|
+
];
|
|
25
|
+
/** apply a single color to a single log's matching content */
|
|
26
|
+
const colorLogMatchingContent = ([regex, colorFn]) => (log) => log.replace(regex, (match) => colorFn(match));
|
|
27
|
+
const [colorFn1, ...colorFns] = [...contentColorMap.map(colorLogMatchingContent)];
|
|
28
|
+
/** one or more functions that have the same signature, returns one composed function that does them all sequentially */
|
|
29
|
+
export const compose = (fn1, ...fns) => fns.reduce((prevFn, nextFn) => (value) => prevFn(nextFn(value)), fn1);
|
|
30
|
+
/** all colorizers in one */
|
|
31
|
+
export const colorize = compose(colorFn1, ...colorFns);
|
|
32
|
+
export const colorLogs = (log) => {
|
|
33
|
+
const [head, ...tail] = log.split('\n');
|
|
34
|
+
// the first line is bolded and not otherwise styles
|
|
35
|
+
return tail.length === 0
|
|
36
|
+
? ansis.bold(head)
|
|
37
|
+
: [
|
|
38
|
+
ansis.bold(head), // the first line is bolded and not otherwise styles
|
|
39
|
+
colorize(tail.join('\n')),
|
|
40
|
+
].join('\n');
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=logColorize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logColorize.js","sourceRoot":"","sources":["../src/logColorize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,+DAA+D;AAC/D,MAAM,eAAe,GAAG;IACtB,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAClD,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAC3C,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IACrD,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IACnD,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IACpD,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IACtD,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC,IAAI,MAAM,CAAC,sDAAsD,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAC5F,CAAC,IAAI,MAAM,CAAC,qBAAqB,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAC3D,CAAC,IAAI,MAAM,CAAC,2BAA2B,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC;IAC/D,CAAC,IAAI,MAAM,CAAC,4BAA4B,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC;IAChE,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC;IAC9C,CAAC,IAAI,MAAM,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;CACvD,CAAC;AAEX,8DAA8D;AAC9D,MAAM,uBAAuB,GAC3B,CAAC,CAAC,KAAK,EAAE,OAAO,CAAiC,EAAE,EAAE,CACrD,CAAC,GAAW,EAAU,EAAE,CACtB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAElD,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAElF,wHAAwH;AACxH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,GAAgB,EAAE,GAAG,GAAuB,EAAiB,EAAE,CACxF,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAExE,4BAA4B;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,oDAAoD;IACpD,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC;YACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,oDAAoD;YACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import { Messages } from '@salesforce/core';
|
|
9
|
-
import {
|
|
9
|
+
import { StandardColors } from '@salesforce/sf-plugins-core';
|
|
10
10
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
11
11
|
const messages = Messages.loadMessages('@salesforce/plugin-apex', 'run');
|
|
12
12
|
export default class RunReporter {
|
|
13
13
|
static formatDefault(response) {
|
|
14
14
|
const outputText = [];
|
|
15
15
|
if (response.success) {
|
|
16
|
-
outputText.push(
|
|
16
|
+
outputText.push(StandardColors.success(messages.getMessage('executeCompileSuccess')), StandardColors.success(messages.getMessage('executeRuntimeSuccess')), '', response.logs ?? '');
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
19
19
|
if (!response.diagnostic) {
|
|
@@ -21,10 +21,10 @@ export default class RunReporter {
|
|
|
21
21
|
}
|
|
22
22
|
const diagnostic = response.diagnostic[0];
|
|
23
23
|
if (!response.compiled) {
|
|
24
|
-
outputText.push(
|
|
24
|
+
outputText.push(StandardColors.error(`Error: Line: ${diagnostic.lineNumber}, Column: ${diagnostic.columnNumber}`), StandardColors.error(`Error: ${diagnostic.compileProblem}\n`));
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
outputText.push(
|
|
27
|
+
outputText.push(StandardColors.success(messages.getMessage('executeCompileSuccess')), StandardColors.error(`Error: ${diagnostic.exceptionMessage}`), StandardColors.error(`Error: ${diagnostic.exceptionStackTrace}`), '', response.logs ?? '');
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
return outputText.join(os.EOL);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runReporter.js","sourceRoot":"","sources":["../../src/reporters/runReporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"runReporter.js","sourceRoot":"","sources":["../../src/reporters/runReporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,WAAW;IACvB,MAAM,CAAC,aAAa,CAAC,QAAkC;QAC5D,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,CACb,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,EACpE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,EACpE,EAAE,EACF,QAAQ,CAAC,IAAI,IAAI,EAAE,CACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CACb,cAAc,CAAC,KAAK,CAAC,gBAAgB,UAAU,CAAC,UAAU,aAAa,UAAU,CAAC,YAAY,EAAE,CAAC,EACjG,cAAc,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,cAAc,IAAI,CAAC,CAC9D,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CACb,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,EACpE,cAAc,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,gBAAgB,EAAE,CAAC,EAC7D,cAAc,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,mBAAmB,EAAE,CAAC,EAChE,EAAE,EACF,QAAQ,CAAC,IAAI,IAAI,EAAE,CACpB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,QAAkC;QACzD,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,cAAc,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE;YAC7D,gBAAgB,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE;YACjE,mBAAmB,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE;YACvE,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;YAC/C,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;YACnD,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { HumanReporter, JUnitReporter, ResultFormat, TapReporter, TestService, } from '@salesforce/apex-node';
|
|
8
8
|
import { Messages } from '@salesforce/core';
|
|
9
|
-
import { FAILURE_EXIT_CODE } from '../utils.js';
|
|
10
9
|
import { JsonReporter } from './jsonReporter.js';
|
|
10
|
+
const FAILURE_EXIT_CODE = 100;
|
|
11
11
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
12
12
|
const messages = Messages.loadMessages('@salesforce/plugin-apex', 'runtest');
|
|
13
13
|
export class TestReporter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testReporter.js","sourceRoot":"","sources":["../../src/reporters/testReporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,EAEb,YAAY,EACZ,WAAW,EAGX,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAc,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"testReporter.js","sourceRoot":"","sources":["../../src/reporters/testReporter.ts"],"names":[],"mappings":"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"}
|
package/messages/gettest.md
CHANGED
|
@@ -28,14 +28,6 @@ Provide a test run ID to display test results for an enqueued or completed async
|
|
|
28
28
|
|
|
29
29
|
ID of the test run.
|
|
30
30
|
|
|
31
|
-
# flags.result-format.summary
|
|
32
|
-
|
|
33
|
-
Format of the results.
|
|
34
|
-
|
|
35
|
-
# flags.code-coverage.summary
|
|
36
|
-
|
|
37
|
-
Retrieve code coverage results.
|
|
38
|
-
|
|
39
31
|
# flags.output-dir.summary
|
|
40
32
|
|
|
41
33
|
Directory in which to store test result files.
|
package/messages/list.md
CHANGED
|
@@ -21,43 +21,3 @@ To fetch a specific log from your org, obtain the ID from this command's output,
|
|
|
21
21
|
# noDebugLogsFound
|
|
22
22
|
|
|
23
23
|
No debug logs found in org
|
|
24
|
-
|
|
25
|
-
# appColHeader
|
|
26
|
-
|
|
27
|
-
APPLICATION
|
|
28
|
-
|
|
29
|
-
# durationColHeader
|
|
30
|
-
|
|
31
|
-
DURATION (MS)
|
|
32
|
-
|
|
33
|
-
# idColHeader
|
|
34
|
-
|
|
35
|
-
ID
|
|
36
|
-
|
|
37
|
-
# locationColHeader
|
|
38
|
-
|
|
39
|
-
LOCATION
|
|
40
|
-
|
|
41
|
-
# sizeColHeader
|
|
42
|
-
|
|
43
|
-
SIZE (B)
|
|
44
|
-
|
|
45
|
-
# userColHeader
|
|
46
|
-
|
|
47
|
-
LOG USER
|
|
48
|
-
|
|
49
|
-
# operationColHeader
|
|
50
|
-
|
|
51
|
-
OPERATION
|
|
52
|
-
|
|
53
|
-
# requestColHeader
|
|
54
|
-
|
|
55
|
-
REQUEST
|
|
56
|
-
|
|
57
|
-
# timeColHeader
|
|
58
|
-
|
|
59
|
-
START TIME
|
|
60
|
-
|
|
61
|
-
# statusColHeader
|
|
62
|
-
|
|
63
|
-
STATUS
|
package/messages/runtest.md
CHANGED
|
@@ -34,10 +34,6 @@ NOTE: The testRunCoverage value (JSON and JUnit result formats) is a percentage
|
|
|
34
34
|
|
|
35
35
|
<%= config.bin %> <%= command.id %> --test-level RunLocalTests --output-dir <path to outputdir> --target-org me@my.org
|
|
36
36
|
|
|
37
|
-
# flags.result-format.summary
|
|
38
|
-
|
|
39
|
-
Format of the test results.
|
|
40
|
-
|
|
41
37
|
# flags.class-names.summary
|
|
42
38
|
|
|
43
39
|
Apex test class names to run; default is all classes.
|
package/oclif.manifest.json
CHANGED
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
"char": "r",
|
|
368
368
|
"deprecateAliases": true,
|
|
369
369
|
"name": "result-format",
|
|
370
|
-
"summary": "Format of the results.",
|
|
370
|
+
"summary": "Format of the test results.",
|
|
371
371
|
"default": "human",
|
|
372
372
|
"hasDynamicHelp": false,
|
|
373
373
|
"multiple": false,
|
|
@@ -432,122 +432,6 @@
|
|
|
432
432
|
"test:get:apex"
|
|
433
433
|
]
|
|
434
434
|
},
|
|
435
|
-
"apex:list:log": {
|
|
436
|
-
"aliases": [
|
|
437
|
-
"force:apex:log:list"
|
|
438
|
-
],
|
|
439
|
-
"args": {},
|
|
440
|
-
"deprecateAliases": true,
|
|
441
|
-
"description": "Run this command in a project to list the IDs and general information for all debug logs in your default org.\n\nTo fetch a specific log from your org, obtain the ID from this command's output, then run the “<%= config.bin %> apex log get” command.",
|
|
442
|
-
"examples": [
|
|
443
|
-
"List the IDs and information about the debug logs in your default org:\n<%= config.bin %> <%= command.id %>",
|
|
444
|
-
"Similar to previous example, but use the org with the specified username:\n<%= config.bin %> <%= command.id %> --target-org me@my.org"
|
|
445
|
-
],
|
|
446
|
-
"flags": {
|
|
447
|
-
"json": {
|
|
448
|
-
"description": "Format output as json.",
|
|
449
|
-
"helpGroup": "GLOBAL",
|
|
450
|
-
"name": "json",
|
|
451
|
-
"allowNo": false,
|
|
452
|
-
"type": "boolean"
|
|
453
|
-
},
|
|
454
|
-
"flags-dir": {
|
|
455
|
-
"helpGroup": "GLOBAL",
|
|
456
|
-
"name": "flags-dir",
|
|
457
|
-
"summary": "Import flag values from a directory.",
|
|
458
|
-
"hasDynamicHelp": false,
|
|
459
|
-
"multiple": false,
|
|
460
|
-
"type": "option"
|
|
461
|
-
},
|
|
462
|
-
"target-org": {
|
|
463
|
-
"aliases": [
|
|
464
|
-
"targetusername",
|
|
465
|
-
"u"
|
|
466
|
-
],
|
|
467
|
-
"char": "o",
|
|
468
|
-
"deprecateAliases": true,
|
|
469
|
-
"name": "target-org",
|
|
470
|
-
"noCacheDefault": true,
|
|
471
|
-
"required": true,
|
|
472
|
-
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
473
|
-
"hasDynamicHelp": true,
|
|
474
|
-
"multiple": false,
|
|
475
|
-
"type": "option"
|
|
476
|
-
},
|
|
477
|
-
"api-version": {
|
|
478
|
-
"aliases": [
|
|
479
|
-
"apiversion"
|
|
480
|
-
],
|
|
481
|
-
"deprecateAliases": true,
|
|
482
|
-
"description": "Override the api version used for api requests made by this command",
|
|
483
|
-
"name": "api-version",
|
|
484
|
-
"hasDynamicHelp": false,
|
|
485
|
-
"multiple": false,
|
|
486
|
-
"type": "option"
|
|
487
|
-
},
|
|
488
|
-
"loglevel": {
|
|
489
|
-
"deprecated": {
|
|
490
|
-
"message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
|
|
491
|
-
},
|
|
492
|
-
"hidden": true,
|
|
493
|
-
"name": "loglevel",
|
|
494
|
-
"hasDynamicHelp": false,
|
|
495
|
-
"multiple": false,
|
|
496
|
-
"type": "option"
|
|
497
|
-
}
|
|
498
|
-
},
|
|
499
|
-
"hasDynamicHelp": true,
|
|
500
|
-
"hiddenAliases": [],
|
|
501
|
-
"id": "apex:list:log",
|
|
502
|
-
"pluginAlias": "@salesforce/plugin-apex",
|
|
503
|
-
"pluginName": "@salesforce/plugin-apex",
|
|
504
|
-
"pluginType": "core",
|
|
505
|
-
"strict": true,
|
|
506
|
-
"summary": "Display a list of IDs and general information about debug logs.",
|
|
507
|
-
"enableJsonFlag": true,
|
|
508
|
-
"isESM": true,
|
|
509
|
-
"relativePath": [
|
|
510
|
-
"lib",
|
|
511
|
-
"commands",
|
|
512
|
-
"apex",
|
|
513
|
-
"list",
|
|
514
|
-
"log.js"
|
|
515
|
-
],
|
|
516
|
-
"aliasPermutations": [
|
|
517
|
-
"force:apex:log:list",
|
|
518
|
-
"apex:force:log:list",
|
|
519
|
-
"apex:log:force:list",
|
|
520
|
-
"apex:log:list:force",
|
|
521
|
-
"force:log:apex:list",
|
|
522
|
-
"log:force:apex:list",
|
|
523
|
-
"log:apex:force:list",
|
|
524
|
-
"log:apex:list:force",
|
|
525
|
-
"force:log:list:apex",
|
|
526
|
-
"log:force:list:apex",
|
|
527
|
-
"log:list:force:apex",
|
|
528
|
-
"log:list:apex:force",
|
|
529
|
-
"force:apex:list:log",
|
|
530
|
-
"apex:force:list:log",
|
|
531
|
-
"apex:list:force:log",
|
|
532
|
-
"apex:list:log:force",
|
|
533
|
-
"force:list:apex:log",
|
|
534
|
-
"list:force:apex:log",
|
|
535
|
-
"list:apex:force:log",
|
|
536
|
-
"list:apex:log:force",
|
|
537
|
-
"force:list:log:apex",
|
|
538
|
-
"list:force:log:apex",
|
|
539
|
-
"list:log:force:apex",
|
|
540
|
-
"list:log:apex:force"
|
|
541
|
-
],
|
|
542
|
-
"permutations": [
|
|
543
|
-
"apex:list:log",
|
|
544
|
-
"list:apex:log",
|
|
545
|
-
"list:log:apex",
|
|
546
|
-
"apex:log:list",
|
|
547
|
-
"log:apex:list",
|
|
548
|
-
"log:list:apex"
|
|
549
|
-
]
|
|
550
|
-
},
|
|
551
435
|
"apex:run:test": {
|
|
552
436
|
"aliases": [
|
|
553
437
|
"force:apex:test:run"
|
|
@@ -807,6 +691,122 @@
|
|
|
807
691
|
"test:run:apex"
|
|
808
692
|
]
|
|
809
693
|
},
|
|
694
|
+
"apex:list:log": {
|
|
695
|
+
"aliases": [
|
|
696
|
+
"force:apex:log:list"
|
|
697
|
+
],
|
|
698
|
+
"args": {},
|
|
699
|
+
"deprecateAliases": true,
|
|
700
|
+
"description": "Run this command in a project to list the IDs and general information for all debug logs in your default org.\n\nTo fetch a specific log from your org, obtain the ID from this command's output, then run the “<%= config.bin %> apex log get” command.",
|
|
701
|
+
"examples": [
|
|
702
|
+
"List the IDs and information about the debug logs in your default org:\n<%= config.bin %> <%= command.id %>",
|
|
703
|
+
"Similar to previous example, but use the org with the specified username:\n<%= config.bin %> <%= command.id %> --target-org me@my.org"
|
|
704
|
+
],
|
|
705
|
+
"flags": {
|
|
706
|
+
"json": {
|
|
707
|
+
"description": "Format output as json.",
|
|
708
|
+
"helpGroup": "GLOBAL",
|
|
709
|
+
"name": "json",
|
|
710
|
+
"allowNo": false,
|
|
711
|
+
"type": "boolean"
|
|
712
|
+
},
|
|
713
|
+
"flags-dir": {
|
|
714
|
+
"helpGroup": "GLOBAL",
|
|
715
|
+
"name": "flags-dir",
|
|
716
|
+
"summary": "Import flag values from a directory.",
|
|
717
|
+
"hasDynamicHelp": false,
|
|
718
|
+
"multiple": false,
|
|
719
|
+
"type": "option"
|
|
720
|
+
},
|
|
721
|
+
"target-org": {
|
|
722
|
+
"aliases": [
|
|
723
|
+
"targetusername",
|
|
724
|
+
"u"
|
|
725
|
+
],
|
|
726
|
+
"char": "o",
|
|
727
|
+
"deprecateAliases": true,
|
|
728
|
+
"name": "target-org",
|
|
729
|
+
"noCacheDefault": true,
|
|
730
|
+
"required": true,
|
|
731
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
732
|
+
"hasDynamicHelp": true,
|
|
733
|
+
"multiple": false,
|
|
734
|
+
"type": "option"
|
|
735
|
+
},
|
|
736
|
+
"api-version": {
|
|
737
|
+
"aliases": [
|
|
738
|
+
"apiversion"
|
|
739
|
+
],
|
|
740
|
+
"deprecateAliases": true,
|
|
741
|
+
"description": "Override the api version used for api requests made by this command",
|
|
742
|
+
"name": "api-version",
|
|
743
|
+
"hasDynamicHelp": false,
|
|
744
|
+
"multiple": false,
|
|
745
|
+
"type": "option"
|
|
746
|
+
},
|
|
747
|
+
"loglevel": {
|
|
748
|
+
"deprecated": {
|
|
749
|
+
"message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
|
|
750
|
+
},
|
|
751
|
+
"hidden": true,
|
|
752
|
+
"name": "loglevel",
|
|
753
|
+
"hasDynamicHelp": false,
|
|
754
|
+
"multiple": false,
|
|
755
|
+
"type": "option"
|
|
756
|
+
}
|
|
757
|
+
},
|
|
758
|
+
"hasDynamicHelp": true,
|
|
759
|
+
"hiddenAliases": [],
|
|
760
|
+
"id": "apex:list:log",
|
|
761
|
+
"pluginAlias": "@salesforce/plugin-apex",
|
|
762
|
+
"pluginName": "@salesforce/plugin-apex",
|
|
763
|
+
"pluginType": "core",
|
|
764
|
+
"strict": true,
|
|
765
|
+
"summary": "Display a list of IDs and general information about debug logs.",
|
|
766
|
+
"enableJsonFlag": true,
|
|
767
|
+
"isESM": true,
|
|
768
|
+
"relativePath": [
|
|
769
|
+
"lib",
|
|
770
|
+
"commands",
|
|
771
|
+
"apex",
|
|
772
|
+
"list",
|
|
773
|
+
"log.js"
|
|
774
|
+
],
|
|
775
|
+
"aliasPermutations": [
|
|
776
|
+
"force:apex:log:list",
|
|
777
|
+
"apex:force:log:list",
|
|
778
|
+
"apex:log:force:list",
|
|
779
|
+
"apex:log:list:force",
|
|
780
|
+
"force:log:apex:list",
|
|
781
|
+
"log:force:apex:list",
|
|
782
|
+
"log:apex:force:list",
|
|
783
|
+
"log:apex:list:force",
|
|
784
|
+
"force:log:list:apex",
|
|
785
|
+
"log:force:list:apex",
|
|
786
|
+
"log:list:force:apex",
|
|
787
|
+
"log:list:apex:force",
|
|
788
|
+
"force:apex:list:log",
|
|
789
|
+
"apex:force:list:log",
|
|
790
|
+
"apex:list:force:log",
|
|
791
|
+
"apex:list:log:force",
|
|
792
|
+
"force:list:apex:log",
|
|
793
|
+
"list:force:apex:log",
|
|
794
|
+
"list:apex:force:log",
|
|
795
|
+
"list:apex:log:force",
|
|
796
|
+
"force:list:log:apex",
|
|
797
|
+
"list:force:log:apex",
|
|
798
|
+
"list:log:force:apex",
|
|
799
|
+
"list:log:apex:force"
|
|
800
|
+
],
|
|
801
|
+
"permutations": [
|
|
802
|
+
"apex:list:log",
|
|
803
|
+
"list:apex:log",
|
|
804
|
+
"list:log:apex",
|
|
805
|
+
"apex:log:list",
|
|
806
|
+
"log:apex:list",
|
|
807
|
+
"log:list:apex"
|
|
808
|
+
]
|
|
809
|
+
},
|
|
810
810
|
"apex:tail:log": {
|
|
811
811
|
"aliases": [
|
|
812
812
|
"force:apex:log:tail"
|
|
@@ -951,5 +951,5 @@
|
|
|
951
951
|
]
|
|
952
952
|
}
|
|
953
953
|
},
|
|
954
|
-
"version": "3.
|
|
954
|
+
"version": "3.2.0"
|
|
955
955
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-apex",
|
|
3
3
|
"description": "Apex commands",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.2.0",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
7
7
|
"dependencies": {
|
|
@@ -10,16 +10,13 @@
|
|
|
10
10
|
"@salesforce/core": "^7.4.1",
|
|
11
11
|
"@salesforce/kit": "^3.1.6",
|
|
12
12
|
"@salesforce/sf-plugins-core": "^11.1.0",
|
|
13
|
-
"
|
|
14
|
-
"color-convert": "^2.0.1",
|
|
15
|
-
"color-name": "^2.0.0"
|
|
13
|
+
"ansis": "^3.2.0"
|
|
16
14
|
},
|
|
17
15
|
"devDependencies": {
|
|
18
16
|
"@oclif/plugin-command-snapshot": "^5.2.2",
|
|
19
17
|
"@salesforce/cli-plugins-testkit": "^5.3.14",
|
|
20
18
|
"@salesforce/dev-scripts": "^10.1.1",
|
|
21
19
|
"@salesforce/plugin-command-reference": "^3.1.2",
|
|
22
|
-
"@types/color-convert": "^2.0.3",
|
|
23
20
|
"eslint-plugin-sf-plugin": "^1.18.5",
|
|
24
21
|
"oclif": "^4.12.1",
|
|
25
22
|
"ts-node": "^10.9.2",
|
|
@@ -220,7 +217,7 @@
|
|
|
220
217
|
"exports": "./lib/index.js",
|
|
221
218
|
"type": "module",
|
|
222
219
|
"sfdx": {
|
|
223
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-apex/3.
|
|
224
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-apex/3.
|
|
220
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-apex/3.2.0.crt",
|
|
221
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-apex/3.2.0.sig"
|
|
225
222
|
}
|
|
226
223
|
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2021, salesforce.com, inc.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
* Licensed under the BSD 3-Clause license.
|
|
5
|
-
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
-
*/
|
|
7
|
-
import { readFile } from 'node:fs/promises';
|
|
8
|
-
import chalk from 'chalk';
|
|
9
|
-
import convert from 'color-convert';
|
|
10
|
-
import { Logger } from '@salesforce/core';
|
|
11
|
-
const DEFAULT_COLOR_MAP = {
|
|
12
|
-
CONSTRUCTOR_: 'magenta',
|
|
13
|
-
EXCEPTION_: 'red',
|
|
14
|
-
FATAL_: 'red',
|
|
15
|
-
METHOD_: 'blue',
|
|
16
|
-
SOQL_: 'yellow',
|
|
17
|
-
USER_: 'green',
|
|
18
|
-
VARIABLE_: 'darkcyan',
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* @description this is a holdover from the toolbelt API, which allows for custom colorization of the logs.
|
|
22
|
-
* @param log - full debug log retrieved from an org.
|
|
23
|
-
* @returns colorized log
|
|
24
|
-
*/
|
|
25
|
-
export async function colorizeLog(log) {
|
|
26
|
-
const logger = await Logger.child('apexLogApi', { tag: 'tail' });
|
|
27
|
-
let colorMap = DEFAULT_COLOR_MAP;
|
|
28
|
-
const localColorMapFile = process.env.SFDX_APEX_LOG_COLOR_MAP;
|
|
29
|
-
if (localColorMapFile) {
|
|
30
|
-
try {
|
|
31
|
-
colorMap = JSON.parse(await readFile(localColorMapFile, 'utf-8'));
|
|
32
|
-
}
|
|
33
|
-
catch (err) {
|
|
34
|
-
logger.warn(`Color registry not found: ${localColorMapFile}`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const logLines = log.split(/\n/g);
|
|
38
|
-
if (!logLines || logLines.length < 1) {
|
|
39
|
-
logger.warn('colorizeLog unable to split logLines');
|
|
40
|
-
return log;
|
|
41
|
-
}
|
|
42
|
-
const line1 = chalk.bold(logLines.shift());
|
|
43
|
-
return [
|
|
44
|
-
line1,
|
|
45
|
-
...logLines.map((logLine) => {
|
|
46
|
-
for (const [key, color] of Object.entries(colorMap)) {
|
|
47
|
-
if (logLine.includes(`|${key}`)) {
|
|
48
|
-
const hex = convert.keyword.hex(color);
|
|
49
|
-
const colorFn = chalk.hex(hex);
|
|
50
|
-
if (typeof colorFn !== 'function') {
|
|
51
|
-
logger.warn(`Color ${color} is not supported`);
|
|
52
|
-
return logLine;
|
|
53
|
-
}
|
|
54
|
-
const count = (logLine.match(/\|/g) ?? []).length;
|
|
55
|
-
if (count === 1) {
|
|
56
|
-
return colorFn(logLine);
|
|
57
|
-
}
|
|
58
|
-
const first = logLine.indexOf('|', logLine.indexOf('|') + 1);
|
|
59
|
-
return `${colorFn(logLine.substring(0, first))}${logLine.substring(first)}`;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return logLine;
|
|
63
|
-
}),
|
|
64
|
-
].join('\n');
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=legacyColorization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"legacyColorization.js","sourceRoot":"","sources":["../src/legacyColorization.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare const FAILURE_EXIT_CODE = 100;
|
|
2
|
-
export declare const colorSuccess: import("chalk").ChalkInstance;
|
|
3
|
-
export declare const colorError: import("chalk").ChalkInstance;
|
|
4
|
-
export declare const resultFormat: string[];
|
|
5
|
-
export declare function colorLogs(log: string): string;
|
package/lib/utils.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2020, salesforce.com, inc.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
* Licensed under the BSD 3-Clause license.
|
|
5
|
-
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
|
-
*/
|
|
7
|
-
import chalk from 'chalk';
|
|
8
|
-
export const FAILURE_EXIT_CODE = 100;
|
|
9
|
-
export const colorSuccess = chalk.bold.green;
|
|
10
|
-
export const colorError = chalk.bold.red;
|
|
11
|
-
export const resultFormat = ['human', 'tap', 'junit', 'json'];
|
|
12
|
-
const colorMap = new Map([
|
|
13
|
-
[new RegExp(/\b([\w]+\.)+(\w)+\b/g), chalk.blueBright],
|
|
14
|
-
[new RegExp(/\b(DEBUG)\b/g), chalk.bold.cyan],
|
|
15
|
-
[new RegExp(/\b(HINT|INFO|INFORMATION)\b/g), chalk.bold.green],
|
|
16
|
-
[new RegExp(/\b(WARNING|WARN)\b/g), chalk.bold.yellow],
|
|
17
|
-
[new RegExp(/\b(ERROR|FAILURE|FAIL)\b/g), chalk.bold.red],
|
|
18
|
-
[new RegExp(/\b([a-zA-Z.]*Exception)\b/g), chalk.bold.red],
|
|
19
|
-
[new RegExp(/"[^"]*"/g), chalk.bold.red],
|
|
20
|
-
[new RegExp(/\b([0-9]+|true|false|null)\b/g), chalk.blueBright],
|
|
21
|
-
]);
|
|
22
|
-
function replace(regex, word) {
|
|
23
|
-
const color = colorMap.get(regex);
|
|
24
|
-
if (!color) {
|
|
25
|
-
throw new Error('Error retrieving colors');
|
|
26
|
-
}
|
|
27
|
-
return word.replace(regex, (match) => `${color(match)}`);
|
|
28
|
-
}
|
|
29
|
-
export function colorLogs(log) {
|
|
30
|
-
for (const c of colorMap.keys()) {
|
|
31
|
-
log = replace(c, log);
|
|
32
|
-
}
|
|
33
|
-
return log;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IACtD,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC,IAAI,MAAM,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC9D,CAAC,IAAI,MAAM,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IACtD,CAAC,IAAI,MAAM,CAAC,2BAA2B,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IACzD,CAAC,IAAI,MAAM,CAAC,4BAA4B,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IAC1D,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IACxC,CAAC,IAAI,MAAM,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;CAChE,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,KAAa,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|