@salesforce/core 7.3.10 → 7.3.11
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/org/authInfo.js
CHANGED
|
@@ -52,6 +52,7 @@ const stateAggregator_1 = require("../stateAggregator/stateAggregator");
|
|
|
52
52
|
const filters_1 = require("../logger/filters");
|
|
53
53
|
const messages_1 = require("../messages");
|
|
54
54
|
const sfdcUrl_1 = require("../util/sfdcUrl");
|
|
55
|
+
const findSuggestion_1 = require("../util/findSuggestion");
|
|
55
56
|
const connection_1 = require("./connection");
|
|
56
57
|
const orgConfigProperties_1 = require("./orgConfigProperties");
|
|
57
58
|
const org_1 = require("./org");
|
|
@@ -624,7 +625,17 @@ class AuthInfo extends kit_1.AsyncOptionalCreatable {
|
|
|
624
625
|
}
|
|
625
626
|
// If a username with NO oauth options, ensure authorization already exist.
|
|
626
627
|
else if (username && !authOptions && !(await this.stateAggregator.orgs.exists(username))) {
|
|
627
|
-
|
|
628
|
+
const likeName = (0, findSuggestion_1.findSuggestion)(username, [
|
|
629
|
+
...(await this.stateAggregator.orgs.list()).map((f) => f.split('.json')[0]),
|
|
630
|
+
...Object.keys(this.stateAggregator.aliases.getAll()),
|
|
631
|
+
]);
|
|
632
|
+
throw sfError_1.SfError.create({
|
|
633
|
+
name: 'NamedOrgNotFoundError',
|
|
634
|
+
message: messages.getMessage('namedOrgNotFound', [username]),
|
|
635
|
+
actions: likeName === ''
|
|
636
|
+
? undefined
|
|
637
|
+
: [`It looks like you mistyped the username or alias. Did you mean "${likeName}"?`],
|
|
638
|
+
});
|
|
628
639
|
}
|
|
629
640
|
else {
|
|
630
641
|
await this.initAuthOptions(authOptions);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* From the haystack, will find the closest value to the needle
|
|
3
|
+
*
|
|
4
|
+
* @param needle - what the user provided - find results similar to this
|
|
5
|
+
* @param haystack - possible results to search against
|
|
6
|
+
*/
|
|
7
|
+
export declare const findSuggestion: (needle: string, haystack: string[]) => string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.findSuggestion = void 0;
|
|
7
|
+
/*
|
|
8
|
+
* Copyright (c) 2023, salesforce.com, inc.
|
|
9
|
+
* All rights reserved.
|
|
10
|
+
* Licensed under the BSD 3-Clause license.
|
|
11
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
12
|
+
*/
|
|
13
|
+
const fast_levenshtein_1 = __importDefault(require("fast-levenshtein"));
|
|
14
|
+
/**
|
|
15
|
+
* From the haystack, will find the closest value to the needle
|
|
16
|
+
*
|
|
17
|
+
* @param needle - what the user provided - find results similar to this
|
|
18
|
+
* @param haystack - possible results to search against
|
|
19
|
+
*/
|
|
20
|
+
const findSuggestion = (needle, haystack) => {
|
|
21
|
+
// we'll use this array to keep track of which piece of hay is the closest to the users entered value.
|
|
22
|
+
// keys closer to the index 0 will be a closer guess than keys indexed further from 0
|
|
23
|
+
// an entry at 0 would be a direct match, an entry at 1 would be a single character off, etc.
|
|
24
|
+
const index = [];
|
|
25
|
+
haystack.map((hay) => {
|
|
26
|
+
index[fast_levenshtein_1.default.get(needle, hay)] = hay;
|
|
27
|
+
});
|
|
28
|
+
return index.find((item) => item !== undefined) ?? '';
|
|
29
|
+
};
|
|
30
|
+
exports.findSuggestion = findSuggestion;
|
|
31
|
+
//# sourceMappingURL=findSuggestion.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/core",
|
|
3
|
-
"version": "7.3.
|
|
3
|
+
"version": "7.3.11",
|
|
4
4
|
"description": "Core libraries to interact with SFDX projects, orgs, and APIs.",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -53,11 +53,12 @@
|
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@jsforce/jsforce-node": "^3.2.0",
|
|
56
|
-
"@salesforce/kit": "^3.1.
|
|
56
|
+
"@salesforce/kit": "^3.1.2",
|
|
57
57
|
"@salesforce/schemas": "^1.9.0",
|
|
58
58
|
"@salesforce/ts-types": "^2.0.9",
|
|
59
59
|
"ajv": "^8.15.0",
|
|
60
60
|
"change-case": "^4.1.2",
|
|
61
|
+
"fast-levenshtein": "^3.0.0",
|
|
61
62
|
"faye": "^1.4.0",
|
|
62
63
|
"form-data": "^4.0.0",
|
|
63
64
|
"js2xmlparser": "^4.0.1",
|
|
@@ -75,6 +76,7 @@
|
|
|
75
76
|
"@salesforce/ts-sinon": "^1.4.19",
|
|
76
77
|
"@types/benchmark": "^2.1.5",
|
|
77
78
|
"@types/chai-string": "^1.4.5",
|
|
79
|
+
"@types/fast-levenshtein": "^0.0.4",
|
|
78
80
|
"@types/jsonwebtoken": "9.0.6",
|
|
79
81
|
"@types/proper-lockfile": "^4.1.4",
|
|
80
82
|
"@types/semver": "^7.5.8",
|