@gooddata/sdk-backend-base 11.23.0-alpha.2 → 11.23.0-alpha.4
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/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/sdk-backend-base.d.ts +34 -0
- package/esm/toolkit/collectionItemsIdentity.d.ts +32 -0
- package/esm/toolkit/collectionItemsIdentity.d.ts.map +1 -0
- package/esm/toolkit/collectionItemsIdentity.js +51 -0
- package/esm/toolkit/collectionItemsIdentity.js.map +1 -0
- package/package.json +7 -7
package/esm/index.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export { type NormalizationState, type LocalIdMap, type INormalizerOptions, Norm
|
|
|
26
26
|
export { type AuthenticatedAsyncCall, type AuthenticatedCallGuard, type IAuthenticatedAsyncCallContext, type IAuthProviderCallGuard, AuthProviderCallGuard, NoopAuthProvider, AnonymousAuthProvider, } from "./toolkit/auth.js";
|
|
27
27
|
export type { TelemetryData } from "./toolkit/backend.js";
|
|
28
28
|
export { AbstractExecutionFactory, ExecutionFactoryWithFixedFilters, ExecutionFactoryUpgradingToExecByReference, } from "./toolkit/execution.js";
|
|
29
|
+
export { collectionItemsIdentityKey, normalizeCollectionItemsIdentityConfig, type NormalizedCollectionItemsIdentityConfig, } from "./toolkit/collectionItemsIdentity.js";
|
|
29
30
|
export { type IServerPagingResult, type IServerPagingParams, InMemoryPaging, ServerPaging, } from "./toolkit/paging.js";
|
|
30
31
|
export { validatePluginUrlIsSane } from "./toolkit/pluginUrlValidation.js";
|
|
31
32
|
export { customBackend } from "./customBackend/index.js";
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,OAAO,EACH,KAAK,kBAAkB,EACvB,YAAY,EACZ,qBAAqB,EACrB,aAAa,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,YAAY,EACR,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,GACtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,KAAK,wBAAwB,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GAC3B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,EACH,KAAK,uBAAuB,EAC5B,gCAAgC,EAChC,yBAAyB,GAC5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAE1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,EAAE,KAAK,0BAA0B,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,WAAW,EACX,+BAA+B,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,2BAA2B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,iBAAiB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,UAAU,EACV,YAAY,GACf,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACH,wBAAwB,EACxB,gCAAgC,EAChC,0CAA0C,GAC7C,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -26,6 +26,7 @@ export { withNormalization, } from "./normalizingBackend/index.js";
|
|
|
26
26
|
export { Normalizer, Denormalizer, } from "./normalizingBackend/normalizer.js";
|
|
27
27
|
export { AuthProviderCallGuard, NoopAuthProvider, AnonymousAuthProvider, } from "./toolkit/auth.js";
|
|
28
28
|
export { AbstractExecutionFactory, ExecutionFactoryWithFixedFilters, ExecutionFactoryUpgradingToExecByReference, } from "./toolkit/execution.js";
|
|
29
|
+
export { collectionItemsIdentityKey, normalizeCollectionItemsIdentityConfig, } from "./toolkit/collectionItemsIdentity.js";
|
|
29
30
|
export { InMemoryPaging, ServerPaging, } from "./toolkit/paging.js";
|
|
30
31
|
export { validatePluginUrlIsSane } from "./toolkit/pluginUrlValidation.js";
|
|
31
32
|
export { customBackend } from "./customBackend/index.js";
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,oDAAoD;AAEpD;;;;;;;;;GASG;AACH,OAAO,EAEH,YAAY,EACZ,qBAAqB,EACrB,aAAa,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAc/D,OAAO,EAEH,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GAC3B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,EAEH,gCAAgC,EAChC,yBAAyB,GAC5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAE1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,EAAmC,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAGH,WAAW,EACX,+BAA+B,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAKH,2BAA2B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAGH,iBAAiB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAIH,UAAU,EACV,YAAY,GACf,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAKH,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACH,wBAAwB,EACxB,gCAAgC,EAChC,0CAA0C,GAC7C,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,7 @@ import { IChatThreadHistory } from '@gooddata/sdk-backend-spi';
|
|
|
51
51
|
import { IChatThreadQuery } from '@gooddata/sdk-backend-spi';
|
|
52
52
|
import { IClusteringConfig } from '@gooddata/sdk-backend-spi';
|
|
53
53
|
import { IClusteringResult } from '@gooddata/sdk-backend-spi';
|
|
54
|
+
import { ICollectionItemsConfig } from '@gooddata/sdk-backend-spi';
|
|
54
55
|
import { IDashboard } from '@gooddata/sdk-model';
|
|
55
56
|
import { IDashboardAttributeFilterConfig } from '@gooddata/sdk-model';
|
|
56
57
|
import { IDashboardBase } from '@gooddata/sdk-model';
|
|
@@ -745,6 +746,17 @@ export declare class CatalogMeasureBuilder<T extends ICatalogMeasure = ICatalogM
|
|
|
745
746
|
toExecutionModel(modifications?: MeasureModifications<MeasureBuilder>): IMeasure;
|
|
746
747
|
}
|
|
747
748
|
|
|
749
|
+
/**
|
|
750
|
+
* Computes canonical lookup key for collection items request identity.
|
|
751
|
+
*
|
|
752
|
+
* @remarks
|
|
753
|
+
* The key is derived from normalized request identity, not raw object shape.
|
|
754
|
+
* Keep recorder and replay on this shared helper to avoid key drift.
|
|
755
|
+
*
|
|
756
|
+
* @internal
|
|
757
|
+
*/
|
|
758
|
+
export declare function collectionItemsIdentityKey(config: ICollectionItemsConfig): string;
|
|
759
|
+
|
|
748
760
|
/**
|
|
749
761
|
* Adjusts both workspace and user settings
|
|
750
762
|
*
|
|
@@ -1929,6 +1941,28 @@ export declare type NormalizationState = {
|
|
|
1929
1941
|
*/
|
|
1930
1942
|
export declare type NormalizationWhenExecuteByRef = "prohibit" | "fallback";
|
|
1931
1943
|
|
|
1944
|
+
/**
|
|
1945
|
+
* Normalizes collection items request to canonical identity form.
|
|
1946
|
+
*
|
|
1947
|
+
* @remarks
|
|
1948
|
+
* This normalization is intentionally deterministic only (dedupe/sort/filter-empty),
|
|
1949
|
+
* not semantic. It must preserve backend request semantics exactly, so different values
|
|
1950
|
+
* (for example `CA` vs `US-CA`) stay different identities.
|
|
1951
|
+
*
|
|
1952
|
+
* Recorder and replay must both use this function. If its behavior changes, recordings
|
|
1953
|
+
* must be regenerated because identity keys will change.
|
|
1954
|
+
*
|
|
1955
|
+
* @internal
|
|
1956
|
+
*/
|
|
1957
|
+
export declare function normalizeCollectionItemsIdentityConfig(config: ICollectionItemsConfig): NormalizedCollectionItemsIdentityConfig;
|
|
1958
|
+
|
|
1959
|
+
/**
|
|
1960
|
+
* Canonical collection items config used to compute request identity.
|
|
1961
|
+
*
|
|
1962
|
+
* @internal
|
|
1963
|
+
*/
|
|
1964
|
+
export declare type NormalizedCollectionItemsIdentityConfig = Pick<ICollectionItemsConfig, "collectionId" | "kind" | "values" | "limit" | "bbox">;
|
|
1965
|
+
|
|
1932
1966
|
/**
|
|
1933
1967
|
* The normalization of execution definition means stripping away all the detail that is unnecessary for the
|
|
1934
1968
|
* backend:
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ICollectionItemsConfig } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
/**
|
|
3
|
+
* Canonical collection items config used to compute request identity.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export type NormalizedCollectionItemsIdentityConfig = Pick<ICollectionItemsConfig, "collectionId" | "kind" | "values" | "limit" | "bbox">;
|
|
8
|
+
/**
|
|
9
|
+
* Normalizes collection items request to canonical identity form.
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* This normalization is intentionally deterministic only (dedupe/sort/filter-empty),
|
|
13
|
+
* not semantic. It must preserve backend request semantics exactly, so different values
|
|
14
|
+
* (for example `CA` vs `US-CA`) stay different identities.
|
|
15
|
+
*
|
|
16
|
+
* Recorder and replay must both use this function. If its behavior changes, recordings
|
|
17
|
+
* must be regenerated because identity keys will change.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeCollectionItemsIdentityConfig(config: ICollectionItemsConfig): NormalizedCollectionItemsIdentityConfig;
|
|
22
|
+
/**
|
|
23
|
+
* Computes canonical lookup key for collection items request identity.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* The key is derived from normalized request identity, not raw object shape.
|
|
27
|
+
* Keep recorder and replay on this shared helper to avoid key drift.
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export declare function collectionItemsIdentityKey(config: ICollectionItemsConfig): string;
|
|
32
|
+
//# sourceMappingURL=collectionItemsIdentity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectionItemsIdentity.d.ts","sourceRoot":"","sources":["../../src/toolkit/collectionItemsIdentity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,uCAAuC,GAAG,IAAI,CACtD,sBAAsB,EACtB,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CACxD,CAAC;AAiBF;;;;;;;;;;;;GAYG;AACH,wBAAgB,sCAAsC,CAClD,MAAM,EAAE,sBAAsB,GAC/B,uCAAuC,CAUzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAGjF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// (C) 2019-2026 GoodData Corporation
|
|
2
|
+
import SparkMD5 from "spark-md5";
|
|
3
|
+
function normalizeCollectionValues(values) {
|
|
4
|
+
if (!values || values.length === 0) {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
const uniqueValues = Array.from(new Set(values.filter((value) => value.length > 0)));
|
|
8
|
+
// Fixed locale ensures deterministic order across environments (recorder vs replay).
|
|
9
|
+
return uniqueValues.sort((a, b) => a.localeCompare(b, "en"));
|
|
10
|
+
}
|
|
11
|
+
function hashCollectionItemsIdentity(value) {
|
|
12
|
+
// Keep keys filesystem-friendly for mock recordings while avoiding 32-bit collisions.
|
|
13
|
+
return SparkMD5.hash(value);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Normalizes collection items request to canonical identity form.
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* This normalization is intentionally deterministic only (dedupe/sort/filter-empty),
|
|
20
|
+
* not semantic. It must preserve backend request semantics exactly, so different values
|
|
21
|
+
* (for example `CA` vs `US-CA`) stay different identities.
|
|
22
|
+
*
|
|
23
|
+
* Recorder and replay must both use this function. If its behavior changes, recordings
|
|
24
|
+
* must be regenerated because identity keys will change.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export function normalizeCollectionItemsIdentityConfig(config) {
|
|
29
|
+
const values = normalizeCollectionValues(config.values);
|
|
30
|
+
return {
|
|
31
|
+
collectionId: config.collectionId,
|
|
32
|
+
...(config.kind === undefined ? {} : { kind: config.kind }),
|
|
33
|
+
...(values.length > 0 ? { values } : {}),
|
|
34
|
+
...(typeof config.limit === "number" ? { limit: config.limit } : {}),
|
|
35
|
+
...(config.bbox ? { bbox: config.bbox } : {}),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Computes canonical lookup key for collection items request identity.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* The key is derived from normalized request identity, not raw object shape.
|
|
43
|
+
* Keep recorder and replay on this shared helper to avoid key drift.
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export function collectionItemsIdentityKey(config) {
|
|
48
|
+
const normalizedConfig = normalizeCollectionItemsIdentityConfig(config);
|
|
49
|
+
return hashCollectionItemsIdentity(JSON.stringify(normalizedConfig));
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=collectionItemsIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectionItemsIdentity.js","sourceRoot":"","sources":["../../src/toolkit/collectionItemsIdentity.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,QAAQ,MAAM,WAAW,CAAC;AAcjC,SAAS,yBAAyB,CAAC,MAA4B,EAAY;IACvE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,qFAAqF;IACrF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAAA,CAChE;AAED,SAAS,2BAA2B,CAAC,KAAa,EAAU;IACxD,sFAAsF;IACtF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAAA,CAC/B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sCAAsC,CAClD,MAA8B,EACS;IACvC,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExD,OAAO;QACH,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3D,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC;AAAA,CACL;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAA8B,EAAU;IAC/E,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,MAAM,CAAC,CAAC;IACxE,OAAO,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAAA,CACxE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-backend-base",
|
|
3
|
-
"version": "11.23.0-alpha.
|
|
3
|
+
"version": "11.23.0-alpha.4",
|
|
4
4
|
"description": "GoodData.UI SDK - Base for backend implementations",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"ts-invariant": "0.10.3",
|
|
30
30
|
"tslib": "2.8.1",
|
|
31
31
|
"uuid": "11.1.0",
|
|
32
|
-
"@gooddata/sdk-
|
|
33
|
-
"@gooddata/sdk-
|
|
34
|
-
"@gooddata/util": "11.23.0-alpha.
|
|
32
|
+
"@gooddata/sdk-model": "11.23.0-alpha.4",
|
|
33
|
+
"@gooddata/sdk-backend-spi": "11.23.0-alpha.4",
|
|
34
|
+
"@gooddata/util": "11.23.0-alpha.4"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
"oxlint-tsgolint": "0.11.4",
|
|
57
57
|
"typescript": "5.9.3",
|
|
58
58
|
"vitest": "4.0.8",
|
|
59
|
-
"@gooddata/eslint-config": "11.23.0-alpha.
|
|
60
|
-
"@gooddata/oxlint-config": "11.23.0-alpha.
|
|
61
|
-
"@gooddata/reference-workspace": "11.23.0-alpha.
|
|
59
|
+
"@gooddata/eslint-config": "11.23.0-alpha.4",
|
|
60
|
+
"@gooddata/oxlint-config": "11.23.0-alpha.4",
|
|
61
|
+
"@gooddata/reference-workspace": "11.23.0-alpha.4"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"_phase:build": "npm run build",
|