Skip to content

Commit 7a64c03

Browse files
authored
feat(sbx): support new Name fields in def. file (#1221)
* feat: name fields for definitionfile * fix: update the changes * fix: definition-file refresh payload
1 parent 9c430a1 commit 7a64c03

File tree

6 files changed

+148
-70
lines changed

6 files changed

+148
-70
lines changed

messages/clone.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,19 @@ Specify a value for %s in a definition file or on the command line.
55
# missingSourceSandboxNameAction
66

77
To indicate which sandbox org you want to clone, specify %s in a definition file or as a command line argument.
8+
9+
# error.bothApexClassIdAndNameProvided
10+
11+
You can't specify both `apexClassId` and `apexClassName` in the definition file at the same time.
12+
13+
# error.bothUserGroupIdAndNameProvided
14+
15+
You can't specify both `ActivationUserGroupId` and `ActivationUserGroupName` in the definition file at the same time.
16+
17+
# error.userGroupQueryFailed
18+
19+
Unable to find the ID of the activation user group "%s" that's defined in the definition file.
20+
21+
# error.apexClassQueryFailed
22+
23+
Unable to find the ID of the Apex class "%s" that's defined in the definition file.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"bugs": "https://github.com/forcedotcom/cli/issues",
77
"dependencies": {
88
"@oclif/core": "^4.0.16",
9-
"@salesforce/core": "^8.5.5",
9+
"@salesforce/core": "^8.6.1",
1010
"@salesforce/kit": "^3.2.2",
1111
"@salesforce/sf-plugins-core": "^11.3.7",
1212
"@salesforce/source-deploy-retrieve": "^12.6.2",

src/commands/org/create/sandbox.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,31 @@ export default class CreateSandbox extends SandboxCommandBase<SandboxCommandResp
135135
const { sandboxReq } = !this.flags.clone
136136
? await requestFunctions.createSandboxRequest(false, this.flags['definition-file'], undefined, requestOptions)
137137
: await requestFunctions.createSandboxRequest(true, this.flags['definition-file'], undefined, requestOptions);
138+
139+
let apexId: string | undefined;
140+
let groupId: string | undefined;
141+
142+
// Determine which value to use
143+
if (sandboxReq.ApexClassName) {
144+
apexId = await requestFunctions.getApexClassIdByName(
145+
this.flags['target-org'].getConnection(),
146+
sandboxReq.ApexClassName
147+
); // convert name to ID
148+
delete sandboxReq.ApexClassName;
149+
}
150+
151+
if (sandboxReq.ActivationUserGroupName) {
152+
groupId = await requestFunctions.getUserGroupIdByName(
153+
this.flags['target-org'].getConnection(),
154+
sandboxReq.ActivationUserGroupName
155+
);
156+
delete sandboxReq.ActivationUserGroupName;
157+
}
138158
return {
139159
...sandboxReq,
140160
...(this.flags.clone ? { SourceId: await this.getSourceId() } : {}),
161+
...(apexId ? { ApexClassId: apexId } : {}),
162+
...(groupId ? { ActivationUserGroupId: groupId } : {}),
141163
};
142164
}
143165

src/commands/org/refresh/sandbox.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,11 +186,28 @@ export default class RefreshSandbox extends SandboxCommandBase<SandboxCommandRes
186186
throw messages.createError('error.NoSandboxName');
187187
}
188188

189+
let apexId: string | undefined;
190+
let groupId: string | undefined;
191+
192+
if (defFileContent.ApexClassName) {
193+
apexId = await requestFunctions.getApexClassIdByName(
194+
this.flags['target-org'].getConnection(),
195+
defFileContent.ApexClassName
196+
); // convert name to ID
197+
delete defFileContent.ApexClassName;
198+
}
199+
200+
if (defFileContent.ActivationUserGroupName) {
201+
groupId = await requestFunctions.getUserGroupIdByName(
202+
this.flags['target-org'].getConnection(),
203+
defFileContent.ActivationUserGroupName
204+
);
205+
delete defFileContent.ActivationUserGroupName;
206+
}
189207
// Warn if sandbox name is in `--name` and `--definition-file` flags and they differ.
190208
if (defFileContent?.SandboxName && sbxName && sbxName !== defFileContent?.SandboxName) {
191209
this.warn(messages.createWarning('warning.ConflictingSandboxNames', [sbxName, defFileContent?.SandboxName]));
192210
}
193-
194211
sbxName ??= defFileContent.SandboxName as string; // The code above ensures a value for sbxName
195212

196213
const prodOrg = this.flags['target-org'];
@@ -213,6 +230,8 @@ export default class RefreshSandbox extends SandboxCommandBase<SandboxCommandRes
213230
sandboxInfo = Object.assign(sandboxInfo, defFileContent, {
214231
SandboxName: sbxName,
215232
AutoActivate: !this.flags['no-auto-activate'],
233+
...(apexId ? { ApexClassId: apexId } : {}),
234+
...(groupId ? { ActivationUserGroupId: groupId } : {}),
216235
});
217236

218237
return sandboxInfo;

src/shared/sandboxRequest.ts

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77
import fs from 'node:fs';
88

9-
import { Logger, SandboxInfo, SandboxRequest, Messages, SfError, Lifecycle } from '@salesforce/core';
9+
import { Logger, SandboxInfo, SandboxRequest, Messages, SfError, Lifecycle, Connection } from '@salesforce/core';
1010
import { lowerToUpper } from './utils.js';
1111
import { SandboxLicenseType } from './orgTypes.js';
1212

@@ -22,24 +22,46 @@ export const generateSboxName = async (): Promise<string> => {
2222
};
2323

2424
// Reads the sandbox definition file and converts properties to CapCase.
25-
export function readSandboxDefFile(defFile: string): Partial<SandboxInfo> {
25+
export function readSandboxDefFile(
26+
defFile: string
27+
): Partial<SandboxInfo & { ApexClassName?: string; ActivationUserGroupName?: string }> {
2628
const fileContent = fs.readFileSync(defFile, 'utf-8');
27-
const parsedContent = JSON.parse(fileContent) as Record<string, unknown>;
28-
return lowerToUpper(parsedContent) as Partial<SandboxInfo>;
29+
const parsedContent = lowerToUpper(JSON.parse(fileContent) as Record<string, unknown>);
30+
31+
// validate input
32+
if (parsedContent.ApexClassName && parsedContent.ApexClassId) {
33+
throw cloneMessages.createError('error.bothApexClassIdAndNameProvided');
34+
}
35+
36+
if (parsedContent.ActivationUserGroupId && parsedContent.ActivationUserGroupName) {
37+
throw cloneMessages.createError('error.bothUserGroupIdAndNameProvided');
38+
}
39+
return parsedContent as Partial<SandboxInfo>;
2940
}
3041

3142
export async function createSandboxRequest(
3243
isClone: true,
3344
definitionFile: string | undefined,
3445
logger?: Logger | undefined,
3546
properties?: Record<string, string | undefined>
36-
): Promise<{ sandboxReq: SandboxRequest; srcSandboxName: string }>;
47+
): Promise<{
48+
sandboxReq: SandboxRequest & {
49+
ApexClassName: string | undefined;
50+
ActivationUserGroupName: string | undefined;
51+
};
52+
srcSandboxName: string;
53+
}>;
3754
export async function createSandboxRequest(
3855
isClone: false,
3956
definitionFile: string | undefined,
4057
logger?: Logger | undefined,
4158
properties?: Record<string, string | undefined>
42-
): Promise<{ sandboxReq: SandboxRequest }>;
59+
): Promise<{
60+
sandboxReq: SandboxRequest & {
61+
ApexClassName: string | undefined;
62+
ActivationUserGroupName: string | undefined;
63+
};
64+
}>;
4365
export async function createSandboxRequest(
4466
isClone = false,
4567
definitionFile: string | undefined,
@@ -52,6 +74,7 @@ export async function createSandboxRequest(
5274
logger.debug('Varargs: %s ', properties);
5375

5476
const sandboxDefFileContents = definitionFile ? readSandboxDefFile(definitionFile) : {};
77+
5578
const capitalizedVarArgs = properties ? lowerToUpper(properties) : {};
5679

5780
// varargs override file input
@@ -83,9 +106,26 @@ export async function createSandboxRequest(
83106
return { sandboxReq };
84107
}
85108
}
86-
109+
export async function getApexClassIdByName(conn: Connection, className: string): Promise<string | undefined> {
110+
try {
111+
const result = (await conn.singleRecordQuery(`SELECT Id FROM ApexClass WHERE Name = '${className}'`)).Id;
112+
return result;
113+
} catch (err) {
114+
throw cloneMessages.createError('error.apexClassQueryFailed', [className], [], err as Error);
115+
}
116+
}
117+
export async function getUserGroupIdByName(conn: Connection, groupName: string): Promise<string | undefined> {
118+
try {
119+
const result = (await conn.singleRecordQuery(`SELECT id FROM Group WHERE NAME = '${groupName}'`)).Id;
120+
return result;
121+
} catch (err) {
122+
throw cloneMessages.createError('error.userGroupQueryFailed', [groupName], [], err as Error);
123+
}
124+
}
87125
export default {
88126
createSandboxRequest,
89127
generateSboxName,
90128
readSandboxDefFile,
129+
getApexClassIdByName,
130+
getUserGroupIdByName,
91131
};

yarn.lock

Lines changed: 42 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1291,10 +1291,10 @@
12911291
strip-ansi "6.0.1"
12921292
ts-retry-promise "^0.8.1"
12931293

1294-
"@salesforce/core@^8.3.0", "@salesforce/core@^8.5.1", "@salesforce/core@^8.5.2", "@salesforce/core@^8.5.4", "@salesforce/core@^8.5.5":
1295-
version "8.5.5"
1296-
resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.5.5.tgz#f91ff7a5648b864f52f08441a394ce42d50c1b3f"
1297-
integrity sha512-nWvFdaAFbmIWB/WVWveYUkXsaqF38A2zRLDjWjkOAgWeSTyWv9UEKtoGJX1NC84n92lGfXblGlxLK7SmaFFVdA==
1294+
"@salesforce/core@^8.3.0", "@salesforce/core@^8.5.1", "@salesforce/core@^8.5.2", "@salesforce/core@^8.5.4", "@salesforce/core@^8.6.1":
1295+
version "8.6.1"
1296+
resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.6.1.tgz#180c489447190632cf48364a077510989fc1dea2"
1297+
integrity sha512-bOS6YIjk3IFzFtZcQXUIbJQ740Gh6EyzlcvoBpDpFA5eaz5ZrS0dO1e0rU6Gn4V1FZkvt84gQXA5G1M8tTNKVw==
12981298
dependencies:
12991299
"@jsforce/jsforce-node" "^3.4.1"
13001300
"@salesforce/kit" "^3.2.2"
@@ -3179,14 +3179,14 @@ csprng@*:
31793179
sequin "*"
31803180

31813181
csv-parse@^5.5.2:
3182-
version "5.5.5"
3183-
resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517"
3184-
integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ==
3182+
version "5.5.6"
3183+
resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.6.tgz#0d726d58a60416361358eec291a9f93abe0b6b1a"
3184+
integrity sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A==
31853185

31863186
csv-stringify@^6.4.4:
3187-
version "6.4.6"
3188-
resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.4.6.tgz#9ccf87cb8b017c96673a9fa061768c8ba83e8b98"
3189-
integrity sha512-h2V2XZ3uOTLilF5dPIptgUfN/o2ia/80Ie0Lly18LAnw5s8Eb7kt8rfxSUy24AztJZas9f6DPZpVlzDUtFt/ag==
3187+
version "6.5.1"
3188+
resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.5.1.tgz#a31837dd35e34787e3c248159c982a21af964d94"
3189+
integrity sha512-+9lpZfwpLntpTIEpFbwQyWuW/hmI/eHuJZD1XzeZpfZTqkf1fyvBbBLXTJJMsBuuS11uTShMqPwzx4A6ffXgRQ==
31903190

31913191
dargs@^7.0.0:
31923192
version "7.0.0"
@@ -3889,9 +3889,9 @@ fast-levenshtein@^3.0.0:
38893889
fastest-levenshtein "^1.0.7"
38903890

38913891
fast-redact@^3.1.1:
3892-
version "3.3.0"
3893-
resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634"
3894-
integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==
3892+
version "3.5.0"
3893+
resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.5.0.tgz#e9ea02f7e57d0cd8438180083e93077e496285e4"
3894+
integrity sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==
38953895

38963896
fast-safe-stringify@^2.1.1:
38973897
version "2.1.1"
@@ -6282,15 +6282,10 @@ proxy-from-env@^1.1.0:
62826282
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
62836283
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
62846284

6285-
psl@^1.1.33:
6286-
version "1.9.0"
6287-
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
6288-
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
6289-
62906285
pump@^3.0.0:
6291-
version "3.0.0"
6292-
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
6293-
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
6286+
version "3.0.2"
6287+
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8"
6288+
integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==
62946289
dependencies:
62956290
end-of-stream "^1.1.0"
62966291
once "^1.3.1"
@@ -6300,16 +6295,11 @@ punycode.js@^2.3.1:
63006295
resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7"
63016296
integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==
63026297

6303-
punycode@^2.1.0, punycode@^2.1.1:
6298+
punycode@^2.1.0:
63046299
version "2.3.1"
63056300
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
63066301
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
63076302

6308-
querystringify@^2.1.1:
6309-
version "2.2.0"
6310-
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
6311-
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
6312-
63136303
queue-microtask@^1.2.2:
63146304
version "1.2.3"
63156305
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -6460,11 +6450,6 @@ require-main-filename@^2.0.0:
64606450
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
64616451
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
64626452

6463-
requires-port@^1.0.0:
6464-
version "1.0.0"
6465-
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
6466-
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
6467-
64686453
resolve-alpn@^1.0.0, resolve-alpn@^1.2.0:
64696454
version "1.2.1"
64706455
resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
@@ -6574,19 +6559,19 @@ safe-regex-test@^1.0.3:
65746559
is-regex "^1.1.4"
65756560

65766561
safe-stable-stringify@^2.3.1, safe-stable-stringify@^2.4.3:
6577-
version "2.4.3"
6578-
resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886"
6579-
integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==
6562+
version "2.5.0"
6563+
resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz#4ca2f8e385f2831c432a719b108a3bf7af42a1dd"
6564+
integrity sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==
65806565

65816566
65826567
version "1.3.0"
65836568
resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50"
65846569
integrity sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==
65856570

65866571
sax@>=0.6.0:
6587-
version "1.3.0"
6588-
resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0"
6589-
integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==
6572+
version "1.4.1"
6573+
resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
6574+
integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
65906575

65916576
secure-json-parse@^2.4.0:
65926577
version "2.7.0"
@@ -6813,9 +6798,9 @@ socks@^2.7.1:
68136798
smart-buffer "^4.2.0"
68146799

68156800
sonic-boom@^4.0.1:
6816-
version "4.0.1"
6817-
resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-4.0.1.tgz#515b7cef2c9290cb362c4536388ddeece07aed30"
6818-
integrity sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==
6801+
version "4.1.0"
6802+
resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-4.1.0.tgz#4f039663ba191fac5cfe4f1dc330faac079e4342"
6803+
integrity sha512-NGipjjRicyJJ03rPiZCJYjwlsuP2d1/5QUviozRXC7S3WdVWNK5e3Ojieb9CCyfhq2UC+3+SRd9nG3I2lPRvUw==
68196804
dependencies:
68206805
atomic-sleep "^1.0.0"
68216806

@@ -7139,6 +7124,18 @@ tiny-jsonc@^1.0.1:
71397124
resolved "https://registry.yarnpkg.com/tiny-jsonc/-/tiny-jsonc-1.0.1.tgz#71de47c9d812b411e87a9f3ab4a5fe42cd8d8f9c"
71407125
integrity sha512-ik6BCxzva9DoiEfDX/li0L2cWKPPENYvixUprFdl3YPi4bZZUhDnNI9YUkacrv+uIG90dnxR5mNqaoD6UhD6Bw==
71417126

7127+
tldts-core@^6.1.47:
7128+
version "6.1.47"
7129+
resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.47.tgz#bb6deb97abb6ef04243af60968d2d0055a65cbd7"
7130+
integrity sha512-6SWyFMnlst1fEt7GQVAAu16EGgFK0cLouH/2Mk6Ftlwhv3Ol40L0dlpGMcnnNiiOMyD2EV/aF3S+U2nKvvLvrA==
7131+
7132+
tldts@^6.1.32:
7133+
version "6.1.47"
7134+
resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.47.tgz#bab4edf5867e2bbd763e72d9435289de97b082df"
7135+
integrity sha512-R/K2tZ5MiY+mVrnSkNJkwqYT2vUv1lcT6wJvd2emGaMJ7PHUGRY4e3tUsdFCXgqxi2QgbHjL3yJgXCo40v9Hxw==
7136+
dependencies:
7137+
tldts-core "^6.1.47"
7138+
71427139
to-fast-properties@^2.0.0:
71437140
version "2.0.0"
71447141
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
@@ -7152,14 +7149,11 @@ to-regex-range@^5.0.1:
71527149
is-number "^7.0.0"
71537150

71547151
tough-cookie@*:
7155-
version "4.1.3"
7156-
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
7157-
integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==
7152+
version "5.0.0"
7153+
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af"
7154+
integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==
71587155
dependencies:
7159-
psl "^1.1.33"
7160-
punycode "^2.1.1"
7161-
universalify "^0.2.0"
7162-
url-parse "^1.5.3"
7156+
tldts "^6.1.32"
71637157

71647158
tr46@~0.0.3:
71657159
version "0.0.3"
@@ -7394,11 +7388,6 @@ universalify@^0.1.0:
73947388
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
73957389
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
73967390

7397-
universalify@^0.2.0:
7398-
version "0.2.0"
7399-
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
7400-
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
7401-
74027391
universalify@^2.0.0:
74037392
version "2.0.1"
74047393
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
@@ -7433,14 +7422,6 @@ uri-js@^4.2.2:
74337422
dependencies:
74347423
punycode "^2.1.0"
74357424

7436-
url-parse@^1.5.3:
7437-
version "1.5.10"
7438-
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
7439-
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
7440-
dependencies:
7441-
querystringify "^2.1.1"
7442-
requires-port "^1.0.0"
7443-
74447425
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
74457426
version "1.0.2"
74467427
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"

0 commit comments

Comments
 (0)