@salesforce/plugin-auth 2.8.26 → 3.0.1
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 +67 -67
- package/lib/authBaseCommand.d.ts +0 -2
- package/lib/authBaseCommand.js +9 -25
- package/lib/authBaseCommand.js.map +1 -1
- package/lib/commands/org/list/auth.d.ts +1 -1
- package/lib/commands/org/list/auth.js +16 -17
- package/lib/commands/org/list/auth.js.map +1 -1
- package/lib/commands/org/login/access-token.d.ts +5 -5
- package/lib/commands/org/login/access-token.js +62 -62
- package/lib/commands/org/login/access-token.js.map +1 -1
- package/lib/commands/org/login/device.d.ts +10 -10
- package/lib/commands/org/login/device.js +59 -60
- package/lib/commands/org/login/device.js.map +1 -1
- package/lib/commands/org/login/jwt.d.ts +8 -8
- package/lib/commands/org/login/jwt.js +78 -81
- package/lib/commands/org/login/jwt.js.map +1 -1
- package/lib/commands/org/login/sfdx-url.d.ts +7 -7
- package/lib/commands/org/login/sfdx-url.js +59 -58
- package/lib/commands/org/login/sfdx-url.js.map +1 -1
- package/lib/commands/org/login/web.d.ts +7 -7
- package/lib/commands/org/login/web.js +81 -81
- package/lib/commands/org/login/web.js.map +1 -1
- package/lib/commands/org/logout.d.ts +3 -3
- package/lib/commands/org/logout.js +48 -49
- package/lib/commands/org/logout.js.map +1 -1
- package/lib/common.js +13 -15
- package/lib/common.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/messages/accesstoken.store.md +5 -0
- package/messages/messages.md +0 -5
- package/oclif.lock +7839 -0
- package/oclif.manifest.json +665 -329
- package/package.json +32 -50
|
@@ -1,20 +1,65 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
7
|
+
import { dirname } from 'node:path';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { Flags, loglevel } from '@salesforce/sf-plugins-core';
|
|
10
|
+
import { AuthInfo, Messages, matchesAccessToken, SfError, StateAggregator } from '@salesforce/core';
|
|
11
|
+
import { env } from '@salesforce/kit';
|
|
12
|
+
import { AuthBaseCommand } from '../../../authBaseCommand.js';
|
|
13
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
14
|
+
const messages = Messages.loadMessages('@salesforce/plugin-auth', 'accesstoken.store');
|
|
15
|
+
const commonMessages = Messages.loadMessages('@salesforce/plugin-auth', 'messages');
|
|
16
16
|
const ACCESS_TOKEN_FORMAT = '"<org id>!<accesstoken>"';
|
|
17
|
-
class LoginAccessToken extends
|
|
17
|
+
export default class LoginAccessToken extends AuthBaseCommand {
|
|
18
|
+
static summary = messages.getMessage('summary');
|
|
19
|
+
static description = messages.getMessage('description');
|
|
20
|
+
static examples = messages.getMessages('examples');
|
|
21
|
+
static deprecateAliases = true;
|
|
22
|
+
static aliases = ['force:auth:accesstoken:store', 'auth:accesstoken:store'];
|
|
23
|
+
static flags = {
|
|
24
|
+
'instance-url': Flags.url({
|
|
25
|
+
char: 'r',
|
|
26
|
+
summary: commonMessages.getMessage('flags.instance-url.summary'),
|
|
27
|
+
description: commonMessages.getMessage('flags.instance-url.description'),
|
|
28
|
+
required: true,
|
|
29
|
+
deprecateAliases: true,
|
|
30
|
+
aliases: ['instanceurl'],
|
|
31
|
+
}),
|
|
32
|
+
'set-default-dev-hub': Flags.boolean({
|
|
33
|
+
char: 'd',
|
|
34
|
+
summary: commonMessages.getMessage('flags.set-default-dev-hub.summary'),
|
|
35
|
+
default: false,
|
|
36
|
+
deprecateAliases: true,
|
|
37
|
+
aliases: ['setdefaultdevhub', 'setdefaultdevhubusername'],
|
|
38
|
+
}),
|
|
39
|
+
'set-default': Flags.boolean({
|
|
40
|
+
char: 's',
|
|
41
|
+
summary: commonMessages.getMessage('flags.set-default.summary'),
|
|
42
|
+
default: false,
|
|
43
|
+
deprecateAliases: true,
|
|
44
|
+
aliases: ['setdefaultusername'],
|
|
45
|
+
}),
|
|
46
|
+
alias: Flags.string({
|
|
47
|
+
char: 'a',
|
|
48
|
+
summary: commonMessages.getMessage('flags.alias.summary'),
|
|
49
|
+
deprecateAliases: true,
|
|
50
|
+
aliases: ['setalias'],
|
|
51
|
+
}),
|
|
52
|
+
'no-prompt': Flags.boolean({
|
|
53
|
+
char: 'p',
|
|
54
|
+
summary: commonMessages.getMessage('flags.no-prompt.summary'),
|
|
55
|
+
required: false,
|
|
56
|
+
default: false,
|
|
57
|
+
deprecateAliases: true,
|
|
58
|
+
aliases: ['noprompt'],
|
|
59
|
+
}),
|
|
60
|
+
loglevel,
|
|
61
|
+
};
|
|
62
|
+
flags;
|
|
18
63
|
async run() {
|
|
19
64
|
const { flags } = await this.parse(LoginAccessToken);
|
|
20
65
|
this.flags = flags;
|
|
@@ -26,7 +71,7 @@ class LoginAccessToken extends authBaseCommand_1.AuthBaseCommand {
|
|
|
26
71
|
// because stubbed on the test (instead of stubbing in core)
|
|
27
72
|
// eslint-disable-next-line class-methods-use-this
|
|
28
73
|
async getUserInfo(accessToken, instanceUrl) {
|
|
29
|
-
return
|
|
74
|
+
return AuthInfo.create({ accessTokenOptions: { accessToken, instanceUrl, loginUrl: instanceUrl } });
|
|
30
75
|
}
|
|
31
76
|
async storeAuthFromAccessToken(authInfo) {
|
|
32
77
|
if (await this.overwriteAuthInfo(authInfo.getUsername())) {
|
|
@@ -46,68 +91,23 @@ class LoginAccessToken extends authBaseCommand_1.AuthBaseCommand {
|
|
|
46
91
|
setDefault: this.flags['set-default'],
|
|
47
92
|
setDefaultDevHub: this.flags['set-default-dev-hub'],
|
|
48
93
|
});
|
|
49
|
-
await
|
|
94
|
+
await AuthInfo.identifyPossibleScratchOrgs(authInfo.getFields(true), authInfo);
|
|
50
95
|
}
|
|
51
96
|
async overwriteAuthInfo(username) {
|
|
52
97
|
if (!this.flags['no-prompt']) {
|
|
53
|
-
const stateAggregator = await
|
|
98
|
+
const stateAggregator = await StateAggregator.getInstance();
|
|
54
99
|
if (await stateAggregator.orgs.exists(username)) {
|
|
55
|
-
return this.
|
|
100
|
+
return this.confirm(messages.getMessage('overwriteAccessTokenAuthUserFile', [username]));
|
|
56
101
|
}
|
|
57
102
|
}
|
|
58
103
|
return true;
|
|
59
104
|
}
|
|
60
105
|
async getAccessToken() {
|
|
61
|
-
const accessToken =
|
|
62
|
-
if (!
|
|
63
|
-
throw new
|
|
106
|
+
const accessToken = env.getString('SFDX_ACCESS_TOKEN') ?? (await this.askForAccessToken());
|
|
107
|
+
if (!matchesAccessToken(accessToken)) {
|
|
108
|
+
throw new SfError(messages.getMessage('invalidAccessTokenFormat', [ACCESS_TOKEN_FORMAT]));
|
|
64
109
|
}
|
|
65
110
|
return accessToken;
|
|
66
111
|
}
|
|
67
112
|
}
|
|
68
|
-
LoginAccessToken.summary = messages.getMessage('summary');
|
|
69
|
-
LoginAccessToken.description = messages.getMessage('description');
|
|
70
|
-
LoginAccessToken.examples = messages.getMessages('examples');
|
|
71
|
-
LoginAccessToken.deprecateAliases = true;
|
|
72
|
-
LoginAccessToken.aliases = ['force:auth:accesstoken:store', 'auth:accesstoken:store'];
|
|
73
|
-
LoginAccessToken.flags = {
|
|
74
|
-
'instance-url': sf_plugins_core_1.Flags.url({
|
|
75
|
-
char: 'r',
|
|
76
|
-
summary: commonMessages.getMessage('flags.instance-url.summary'),
|
|
77
|
-
description: commonMessages.getMessage('flags.instance-url.description'),
|
|
78
|
-
required: true,
|
|
79
|
-
deprecateAliases: true,
|
|
80
|
-
aliases: ['instanceurl'],
|
|
81
|
-
}),
|
|
82
|
-
'set-default-dev-hub': sf_plugins_core_1.Flags.boolean({
|
|
83
|
-
char: 'd',
|
|
84
|
-
summary: commonMessages.getMessage('flags.set-default-dev-hub.summary'),
|
|
85
|
-
default: false,
|
|
86
|
-
deprecateAliases: true,
|
|
87
|
-
aliases: ['setdefaultdevhub', 'setdefaultdevhubusername'],
|
|
88
|
-
}),
|
|
89
|
-
'set-default': sf_plugins_core_1.Flags.boolean({
|
|
90
|
-
char: 's',
|
|
91
|
-
summary: commonMessages.getMessage('flags.set-default.summary'),
|
|
92
|
-
default: false,
|
|
93
|
-
deprecateAliases: true,
|
|
94
|
-
aliases: ['setdefaultusername'],
|
|
95
|
-
}),
|
|
96
|
-
alias: sf_plugins_core_1.Flags.string({
|
|
97
|
-
char: 'a',
|
|
98
|
-
summary: commonMessages.getMessage('flags.alias.summary'),
|
|
99
|
-
deprecateAliases: true,
|
|
100
|
-
aliases: ['setalias'],
|
|
101
|
-
}),
|
|
102
|
-
'no-prompt': sf_plugins_core_1.Flags.boolean({
|
|
103
|
-
char: 'p',
|
|
104
|
-
summary: commonMessages.getMessage('flags.no-prompt.summary'),
|
|
105
|
-
required: false,
|
|
106
|
-
default: false,
|
|
107
|
-
deprecateAliases: true,
|
|
108
|
-
aliases: ['noprompt'],
|
|
109
|
-
}),
|
|
110
|
-
loglevel: sf_plugins_core_1.loglevel,
|
|
111
|
-
};
|
|
112
|
-
exports.default = LoginAccessToken;
|
|
113
113
|
//# sourceMappingURL=access-token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../../../src/commands/org/login/access-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../../../src/commands/org/login/access-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { AuthFields } from '@salesforce/core';
|
|
3
|
-
import { DeviceCodeResponse } from '@salesforce/core/lib/deviceOauthService';
|
|
4
|
-
import { AuthBaseCommand } from '../../../authBaseCommand';
|
|
3
|
+
import { DeviceCodeResponse } from '@salesforce/core/lib/deviceOauthService.js';
|
|
4
|
+
import { AuthBaseCommand } from '../../../authBaseCommand.js';
|
|
5
5
|
export type DeviceLoginResult = (AuthFields & DeviceCodeResponse) | Record<string, never>;
|
|
6
6
|
export default class LoginDevice extends AuthBaseCommand<DeviceLoginResult> {
|
|
7
7
|
static readonly summary: string;
|
|
@@ -9,13 +9,13 @@ export default class LoginDevice extends AuthBaseCommand<DeviceLoginResult> {
|
|
|
9
9
|
static readonly examples: string[];
|
|
10
10
|
static aliases: string[];
|
|
11
11
|
static readonly flags: {
|
|
12
|
-
'client-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
|
-
'instance-url': import("@oclif/core/lib/interfaces").OptionFlag<import("url").URL | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
14
|
-
'set-default-dev-hub': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
-
'set-default': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
-
alias: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
17
|
-
'disable-masking': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
-
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
|
+
'client-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
13
|
+
'instance-url': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<import("url").URL | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
14
|
+
'set-default-dev-hub': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
15
|
+
'set-default': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
16
|
+
alias: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
17
|
+
'disable-masking': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
|
+
loglevel: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
19
19
|
};
|
|
20
20
|
run(): Promise<DeviceLoginResult>;
|
|
21
21
|
}
|
|
@@ -1,32 +1,76 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
7
|
+
import { dirname } from 'node:path';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { AuthInfo, DeviceOauthService, Messages } from '@salesforce/core';
|
|
10
|
+
import { Flags, loglevel } from '@salesforce/sf-plugins-core';
|
|
11
|
+
import { ux } from '@oclif/core';
|
|
12
|
+
import { AuthBaseCommand } from '../../../authBaseCommand.js';
|
|
13
|
+
import { Common } from '../../../common.js';
|
|
14
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
15
|
+
const messages = Messages.loadMessages('@salesforce/plugin-auth', 'device.login');
|
|
16
|
+
const commonMessages = Messages.loadMessages('@salesforce/plugin-auth', 'messages');
|
|
17
|
+
export default class LoginDevice extends AuthBaseCommand {
|
|
18
|
+
static summary = messages.getMessage('summary');
|
|
19
|
+
static description = messages.getMessage('description');
|
|
20
|
+
static examples = messages.getMessages('examples');
|
|
21
|
+
static aliases = ['force:auth:device:login', 'auth:device:login'];
|
|
22
|
+
static flags = {
|
|
23
|
+
'client-id': Flags.string({
|
|
24
|
+
char: 'i',
|
|
25
|
+
summary: commonMessages.getMessage('flags.client-id.summary'),
|
|
26
|
+
deprecateAliases: true,
|
|
27
|
+
aliases: ['clientid'],
|
|
28
|
+
}),
|
|
29
|
+
'instance-url': Flags.url({
|
|
30
|
+
char: 'r',
|
|
31
|
+
summary: commonMessages.getMessage('flags.instance-url.summary'),
|
|
32
|
+
description: commonMessages.getMessage('flags.instance-url.description'),
|
|
33
|
+
deprecateAliases: true,
|
|
34
|
+
aliases: ['instanceurl'],
|
|
35
|
+
}),
|
|
36
|
+
'set-default-dev-hub': Flags.boolean({
|
|
37
|
+
char: 'd',
|
|
38
|
+
summary: commonMessages.getMessage('flags.set-default-dev-hub.summary'),
|
|
39
|
+
deprecateAliases: true,
|
|
40
|
+
aliases: ['setdefaultdevhub', 'setdefaultdevhubusername'],
|
|
41
|
+
}),
|
|
42
|
+
'set-default': Flags.boolean({
|
|
43
|
+
char: 's',
|
|
44
|
+
summary: commonMessages.getMessage('flags.set-default.summary'),
|
|
45
|
+
deprecateAliases: true,
|
|
46
|
+
aliases: ['setdefaultusername'],
|
|
47
|
+
}),
|
|
48
|
+
alias: Flags.string({
|
|
49
|
+
char: 'a',
|
|
50
|
+
summary: commonMessages.getMessage('flags.alias.summary'),
|
|
51
|
+
deprecateAliases: true,
|
|
52
|
+
aliases: ['setalias'],
|
|
53
|
+
}),
|
|
54
|
+
'disable-masking': Flags.boolean({
|
|
55
|
+
summary: commonMessages.getMessage('flags.disable-masking.summary'),
|
|
56
|
+
hidden: true,
|
|
57
|
+
deprecateAliases: true,
|
|
58
|
+
aliases: ['disablemasking'],
|
|
59
|
+
}),
|
|
60
|
+
loglevel,
|
|
61
|
+
};
|
|
18
62
|
async run() {
|
|
19
63
|
const { flags } = await this.parse(LoginDevice);
|
|
20
64
|
if (await this.shouldExitCommand(false))
|
|
21
65
|
return {};
|
|
22
66
|
const oauthConfig = {
|
|
23
|
-
loginUrl: await
|
|
67
|
+
loginUrl: await Common.resolveLoginUrl(flags['instance-url']?.href),
|
|
24
68
|
clientId: flags['client-id'],
|
|
25
69
|
};
|
|
26
|
-
const deviceOauthService = await
|
|
70
|
+
const deviceOauthService = await DeviceOauthService.create(oauthConfig);
|
|
27
71
|
const loginData = await deviceOauthService.requestDeviceLogin();
|
|
28
72
|
if (this.jsonEnabled()) {
|
|
29
|
-
|
|
73
|
+
ux.log(JSON.stringify(loginData, null, 2));
|
|
30
74
|
}
|
|
31
75
|
else {
|
|
32
76
|
this.styledHeader(messages.getMessage('actionRequired'));
|
|
@@ -42,7 +86,7 @@ class LoginDevice extends authBaseCommand_1.AuthBaseCommand {
|
|
|
42
86
|
setDefaultDevHub: flags['set-default-dev-hub'],
|
|
43
87
|
});
|
|
44
88
|
const fields = authInfo.getFields(true);
|
|
45
|
-
await
|
|
89
|
+
await AuthInfo.identifyPossibleScratchOrgs(fields, authInfo);
|
|
46
90
|
const successMsg = messages.getMessage('success', [fields.username]);
|
|
47
91
|
this.logSuccess(successMsg);
|
|
48
92
|
return { ...fields, ...loginData };
|
|
@@ -52,49 +96,4 @@ class LoginDevice extends authBaseCommand_1.AuthBaseCommand {
|
|
|
52
96
|
}
|
|
53
97
|
}
|
|
54
98
|
}
|
|
55
|
-
LoginDevice.summary = messages.getMessage('summary');
|
|
56
|
-
LoginDevice.description = messages.getMessage('description');
|
|
57
|
-
LoginDevice.examples = messages.getMessages('examples');
|
|
58
|
-
LoginDevice.aliases = ['force:auth:device:login', 'auth:device:login'];
|
|
59
|
-
LoginDevice.flags = {
|
|
60
|
-
'client-id': sf_plugins_core_1.Flags.string({
|
|
61
|
-
char: 'i',
|
|
62
|
-
summary: commonMessages.getMessage('flags.client-id.summary'),
|
|
63
|
-
deprecateAliases: true,
|
|
64
|
-
aliases: ['clientid'],
|
|
65
|
-
}),
|
|
66
|
-
'instance-url': sf_plugins_core_1.Flags.url({
|
|
67
|
-
char: 'r',
|
|
68
|
-
summary: commonMessages.getMessage('flags.instance-url.summary'),
|
|
69
|
-
description: commonMessages.getMessage('flags.instance-url.description'),
|
|
70
|
-
deprecateAliases: true,
|
|
71
|
-
aliases: ['instanceurl'],
|
|
72
|
-
}),
|
|
73
|
-
'set-default-dev-hub': sf_plugins_core_1.Flags.boolean({
|
|
74
|
-
char: 'd',
|
|
75
|
-
summary: commonMessages.getMessage('flags.set-default-dev-hub.summary'),
|
|
76
|
-
deprecateAliases: true,
|
|
77
|
-
aliases: ['setdefaultdevhub', 'setdefaultdevhubusername'],
|
|
78
|
-
}),
|
|
79
|
-
'set-default': sf_plugins_core_1.Flags.boolean({
|
|
80
|
-
char: 's',
|
|
81
|
-
summary: commonMessages.getMessage('flags.set-default.summary'),
|
|
82
|
-
deprecateAliases: true,
|
|
83
|
-
aliases: ['setdefaultusername'],
|
|
84
|
-
}),
|
|
85
|
-
alias: sf_plugins_core_1.Flags.string({
|
|
86
|
-
char: 'a',
|
|
87
|
-
summary: commonMessages.getMessage('flags.alias.summary'),
|
|
88
|
-
deprecateAliases: true,
|
|
89
|
-
aliases: ['setalias'],
|
|
90
|
-
}),
|
|
91
|
-
'disable-masking': sf_plugins_core_1.Flags.boolean({
|
|
92
|
-
summary: commonMessages.getMessage('flags.disable-masking.summary'),
|
|
93
|
-
hidden: true,
|
|
94
|
-
deprecateAliases: true,
|
|
95
|
-
aliases: ['disablemasking'],
|
|
96
|
-
}),
|
|
97
|
-
loglevel: sf_plugins_core_1.loglevel,
|
|
98
|
-
};
|
|
99
|
-
exports.default = LoginDevice;
|
|
100
99
|
//# sourceMappingURL=device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../../../src/commands/org/login/device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../../../src/commands/org/login/device.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { AuthFields } from '@salesforce/core';
|
|
3
3
|
import { Interfaces } from '@oclif/core';
|
|
4
|
-
import { AuthBaseCommand } from '../../../authBaseCommand';
|
|
4
|
+
import { AuthBaseCommand } from '../../../authBaseCommand.js';
|
|
5
5
|
export default class LoginJwt extends AuthBaseCommand<AuthFields> {
|
|
6
6
|
static readonly summary: string;
|
|
7
7
|
static readonly description: string;
|
|
8
8
|
static readonly examples: string[];
|
|
9
9
|
static aliases: string[];
|
|
10
10
|
static readonly flags: {
|
|
11
|
-
username: Interfaces.OptionFlag<string,
|
|
12
|
-
'jwt-key-file': Interfaces.OptionFlag<string,
|
|
13
|
-
'client-id': Interfaces.OptionFlag<string,
|
|
14
|
-
'instance-url': Interfaces.OptionFlag<import("url").URL | undefined,
|
|
11
|
+
username: Interfaces.OptionFlag<string, Interfaces.CustomOptions>;
|
|
12
|
+
'jwt-key-file': Interfaces.OptionFlag<string, Interfaces.CustomOptions>;
|
|
13
|
+
'client-id': Interfaces.OptionFlag<string, Interfaces.CustomOptions>;
|
|
14
|
+
'instance-url': Interfaces.OptionFlag<import("url").URL | undefined, Interfaces.CustomOptions>;
|
|
15
15
|
'set-default-dev-hub': Interfaces.BooleanFlag<boolean>;
|
|
16
16
|
'set-default': Interfaces.BooleanFlag<boolean>;
|
|
17
|
-
alias: Interfaces.OptionFlag<string | undefined,
|
|
17
|
+
alias: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
|
|
18
18
|
'no-prompt': Interfaces.BooleanFlag<boolean>;
|
|
19
|
-
loglevel: Interfaces.OptionFlag<string | undefined,
|
|
19
|
+
loglevel: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
|
|
20
20
|
};
|
|
21
21
|
private flags;
|
|
22
22
|
private logger;
|