@sap-ux/odata-service-writer 0.9.8 → 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/dist/data/annotations.d.ts +11 -0
- package/dist/data/annotations.d.ts.map +1 -0
- package/dist/data/annotations.js +94 -0
- package/dist/data/annotations.js.map +1 -0
- package/dist/data/defaults.d.ts +2 -2
- package/dist/data/defaults.d.ts.map +1 -1
- package/dist/data/defaults.js +20 -20
- package/dist/data/defaults.js.map +1 -1
- package/dist/data/index.d.ts +1 -0
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +1 -0
- package/dist/data/index.js.map +1 -1
- package/dist/i18n.d.ts +8 -3
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +8 -3
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -21
- package/dist/index.js.map +1 -1
- package/dist/translations/odata-service-writer.i18n.json +2 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +44 -42
- package/templates/add/annotation.xml +18 -0
- package/templates/extend/manifest.json +10 -2
- package/CHANGELOG.md +0 -74
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NamespaceAlias, OdataService } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the namespaces parsed from the specified metadata and annotations.
|
|
4
|
+
*
|
|
5
|
+
* @param {Partial<OdataService>} service - an odata service where at least metadata and annotations properties are defined
|
|
6
|
+
* @param {string} service.metadata - OData service metadata xml
|
|
7
|
+
* @param {string} service.annotations - OData service annotations xml
|
|
8
|
+
* @returns A reference to the namspaces array
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAnnotationNamespaces({ metadata, annotations }: Partial<OdataService>): NamespaceAlias[];
|
|
11
|
+
//# sourceMappingURL=annotations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/data/annotations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,cAAc,EAAE,CAmB1G"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAnnotationNamespaces = void 0;
|
|
4
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
5
|
+
const i18n_1 = require("../i18n");
|
|
6
|
+
/**
|
|
7
|
+
* Returns the namespaces parsed from the specified metadata and annotations.
|
|
8
|
+
*
|
|
9
|
+
* @param {Partial<OdataService>} service - an odata service where at least metadata and annotations properties are defined
|
|
10
|
+
* @param {string} service.metadata - OData service metadata xml
|
|
11
|
+
* @param {string} service.annotations - OData service annotations xml
|
|
12
|
+
* @returns A reference to the namspaces array
|
|
13
|
+
*/
|
|
14
|
+
function getAnnotationNamespaces({ metadata, annotations }) {
|
|
15
|
+
// Enhance service with annotations namespaces
|
|
16
|
+
const schemaNamespaces = metadata ? getNamespaces(metadata) : [];
|
|
17
|
+
if (annotations === null || annotations === void 0 ? void 0 : annotations.xml) {
|
|
18
|
+
// Parse once
|
|
19
|
+
const annotationsJson = xmlToJson(annotations.xml);
|
|
20
|
+
return schemaNamespaces.map((schema) => {
|
|
21
|
+
// Check if alias exists in backend annotation file, if so use it
|
|
22
|
+
const annotationAlias = annotations.xml && schema.namespace ? getAliasFromAnnotation(annotationsJson, schema.namespace) : '';
|
|
23
|
+
if (annotationAlias) {
|
|
24
|
+
schema.alias = annotationAlias;
|
|
25
|
+
}
|
|
26
|
+
return schema;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return schemaNamespaces;
|
|
30
|
+
}
|
|
31
|
+
exports.getAnnotationNamespaces = getAnnotationNamespaces;
|
|
32
|
+
/**
|
|
33
|
+
* Convert specified xml string to JSON.
|
|
34
|
+
*
|
|
35
|
+
* @param xml - the schema to parse
|
|
36
|
+
* @returns parsed object representation of passed XML
|
|
37
|
+
*/
|
|
38
|
+
function xmlToJson(xml) {
|
|
39
|
+
const options = {
|
|
40
|
+
attributeNamePrefix: '',
|
|
41
|
+
ignoreAttributes: false,
|
|
42
|
+
ignoreNameSpace: true,
|
|
43
|
+
parseAttributeValue: true
|
|
44
|
+
};
|
|
45
|
+
try {
|
|
46
|
+
const parser = new fast_xml_parser_1.XMLParser(options);
|
|
47
|
+
return parser.parse(xml, true);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw new Error((0, i18n_1.t)('error.unparseableXML', { error }));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Gets all the schema namespaces and their aliases from the provided metadata.
|
|
55
|
+
*
|
|
56
|
+
* @param metadata - odata service metadata
|
|
57
|
+
* @returns Array of namespaces and their aliases
|
|
58
|
+
*/
|
|
59
|
+
function getNamespaces(metadata) {
|
|
60
|
+
var _a, _b;
|
|
61
|
+
const jsonMetadata = xmlToJson(metadata);
|
|
62
|
+
let schema = (_b = (_a = jsonMetadata['edmx:Edmx']) === null || _a === void 0 ? void 0 : _a['edmx:DataServices']) === null || _b === void 0 ? void 0 : _b['Schema'];
|
|
63
|
+
if (!schema) {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
// Can be array or single item
|
|
67
|
+
if (!Array.isArray(schema)) {
|
|
68
|
+
schema = [schema];
|
|
69
|
+
}
|
|
70
|
+
return schema.map((item) => {
|
|
71
|
+
return {
|
|
72
|
+
namespace: item.Namespace,
|
|
73
|
+
alias: item.Alias || ''
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Gets namespace aliases from the specified annotations xml.
|
|
79
|
+
*
|
|
80
|
+
* @param annotations - annotations definition as json
|
|
81
|
+
* @param namespace - the namespace to search
|
|
82
|
+
* @returns An alias for the specified namespace or empty string
|
|
83
|
+
*/
|
|
84
|
+
function getAliasFromAnnotation(annotations, namespace) {
|
|
85
|
+
var _a, _b;
|
|
86
|
+
let references = (_a = annotations['edmx:Edmx']) === null || _a === void 0 ? void 0 : _a['edmx:Reference'];
|
|
87
|
+
// Can be array or single item
|
|
88
|
+
if (!Array.isArray(references)) {
|
|
89
|
+
references = [references];
|
|
90
|
+
}
|
|
91
|
+
const annoNamespace = references.find((ref) => { var _a, _b; return ((_a = ref['edmx:Include']) === null || _a === void 0 ? void 0 : _a['Namespace']) === namespace && ((_b = ref['edmx:Include']) === null || _b === void 0 ? void 0 : _b['Alias']); });
|
|
92
|
+
return annoNamespace ? (_b = annoNamespace['edmx:Include']) === null || _b === void 0 ? void 0 : _b['Alias'] : '';
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=annotations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/data/annotations.ts"],"names":[],"mappings":"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"}
|
package/dist/data/defaults.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { OdataService } from '../types';
|
|
|
3
3
|
* Enhances the provided OData service object with path, name and model information.
|
|
4
4
|
* Directly modifies the passed object reference.
|
|
5
5
|
*
|
|
6
|
-
* @param {OdataService}
|
|
6
|
+
* @param {OdataService} service - the OData service object
|
|
7
7
|
*/
|
|
8
|
-
export declare function enhanceData(
|
|
8
|
+
export declare function enhanceData(service: OdataService): void;
|
|
9
9
|
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/data/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/data/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CA6BvD"}
|
package/dist/data/defaults.js
CHANGED
|
@@ -6,35 +6,35 @@ const constants_1 = require("./constants");
|
|
|
6
6
|
* Enhances the provided OData service object with path, name and model information.
|
|
7
7
|
* Directly modifies the passed object reference.
|
|
8
8
|
*
|
|
9
|
-
* @param {OdataService}
|
|
9
|
+
* @param {OdataService} service - the OData service object
|
|
10
10
|
*/
|
|
11
|
-
function enhanceData(
|
|
11
|
+
function enhanceData(service) {
|
|
12
12
|
var _a;
|
|
13
13
|
// Set default path
|
|
14
|
-
if (
|
|
15
|
-
|
|
14
|
+
if (service.path === undefined) {
|
|
15
|
+
service.path = '/';
|
|
16
16
|
}
|
|
17
|
-
else if (
|
|
18
|
-
|
|
17
|
+
else if (service.path.substring(service.path.length - 1) !== '/') {
|
|
18
|
+
service.path = service.path + '/';
|
|
19
19
|
}
|
|
20
|
-
if (
|
|
21
|
-
|
|
20
|
+
if (service.name === undefined) {
|
|
21
|
+
service.name = constants_1.DEFAULT_DATASOURCE_NAME;
|
|
22
22
|
}
|
|
23
|
-
if (
|
|
24
|
-
|
|
23
|
+
if (service.model === undefined) {
|
|
24
|
+
service.model = ''; // Default UI5 model
|
|
25
25
|
}
|
|
26
26
|
// enhance preview settings with service configuration
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (
|
|
32
|
-
|
|
27
|
+
service.previewSettings = service.previewSettings || {};
|
|
28
|
+
service.previewSettings.path =
|
|
29
|
+
service.previewSettings.path || `/${((_a = service.path) === null || _a === void 0 ? void 0 : _a.split('/').filter((s) => s !== '')[0]) || ''}`;
|
|
30
|
+
service.previewSettings.url = service.previewSettings.url || service.url || 'http://localhost';
|
|
31
|
+
if (service.client && !service.previewSettings.client) {
|
|
32
|
+
service.previewSettings.client = service.client;
|
|
33
33
|
}
|
|
34
|
-
if (
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
|
|
34
|
+
if (service.destination && !service.previewSettings.destination) {
|
|
35
|
+
service.previewSettings.destination = service.destination.name;
|
|
36
|
+
if (service.destination.instance) {
|
|
37
|
+
service.previewSettings.destinationInstance = service.destination.instance;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/data/defaults.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AAEtD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/data/defaults.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AAEtD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,OAAqB;;IAC7C,mBAAmB;IACnB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;QAC5B,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;KACtB;SAAM,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;QAChE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;KACrC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;QAC5B,OAAO,CAAC,IAAI,GAAG,mCAAuB,CAAC;KAC1C;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QAC7B,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,oBAAoB;KAC3C;IAED,sDAAsD;IACtD,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IACxD,OAAO,CAAC,eAAe,CAAC,IAAI;QACxB,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAI,EAAE,EAAE,CAAC;IAC5G,OAAO,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,kBAAkB,CAAC;IAC/F,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE;QACnD,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;KACnD;IACD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE;QAC7D,OAAO,CAAC,eAAe,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;QAC/D,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,OAAO,CAAC,eAAe,CAAC,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;SAC9E;KACJ;AACL,CAAC;AA7BD,kCA6BC"}
|
package/dist/data/index.d.ts
CHANGED
package/dist/data/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
|
package/dist/data/index.js
CHANGED
|
@@ -11,4 +11,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./defaults"), exports);
|
|
14
|
+
__exportStar(require("./annotations"), exports);
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/dist/data/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B"}
|
package/dist/i18n.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { TOptions } from 'i18next';
|
|
2
|
+
/**
|
|
3
|
+
* Initialize i18next with the translations for this module.
|
|
4
|
+
*/
|
|
2
5
|
export declare function initI18n(): Promise<void>;
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @
|
|
7
|
+
* Helper function facading the call call to i18next.
|
|
8
|
+
*
|
|
9
|
+
* @param key i18n key
|
|
10
|
+
* @param options additional options
|
|
11
|
+
* @returns {string} localized string stored for the given key
|
|
7
12
|
*/
|
|
8
13
|
export declare function t(key: string, options?: TOptions): string;
|
|
9
14
|
//# sourceMappingURL=i18n.d.ts.map
|
package/dist/i18n.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAY9C;AAED
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAY9C;AAED;;;;;;GAMG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAEzD"}
|
package/dist/i18n.js
CHANGED
|
@@ -16,6 +16,9 @@ exports.t = exports.initI18n = void 0;
|
|
|
16
16
|
const i18next_1 = __importDefault(require("i18next"));
|
|
17
17
|
const odata_service_writer_i18n_json_1 = __importDefault(require("./translations/odata-service-writer.i18n.json"));
|
|
18
18
|
const NS = 'odata-service-writer';
|
|
19
|
+
/**
|
|
20
|
+
* Initialize i18next with the translations for this module.
|
|
21
|
+
*/
|
|
19
22
|
function initI18n() {
|
|
20
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
24
|
yield i18next_1.default.init({
|
|
@@ -33,9 +36,11 @@ function initI18n() {
|
|
|
33
36
|
}
|
|
34
37
|
exports.initI18n = initI18n;
|
|
35
38
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* @
|
|
39
|
+
* Helper function facading the call call to i18next.
|
|
40
|
+
*
|
|
41
|
+
* @param key i18n key
|
|
42
|
+
* @param options additional options
|
|
43
|
+
* @returns {string} localized string stored for the given key
|
|
39
44
|
*/
|
|
40
45
|
function t(key, options) {
|
|
41
46
|
return i18next_1.default.t(key, options);
|
package/dist/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA4C;AAC5C,mHAAyE;AAEzE,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAElC,SAAsB,QAAQ;;QAC1B,MAAM,iBAAO,CAAC,IAAI,CAAC;YACf,SAAS,EAAE;gBACP,EAAE,EAAE;oBACA,CAAC,EAAE,CAAC,EAAE,wCAAY;iBACrB;aACJ;YACD,GAAG,EAAE,IAAI;YACT,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,EAAE;YACb,EAAE,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAC;IACP,CAAC;CAAA;AAZD,4BAYC;AAED
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA4C;AAC5C,mHAAyE;AAEzE,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAElC;;GAEG;AACH,SAAsB,QAAQ;;QAC1B,MAAM,iBAAO,CAAC,IAAI,CAAC;YACf,SAAS,EAAE;gBACP,EAAE,EAAE;oBACA,CAAC,EAAE,CAAC,EAAE,wCAAY;iBACrB;aACJ;YACD,GAAG,EAAE,IAAI;YACT,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,EAAE;YACb,EAAE,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAC;IACP,CAAC;CAAA;AAZD,4BAYC;AAED;;;;;;GAMG;AACH,SAAgB,CAAC,CAAC,GAAW,EAAE,OAAkB;IAC7C,OAAO,iBAAO,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAFD,cAEC;AAED,QAAQ,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ import { OdataService, OdataVersion } from './types';
|
|
|
5
5
|
*
|
|
6
6
|
*
|
|
7
7
|
* @param {string} basePath - the root path of an existing UI5 application
|
|
8
|
-
* @param {OdataService}
|
|
8
|
+
* @param {OdataService} service - the OData service instance
|
|
9
9
|
* @param {Editor} [fs] - the memfs editor instance
|
|
10
10
|
* @throws {Error} - if required UI5 project files are not found
|
|
11
11
|
* @returns {Promise<Editor>} the updated memfs editor instance
|
|
12
12
|
*/
|
|
13
|
-
declare function generate(basePath: string,
|
|
13
|
+
declare function generate(basePath: string, service: OdataService, fs?: Editor): Promise<Editor>;
|
|
14
14
|
export { generate, OdataVersion, OdataService };
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAM/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAiBrD;;;;;;;;;GASG;AACH,iBAAe,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0F7F;AAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -41,19 +41,19 @@ function validateBasePath(basePath, fs) {
|
|
|
41
41
|
*
|
|
42
42
|
*
|
|
43
43
|
* @param {string} basePath - the root path of an existing UI5 application
|
|
44
|
-
* @param {OdataService}
|
|
44
|
+
* @param {OdataService} service - the OData service instance
|
|
45
45
|
* @param {Editor} [fs] - the memfs editor instance
|
|
46
46
|
* @throws {Error} - if required UI5 project files are not found
|
|
47
47
|
* @returns {Promise<Editor>} the updated memfs editor instance
|
|
48
48
|
*/
|
|
49
|
-
function generate(basePath,
|
|
49
|
+
function generate(basePath, service, fs) {
|
|
50
50
|
var _a, _b;
|
|
51
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
52
|
if (!fs) {
|
|
53
53
|
fs = (0, mem_fs_editor_1.create)((0, mem_fs_1.create)());
|
|
54
54
|
}
|
|
55
55
|
validateBasePath(basePath, fs);
|
|
56
|
-
(0, data_1.enhanceData)(
|
|
56
|
+
(0, data_1.enhanceData)(service);
|
|
57
57
|
// merge content into existing files
|
|
58
58
|
const templateRoot = (0, path_1.join)(__dirname, '..', 'templates');
|
|
59
59
|
const extRoot = (0, path_1.join)(templateRoot, 'extend');
|
|
@@ -68,18 +68,17 @@ function generate(basePath, data, fs) {
|
|
|
68
68
|
throw new Error((0, i18n_1.t)('error.requiredProjectPropertyNotFound', { property: `'${appProp}'.id`, path: manifestPath }));
|
|
69
69
|
}
|
|
70
70
|
const manifestJsonExt = fs.read((0, path_1.join)(extRoot, `manifest.json`));
|
|
71
|
-
fs.extendJSON(manifestPath, JSON.parse((0, ejs_1.render)(manifestJsonExt,
|
|
71
|
+
fs.extendJSON(manifestPath, JSON.parse((0, ejs_1.render)(manifestJsonExt, service)));
|
|
72
72
|
// ui5.yaml
|
|
73
73
|
const ui5ConfigPath = (0, path_1.join)(basePath, 'ui5.yaml');
|
|
74
74
|
const ui5Config = yield ui5_config_1.UI5Config.newInstance(fs.read(ui5ConfigPath));
|
|
75
|
-
ui5Config.
|
|
76
|
-
ui5Config.addFioriToolsAppReloadMiddleware();
|
|
75
|
+
ui5Config.addBackendToFioriToolsProxydMiddleware(service.previewSettings);
|
|
77
76
|
// ui5-local.yaml
|
|
78
77
|
const ui5LocalConfigPath = (0, path_1.join)(basePath, 'ui5-local.yaml');
|
|
79
78
|
const ui5LocalConfig = yield ui5_config_1.UI5Config.newInstance(fs.read(ui5LocalConfigPath));
|
|
80
|
-
ui5LocalConfig.addFioriToolsProxydMiddleware({ backend: [
|
|
79
|
+
ui5LocalConfig.addFioriToolsProxydMiddleware({ backend: [service.previewSettings] });
|
|
81
80
|
// Add mockserver entries
|
|
82
|
-
if (
|
|
81
|
+
if (service.metadata) {
|
|
83
82
|
// package.json updates
|
|
84
83
|
const mockDevDeps = {
|
|
85
84
|
devDependencies: {
|
|
@@ -92,26 +91,25 @@ function generate(basePath, data, fs) {
|
|
|
92
91
|
const packageJson = JSON.parse(fs.read(packagePath));
|
|
93
92
|
packageJson.ui5.dependencies.push('@sap/ux-ui5-fe-mockserver-middleware');
|
|
94
93
|
fs.writeJSON(packagePath, packageJson);
|
|
95
|
-
// ui5-mock.yaml
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const ui5MockConfig = yield ui5_config_1.UI5Config.newInstance(fs.read(ui5MockConfigPath));
|
|
99
|
-
ui5MockConfig.addFioriToolsProxydMiddleware({ backend: [data.previewSettings], ui5: {} });
|
|
100
|
-
ui5MockConfig.addMockServerMiddleware(data.path);
|
|
101
|
-
ui5MockConfig.addFioriToolsAppReloadMiddleware();
|
|
94
|
+
// copy existing `ui5.yaml` as starting point for ui5-mock.yaml
|
|
95
|
+
const ui5MockConfig = yield ui5_config_1.UI5Config.newInstance(ui5Config.toString());
|
|
96
|
+
ui5MockConfig.addMockServerMiddleware(service.path);
|
|
102
97
|
fs.write((0, path_1.join)(basePath, 'ui5-mock.yaml'), ui5MockConfig.toString());
|
|
103
98
|
// also add mockserver middleware to ui5-local.yaml
|
|
104
|
-
ui5LocalConfig.addMockServerMiddleware(
|
|
99
|
+
ui5LocalConfig.addMockServerMiddleware(service.path);
|
|
105
100
|
// create local copy of metadata and annotations
|
|
106
|
-
fs.write((0, path_1.join)(basePath, 'webapp', 'localService', 'metadata.xml'), (0, prettify_xml_1.default)(
|
|
101
|
+
fs.write((0, path_1.join)(basePath, 'webapp', 'localService', 'metadata.xml'), (0, prettify_xml_1.default)(service.metadata, { indent: 4 }));
|
|
102
|
+
// Adds local annotations to datasources section of manifest.json and writes the annotations file
|
|
103
|
+
if (service.localAnnotationsName) {
|
|
104
|
+
const namespaces = (0, data_1.getAnnotationNamespaces)(service);
|
|
105
|
+
fs.copyTpl((0, path_1.join)(templateRoot, 'add', 'annotation.xml'), (0, path_1.join)(basePath, 'webapp', 'annotations', `${service.localAnnotationsName}.xml`), Object.assign(Object.assign({}, service), { namespaces }));
|
|
106
|
+
}
|
|
107
107
|
}
|
|
108
|
-
// also add the reload middleware
|
|
109
|
-
ui5LocalConfig.addFioriToolsAppReloadMiddleware();
|
|
110
108
|
// write yamls to disk
|
|
111
109
|
fs.write(ui5ConfigPath, ui5Config.toString());
|
|
112
110
|
fs.write(ui5LocalConfigPath, ui5LocalConfig.toString());
|
|
113
|
-
if ((_b =
|
|
114
|
-
fs.write((0, path_1.join)(basePath, 'webapp', 'localService', `${
|
|
111
|
+
if ((_b = service.annotations) === null || _b === void 0 ? void 0 : _b.xml) {
|
|
112
|
+
fs.write((0, path_1.join)(basePath, 'webapp', 'localService', `${service.annotations.technicalName}.xml`), (0, prettify_xml_1.default)(service.annotations.xml, { indent: 4 }));
|
|
115
113
|
}
|
|
116
114
|
return fs;
|
|
117
115
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA4B;AAC5B,mCAAiD;AACjD,iDAA+C;AAC/C,6BAA6B;AAC7B,mDAA6D;AAC7D,gEAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"error": {
|
|
3
3
|
"requiredProjectFileNotFound": "Invalid project structure. Cannot find required file {{-path}}",
|
|
4
|
-
"requiredProjectPropertyNotFound": "Required project property: {{-property}} was not found in file: {{-path}}"
|
|
4
|
+
"requiredProjectPropertyNotFound": "Required project property: {{-property}} was not found in file: {{-path}}",
|
|
5
|
+
"unparseableXML": "Unparseable XML was specified: {{-error}}"
|
|
5
6
|
}
|
|
6
7
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ export declare enum OdataVersion {
|
|
|
3
3
|
v2 = "2",
|
|
4
4
|
v4 = "4"
|
|
5
5
|
}
|
|
6
|
+
export interface NamespaceAlias {
|
|
7
|
+
namespace: string;
|
|
8
|
+
alias: string;
|
|
9
|
+
}
|
|
6
10
|
export interface OdataService {
|
|
7
11
|
url?: string;
|
|
8
12
|
client?: string;
|
|
@@ -19,6 +23,7 @@ export interface OdataService {
|
|
|
19
23
|
technicalName: string;
|
|
20
24
|
xml: string;
|
|
21
25
|
};
|
|
26
|
+
localAnnotationsName?: string;
|
|
22
27
|
previewSettings?: Partial<ProxyBackend>;
|
|
23
28
|
}
|
|
24
29
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,oBAAY,YAAY;IACpB,EAAE,MAAM;IACR,EAAE,MAAM;CACX;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;IACF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3C"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,wBAAQ,CAAA;IACR,wBAAQ,CAAA;AACZ,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB"}
|
package/package.json
CHANGED
|
@@ -1,43 +1,45 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
2
|
+
"name": "@sap-ux/odata-service-writer",
|
|
3
|
+
"version": "0.11.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"LICENSE",
|
|
8
|
+
"dist",
|
|
9
|
+
"templates"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"ejs": "3.1.6",
|
|
13
|
+
"i18next": "20.3.2",
|
|
14
|
+
"mem-fs": "2.1.0",
|
|
15
|
+
"mem-fs-editor": "9.0.0",
|
|
16
|
+
"@sap-ux/ui5-config": "0.11.1",
|
|
17
|
+
"prettify-xml": "1.2.0",
|
|
18
|
+
"fast-xml-parser": "4.0.1"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/ejs": "3.1.0",
|
|
22
|
+
"@types/fs-extra": "9.0.13",
|
|
23
|
+
"@types/mem-fs-editor": "7.0.0",
|
|
24
|
+
"fs-extra": "10.0.0",
|
|
25
|
+
"lodash": "4.17.21"
|
|
26
|
+
},
|
|
27
|
+
"engines": {
|
|
28
|
+
"pnpm": ">=6.26.1",
|
|
29
|
+
"node": ">=12.22.5 < 13.0.0 || >= 14.16.0 < 15.0.0 || >=16.1.0 < 17.0.0"
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "pnpm clean && tsc",
|
|
33
|
+
"clean": "rimraf dist test/test-output coverage",
|
|
34
|
+
"format": "prettier --write '**/*.{js,json,ts,yaml,yml}' --ignore-path ../../.prettierignore",
|
|
35
|
+
"lint": "eslint . --ext .ts",
|
|
36
|
+
"lint:fix": "eslint . --ext .ts --fix",
|
|
37
|
+
"test": "jest --ci --forceExit --detectOpenHandles --colors",
|
|
38
|
+
"test-u": "jest --ci --forceExit --detectOpenHandles --colors -u",
|
|
39
|
+
"test:local": "node -r ts-node/register test/index.ts",
|
|
40
|
+
"watch": "tsc --watch",
|
|
41
|
+
"link": "pnpm link --global",
|
|
42
|
+
"unlink": "pnpm unlink --global"
|
|
43
|
+
},
|
|
44
|
+
"readme": "# @sap-ux/odata-service-writer\n\nWrites the odata service related file updates to an existing UI5 project specified by the base path.\n\n\n## Installation\nNpm\n`npm install --save @sap-ux/odata-service-writer`\n\nYarn\n`yarn add @sap-ux/odata-service-writer`\n\nPnpm\n`pnpm add @sap-ux/odata-service-writer`\n\n## Usage\n\n```Typescript\nimport { OdataVersion, OdataService, generate } from '@sap-ux/odata-service-writer';\nimport { create, Editor } from 'mem-fs-editor';\nimport { create as createStorage } from 'mem-fs';\n\n...\n\nfs = create(createStorage()); // Or use fs from Yeoman\n\n const config: OdataService = {\n url: 'http://localhost',\n path: '/sap/odata/testme',\n version: OdataVersion.v4,\n destination: {\n name: 'test'\n }\n };\nconst testDir = '/tmp';\n\nawait generate(testDir, config, fs);\n \n```\n\n## Keywords\nSAP Fiori Freestyle\n"
|
|
45
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="<%= (version === '2') ? '1.0' : '4.0'%>">
|
|
2
|
+
<edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/Common.xml">
|
|
3
|
+
<edmx:Include Namespace="com.sap.vocabularies.Common.v1" Alias="Common"/>
|
|
4
|
+
</edmx:Reference>
|
|
5
|
+
<edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/UI.xml">
|
|
6
|
+
<edmx:Include Namespace="com.sap.vocabularies.UI.v1" Alias="UI"/>
|
|
7
|
+
</edmx:Reference>
|
|
8
|
+
<edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/Communication.xml">
|
|
9
|
+
<edmx:Include Namespace="com.sap.vocabularies.Communication.v1" Alias="Communication"/>
|
|
10
|
+
</edmx:Reference>
|
|
11
|
+
<edmx:Reference Uri="<%- path %>$metadata"><% namespaces.forEach(function(namespace){ %>
|
|
12
|
+
<edmx:Include Namespace="<%- namespace.namespace %>"<% if (namespace.alias) { %> Alias="<%- namespace.alias %>"<% } %>/><% }); %>
|
|
13
|
+
</edmx:Reference>
|
|
14
|
+
<edmx:DataServices>
|
|
15
|
+
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="local">
|
|
16
|
+
</Schema>
|
|
17
|
+
</edmx:DataServices>
|
|
18
|
+
</edmx:Edmx>
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
"type": "OData",
|
|
7
7
|
"settings": {
|
|
8
8
|
"annotations": [<%if (locals.annotations && annotations.technicalName) {%>
|
|
9
|
-
|
|
9
|
+
"<%- annotations.technicalName %>"<% if (locals.localAnnotationsName) {%>,<%}%><% } %><% if (locals.localAnnotationsName) { %>
|
|
10
|
+
"<%- localAnnotationsName %>"<% } %>
|
|
10
11
|
],
|
|
11
12
|
"localUri": "localService/metadata.xml"<%if (version === '4') {%>,
|
|
12
13
|
"odataVersion": "4.0"<% } %><%if (version === '2') {%>,
|
|
@@ -19,7 +20,14 @@
|
|
|
19
20
|
"settings": {
|
|
20
21
|
"localUri": "localService/<%- annotations.technicalName %>.xml"
|
|
21
22
|
}
|
|
22
|
-
}<% }
|
|
23
|
+
}<% } %><% if (locals.localAnnotationsName) { %>,
|
|
24
|
+
"<%- localAnnotationsName %>": {
|
|
25
|
+
"type": "ODataAnnotation",
|
|
26
|
+
"uri": "annotations/<%- localAnnotationsName %>.xml",
|
|
27
|
+
"settings": {
|
|
28
|
+
"localUri": "annotations/<%- localAnnotationsName %>.xml"
|
|
29
|
+
}
|
|
30
|
+
} <% } %>
|
|
23
31
|
}
|
|
24
32
|
},
|
|
25
33
|
"sap.ui5": {
|
package/CHANGELOG.md
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# @sap-ux/odata-service-writer
|
|
2
|
-
|
|
3
|
-
## 0.9.8
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- ccff534: Add inline schema in ui5\*.yaml files for yaml-language-server
|
|
8
|
-
|
|
9
|
-
## 0.9.7
|
|
10
|
-
|
|
11
|
-
### Patch Changes
|
|
12
|
-
|
|
13
|
-
- b7ee596: port tool-suite change - add delay to appreload middleware
|
|
14
|
-
- Updated dependencies [b7ee596]
|
|
15
|
-
- @sap-ux/ui5-config@0.10.3
|
|
16
|
-
|
|
17
|
-
## 0.9.6
|
|
18
|
-
|
|
19
|
-
### Patch Changes
|
|
20
|
-
|
|
21
|
-
- 8de261b: Update npm dep and devDeps
|
|
22
|
-
- Updated dependencies [8de261b]
|
|
23
|
-
- @sap-ux/ui5-config@0.10.2
|
|
24
|
-
|
|
25
|
-
## 0.9.5
|
|
26
|
-
|
|
27
|
-
### Patch Changes
|
|
28
|
-
|
|
29
|
-
- a7670a0: Update ui5 verison handling for ui5.yaml. Allow setting view name in basic template, enhancements to yaml lib.
|
|
30
|
-
- Updated dependencies [a7670a0]
|
|
31
|
-
- @sap-ux/ui5-config@0.10.1
|
|
32
|
-
|
|
33
|
-
## 0.9.4
|
|
34
|
-
|
|
35
|
-
### Patch Changes
|
|
36
|
-
|
|
37
|
-
- d37c8bd: Added support for selecting a custom view name for Fiori freestyle - Basic template
|
|
38
|
-
- Updated dependencies [d37c8bd]
|
|
39
|
-
- @sap-ux/ui5-config@0.10.0
|
|
40
|
-
|
|
41
|
-
## 0.9.3
|
|
42
|
-
|
|
43
|
-
### Patch Changes
|
|
44
|
-
|
|
45
|
-
- 6888c5b: Add Readme for modules, add deploy script FF template, engines.node update to lts and small clean-up
|
|
46
|
-
- Updated dependencies [6888c5b]
|
|
47
|
-
- @sap-ux/ui5-config@0.9.3
|
|
48
|
-
|
|
49
|
-
## 0.9.2
|
|
50
|
-
|
|
51
|
-
### Patch Changes
|
|
52
|
-
|
|
53
|
-
- a16d4e7: fix versions in modules for patch instead of minor
|
|
54
|
-
- Updated dependencies [a16d4e7]
|
|
55
|
-
- @sap-ux/ui5-config@0.9.2
|
|
56
|
-
|
|
57
|
-
## 0.10.0
|
|
58
|
-
|
|
59
|
-
### Minor Changes
|
|
60
|
-
|
|
61
|
-
- cd119ea: Fix missing client in fiori proxy config #138
|
|
62
|
-
|
|
63
|
-
### Patch Changes
|
|
64
|
-
|
|
65
|
-
- Updated dependencies [cd119ea]
|
|
66
|
-
- @sap-ux/ui5-config@0.10.0
|
|
67
|
-
|
|
68
|
-
## 0.9.1
|
|
69
|
-
|
|
70
|
-
### Patch Changes
|
|
71
|
-
|
|
72
|
-
- f6e1223: Dummy update to test changesets and pipeline
|
|
73
|
-
- Updated dependencies [f6e1223]
|
|
74
|
-
- @sap-ux/ui5-config@0.9.1
|