@sap-ux/fe-fpm-writer 0.10.0 → 0.11.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.
package/README.md CHANGED
@@ -25,7 +25,6 @@ const fs = await generateCustomPage(
25
25
  name: 'MyCustomPage',
26
26
  entity: 'Booking',
27
27
  navigation: {
28
- sourceEntity: 'Travel',
29
28
  sourcePage: 'TravelObjectPage',
30
29
  navEntity: '_Booking'
31
30
  }
@@ -3,12 +3,28 @@ import type { ManifestNamespace } from '@sap-ux/ui5-config';
3
3
  import type { CustomPage, FCL, InternalCustomPage, InternalObjectPage, ObjectPage, Navigation, InternalListReport } from './types';
4
4
  import type { Manifest } from '../common/types';
5
5
  /**
6
- * Add a new route to the provided route array, and update existing routes if necessary (e.g. if targets are defined as arrays for FCL).
6
+ * Suffix for patterns to support arbitrary paramters
7
+ */
8
+ export declare const PATTERN_SUFFIX = ":?query:";
9
+ /**
10
+ * Generates the pattern for a new route based on the input.
11
+ *
12
+ * @param routes existing routes
13
+ * @param targetEntity entity of the target
14
+ * @param nav navigation object
15
+ * @returns the generated pattern as string
16
+ */
17
+ export declare function generateRoutePattern(routes: ManifestNamespace.Route[], targetEntity: string, nav?: Navigation): string;
18
+ /**
19
+ * Generates the target property for a route based on exiting routes, configurations and the target's name.
7
20
  *
8
- * @param routes existing application routes (from the manifest)
9
- * @param config configuration object
21
+ * @param routes existing routes
22
+ * @param name name of the target page
23
+ * @param fcl optional flag if FCL is enabled
24
+ * @param nav navigation object
25
+ * @returns the target property of a route
10
26
  */
11
- export declare function updateRoutes(routes: ManifestNamespace.Route[], config: InternalCustomPage | InternalObjectPage | InternalListReport): void;
27
+ export declare function generateRouteTarget(routes: ManifestNamespace.Route[], name: string, fcl?: boolean, nav?: Navigation): string | [string] | [ManifestNamespace.RouteTargetObject];
12
28
  /**
13
29
  * Create a function that can be used as JsonReplace when calling extendJson.
14
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/page/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EACR,UAAU,EACV,GAAG,EACH,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,kBAAkB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;GAKG;AACH,wBAAgB,YAAY,CACxB,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,EACjC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,QAwBvE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GACrE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAclC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,GAAG,CAe7E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA6BxG"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/page/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EACR,UAAU,EACV,GAAG,EACH,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,kBAAkB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;GAEG;AACH,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,EACjC,YAAY,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,UAAU,GACjB,MAAM,CAyBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,EACjC,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,OAAO,EACb,GAAG,CAAC,EAAE,UAAU,GACjB,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAS3D;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GACrE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAmBlC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,GAAG,CAe7E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA2BxG"}
@@ -1,43 +1,72 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validatePageConfig = exports.getFclConfig = exports.getManifestJsonExtensionHelper = exports.updateRoutes = void 0;
3
+ exports.validatePageConfig = exports.getFclConfig = exports.getManifestJsonExtensionHelper = exports.generateRouteTarget = exports.generateRoutePattern = exports.PATTERN_SUFFIX = void 0;
4
4
  const path_1 = require("path");
5
5
  const validate_1 = require("../common/validate");
6
6
  const defaults_1 = require("../common/defaults");
7
7
  /**
8
- * Add a new route to the provided route array, and update existing routes if necessary (e.g. if targets are defined as arrays for FCL).
8
+ * Suffix for patterns to support arbitrary paramters
9
+ */
10
+ exports.PATTERN_SUFFIX = ':?query:';
11
+ /**
12
+ * Generates the pattern for a new route based on the input.
9
13
  *
10
- * @param routes existing application routes (from the manifest)
11
- * @param config configuration object
14
+ * @param routes existing routes
15
+ * @param targetEntity entity of the target
16
+ * @param nav navigation object
17
+ * @returns the generated pattern as string
12
18
  */
13
- function updateRoutes(routes, config) {
14
- var _a, _b;
15
- const newRoute = {
16
- name: `${config.entity}${config.name}`
17
- };
18
- if (config.navigation) {
19
- const sourceRoute = routes.find((route) => { var _a; return route.name === ((_a = config.navigation) === null || _a === void 0 ? void 0 : _a.sourcePage); });
20
- const pattern = {
21
- base: (_a = sourceRoute === null || sourceRoute === void 0 ? void 0 : sourceRoute.pattern) === null || _a === void 0 ? void 0 : _a.replace(':?query:', ''),
22
- navEntity: config.navigation.navEntity,
23
- navKey: config.navigation.navKey ? `({${config.navigation.navEntity}Key})` : ''
24
- };
25
- newRoute.pattern = `${pattern.base}/${pattern.navEntity}${pattern.navKey}:?query:`;
26
- // FCL only supports 3 columns, therefore, show the page in fullscreen if it is the 4th level of navigation
27
- if (((_b = sourceRoute === null || sourceRoute === void 0 ? void 0 : sourceRoute.target) === null || _b === void 0 ? void 0 : _b.constructor) === Array && sourceRoute.target.length < 3) {
28
- newRoute.target = [...sourceRoute.target, newRoute.name];
19
+ function generateRoutePattern(routes, targetEntity, nav) {
20
+ var _a;
21
+ const parts = [];
22
+ if ((nav === null || nav === void 0 ? void 0 : nav.sourcePage) && nav.navEntity) {
23
+ const sourceRoute = routes.find((route) => route.name === nav.sourcePage);
24
+ if (sourceRoute === null || sourceRoute === void 0 ? void 0 : sourceRoute.pattern) {
25
+ const basePattern = sourceRoute.pattern.replace(exports.PATTERN_SUFFIX, '');
26
+ if (basePattern) {
27
+ parts.push(basePattern);
28
+ parts.push('/');
29
+ parts.push(nav.navEntity);
30
+ }
31
+ else {
32
+ parts.push(targetEntity);
33
+ }
29
34
  }
30
35
  else {
31
- newRoute.target = config.fcl ? [newRoute.name] : newRoute.name;
36
+ throw new Error('Navigation source invalid');
32
37
  }
33
38
  }
34
- else {
35
- newRoute.pattern = routes.length > 0 ? `${config.entity}:?query:` : ':?query:';
36
- newRoute.target = config.fcl ? [newRoute.name] : newRoute.name;
39
+ else if (routes.length > 0) {
40
+ parts.push(targetEntity);
41
+ }
42
+ if (nav === null || nav === void 0 ? void 0 : nav.navKey) {
43
+ parts.push(`({${(_a = nav === null || nav === void 0 ? void 0 : nav.navEntity) !== null && _a !== void 0 ? _a : targetEntity}Key})`);
44
+ }
45
+ parts.push(exports.PATTERN_SUFFIX);
46
+ return parts.join('');
47
+ }
48
+ exports.generateRoutePattern = generateRoutePattern;
49
+ /**
50
+ * Generates the target property for a route based on exiting routes, configurations and the target's name.
51
+ *
52
+ * @param routes existing routes
53
+ * @param name name of the target page
54
+ * @param fcl optional flag if FCL is enabled
55
+ * @param nav navigation object
56
+ * @returns the target property of a route
57
+ */
58
+ function generateRouteTarget(routes, name, fcl, nav) {
59
+ var _a;
60
+ if (nav === null || nav === void 0 ? void 0 : nav.sourcePage) {
61
+ const sourceRoute = routes.find((route) => route.name === nav.sourcePage);
62
+ // FCL only supports 3 columns, therefore, show the page in fullscreen if it is the 4th level of navigation
63
+ if (fcl && ((_a = sourceRoute === null || sourceRoute === void 0 ? void 0 : sourceRoute.target) === null || _a === void 0 ? void 0 : _a.constructor) === Array && sourceRoute.target.length < 3) {
64
+ return [...sourceRoute.target, name];
65
+ }
37
66
  }
38
- routes.push(newRoute);
67
+ return fcl ? [name] : name;
39
68
  }
40
- exports.updateRoutes = updateRoutes;
69
+ exports.generateRouteTarget = generateRouteTarget;
41
70
  /**
42
71
  * Create a function that can be used as JsonReplace when calling extendJson.
43
72
  *
@@ -52,7 +81,12 @@ function getManifestJsonExtensionHelper(config) {
52
81
  value.routes = (_a = value.routes) !== null && _a !== void 0 ? _a : [];
53
82
  break;
54
83
  case 'routes':
55
- updateRoutes(value, config);
84
+ const routes = value;
85
+ routes.push({
86
+ name: `${config.entity}${config.name}`,
87
+ pattern: generateRoutePattern(routes, config.entity, config.navigation),
88
+ target: generateRouteTarget(routes, `${config.entity}${config.name}`, config.fcl, config.navigation)
89
+ });
56
90
  break;
57
91
  default:
58
92
  break;
@@ -98,23 +132,23 @@ function validatePageConfig(basePath, config, fs) {
98
132
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
99
133
  validate_1.validateBasePath(basePath, fs);
100
134
  // validate config against the manifest
101
- const manifest = fs.readJSON(path_1.join(basePath, 'webapp/manifest.json'));
102
- if (config.navigation) {
103
- if (!((_c = (_b = (_a = manifest['sap.ui5']) === null || _a === void 0 ? void 0 : _a.routing) === null || _b === void 0 ? void 0 : _b.targets) === null || _c === void 0 ? void 0 : _c[config.navigation.sourcePage])) {
135
+ if ((_a = config.navigation) === null || _a === void 0 ? void 0 : _a.sourcePage) {
136
+ const manifest = fs.readJSON(path_1.join(basePath, 'webapp/manifest.json'));
137
+ if (!((_d = (_c = (_b = manifest['sap.ui5']) === null || _b === void 0 ? void 0 : _b.routing) === null || _c === void 0 ? void 0 : _c.targets) === null || _d === void 0 ? void 0 : _d[config.navigation.sourcePage])) {
104
138
  throw new Error(`Could not find navigation source ${config.navigation.sourcePage}!`);
105
139
  }
106
140
  const routes = {};
107
- if (((_f = (_e = (_d = manifest['sap.ui5']) === null || _d === void 0 ? void 0 : _d.routing) === null || _e === void 0 ? void 0 : _e.routes) === null || _f === void 0 ? void 0 : _f.constructor) === Array) {
141
+ if (((_g = (_f = (_e = manifest['sap.ui5']) === null || _e === void 0 ? void 0 : _e.routing) === null || _f === void 0 ? void 0 : _f.routes) === null || _g === void 0 ? void 0 : _g.constructor) === Array) {
108
142
  manifest['sap.ui5'].routing.routes.forEach((routeWithName) => {
109
143
  routes[routeWithName.name] = routeWithName;
110
144
  });
111
145
  }
112
146
  else {
113
- Object.assign(routes, (_j = (_h = (_g = manifest['sap.ui5']) === null || _g === void 0 ? void 0 : _g.routing) === null || _h === void 0 ? void 0 : _h.routes) !== null && _j !== void 0 ? _j : {});
147
+ Object.assign(routes, (_k = (_j = (_h = manifest['sap.ui5']) === null || _h === void 0 ? void 0 : _h.routing) === null || _j === void 0 ? void 0 : _j.routes) !== null && _k !== void 0 ? _k : {});
114
148
  }
115
- const route = routes[(_k = config.navigation) === null || _k === void 0 ? void 0 : _k.sourcePage];
149
+ const route = routes[config.navigation.sourcePage];
116
150
  if (!route || !route.pattern || !route.target) {
117
- throw new Error(`Missing or invalid routing configuration for navigation source ${config.navigation.sourcePage}!`);
151
+ throw new Error(`Invalid routing configuration for navigation source ${config.navigation.sourcePage}!`);
118
152
  }
119
153
  }
120
154
  return fs;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/page/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/page/common.ts"],"names":[],"mappings":"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"}
@@ -6,15 +6,11 @@ export interface Navigation {
6
6
  /**
7
7
  * Source of the navigation to the custom page
8
8
  */
9
- sourcePage: string;
10
- /**
11
- * Source entity that is use as the base part of the route
12
- */
13
- sourceEntity: string;
9
+ sourcePage?: string;
14
10
  /**
15
11
  * Name of the navigation entity
16
12
  */
17
- navEntity: string;
13
+ navEntity?: string;
18
14
  /**
19
15
  * If set to true, then the generated route will point to a specific entity, otherwise, it will point to a list of the entities.
20
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/page/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC5D,aAAa,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;QACrD,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAClC,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC7C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG;QACtB;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,IAAI,CAAC,EAAE;QACH;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,MAAM,WAAW,GAAG;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;CACjF;AAED;;GAEG;AACH,oBAAY,kBAAkB,GAAG,UAAU,GAAG,qBAAqB,GAAG,GAAG,CAAC;AAE1E,oBAAY,kBAAkB,GAAG,UAAU,GAAG,GAAG,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC;AAEnH,oBAAY,kBAAkB,GAAG,UAAU,GAAG,GAAG,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/page/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC5D,aAAa,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;QACrD,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAClC,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC7C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG;QACtB;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,IAAI,CAAC,EAAE;QACH;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,MAAM,WAAW,GAAG;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;CACjF;AAED;;GAEG;AACH,oBAAY,kBAAkB,GAAG,UAAU,GAAG,qBAAqB,GAAG,GAAG,CAAC;AAE1E,oBAAY,kBAAkB,GAAG,UAAU,GAAG,GAAG,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC;AAEnH,oBAAY,kBAAkB,GAAG,UAAU,GAAG,GAAG,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sap-ux/fe-fpm-writer",
3
3
  "description": "SAP Fiori elements flexible programming model writer",
4
- "version": "0.10.0",
4
+ "version": "0.11.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/SAP/open-ux-tools.git",