@salesforce/webapp-experimental 1.24.0 → 1.25.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.
@@ -1 +1 @@
1
- {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../src/api/clients.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,eAAO,MAAM,WAAW,QAA+B,CAAC;AAQxD,cAAM,SAAS;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAEU,OAAO,EAAE,MAAM;IAI3B,OAAO,CAAC,iBAAiB;YASX,KAAK;IAenB,OAAO,CAAC,WAAW;IAgBb,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ/E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ9E,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQhF,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGvE;AAGD,eAAO,MAAM,WAAW,WAA4B,CAAC"}
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../src/api/clients.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,eAAO,MAAM,WAAW,QAA+B,CAAC;AAQxD,cAAM,SAAS;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAEU,OAAO,EAAE,MAAM;IAI3B,OAAO,CAAC,iBAAiB;YASX,KAAK;IAgBnB,OAAO,CAAC,WAAW;IAgBb,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ/E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ9E,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQhF,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGvE;AAGD,eAAO,MAAM,WAAW,WAA4B,CAAC"}
@@ -3,7 +3,15 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { sdk } from "@salesforce/sdk-data";
6
+ import { createDataSDK } from "@salesforce/sdk-data";
7
+ // Lazy-initialized SDK instance
8
+ let sdkInstance = null;
9
+ async function getSDK() {
10
+ if (!sdkInstance) {
11
+ sdkInstance = await createDataSDK();
12
+ }
13
+ return sdkInstance;
14
+ }
7
15
  // Project standard API version from environment variable with fallback
8
16
  export const API_VERSION = __SF_API_VERSION__ || "65.0";
9
17
  const BASE_DATA_URL = `/services/data/v${API_VERSION}`;
@@ -39,6 +47,7 @@ class ApiClient {
39
47
  ...(options.headers || {}),
40
48
  },
41
49
  };
50
+ const sdk = await getSDK();
42
51
  return await sdk.fetch(fullURL, mergedOptions);
43
52
  }
44
53
  processBody(body, options) {
@@ -3,14 +3,14 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { sdk } from "@salesforce/sdk-data";
7
6
  import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
8
7
  import { uiApiClient } from "./clients.js";
8
+ const mockFetchFn = vi.fn();
9
9
  vi.mock("@salesforce/sdk-data", () => {
10
10
  return {
11
- sdk: {
12
- fetch: vi.fn(),
13
- },
11
+ createDataSDK: vi.fn(() => Promise.resolve({
12
+ fetch: mockFetchFn,
13
+ })),
14
14
  };
15
15
  });
16
16
  vi.stubGlobal("window", {});
@@ -23,7 +23,7 @@ Object.defineProperty(window, "location", {
23
23
  describe("clients", () => {
24
24
  let mockFetch;
25
25
  beforeEach(() => {
26
- mockFetch = vi.mocked(sdk.fetch);
26
+ mockFetch = mockFetchFn;
27
27
  mockFetch.mockClear();
28
28
  mockReload.mockClear();
29
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/api/graphql.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAC3C,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;CAC3B,GAAG,IAAI,GACL,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,GAClC,CAAC,GACD,KAAK,GACN,KAAK,CAAC;AAET;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/E,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,CAAC,CAAC,CASZ;AACD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/api/graphql.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAC3C,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;CAC3B,GAAG,IAAI,GACL,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,GAClC,CAAC,GACD,KAAK,GACN,KAAK,CAAC;AAET;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/E,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,CAAC,CAAC,CAUZ;AACD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC"}
@@ -3,7 +3,15 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { sdk } from "@salesforce/sdk-data";
6
+ import { createDataSDK } from "@salesforce/sdk-data";
7
+ // Lazy-initialized SDK instance
8
+ let sdkInstance = null;
9
+ async function getSDK() {
10
+ if (!sdkInstance) {
11
+ sdkInstance = await createDataSDK();
12
+ }
13
+ return sdkInstance;
14
+ }
7
15
  /**
8
16
  * Execute a GraphQL query against the Salesforce GraphQL API
9
17
  *
@@ -12,6 +20,7 @@ import { sdk } from "@salesforce/sdk-data";
12
20
  * @returns The GraphQL response data
13
21
  */
14
22
  export async function executeGraphQL(query, variables) {
23
+ const sdk = await getSDK();
15
24
  const { data, errors } = await sdk.graphql(query, variables);
16
25
  if (errors?.length) {
17
26
  const errorMessages = errors.map((e) => e.message).join("; ");
@@ -3,11 +3,13 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { sdk } from "@salesforce/sdk-data";
7
6
  import { describe, it, expect, vi, beforeEach } from "vitest";
8
7
  import { executeGraphQL } from "./graphql.js";
8
+ const mockGraphQLFn = vi.fn();
9
9
  vi.mock("@salesforce/sdk-data", () => ({
10
- sdk: { graphql: vi.fn() },
10
+ createDataSDK: vi.fn(() => Promise.resolve({
11
+ graphql: mockGraphQLFn,
12
+ })),
11
13
  }));
12
14
  describe("executeGraphQL", () => {
13
15
  beforeEach(() => {
@@ -30,20 +32,20 @@ describe("executeGraphQL", () => {
30
32
  },
31
33
  },
32
34
  };
33
- vi.mocked(sdk.graphql).mockResolvedValue({ data: mockData });
35
+ mockGraphQLFn.mockResolvedValue({ data: mockData });
34
36
  const query = "query { uiapi { query { Account { edges { node { Id Name { value } } } } } } }";
35
37
  const result = await executeGraphQL(query);
36
- expect(sdk.graphql).toHaveBeenCalledWith(query, undefined);
38
+ expect(mockGraphQLFn).toHaveBeenCalledWith(query, undefined);
37
39
  expect(result).toEqual(mockData);
38
40
  });
39
41
  it("should handle GraphQL errors", async () => {
40
42
  const mockErrors = [{ message: "Field not found" }, { message: "Invalid query" }];
41
- vi.mocked(sdk.graphql).mockResolvedValue({ errors: mockErrors });
43
+ mockGraphQLFn.mockResolvedValue({ errors: mockErrors });
42
44
  const query = "query { invalid }";
43
45
  await expect(executeGraphQL(query)).rejects.toThrow("GraphQL Error: Field not found; Invalid query");
44
46
  });
45
47
  it("should handle network errors", async () => {
46
- vi.mocked(sdk.graphql).mockRejectedValue({
48
+ mockGraphQLFn.mockRejectedValue({
47
49
  status: 500,
48
50
  message: "Network error",
49
51
  });
@@ -52,10 +54,10 @@ describe("executeGraphQL", () => {
52
54
  });
53
55
  it("should pass variables to the GraphQL query", async () => {
54
56
  const mockData = { test: "data" };
55
- vi.mocked(sdk.graphql).mockResolvedValue({ data: mockData });
57
+ mockGraphQLFn.mockResolvedValue({ data: mockData });
56
58
  const query = "query GetAccount($id: ID!) { account(id: $id) { name } }";
57
59
  const variables = { id: "001" };
58
60
  await executeGraphQL(query, variables);
59
- expect(sdk.graphql).toHaveBeenCalledWith(query, variables);
61
+ expect(mockGraphQLFn).toHaveBeenCalledWith(query, variables);
60
62
  });
61
63
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@salesforce/webapp-experimental",
3
3
  "description": "[experimental] Core package for Salesforce Web Applications",
4
- "version": "1.24.0",
4
+ "version": "1.25.0",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -55,5 +55,5 @@
55
55
  "publishConfig": {
56
56
  "access": "public"
57
57
  },
58
- "gitHead": "7bb4b5adf5f2071b38ecf1c7b180f87ec9f71afc"
58
+ "gitHead": "3e523f7686a9863422228d253bb538c123a2ff53"
59
59
  }