@sap-ux/preview-middleware 0.16.1 → 0.16.3

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,267 +1,205 @@
1
- "use strict";
2
-
3
- sap.ui.define(["sap/base/Log", "sap/ui/fl/Scenario", "sap/ui/core/IconPool", "sap/base/i18n/ResourceBundle", "../adp/api-handler"], function (Log, scenarios, IconPool, ResourceBundle, ___adp_api_handler) {
4
- "use strict";
5
-
6
- const getManifestAppdescr = ___adp_api_handler["getManifestAppdescr"];
7
- /**
8
- * SAPUI5 delivered namespaces from https://ui5.sap.com/#/api/sap
9
- */
10
- const UI5_LIBS = ['sap.apf', 'sap.base', 'sap.chart', 'sap.collaboration', 'sap.f', 'sap.fe', 'sap.fileviewer', 'sap.gantt', 'sap.landvisz', 'sap.m', 'sap.ndc', 'sap.ovp', 'sap.rules', 'sap.suite', 'sap.tnt', 'sap.ui', 'sap.uiext', 'sap.ushell', 'sap.uxap', 'sap.viz', 'sap.webanalytics', 'sap.zen'];
11
- /**
12
- * Check whether a specific dependency is a custom library, and if yes, add it to the map.
13
- *
14
- * @param dependency dependency from the manifest
15
- * @param customLibs map containing the required custom libraries
16
- */
17
- function addKeys(dependency, customLibs) {
18
- Object.keys(dependency).forEach(function (key) {
19
- // ignore libs or Components that start with SAPUI5 delivered namespaces
20
- if (!UI5_LIBS.some(function (substring) {
21
- return key === substring || key.startsWith(substring + '.');
22
- })) {
23
- customLibs[key] = true;
24
- }
25
- });
26
- }
27
-
28
- /**
29
- * Fetch the manifest for all the given application urls and generate a string containing all required custom library ids.
30
- *
31
- * @param appUrls urls pointing to included applications
32
- * @returns Promise of a comma separated list of all required libraries.
33
- */
34
- async function getManifestLibs(appUrls) {
35
- const result = {};
36
- const promises = [];
37
- for (const url of appUrls) {
38
- promises.push(fetch(`${url}/manifest.json`).then(async resp => {
39
- const manifest = await resp.json();
40
- if (manifest) {
41
- if (manifest['sap.ui5']?.dependencies) {
42
- if (manifest['sap.ui5'].dependencies.libs) {
43
- addKeys(manifest['sap.ui5'].dependencies.libs, result);
1
+ 'use strict';
2
+ sap.ui.define([
3
+ 'sap/base/Log',
4
+ 'open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common',
5
+ 'sap/ui/core/IconPool',
6
+ 'sap/base/i18n/ResourceBundle',
7
+ '../adp/api-handler'
8
+ ], function (Log, ___sap_ux_private_control_property_editor_common, IconPool, ResourceBundle, ___adp_api_handler) {
9
+ 'use strict';
10
+ const SCENARIO = ___sap_ux_private_control_property_editor_common['SCENARIO'];
11
+ const getManifestAppdescr = ___adp_api_handler['getManifestAppdescr'];
12
+ const UI5_LIBS = [
13
+ 'sap.apf',
14
+ 'sap.base',
15
+ 'sap.chart',
16
+ 'sap.collaboration',
17
+ 'sap.f',
18
+ 'sap.fe',
19
+ 'sap.fileviewer',
20
+ 'sap.gantt',
21
+ 'sap.landvisz',
22
+ 'sap.m',
23
+ 'sap.ndc',
24
+ 'sap.ovp',
25
+ 'sap.rules',
26
+ 'sap.suite',
27
+ 'sap.tnt',
28
+ 'sap.ui',
29
+ 'sap.uiext',
30
+ 'sap.ushell',
31
+ 'sap.uxap',
32
+ 'sap.viz',
33
+ 'sap.webanalytics',
34
+ 'sap.zen'
35
+ ];
36
+ function addKeys(dependency, customLibs) {
37
+ Object.keys(dependency).forEach(function (key) {
38
+ if (!UI5_LIBS.some(function (substring) {
39
+ return key === substring || key.startsWith(substring + '.');
40
+ })) {
41
+ customLibs[key] = true;
44
42
  }
45
- if (manifest['sap.ui5'].dependencies.components) {
46
- addKeys(manifest['sap.ui5'].dependencies.components, result);
47
- }
48
- }
49
- if (manifest['sap.ui5']?.componentUsages) {
50
- addKeys(manifest['sap.ui5'].componentUsages, result);
51
- }
43
+ });
44
+ }
45
+ async function getManifestLibs(appUrls) {
46
+ const result = {};
47
+ const promises = [];
48
+ for (const url of appUrls) {
49
+ promises.push(fetch(`${ url }/manifest.json`).then(async resp => {
50
+ const manifest = await resp.json();
51
+ if (manifest) {
52
+ if (manifest['sap.ui5']?.dependencies) {
53
+ if (manifest['sap.ui5'].dependencies.libs) {
54
+ addKeys(manifest['sap.ui5'].dependencies.libs, result);
55
+ }
56
+ if (manifest['sap.ui5'].dependencies.components) {
57
+ addKeys(manifest['sap.ui5'].dependencies.components, result);
58
+ }
59
+ }
60
+ if (manifest['sap.ui5']?.componentUsages) {
61
+ addKeys(manifest['sap.ui5'].componentUsages, result);
62
+ }
63
+ }
64
+ }));
52
65
  }
53
- }));
66
+ return Promise.all(promises).then(() => Object.keys(result).join(','));
54
67
  }
55
- return Promise.all(promises).then(() => Object.keys(result).join(','));
56
- }
57
-
58
- /**
59
- * Register the custom libraries and their url with the UI5 loader.
60
- *
61
- * @param dataFromAppIndex data returned from the app index service
62
- */
63
- function registerModules(dataFromAppIndex) {
64
- Object.keys(dataFromAppIndex).forEach(function (moduleDefinitionKey) {
65
- const moduleDefinition = dataFromAppIndex[moduleDefinitionKey];
66
- if (moduleDefinition && moduleDefinition.dependencies) {
67
- moduleDefinition.dependencies.forEach(function (dependency) {
68
- if (dependency.url && dependency.url.length > 0 && dependency.type === 'UI5LIB') {
69
- Log.info('Registering Library ' + dependency.componentId + ' from server ' + dependency.url);
70
- const compId = dependency.componentId.replace(/\./g, '/');
71
- const config = {
72
- paths: {}
73
- };
74
- config.paths[compId] = dependency.url;
75
- sap.ui.loader.config(config);
76
- }
68
+ function registerModules(dataFromAppIndex) {
69
+ Object.keys(dataFromAppIndex).forEach(function (moduleDefinitionKey) {
70
+ const moduleDefinition = dataFromAppIndex[moduleDefinitionKey];
71
+ if (moduleDefinition && moduleDefinition.dependencies) {
72
+ moduleDefinition.dependencies.forEach(function (dependency) {
73
+ if (dependency.url && dependency.url.length > 0 && dependency.type === 'UI5LIB') {
74
+ Log.info('Registering Library ' + dependency.componentId + ' from server ' + dependency.url);
75
+ const compId = dependency.componentId.replace(/\./g, '/');
76
+ const config = { paths: {} };
77
+ config.paths[compId] = dependency.url;
78
+ sap.ui.loader.config(config);
79
+ }
80
+ });
81
+ }
77
82
  });
78
- }
79
- });
80
- }
81
-
82
- /**
83
- * Fetch the app state from the given application urls, then reset the app state.
84
- *
85
- * @param container the UShell container
86
- */
87
- async function resetAppState(container) {
88
- const appStateService = await container.getServiceAsync('AppState');
89
- const urlParams = new URLSearchParams(window.location.hash);
90
- const appStateValue = urlParams.get('sap-iapp-state') ?? urlParams.get('/?sap-iapp-state');
91
- if (appStateValue) {
92
- appStateService.deleteAppState(appStateValue);
93
83
  }
94
- }
95
-
96
- /**
97
- * Fetch the manifest from the given application urls, then parse them for custom libs, and finally request their urls.
98
- *
99
- * @param appUrls application urls
100
- * @param urlParams URLSearchParams object
101
- * @returns returns a promise when the registration is completed.
102
- */
103
- async function registerComponentDependencyPaths(appUrls, urlParams) {
104
- const libs = await getManifestLibs(appUrls);
105
- if (libs && libs.length > 0) {
106
- let url = '/sap/bc/ui2/app_index/ui5_app_info?id=' + libs;
107
- const sapClient = urlParams.get('sap-client');
108
- if (sapClient && sapClient.length === 3) {
109
- url = url + '&sap-client=' + sapClient;
110
- }
111
- const response = await fetch(url);
112
- try {
113
- registerModules(await response.json());
114
- } catch (error) {
115
- Log.error(`Registering of reuse libs failed. Error:${error}`);
116
- }
84
+ async function resetAppState(container) {
85
+ const appStateService = await container.getServiceAsync('AppState');
86
+ const urlParams = new URLSearchParams(window.location.hash);
87
+ const appStateValue = urlParams.get('sap-iapp-state') ?? urlParams.get('/?sap-iapp-state');
88
+ if (appStateValue) {
89
+ appStateService.deleteAppState(appStateValue);
90
+ }
117
91
  }
118
- }
119
-
120
- /**
121
- * Register SAP fonts that are also registered in a productive Fiori launchpad.
122
- */
123
- function registerSAPFonts() {
124
- //Fiori Theme font family and URI
125
- const fioriTheme = {
126
- fontFamily: 'SAP-icons-TNT',
127
- fontURI: sap.ui.require.toUrl('sap/tnt/themes/base/fonts/')
128
- };
129
- //Registering to the icon pool
130
- IconPool.registerFont(fioriTheme);
131
- //SAP Business Suite Theme font family and URI
132
- const suiteTheme = {
133
- fontFamily: 'BusinessSuiteInAppSymbols',
134
- fontURI: sap.ui.require.toUrl('sap/ushell/themes/base/fonts/')
135
- };
136
- //Registering to the icon pool
137
- IconPool.registerFont(suiteTheme);
138
- }
139
-
140
- /**
141
- * Create Resource Bundle based on the scenario.
142
- *
143
- * @param scenario to be used for the resource bundle.
144
- */
145
- async function loadI18nResourceBundle(scenario) {
146
- if (scenario === scenarios.AdaptationProject) {
147
- const manifest = await getManifestAppdescr();
148
- const enhanceWith = manifest.content.filter(content => content.texts?.i18n).map(content => ({
149
- bundleUrl: `../${content.texts.i18n}`
150
- }));
151
- return ResourceBundle.create({
152
- url: '../i18n/i18n.properties',
153
- enhanceWith
154
- });
92
+ async function registerComponentDependencyPaths(appUrls, urlParams) {
93
+ const libs = await getManifestLibs(appUrls);
94
+ if (libs && libs.length > 0) {
95
+ let url = '/sap/bc/ui2/app_index/ui5_app_info?id=' + libs;
96
+ const sapClient = urlParams.get('sap-client');
97
+ if (sapClient && sapClient.length === 3) {
98
+ url = url + '&sap-client=' + sapClient;
99
+ }
100
+ const response = await fetch(url);
101
+ try {
102
+ registerModules(await response.json());
103
+ } catch (error) {
104
+ Log.error(`Registering of reuse libs failed. Error:${ error }`);
105
+ }
106
+ }
155
107
  }
156
- return ResourceBundle.create({
157
- url: 'i18n/i18n.properties'
158
- });
159
- }
160
-
161
- /**
162
- * Read the application title from the resource bundle and set it as document title.
163
- *
164
- * @param resourceBundle resource bundle to read the title from.
165
- * @param i18nKey optional parameter to define the i18n key to be used for the title.
166
- */
167
- function setI18nTitle(resourceBundle) {
168
- let i18nKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'appTitle';
169
- if (resourceBundle.hasText(i18nKey)) {
170
- document.title = resourceBundle.getText(i18nKey) ?? document.title;
108
+ function registerSAPFonts() {
109
+ const fioriTheme = {
110
+ fontFamily: 'SAP-icons-TNT',
111
+ fontURI: sap.ui.require.toUrl('sap/tnt/themes/base/fonts/')
112
+ };
113
+ IconPool.registerFont(fioriTheme);
114
+ const suiteTheme = {
115
+ fontFamily: 'BusinessSuiteInAppSymbols',
116
+ fontURI: sap.ui.require.toUrl('sap/ushell/themes/base/fonts/')
117
+ };
118
+ IconPool.registerFont(suiteTheme);
171
119
  }
172
- }
173
-
174
- /**
175
- * Apply additional configuration and initialize sandbox.
176
- *
177
- * @param params init parameters read from the script tag
178
- * @param params.appUrls JSON containing a string array of application urls
179
- * @param params.flex JSON containing the flex configuration
180
- * @param params.customInit path to the custom init module to be called
181
- * @returns promise
182
- */
183
- async function init(_ref) {
184
- let {
185
- appUrls,
186
- flex,
187
- customInit
188
- } = _ref;
189
- const urlParams = new URLSearchParams(window.location.search);
190
- const container = sap?.ushell?.Container ?? sap.ui.require('sap/ushell/Container');
191
- let scenario = '';
192
- // Register RTA if configured
193
- if (flex) {
194
- const flexSettings = JSON.parse(flex);
195
- scenario = flexSettings.scenario;
196
- container.attachRendererCreatedEvent(async function () {
197
- const lifecycleService = await container.getServiceAsync('AppLifeCycle');
198
- lifecycleService.attachAppLoaded(event => {
199
- const version = sap.ui.version;
200
- const minor = parseInt(version.split('.')[1], 10);
201
- const view = event.getParameter('componentInstance');
202
- const flexSettings = JSON.parse(flex);
203
- const pluginScript = flexSettings.pluginScript ?? '';
204
- let libs = [];
205
- if (minor > 71) {
206
- libs.push('sap/ui/rta/api/startAdaptation');
207
- } else {
208
- libs.push('open/ux/preview/client/flp/initRta');
209
- }
210
- if (flexSettings.pluginScript) {
211
- libs.push(pluginScript);
212
- delete flexSettings.pluginScript;
213
- }
214
- const options = {
215
- rootControl: view,
216
- validateAppVersion: false,
217
- flexSettings
218
- };
219
- sap.ui.require(libs, async function (startAdaptation, pluginScript) {
220
- await startAdaptation(options, pluginScript);
221
- });
222
- });
223
- });
120
+ async function loadI18nResourceBundle(scenario) {
121
+ if (scenario === SCENARIO.AdaptationProject) {
122
+ const manifest = await getManifestAppdescr();
123
+ const enhanceWith = manifest.content.filter(content => content.texts?.i18n).map(content => ({ bundleUrl: `../${ content.texts.i18n }` }));
124
+ return ResourceBundle.create({
125
+ url: '../i18n/i18n.properties',
126
+ enhanceWith
127
+ });
128
+ }
129
+ return ResourceBundle.create({ url: 'i18n/i18n.properties' });
224
130
  }
225
-
226
- // reset app state if requested
227
- if (urlParams.get('fiori-tools-iapp-state')?.toLocaleLowerCase() !== 'true') {
228
- await resetAppState(container);
131
+ function setI18nTitle(resourceBundle) {
132
+ let i18nKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'appTitle';
133
+ if (resourceBundle.hasText(i18nKey)) {
134
+ document.title = resourceBundle.getText(i18nKey) ?? document.title;
135
+ }
229
136
  }
230
-
231
- // Load custom library paths if configured
232
- if (appUrls) {
233
- await registerComponentDependencyPaths(JSON.parse(appUrls), urlParams);
137
+ async function init(_ref) {
138
+ let {appUrls, flex, customInit} = _ref;
139
+ const urlParams = new URLSearchParams(window.location.search);
140
+ const container = sap?.ushell?.Container ?? sap.ui.require('sap/ushell/Container');
141
+ let scenario = '';
142
+ if (flex) {
143
+ const flexSettings = JSON.parse(flex);
144
+ scenario = flexSettings.scenario;
145
+ container.attachRendererCreatedEvent(async function () {
146
+ const lifecycleService = await container.getServiceAsync('AppLifeCycle');
147
+ lifecycleService.attachAppLoaded(event => {
148
+ const version = sap.ui.version;
149
+ const minor = parseInt(version.split('.')[1], 10);
150
+ const view = event.getParameter('componentInstance');
151
+ const flexSettings = JSON.parse(flex);
152
+ const pluginScript = flexSettings.pluginScript ?? '';
153
+ let libs = [];
154
+ if (minor > 71) {
155
+ libs.push('sap/ui/rta/api/startAdaptation');
156
+ } else {
157
+ libs.push('open/ux/preview/client/flp/initRta');
158
+ }
159
+ if (flexSettings.pluginScript) {
160
+ libs.push(pluginScript);
161
+ delete flexSettings.pluginScript;
162
+ }
163
+ const options = {
164
+ rootControl: view,
165
+ validateAppVersion: false,
166
+ flexSettings
167
+ };
168
+ sap.ui.require(libs, async function (startAdaptation, pluginScript) {
169
+ await startAdaptation(options, pluginScript);
170
+ });
171
+ });
172
+ });
173
+ }
174
+ if (urlParams.get('fiori-tools-iapp-state')?.toLocaleLowerCase() !== 'true') {
175
+ await resetAppState(container);
176
+ }
177
+ if (appUrls) {
178
+ await registerComponentDependencyPaths(JSON.parse(appUrls), urlParams);
179
+ }
180
+ if (customInit) {
181
+ sap.ui.require([customInit]);
182
+ }
183
+ const resourceBundle = await loadI18nResourceBundle(scenario);
184
+ setI18nTitle(resourceBundle);
185
+ registerSAPFonts();
186
+ const renderer = await container.createRenderer(undefined, true);
187
+ renderer.placeAt('content');
234
188
  }
235
-
236
- // Load custom initialization module
237
- if (customInit) {
238
- sap.ui.require([customInit]);
189
+ const bootstrapConfig = document.getElementById('sap-ui-bootstrap');
190
+ if (bootstrapConfig) {
191
+ init({
192
+ appUrls: bootstrapConfig.getAttribute('data-open-ux-preview-libs-manifests'),
193
+ flex: bootstrapConfig.getAttribute('data-open-ux-preview-flex-settings'),
194
+ customInit: bootstrapConfig.getAttribute('data-open-ux-preview-customInit')
195
+ }).catch(() => Log.error('Sandbox initialization failed.'));
239
196
  }
240
-
241
- // init
242
- const resourceBundle = await loadI18nResourceBundle(scenario);
243
- setI18nTitle(resourceBundle);
244
- registerSAPFonts();
245
- const renderer = await container.createRenderer(undefined, true);
246
- renderer.placeAt('content');
247
- }
248
- const bootstrapConfig = document.getElementById('sap-ui-bootstrap');
249
- if (bootstrapConfig) {
250
- init({
251
- appUrls: bootstrapConfig.getAttribute('data-open-ux-preview-libs-manifests'),
252
- flex: bootstrapConfig.getAttribute('data-open-ux-preview-flex-settings'),
253
- customInit: bootstrapConfig.getAttribute('data-open-ux-preview-customInit')
254
- }).catch(() => Log.error('Sandbox initialization failed.'));
255
- }
256
- var __exports = {
257
- __esModule: true
258
- };
259
- __exports.resetAppState = resetAppState;
260
- __exports.registerComponentDependencyPaths = registerComponentDependencyPaths;
261
- __exports.registerSAPFonts = registerSAPFonts;
262
- __exports.loadI18nResourceBundle = loadI18nResourceBundle;
263
- __exports.setI18nTitle = setI18nTitle;
264
- __exports.init = init;
265
- return __exports;
266
- });
267
- //# sourceMappingURL=init.js.map
197
+ var __exports = { __esModule: true };
198
+ __exports.resetAppState = resetAppState;
199
+ __exports.registerComponentDependencyPaths = registerComponentDependencyPaths;
200
+ __exports.registerSAPFonts = registerSAPFonts;
201
+ __exports.loadI18nResourceBundle = loadI18nResourceBundle;
202
+ __exports.setI18nTitle = setI18nTitle;
203
+ __exports.init = init;
204
+ return __exports;
205
+ });
@@ -1,7 +1,7 @@
1
1
  import Log from 'sap/base/Log';
2
2
  import type AppLifeCycle from 'sap/ushell/services/AppLifeCycle';
3
3
  import type { InitRtaScript, RTAPlugin, StartAdaptation } from 'sap/ui/rta/api/startAdaptation';
4
- import scenarios, { type Scenario } from 'sap/ui/fl/Scenario';
4
+ import { SCENARIO, type Scenario } from '@sap-ux-private/control-property-editor-common';
5
5
  import type { FlexSettings, RTAOptions } from 'sap/ui/rta/RuntimeAuthoring';
6
6
  import IconPool from 'sap/ui/core/IconPool';
7
7
  import ResourceBundle from 'sap/base/i18n/ResourceBundle';
@@ -196,7 +196,7 @@ export function registerSAPFonts() {
196
196
  * @param scenario to be used for the resource bundle.
197
197
  */
198
198
  export async function loadI18nResourceBundle(scenario: Scenario): Promise<ResourceBundle> {
199
- if (scenario === scenarios.AdaptationProject) {
199
+ if (scenario === SCENARIO.AdaptationProject) {
200
200
  const manifest = await getManifestAppdescr();
201
201
  const enhanceWith = (manifest.content as { texts: { i18n: string } }[])
202
202
  .filter((content) => content.texts?.i18n)
@@ -8,7 +8,7 @@ sap.ui.define((function () { 'use strict';
8
8
 
9
9
  (function (exports) {
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.save = exports.redo = exports.undo = exports.appLoaded = exports.setSaveEnablement = exports.setUndoRedoEnablement = exports.setAppMode = exports.storageFileChanged = exports.reloadApplication = exports.showMessage = exports.changeStackModified = exports.propertyChangeFailed = exports.propertyChanged = exports.changeProperty = exports.outlineChanged = exports.deletePropertyChanges = exports.addExtensionPoint = exports.selectControl = exports.controlSelected = exports.iconsLoaded = exports.EXTERNAL_ACTION_PREFIX = exports.scenario = exports.CHECKBOX_EDITOR_TYPE = exports.DROPDOWN_EDITOR_TYPE = exports.INPUT_EDITOR_TYPE = exports.STRING_VALUE_TYPE = exports.FLOAT_VALUE_TYPE = exports.INTEGER_VALUE_TYPE = exports.BOOLEAN_VALUE_TYPE = void 0;
11
+ exports.save = exports.redo = exports.undo = exports.appLoaded = exports.setSaveEnablement = exports.setUndoRedoEnablement = exports.setAppMode = exports.storageFileChanged = exports.reloadApplication = exports.showMessage = exports.changeStackModified = exports.propertyChangeFailed = exports.propertyChanged = exports.changeProperty = exports.outlineChanged = exports.deletePropertyChanges = exports.addExtensionPoint = exports.selectControl = exports.controlSelected = exports.iconsLoaded = exports.EXTERNAL_ACTION_PREFIX = exports.SCENARIO = exports.CHECKBOX_EDITOR_TYPE = exports.DROPDOWN_EDITOR_TYPE = exports.INPUT_EDITOR_TYPE = exports.STRING_VALUE_TYPE = exports.FLOAT_VALUE_TYPE = exports.INTEGER_VALUE_TYPE = exports.BOOLEAN_VALUE_TYPE = void 0;
12
12
  exports.BOOLEAN_VALUE_TYPE = 'boolean';
13
13
  exports.INTEGER_VALUE_TYPE = 'integer';
14
14
  exports.FLOAT_VALUE_TYPE = 'float';
@@ -16,7 +16,7 @@ sap.ui.define((function () { 'use strict';
16
16
  exports.INPUT_EDITOR_TYPE = 'input';
17
17
  exports.DROPDOWN_EDITOR_TYPE = 'dropdown';
18
18
  exports.CHECKBOX_EDITOR_TYPE = 'checkbox';
19
- exports.scenario = {
19
+ exports.SCENARIO = {
20
20
  AppVariant: 'APP_VARIANT',
21
21
  VersionedAppVariant: 'VERSIONED_APP_VARIANT',
22
22
  AdaptationProject: 'ADAPTATION_PROJECT',
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "bugs": {
10
10
  "url": "https://github.com/SAP/open-ux-tools/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3Apreview-middleware"
11
11
  },
12
- "version": "0.16.1",
12
+ "version": "0.16.3",
13
13
  "license": "Apache-2.0",
14
14
  "author": "@SAP/ux-tools-team",
15
15
  "main": "dist/index.js",
@@ -27,9 +27,9 @@
27
27
  "mem-fs-editor": "9.4.0",
28
28
  "@sap-ux/logger": "0.6.0",
29
29
  "@sap-ux/btp-utils": "0.15.0",
30
- "@sap-ux/adp-tooling": "0.12.1",
30
+ "@sap-ux/adp-tooling": "0.12.2",
31
31
  "@sap-ux/control-property-editor-sources": "npm:@sap-ux/control-property-editor@0.4.23",
32
- "@sap-ux/project-access": "1.23.0"
32
+ "@sap-ux/project-access": "1.24.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/ejs": "3.1.2",
@@ -45,7 +45,7 @@
45
45
  "supertest": "6.3.3",
46
46
  "@sap-ux-private/playwright": "0.1.0",
47
47
  "dotenv": "16.3.1",
48
- "@private/preview-middleware-client": "npm:@sap-ux-private/preview-middleware-client@0.10.0",
48
+ "@private/preview-middleware-client": "npm:@sap-ux-private/preview-middleware-client@0.10.1",
49
49
  "@sap-ux/axios-extension": "1.15.1",
50
50
  "@sap-ux/store": "0.7.0",
51
51
  "@sap-ux/ui5-info": "0.6.0",