@salesforce/plugin-info 2.1.11 → 2.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/lib/commands/doctor.d.ts +8 -0
- package/lib/commands/doctor.js +69 -3
- package/lib/commands/doctor.js.map +1 -1
- package/lib/diagnostics.js +1 -1
- package/lib/diagnostics.js.map +1 -1
- package/lib/doctor.d.ts +1 -1
- package/messages/doctor.js +2 -1
- package/oclif.manifest.json +1 -1
- package/package.json +7 -6
package/lib/commands/doctor.d.ts
CHANGED
|
@@ -8,12 +8,20 @@ export default class Doctor extends SfdxCommand {
|
|
|
8
8
|
command: flags.Discriminated<flags.String>;
|
|
9
9
|
plugin: flags.Discriminated<flags.String>;
|
|
10
10
|
outputdir: flags.Discriminated<flags.String>;
|
|
11
|
+
createissue: flags.Discriminated<flags.Boolean<boolean>>;
|
|
11
12
|
};
|
|
12
13
|
private tasks;
|
|
13
14
|
private doctor;
|
|
14
15
|
private outputDir;
|
|
15
16
|
private filesWrittenMsgs;
|
|
16
17
|
run(): Promise<SfDoctorDiagnosis>;
|
|
18
|
+
/**
|
|
19
|
+
* Only made into its own method for unit testing purposes
|
|
20
|
+
*
|
|
21
|
+
* @param url: url string to open
|
|
22
|
+
*/
|
|
23
|
+
private openUrl;
|
|
24
|
+
private generateIssueMarkdown;
|
|
17
25
|
private parseCommand;
|
|
18
26
|
private setupCommandExecution;
|
|
19
27
|
}
|
package/lib/commands/doctor.js
CHANGED
|
@@ -11,6 +11,10 @@ const path = require("path");
|
|
|
11
11
|
const child_process_1 = require("child_process");
|
|
12
12
|
const command_1 = require("@salesforce/command");
|
|
13
13
|
const core_1 = require("@salesforce/core");
|
|
14
|
+
const open = require("open");
|
|
15
|
+
const got_1 = require("got");
|
|
16
|
+
const ProxyAgent = require("proxy-agent");
|
|
17
|
+
const proxy_from_env_1 = require("proxy-from-env");
|
|
14
18
|
const doctor_1 = require("../doctor");
|
|
15
19
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
16
20
|
const messages = core_1.Messages.loadMessages('@salesforce/plugin-info', 'doctor');
|
|
@@ -28,6 +32,7 @@ class Doctor extends command_1.SfdxCommand {
|
|
|
28
32
|
const pluginFlag = this.flags.plugin;
|
|
29
33
|
const commandFlag = this.flags.command;
|
|
30
34
|
const outputdirFlag = this.flags.outputdir;
|
|
35
|
+
const createissueFlag = this.flags.createissue;
|
|
31
36
|
this.outputDir = path.resolve(outputdirFlag ?? process.cwd());
|
|
32
37
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
33
38
|
lifecycle.on('Doctor:diagnostic', async (data) => {
|
|
@@ -56,10 +61,7 @@ class Doctor extends command_1.SfdxCommand {
|
|
|
56
61
|
this.ux.styledHeader('Running all diagnostics');
|
|
57
62
|
// run all diagnostics
|
|
58
63
|
this.tasks.push(lifecycle.emit('sf-doctor', this.doctor));
|
|
59
|
-
/* eslint-disable @typescript-eslint/ban-ts-comment,@typescript-eslint/no-unsafe-assignment */
|
|
60
|
-
// @ts-ignore Seems like a TypeScript bug. Compiler thinks doctor.diagnose() returns `void`.
|
|
61
64
|
this.tasks = [...this.tasks, ...this.doctor.diagnose()];
|
|
62
|
-
/* eslint-enable @typescript-eslint/ban-ts-comment,@typescript-eslint/no-unsafe-assignment */
|
|
63
65
|
}
|
|
64
66
|
await Promise.all(this.tasks);
|
|
65
67
|
const diagnosis = this.doctor.getDiagnosis();
|
|
@@ -70,8 +72,67 @@ class Doctor extends command_1.SfdxCommand {
|
|
|
70
72
|
this.ux.log();
|
|
71
73
|
this.ux.styledHeader('Suggestions');
|
|
72
74
|
diagnosis.suggestions.forEach((s) => this.ux.log(` * ${s}`));
|
|
75
|
+
if (createissueFlag) {
|
|
76
|
+
const raw = 'https://raw.githubusercontent.com/forcedotcom/cli/main/.github/ISSUE_TEMPLATE/bug_report.md';
|
|
77
|
+
const ghIssue = await (0, got_1.default)(raw, {
|
|
78
|
+
throwHttpErrors: false,
|
|
79
|
+
agent: { https: ProxyAgent((0, proxy_from_env_1.getProxyForUrl)(raw)) },
|
|
80
|
+
});
|
|
81
|
+
const title = await this.ux.prompt('Enter a title for your new issue');
|
|
82
|
+
const url = encodeURI(`https://github.com/forcedotcom/cli/issues/new?title=${title}&body=${this.generateIssueMarkdown(ghIssue.body, diagnosis)}&labels=doctor,investigating,${this.config.bin}`);
|
|
83
|
+
await this.openUrl(url);
|
|
84
|
+
}
|
|
73
85
|
return diagnosis;
|
|
74
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Only made into its own method for unit testing purposes
|
|
89
|
+
*
|
|
90
|
+
* @param url: url string to open
|
|
91
|
+
*/
|
|
92
|
+
// eslint-disable-next-line class-methods-use-this
|
|
93
|
+
async openUrl(url) {
|
|
94
|
+
await open(url);
|
|
95
|
+
}
|
|
96
|
+
generateIssueMarkdown(body, diagnosis) {
|
|
97
|
+
const info = `
|
|
98
|
+
\`\`\`
|
|
99
|
+
${diagnosis.cliConfig.userAgent}
|
|
100
|
+
${diagnosis.versionDetail.pluginVersions.join(os.EOL)}
|
|
101
|
+
\`\`\`
|
|
102
|
+
${diagnosis.sfdxEnvVars.length
|
|
103
|
+
? `
|
|
104
|
+
\`\`\`
|
|
105
|
+
SFDX ENV. VARS.
|
|
106
|
+
${diagnosis.sfdxEnvVars.join(os.EOL)}
|
|
107
|
+
\`\`\`
|
|
108
|
+
`
|
|
109
|
+
: ''}
|
|
110
|
+
|
|
111
|
+
${diagnosis.sfEnvVars.length
|
|
112
|
+
? `
|
|
113
|
+
\`\`\`
|
|
114
|
+
SF ENV. VARS.
|
|
115
|
+
${diagnosis.sfEnvVars.join(os.EOL)}
|
|
116
|
+
\`\`\`
|
|
117
|
+
`
|
|
118
|
+
: ''}
|
|
119
|
+
\`\`\`
|
|
120
|
+
Windows: ${diagnosis.cliConfig.windows}
|
|
121
|
+
Shell: ${diagnosis.cliConfig.shell}
|
|
122
|
+
Channel: ${diagnosis.cliConfig.channel}
|
|
123
|
+
${diagnosis.cliConfig.userAgent}
|
|
124
|
+
\`\`\`
|
|
125
|
+
---
|
|
126
|
+
### Diagnostics
|
|
127
|
+
${this.doctor
|
|
128
|
+
.getDiagnosis()
|
|
129
|
+
.diagnosticResults.map((res) => `${res.status === 'pass' ? ':white_check_mark:' : ':x:'} ${res.status} - ${res.testName}`)
|
|
130
|
+
.join(os.EOL)}
|
|
131
|
+
`;
|
|
132
|
+
return body
|
|
133
|
+
.replace(new RegExp(`---(.|${os.EOL})*---${os.EOL}${os.EOL}`), '')
|
|
134
|
+
.replace(new RegExp(`${os.EOL}- Which shell/terminal (.|${os.EOL})*- Paste the output here`), info);
|
|
135
|
+
}
|
|
75
136
|
// Takes the command flag and:
|
|
76
137
|
// 1. ensures it begins with `${config.bin}`; typically "sfdx" or "sf"
|
|
77
138
|
// 2. ensures the `--dev-debug` flag is set
|
|
@@ -128,5 +189,10 @@ Doctor.flagsConfig = {
|
|
|
128
189
|
char: 'o',
|
|
129
190
|
description: messages.getMessage('flags.outputdir'),
|
|
130
191
|
}),
|
|
192
|
+
createissue: command_1.flags.boolean({
|
|
193
|
+
char: 'i',
|
|
194
|
+
description: messages.getMessage('flags.createissue'),
|
|
195
|
+
default: false,
|
|
196
|
+
}),
|
|
131
197
|
};
|
|
132
198
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AACzB,6BAA6B;AAC7B,iDAAqC;AACrC,iDAAyD;AACzD,2CAAgE;AAChE,sCAA4E;AAG5E,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;AAE5E,MAAqB,MAAO,SAAQ,qBAAW;IAA/C;;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/lib/diagnostics.js
CHANGED
|
@@ -93,7 +93,7 @@ class Diagnostics {
|
|
|
93
93
|
const testName = 'no linked plugins';
|
|
94
94
|
let status = 'pass';
|
|
95
95
|
const plugins = this.config.plugins;
|
|
96
|
-
const linkedPlugins = plugins.filter((p) => p.
|
|
96
|
+
const linkedPlugins = plugins.filter((p) => p.type === 'link');
|
|
97
97
|
linkedPlugins.forEach((lp) => {
|
|
98
98
|
status = 'fail';
|
|
99
99
|
this.doctor.addSuggestion(messages.getMessage('linkedPluginWarning', [lp.name]));
|
package/lib/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,8CAA8C;AAE9C,2CAAuD;AAevD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;AAEjF;;;;;;;;GAQG;AACH,MAAa,WAAW;IAGtB,YAAoC,MAAgB,EAAU,MAAc;QAAxC,WAAM,GAAN,MAAM,CAAU;QAAU,WAAM,GAAN,MAAM,CAAQ;QAC1E,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,GAAG;QACR,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAA6C,CAAC;QAChG,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,6DAA6D;IAC7D,wCAAwC;IACxC,EAAE;IACF,wDAAwD;IACxD,sDAAsD;IACtD,EAAE;IACF,6DAA6D;IAE7D;;OAEG;IACI,KAAK,CAAC,uBAAuB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAEvC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,uCAAuC,CAAC;YACzD,IAAI,MAAM,GAA+B,SAAS,CAAC;YAEnD,YAAY,CAAC,IAAI,CAAC,YAAY,OAAO,mBAAmB,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACtF,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC;gBAC9B,IAAI,IAAI,KAAK,CAAC,EAAE;oBACd,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,UAAU,GAAG,MAAM,EAAE;wBACvB,MAAM,GAAG,MAAM,CAAC;wBAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;qBAC1F;yBAAM;wBACL,MAAM,GAAG,MAAM,CAAC;qBACjB;iBACF;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACnF;gBACD,KAAK,gBAAS,CAAC,WAAW,EAAE;qBACzB,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;qBAC/C,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,uBAAuB;QAClC,MAAM,QAAQ,GAAG,mCAAmC,CAAC;QACrD,IAAI,MAAM,GAA+B,MAAM,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC;QAC5D,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,EAAE;YAC5D,MAAM,GAAG,MAAM,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACrF;QACD,MAAM,gBAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACrC,IAAI,MAAM,GAA+B,MAAM,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC/D,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3B,MAAM,GAAG,MAAM,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,MAAM,gBAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;CACF;AAvFD,kCAuFC"}
|
package/lib/doctor.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface SfDoctor {
|
|
|
7
7
|
addSuggestion(suggestion: string): void;
|
|
8
8
|
addDiagnosticStatus(status: DiagnosticStatus): void;
|
|
9
9
|
addPluginData(pluginName: string, data: AnyJson): void;
|
|
10
|
-
diagnose(): void
|
|
10
|
+
diagnose(): Array<Promise<void>>;
|
|
11
11
|
getDiagnosis(): SfDoctorDiagnosis;
|
|
12
12
|
writeFileSync(filePath: string, contents: string): string;
|
|
13
13
|
}
|
package/messages/doctor.js
CHANGED
|
@@ -12,6 +12,7 @@ Plugin providers can also implement their own doctor diagnostic tests by listeni
|
|
|
12
12
|
newissue: 'create a new GitHub issue and attach all diagnostic results',
|
|
13
13
|
plugin: 'specific plugin on which to run diagnostics ',
|
|
14
14
|
outputdir: 'directory to save all created files rather than the current working directory',
|
|
15
|
+
createissue: 'create a new issue on our GitHub repo and attach all diagnostic results',
|
|
15
16
|
},
|
|
16
17
|
examples: [
|
|
17
18
|
`Run CLI doctor diagnostics:
|
|
@@ -28,5 +29,5 @@ Run CLI doctor diagnostics for a specific plugin:
|
|
|
28
29
|
doctorNotInitializedError: 'Must first initialize a new SfDoctor.',
|
|
29
30
|
doctorAlreadyInitializedError: 'SfDoctor has already been initialized.',
|
|
30
31
|
pluginNotInstalledError:
|
|
31
|
-
|
|
32
|
+
"Specified plugin [%s] isn't installed. Install it, correct the name, or choose another plugin.",
|
|
32
33
|
};
|
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"2.
|
|
1
|
+
{"version":"2.2.0","commands":{"doctor":{"id":"doctor","description":"Gather CLI configuration data and run diagnostic tests to discover and report potential problems in your environment.\n\nWhen you run the doctor command without parameters, it first displays a diagnostic overview of your environment. It then writes a detailed diagnosis to a JSON file in the current directory. Use the --outputdir to specify a different directory. To run diagnostic tests on a specific plugin, use the --plugin parameter. If the plugin isn't listening to the doctor, then you get a warning.\n\nUse the --command parameter to run a specific command in debug mode; the doctor writes both stdout and stderr to *.log files that you can provide to Salesforce Customer Support or attach to a GitHub issue.\n\nPlugin providers can also implement their own doctor diagnostic tests by listening to the \"sf-doctor\" event and running plugin specific tests that are then included in the doctor diagnostics log.\n","usage":"<%= command.id %> [-c <string>] [-p <string>] [-o <directory>] [-i] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@salesforce/plugin-info","pluginType":"core","hidden":true,"aliases":[],"examples":["Run CLI doctor diagnostics:"," $ <%= config.bin %> doctor","Run CLI doctor diagnostics and the specified command, and write the debug output to a file:"," $ <%= config.bin %> doctor --command \"force:org:list --all\"","Run CLI doctor diagnostics for a specific plugin:"," $ <%= config.bin %> doctor --plugin @salesforce/plugin-source"],"flags":{"json":{"name":"json","type":"boolean","description":"format output as json","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"},"command":{"name":"command","type":"option","char":"c","description":"command to run in debug mode ; results are written to a log file"},"plugin":{"name":"plugin","type":"option","char":"p","description":"specific plugin on which to run diagnostics "},"outputdir":{"name":"outputdir","type":"option","char":"o","description":"directory to save all created files rather than the current working directory"},"createissue":{"name":"createissue","type":"boolean","char":"i","description":"create a new issue on our GitHub repo and attach all diagnostic results","allowNo":false}},"args":[]},"info:releasenotes:display":{"id":"info:releasenotes:display","description":"Display Salesforce CLI release notes on the command line.","usage":"<%= command.id %> [-v <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]","pluginName":"@salesforce/plugin-info","pluginType":"core","aliases":["whatsnew"],"examples":["Display release notes for the currently installed CLI version:","$ <%= config.bin %> <%= command.id %>","Display release notes for CLI version 7.120.0:","$ <%= config.bin %> <%= command.id %> --version 7.120.0","Display release notes for the CLI version that corresponds to a tag (stable, stable-rc, latest, latest-rc, rc):","$ <%= config.bin %> <%= command.id %> --version latest"," "],"flags":{"json":{"name":"json","type":"boolean","description":"format output as json","allowNo":false},"loglevel":{"name":"loglevel","type":"option","description":"logging level for this command invocation","required":false,"helpValue":"(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)","options":["trace","debug","info","warn","error","fatal","TRACE","DEBUG","INFO","WARN","ERROR","FATAL"],"default":"warn"},"version":{"name":"version","type":"option","char":"v","description":"CLI version or tag for which to display release notes."},"hook":{"name":"hook","type":"boolean","description":"This hidden parameter is used in post install or update hooks.","hidden":true,"allowNo":false}},"args":[]}}}
|
package/package.json
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-info",
|
|
3
3
|
"description": "Plugin for accessing cli info from the command line",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.2.0",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
7
7
|
"main": "lib/index.js",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@oclif/core": "^1.
|
|
9
|
+
"@oclif/core": "^1.18.0",
|
|
10
10
|
"@salesforce/command": "^5.2.12",
|
|
11
11
|
"@salesforce/core": "^3.30.12",
|
|
12
12
|
"@salesforce/kit": "^1.6.1",
|
|
13
13
|
"got": "^11.8.2",
|
|
14
14
|
"marked": "^4.1.1",
|
|
15
15
|
"marked-terminal": "^4.2.0",
|
|
16
|
+
"open": "^8.4.0",
|
|
16
17
|
"proxy-agent": "^5.0.0",
|
|
17
18
|
"proxy-from-env": "^1.1.0",
|
|
18
19
|
"semver": "^7.3.5",
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
"@salesforce/cli-plugins-testkit": "^3.2.3",
|
|
26
27
|
"@salesforce/dev-config": "^3.1.0",
|
|
27
28
|
"@salesforce/dev-scripts": "^3.1.0",
|
|
28
|
-
"@salesforce/plugin-command-reference": "^1.4.
|
|
29
|
+
"@salesforce/plugin-command-reference": "^1.4.4",
|
|
29
30
|
"@salesforce/prettier-config": "^0.0.2",
|
|
30
31
|
"@salesforce/ts-sinon": "1.4.0",
|
|
31
32
|
"@types/fs-extra": "^9.0.13",
|
|
@@ -34,7 +35,7 @@
|
|
|
34
35
|
"@types/proxy-from-env": "^1.0.1",
|
|
35
36
|
"@types/semver": "^7.3.8",
|
|
36
37
|
"@typescript-eslint/eslint-plugin": "^5.39.0",
|
|
37
|
-
"@typescript-eslint/parser": "^5.
|
|
38
|
+
"@typescript-eslint/parser": "^5.40.0",
|
|
38
39
|
"chai": "^4.3.4",
|
|
39
40
|
"eslint": "^8.25.0",
|
|
40
41
|
"eslint-config-prettier": "^8.5.0",
|
|
@@ -121,7 +122,7 @@
|
|
|
121
122
|
"access": "public"
|
|
122
123
|
},
|
|
123
124
|
"sfdx": {
|
|
124
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-info/2.
|
|
125
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-info/2.
|
|
125
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-info/2.2.0.crt",
|
|
126
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-info/2.2.0.sig"
|
|
126
127
|
}
|
|
127
128
|
}
|