@gooddata/sdk-pluggable-application-model 11.41.0-alpha.4 → 11.41.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.
@@ -4,3 +4,4 @@ export declare const LIB_VERSION: string;
4
4
  export declare const LIB_DESCRIPTION: string;
5
5
  /** @alpha */
6
6
  export declare const LIB_NAME: string;
7
+ //# sourceMappingURL=__version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"__version.d.ts","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAIA,aAAa;AACb,eAAO,MAAM,WAAW,EAAE,MAAkB,CAAC;AAE7C,aAAa;AACb,eAAO,MAAM,eAAe,EAAE,MAAkE,CAAC;AAEjG,aAAa;AACb,eAAO,MAAM,QAAQ,EAAE,MAAoD,CAAC"}
package/esm/__version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
3
  /** @alpha */
4
- export const LIB_VERSION = "11.41.0-alpha.4";
4
+ export const LIB_VERSION = "11.41.0";
5
5
  /** @alpha */
6
6
  export const LIB_DESCRIPTION = "GoodData SDK model contracts for pluggable applications";
7
7
  /** @alpha */
@@ -15,3 +15,4 @@ export declare const DefaultApplicationId: {
15
15
  LDM_MODELER: string;
16
16
  WORKSPACE_CATALOG: string;
17
17
  };
18
+ //# sourceMappingURL=defaultPlatformApplications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultPlatformApplications.d.ts","sourceRoot":"","sources":["../src/defaultPlatformApplications.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;;;CAOhC,CAAC"}
package/esm/hostUi.d.ts CHANGED
@@ -123,6 +123,16 @@ export interface IHostUiMountHandle {
123
123
  * When called with `undefined`, the host UI should revert to its default header configuration.
124
124
  */
125
125
  updateHeader?(header: IAppHeaderOptions | undefined): void;
126
+ /**
127
+ * Pushes the active application's page-title segment into the host UI.
128
+ *
129
+ * @remarks
130
+ * Called by the host whenever the active pluggable application sets a page title by emitting a
131
+ * document-title-changed event. The host UI composes the browser tab title as
132
+ * `"{pageTitle} - {brand}"`. When called with `undefined`, the host UI falls back to the
133
+ * active application's manifest title.
134
+ */
135
+ updateDocumentTitle?(pageTitle: string | undefined): void;
126
136
  /**
127
137
  * Returns the DOM element where the active pluggable application should be rendered.
128
138
  *
@@ -168,3 +178,4 @@ export type HostUiMount = (options: IHostUiMountOptions) => IHostUiMountHandle;
168
178
  export interface IHostUiModule {
169
179
  mount: HostUiMount;
170
180
  }
181
+ //# sourceMappingURL=hostUi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostUi.d.ts","sourceRoot":"","sources":["../src/hostUi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;IAEvB;;OAEG;IACH,GAAG,EAAE,gBAAgB,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,gCAAgC,EAAE,CAAC;IAEzD;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yCAAyC;IACtD;;;;OAIG;IACH,IAAI,EAAE,wBAAwB,CAAC;IAC/B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG,yCAAyC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;;;;OAKG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,kBAAkB,CAAC,CAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,IAAI,CAAC;IAEpE;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC;IAE3D;;;;;;;;OAQG;IACH,mBAAmB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAE1D;;;;;;;OAOG;IACH,eAAe,IAAI,WAAW,CAAC;IAE/B;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,mBAAmB,KAAK,kBAAkB,CAAC;AAE/E;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,WAAW,CAAC;CACtB"}
package/esm/index.d.ts CHANGED
@@ -7,5 +7,6 @@ export { DefaultApplicationId } from "./defaultPlatformApplications.js";
7
7
  export { LIB_VERSION, LIB_DESCRIPTION, LIB_NAME } from "./__version.js";
8
8
  export { type EmbeddingMode, type IApiTokenAuthCredentials, type IAuthCredentials, type IContextDeferredAuthCredentials, type IEffectiveSettings, type IJwtAuthCredentials, type IOrganization, type IOrganizationPermissions, type IPlatformContext, type IPlatformContextV1, type IPluggableApplicationNavigation, PantherTier, isPlatformContextV1, isWorkspaceScopedSettings, } from "./platformContext.js";
9
9
  export { type ILocale } from "@gooddata/sdk-model";
10
- export { type IAppHeaderOptions, type IAppInstance, type KnownPluggableAppEventTypeName, type IPluggableApp, type IPluggableApplicationMountHandle, type IPluggableApplicationMountOptions, type IPluggableAppEvent, type IPluggableAppTelemetryCallbacks, type IReloadPlatformContextRequestedEvent, type ITelemetryEventOptions, isReloadPlatformContextRequestedEvent, type PluggableApplicationMount, PluggableAppEventType, type PluggableAppEventTypeName, reloadPlatformContextRequested, type TelemetryChannel, } from "./mount.js";
10
+ export { type IAppHeaderOptions, type IAppInstance, type KnownPluggableAppEventTypeName, type IDocumentTitleChangedEvent, type IPluggableApp, type IPluggableApplicationMountHandle, type IPluggableApplicationMountOptions, type IPluggableAppEvent, type IPluggableAppTelemetryCallbacks, type IReloadPlatformContextRequestedEvent, type ITelemetryEventOptions, documentTitleChanged, isDocumentTitleChangedEvent, isReloadPlatformContextRequestedEvent, type PluggableApplicationMount, PluggableAppEventType, type PluggableAppEventTypeName, reloadPlatformContextRequested, type TelemetryChannel, } from "./mount.js";
11
11
  export { type IHostUiModule, type IHostUiMountHandle, type IHostUiMountOptions, type IHostUiNotification, type INewDeploymentAvailableHostUiNotification, type HostUiMount, } from "./hostUi.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACpC,WAAW,EACX,mBAAmB,EACnB,yBAAyB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EACzC,KAAK,sBAAsB,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,8BAA8B,EAC9B,KAAK,gBAAgB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,yCAAyC,EAC9C,KAAK,WAAW,GACnB,MAAM,aAAa,CAAC"}
package/esm/index.js CHANGED
@@ -8,4 +8,4 @@
8
8
  export { DefaultApplicationId } from "./defaultPlatformApplications.js";
9
9
  export { LIB_VERSION, LIB_DESCRIPTION, LIB_NAME } from "./__version.js";
10
10
  export { PantherTier, isPlatformContextV1, isWorkspaceScopedSettings, } from "./platformContext.js";
11
- export { isReloadPlatformContextRequestedEvent, PluggableAppEventType, reloadPlatformContextRequested, } from "./mount.js";
11
+ export { documentTitleChanged, isDocumentTitleChangedEvent, isReloadPlatformContextRequestedEvent, PluggableAppEventType, reloadPlatformContextRequested, } from "./mount.js";
package/esm/mount.d.ts CHANGED
@@ -6,6 +6,7 @@ import { type IPlatformContext } from "./platformContext.js";
6
6
  */
7
7
  export declare const PluggableAppEventType: {
8
8
  readonly RELOAD_PLATFORM_CONTEXT_REQUESTED: "GDC.PLUGGABLE_APP/EVT.RELOAD_PLATFORM_CONTEXT.REQUESTED";
9
+ readonly DOCUMENT_TITLE_CHANGED: "GDC.PLUGGABLE_APP/EVT.DOCUMENT_TITLE.CHANGED";
9
10
  };
10
11
  /**
11
12
  * Union of known pluggable application event type names.
@@ -58,6 +59,38 @@ export declare function reloadPlatformContextRequested(): IReloadPlatformContext
58
59
  * @alpha
59
60
  */
60
61
  export declare function isReloadPlatformContextRequestedEvent(obj: unknown): obj is IReloadPlatformContextRequestedEvent;
62
+ /**
63
+ * Event setting the page-title segment of the browser tab title on the host.
64
+ *
65
+ * @remarks
66
+ * The host owns `document.title` and composes it as `"{pageTitle} - {brand}"`. A `pageTitle` of
67
+ * `undefined` tells the host to fall back to the application's manifest title.
68
+ *
69
+ * @alpha
70
+ */
71
+ export interface IDocumentTitleChangedEvent extends IPluggableAppEvent {
72
+ readonly type: "GDC.PLUGGABLE_APP/EVT.DOCUMENT_TITLE.CHANGED";
73
+ readonly payload: {
74
+ readonly pageTitle: string | undefined;
75
+ };
76
+ }
77
+ /**
78
+ * Creates an {@link IDocumentTitleChangedEvent}.
79
+ *
80
+ * @alpha
81
+ */
82
+ export declare function documentTitleChanged(pageTitle: string | undefined): IDocumentTitleChangedEvent;
83
+ /**
84
+ * Type guard for {@link IDocumentTitleChangedEvent}.
85
+ *
86
+ * @remarks
87
+ * Validates the payload shape too (not just the type), so a malformed event — e.g. one emitted
88
+ * from JS or a mismatched remote module without the expected `payload` — is rejected rather than
89
+ * narrowed to a type whose later `payload.pageTitle` access would throw.
90
+ *
91
+ * @alpha
92
+ */
93
+ export declare function isDocumentTitleChangedEvent(obj: unknown): obj is IDocumentTitleChangedEvent;
61
94
  /**
62
95
  * Telemetry channel determines which analytics pipeline receives the event.
63
96
  *
@@ -233,4 +266,30 @@ export interface IAppInstance extends IPluggableApplicationMountHandle {
233
266
  */
234
267
  export interface IPluggableApp {
235
268
  mount: PluggableApplicationMount;
269
+ /**
270
+ * Organization IDs allowed to load this app.
271
+ *
272
+ * @remarks
273
+ * The host enforces this check only for apps loaded from a secured remote origin
274
+ * (e.g. the shared demo plugins bucket). When enforced, the current organization's
275
+ * id must appear in this list or the host refuses to mount the app. Apps loaded
276
+ * from any other origin (same-hostname remotes, local modules) are not subject
277
+ * to this check.
278
+ *
279
+ * @alpha
280
+ */
281
+ allowedOrganizations?: string[];
282
+ /**
283
+ * Unix milliseconds timestamp captured at build time.
284
+ *
285
+ * @remarks
286
+ * The host enforces this check only for apps loaded from a secured remote origin
287
+ * (e.g. the shared demo plugins bucket). When enforced, builds older than the host's
288
+ * freshness window are rejected. Apps loaded from any other origin are not subject
289
+ * to this check.
290
+ *
291
+ * @alpha
292
+ */
293
+ buildTimestamp?: number;
236
294
  }
295
+ //# sourceMappingURL=mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
package/esm/mount.js CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export const PluggableAppEventType = {
8
8
  RELOAD_PLATFORM_CONTEXT_REQUESTED: "GDC.PLUGGABLE_APP/EVT.RELOAD_PLATFORM_CONTEXT.REQUESTED",
9
+ DOCUMENT_TITLE_CHANGED: "GDC.PLUGGABLE_APP/EVT.DOCUMENT_TITLE.CHANGED",
9
10
  };
10
11
  /**
11
12
  * Creates an {@link IReloadPlatformContextRequestedEvent}.
@@ -26,3 +27,34 @@ export function isReloadPlatformContextRequestedEvent(obj) {
26
27
  "type" in obj &&
27
28
  obj.type === "GDC.PLUGGABLE_APP/EVT.RELOAD_PLATFORM_CONTEXT.REQUESTED");
28
29
  }
30
+ /**
31
+ * Creates an {@link IDocumentTitleChangedEvent}.
32
+ *
33
+ * @alpha
34
+ */
35
+ export function documentTitleChanged(pageTitle) {
36
+ return { type: "GDC.PLUGGABLE_APP/EVT.DOCUMENT_TITLE.CHANGED", payload: { pageTitle } };
37
+ }
38
+ /**
39
+ * Type guard for {@link IDocumentTitleChangedEvent}.
40
+ *
41
+ * @remarks
42
+ * Validates the payload shape too (not just the type), so a malformed event — e.g. one emitted
43
+ * from JS or a mismatched remote module without the expected `payload` — is rejected rather than
44
+ * narrowed to a type whose later `payload.pageTitle` access would throw.
45
+ *
46
+ * @alpha
47
+ */
48
+ export function isDocumentTitleChangedEvent(obj) {
49
+ if (typeof obj !== "object" ||
50
+ obj === null ||
51
+ obj.type !== "GDC.PLUGGABLE_APP/EVT.DOCUMENT_TITLE.CHANGED") {
52
+ return false;
53
+ }
54
+ const payload = obj.payload;
55
+ if (typeof payload !== "object" || payload === null) {
56
+ return false;
57
+ }
58
+ const pageTitle = payload.pageTitle;
59
+ return typeof pageTitle === "string" || pageTitle === undefined;
60
+ }
@@ -195,3 +195,4 @@ export type IPlatformContext = IPlatformContextV1;
195
195
  * @alpha
196
196
  */
197
197
  export declare function isPlatformContextV1(context: unknown): context is IPlatformContextV1;
198
+ //# sourceMappingURL=platformContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformContext.d.ts","sourceRoot":"","sources":["../src/platformContext.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,13 @@ export declare const DefaultApplicationId: {
35
35
  WORKSPACE_CATALOG: string;
36
36
  };
37
37
 
38
+ /**
39
+ * Creates an {@link IDocumentTitleChangedEvent}.
40
+ *
41
+ * @alpha
42
+ */
43
+ export declare function documentTitleChanged(pageTitle: string | undefined): IDocumentTitleChangedEvent;
44
+
38
45
  /**
39
46
  * Plˍuggable application embedding mode.
40
47
  *
@@ -137,6 +144,22 @@ export declare interface IContextDeferredAuthCredentials {
137
144
  externalProviderId?: string;
138
145
  }
139
146
 
147
+ /**
148
+ * Event setting the page-title segment of the browser tab title on the host.
149
+ *
150
+ * @remarks
151
+ * The host owns `document.title` and composes it as `"{pageTitle} - {brand}"`. A `pageTitle` of
152
+ * `undefined` tells the host to fall back to the application's manifest title.
153
+ *
154
+ * @alpha
155
+ */
156
+ export declare interface IDocumentTitleChangedEvent extends IPluggableAppEvent {
157
+ readonly type: "GDC.PLUGGABLE_APP/EVT.DOCUMENT_TITLE.CHANGED";
158
+ readonly payload: {
159
+ readonly pageTitle: string | undefined;
160
+ };
161
+ }
162
+
140
163
  /**
141
164
  * Effective settings for the active application scope.
142
165
  *
@@ -212,6 +235,16 @@ export declare interface IHostUiMountHandle {
212
235
  * When called with `undefined`, the host UI should revert to its default header configuration.
213
236
  */
214
237
  updateHeader?(header: IAppHeaderOptions | undefined): void;
238
+ /**
239
+ * Pushes the active application's page-title segment into the host UI.
240
+ *
241
+ * @remarks
242
+ * Called by the host whenever the active pluggable application sets a page title by emitting a
243
+ * document-title-changed event. The host UI composes the browser tab title as
244
+ * `"{pageTitle} - {brand}"`. When called with `undefined`, the host UI falls back to the
245
+ * active application's manifest title.
246
+ */
247
+ updateDocumentTitle?(pageTitle: string | undefined): void;
215
248
  /**
216
249
  * Returns the DOM element where the active pluggable application should be rendered.
217
250
  *
@@ -432,6 +465,31 @@ export declare interface IPlatformContextV1 {
432
465
  */
433
466
  export declare interface IPluggableApp {
434
467
  mount: PluggableApplicationMount;
468
+ /**
469
+ * Organization IDs allowed to load this app.
470
+ *
471
+ * @remarks
472
+ * The host enforces this check only for apps loaded from a secured remote origin
473
+ * (e.g. the shared demo plugins bucket). When enforced, the current organization's
474
+ * id must appear in this list or the host refuses to mount the app. Apps loaded
475
+ * from any other origin (same-hostname remotes, local modules) are not subject
476
+ * to this check.
477
+ *
478
+ * @alpha
479
+ */
480
+ allowedOrganizations?: string[];
481
+ /**
482
+ * Unix milliseconds timestamp captured at build time.
483
+ *
484
+ * @remarks
485
+ * The host enforces this check only for apps loaded from a secured remote origin
486
+ * (e.g. the shared demo plugins bucket). When enforced, builds older than the host's
487
+ * freshness window are rejected. Apps loaded from any other origin are not subject
488
+ * to this check.
489
+ *
490
+ * @alpha
491
+ */
492
+ buildTimestamp?: number;
435
493
  }
436
494
 
437
495
  /**
@@ -570,6 +628,18 @@ export declare interface IReloadPlatformContextRequestedEvent extends IPluggable
570
628
  readonly type: "GDC.PLUGGABLE_APP/EVT.RELOAD_PLATFORM_CONTEXT.REQUESTED";
571
629
  }
572
630
 
631
+ /**
632
+ * Type guard for {@link IDocumentTitleChangedEvent}.
633
+ *
634
+ * @remarks
635
+ * Validates the payload shape too (not just the type), so a malformed event — e.g. one emitted
636
+ * from JS or a mismatched remote module without the expected `payload` — is rejected rather than
637
+ * narrowed to a type whose later `payload.pageTitle` access would throw.
638
+ *
639
+ * @alpha
640
+ */
641
+ export declare function isDocumentTitleChangedEvent(obj: unknown): obj is IDocumentTitleChangedEvent;
642
+
573
643
  /**
574
644
  * Type guard for {@link IPlatformContextV1}.
575
645
  *
@@ -641,6 +711,7 @@ export declare enum PantherTier {
641
711
  */
642
712
  export declare const PluggableAppEventType: {
643
713
  readonly RELOAD_PLATFORM_CONTEXT_REQUESTED: "GDC.PLUGGABLE_APP/EVT.RELOAD_PLATFORM_CONTEXT.REQUESTED";
714
+ readonly DOCUMENT_TITLE_CHANGED: "GDC.PLUGGABLE_APP/EVT.DOCUMENT_TITLE.CHANGED";
644
715
  };
645
716
 
646
717
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-pluggable-application-model",
3
- "version": "11.41.0-alpha.4",
3
+ "version": "11.41.0",
4
4
  "description": "GoodData SDK model contracts for pluggable applications",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "ts-invariant": "0.10.3",
25
25
  "tslib": "2.8.1",
26
- "@gooddata/sdk-model": "11.41.0-alpha.4"
26
+ "@gooddata/sdk-model": "11.41.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@microsoft/api-documenter": "^7.17.0",
@@ -47,8 +47,8 @@
47
47
  "oxlint-tsgolint": "0.15.0",
48
48
  "typescript": "5.9.3",
49
49
  "vitest": "4.1.8",
50
- "@gooddata/eslint-config": "11.41.0-alpha.4",
51
- "@gooddata/oxlint-config": "11.41.0-alpha.4"
50
+ "@gooddata/oxlint-config": "11.41.0",
51
+ "@gooddata/eslint-config": "11.41.0"
52
52
  },
53
53
  "scripts": {
54
54
  "_phase:build": "npm run build",