@salesforce/plugin-lightning-dev 1.2.1-alpha.0 → 1.2.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 +2 -2
- package/lib/commands/lightning/dev/site.js +2 -2
- package/lib/commands/lightning/dev/site.js.map +1 -1
- package/lib/shared/experience/expSite.d.ts +0 -8
- package/lib/shared/experience/expSite.js +0 -90
- package/lib/shared/experience/expSite.js.map +1 -1
- package/npm-shrinkwrap.json +230 -268
- package/oclif.lock +257 -276
- package/oclif.manifest.json +1 -1
- package/package.json +5 -6
package/README.md
CHANGED
|
@@ -200,7 +200,7 @@ EXAMPLES
|
|
|
200
200
|
$ sf lightning dev app --target-org myOrg --device-type ios --device-id "iPhone 15 Pro Max"
|
|
201
201
|
```
|
|
202
202
|
|
|
203
|
-
_See code: [src/commands/lightning/dev/app.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.2.1
|
|
203
|
+
_See code: [src/commands/lightning/dev/app.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.2.1/src/commands/lightning/dev/app.ts)_
|
|
204
204
|
|
|
205
205
|
## `sf lightning dev site`
|
|
206
206
|
|
|
@@ -244,6 +244,6 @@ EXAMPLES
|
|
|
244
244
|
$ sf lightning dev site --name "Partner Central" --target-org myOrg
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
-
_See code: [src/commands/lightning/dev/site.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.2.1
|
|
247
|
+
_See code: [src/commands/lightning/dev/site.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.2.1/src/commands/lightning/dev/site.ts)_
|
|
248
248
|
|
|
249
249
|
<!-- commandsstop -->
|
|
@@ -56,8 +56,8 @@ export default class LightningDevSite extends SfCommand {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
//
|
|
60
|
-
const authToken =
|
|
59
|
+
// Pass the org auth token so LWR can make authenticated requests to core
|
|
60
|
+
const authToken = org.getConnection().accessToken ?? '';
|
|
61
61
|
// Start the dev server
|
|
62
62
|
await expDev({
|
|
63
63
|
authToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site.js","sourceRoot":"","sources":["../../../../src/commands/lightning/dev/site.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"site.js","sourceRoot":"","sources":["../../../../src/commands/lightning/dev/site.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,12 +46,6 @@ export declare class ExperienceSite {
|
|
|
46
46
|
* @returns {Promise<string[]>} - List of experience sites.
|
|
47
47
|
*/
|
|
48
48
|
static getAllExpSites(org: Org): Promise<string[]>;
|
|
49
|
-
/**
|
|
50
|
-
* Esablish a valid token for this local development session
|
|
51
|
-
*
|
|
52
|
-
* @returns sid token for proxied site requests
|
|
53
|
-
*/
|
|
54
|
-
setupAuth(): Promise<string>;
|
|
55
49
|
isUpdateAvailable(): Promise<boolean>;
|
|
56
50
|
isSiteSetup(): boolean;
|
|
57
51
|
isSitePublished(): Promise<boolean>;
|
|
@@ -73,6 +67,4 @@ export declare class ExperienceSite {
|
|
|
73
67
|
* @returns path of downloaded site zip
|
|
74
68
|
*/
|
|
75
69
|
downloadSite(): Promise<string>;
|
|
76
|
-
getNetworkId(): Promise<string>;
|
|
77
|
-
getNewSidToken(networkId: string): Promise<string>;
|
|
78
70
|
}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
import fs from 'node:fs';
|
|
8
8
|
import path from 'node:path';
|
|
9
9
|
import { SfError } from '@salesforce/core';
|
|
10
|
-
import axios from 'axios';
|
|
11
10
|
/**
|
|
12
11
|
* Experience Site class.
|
|
13
12
|
* https://developer.salesforce.com/docs/platform/lwc/guide/get-started-test-components.html#enable-local-dev
|
|
@@ -68,16 +67,6 @@ export class ExperienceSite {
|
|
|
68
67
|
const experienceSites = result.records.map((record) => record.Name);
|
|
69
68
|
return experienceSites;
|
|
70
69
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Esablish a valid token for this local development session
|
|
73
|
-
*
|
|
74
|
-
* @returns sid token for proxied site requests
|
|
75
|
-
*/
|
|
76
|
-
async setupAuth() {
|
|
77
|
-
const networkId = await this.getNetworkId();
|
|
78
|
-
const sidToken = await this.getNewSidToken(networkId);
|
|
79
|
-
return sidToken;
|
|
80
|
-
}
|
|
81
70
|
async isUpdateAvailable() {
|
|
82
71
|
const localMetadata = this.getLocalMetadata();
|
|
83
72
|
if (!localMetadata) {
|
|
@@ -194,85 +183,6 @@ export class ExperienceSite {
|
|
|
194
183
|
}
|
|
195
184
|
return resourcePath;
|
|
196
185
|
}
|
|
197
|
-
async getNetworkId() {
|
|
198
|
-
const conn = this.org.getConnection();
|
|
199
|
-
// Query the Network object for the network with the given site name
|
|
200
|
-
const result = await conn.query(`SELECT Id FROM Network WHERE Name = '${this.siteDisplayName}'`);
|
|
201
|
-
const record = result.records[0];
|
|
202
|
-
if (record) {
|
|
203
|
-
let networkId = record.Id;
|
|
204
|
-
// Subtract the last three characters from the Network ID
|
|
205
|
-
networkId = networkId.substring(0, networkId.length - 3);
|
|
206
|
-
return networkId;
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
throw new Error(`Network with name '${this.siteDisplayName}' not found`);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
async getNewSidToken(networkId) {
|
|
213
|
-
// Get the connection and access token from the org
|
|
214
|
-
const conn = this.org.getConnection();
|
|
215
|
-
const orgId = this.org.getOrgId();
|
|
216
|
-
// Not sure if we need to do this
|
|
217
|
-
const orgIdMinus3 = orgId.substring(0, orgId.length - 3);
|
|
218
|
-
const accessToken = conn.accessToken; // TODO should we be refreshing before use?
|
|
219
|
-
const instanceUrl = conn.instanceUrl; // Org URL
|
|
220
|
-
// Call out to the servlet to establish a session
|
|
221
|
-
const switchUrl = `${instanceUrl}/servlet/networks/switch?networkId=${networkId}`;
|
|
222
|
-
// Make the GET request without following redirects
|
|
223
|
-
if (accessToken) {
|
|
224
|
-
// TODO should we always refreshAuth?
|
|
225
|
-
// await conn.refreshAuth();
|
|
226
|
-
const cookies = [`sid=${accessToken}`, `oid=${orgIdMinus3}`].join('; ').trim();
|
|
227
|
-
let response = await axios.get(switchUrl, {
|
|
228
|
-
headers: {
|
|
229
|
-
Cookie: cookies,
|
|
230
|
-
},
|
|
231
|
-
withCredentials: true,
|
|
232
|
-
maxRedirects: 0, // Prevent axios from following redirects
|
|
233
|
-
validateStatus: (status) => status >= 200 && status < 400, // Accept 3xx status codes
|
|
234
|
-
});
|
|
235
|
-
// Extract the Location header
|
|
236
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
237
|
-
const locationHeader = response.headers['location'];
|
|
238
|
-
if (locationHeader) {
|
|
239
|
-
// Parse the URL to extract the 'sid' parameter
|
|
240
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
241
|
-
const urlObj = new URL(locationHeader);
|
|
242
|
-
const sid = urlObj.searchParams.get('sid') ?? '';
|
|
243
|
-
const cookies2 = ['__Secure-has-sid=1', `sid=${sid}`, `oid=${orgIdMinus3}`].join('; ').trim();
|
|
244
|
-
response = await axios.get(urlObj.toString(), {
|
|
245
|
-
headers: {
|
|
246
|
-
Cookie: cookies2,
|
|
247
|
-
},
|
|
248
|
-
withCredentials: true,
|
|
249
|
-
maxRedirects: 0, // Prevent axios from following redirects
|
|
250
|
-
validateStatus: (status) => status >= 200 && status < 400, // Accept 3xx status codes
|
|
251
|
-
});
|
|
252
|
-
const setCookieHeader = response.headers['set-cookie'];
|
|
253
|
-
if (setCookieHeader) {
|
|
254
|
-
// 'set-cookie' can be an array if multiple cookies are set
|
|
255
|
-
// Find the 'sid' cookie in the set-cookie header
|
|
256
|
-
const sidCookie = setCookieHeader.find((cookieStr) => cookieStr.startsWith('sid='));
|
|
257
|
-
if (sidCookie) {
|
|
258
|
-
// Extract the sid value from the cookie string
|
|
259
|
-
const sidMatch = sidCookie.match(/sid=([^;]+)/);
|
|
260
|
-
if (sidMatch?.[1]) {
|
|
261
|
-
const sidToken = sidMatch[1];
|
|
262
|
-
return sidToken;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
// eslint-disable-next-line no-console
|
|
268
|
-
console.warn(`Warning: could not establish valid auth token for your site '${this.siteDisplayName}'.` +
|
|
269
|
-
'Local Dev proxied requests to your site may fail or return data from the guest user context.');
|
|
270
|
-
return accessToken;
|
|
271
|
-
}
|
|
272
|
-
// eslint-disable-next-line no-console
|
|
273
|
-
console.warn('Warning: sf cli org connection missing accessToken. Local Dev proxied requests to your site may fail or return data from the guest user context.');
|
|
274
|
-
return '';
|
|
275
|
-
}
|
|
276
186
|
}
|
|
277
187
|
/**
|
|
278
188
|
* Return the site name given the name of its static resource bundle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expSite.js","sourceRoot":"","sources":["../../../src/shared/experience/expSite.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAO,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"expSite.js","sourceRoot":"","sources":["../../../src/shared/experience/expSite.ts"],"names":[],"mappings":"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"}
|