@sap-ux/ui5-application-writer 0.9.1 → 0.9.5

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/CHANGELOG.md CHANGED
@@ -1,6 +1,37 @@
1
1
  # @sap-ux/ui5-application-writer
2
2
 
3
+ ## 0.9.5
4
+
5
+ ### Patch Changes
6
+
7
+ - a7670a0: Update ui5 verison handling for ui5.yaml. Allow setting view name in basic template, enhancements to yaml lib.
8
+
9
+ ## 0.9.4
10
+
11
+ ### Patch Changes
12
+
13
+ - d37c8bd: Added support for selecting a custom view name for Fiori freestyle - Basic template
14
+
15
+ ## 0.9.3
16
+
17
+ ### Patch Changes
18
+
19
+ - 6888c5b: Add Readme for modules, add deploy script FF template, engines.node update to lts and small clean-up
20
+
21
+ ## 0.9.2
22
+
23
+ ### Patch Changes
24
+
25
+ - a16d4e7: fix versions in modules for patch instead of minor
26
+
27
+ ## 0.10.0
28
+
29
+ ### Minor Changes
30
+
31
+ - cd119ea: Fix missing client in fiori proxy config #138
32
+
3
33
  ## 0.9.1
34
+
4
35
  ### Patch Changes
5
36
 
6
- - f6e1223: Dummy update to test changesets and pipeline
37
+ - f6e1223: Dummy update to test changesets and pipeline
package/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # @sap-ux/ui5-application-writer
2
+
3
+ Writes a basic ui5 application
4
+
5
+
6
+ ## Installation
7
+ Npm
8
+ `npm install --save @sap-ux/ui5-application-writer`
9
+
10
+ Yarn
11
+ `yarn add @sap-ux/ui5-application-writer`
12
+
13
+ Pnpm
14
+ `pnpm add @sap-ux/ui5-application-writer`
15
+
16
+ ## Usage
17
+ ```Typescript
18
+ import { generate } from '@sap-ux/ui5-application-writer';
19
+ import { join } from 'path';
20
+
21
+ const projectDir = join(__dirname, 'testapp1');
22
+ const fs = await generate(projectDir, {
23
+ app: {
24
+ id: 'testAppId',
25
+ title: 'Test App Title',
26
+ description: 'Test App Description'
27
+ },
28
+ package: {
29
+ name: 'testPackageName'
30
+ }
31
+ });
32
+
33
+ fs.commit();
34
+
35
+ ```
36
+
37
+ ## Keywords
38
+ SAP Fiori Freestyle
@@ -14,6 +14,14 @@ export declare function packageDefaults(version?: string, description?: string):
14
14
  * @returns {Partial<App>} the App instance
15
15
  */
16
16
  export declare function appDefaults(app: App): App;
17
+ export declare const UI5_DEFAULT: {
18
+ DEFAULT_UI5_VERSION: string;
19
+ DEFAULT_LOCAL_UI5_VERSION: string;
20
+ MIN_LOCAL_SAPUI5_VERSION: string;
21
+ MIN_LOCAL_OPENUI5_VERSION: string;
22
+ SAPUI5_CDN: string;
23
+ OPENUI5_CDN: string;
24
+ };
17
25
  /**
18
26
  * Merges version properties with the provided UI5 instance.
19
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/data/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBxF;AACD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAUzC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAWvC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/data/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBxF;AACD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAUzC;AAED,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAgCvC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.mergeUi5 = exports.appDefaults = exports.packageDefaults = void 0;
6
+ exports.mergeUi5 = exports.UI5_DEFAULT = exports.appDefaults = exports.packageDefaults = void 0;
7
7
  const version_to_descriptor_mapping_json_1 = __importDefault(require("./version-to-descriptor-mapping.json")); // from https://github.com/SAP/ui5-manifest/blob/master/mapping.json
8
8
  /**
9
9
  * Returns a package instance with default properties.
@@ -48,6 +48,14 @@ function appDefaults(app) {
48
48
  };
49
49
  }
50
50
  exports.appDefaults = appDefaults;
51
+ exports.UI5_DEFAULT = {
52
+ DEFAULT_UI5_VERSION: '',
53
+ DEFAULT_LOCAL_UI5_VERSION: '1.95.0',
54
+ MIN_LOCAL_SAPUI5_VERSION: '1.76.0',
55
+ MIN_LOCAL_OPENUI5_VERSION: '1.52.5',
56
+ SAPUI5_CDN: 'https://ui5.sap.com',
57
+ OPENUI5_CDN: 'https://openui5.hana.ondemand.com'
58
+ };
51
59
  /**
52
60
  * Merges version properties with the provided UI5 instance.
53
61
  *
@@ -57,11 +65,31 @@ exports.appDefaults = appDefaults;
57
65
  function mergeUi5(ui5) {
58
66
  const merged = {
59
67
  minUI5Version: (ui5 === null || ui5 === void 0 ? void 0 : ui5.minUI5Version) || '1.60',
60
- version: (ui5 === null || ui5 === void 0 ? void 0 : ui5.version) || '1.84.0'
68
+ version: (ui5 === null || ui5 === void 0 ? void 0 : ui5.version) || exports.UI5_DEFAULT.DEFAULT_UI5_VERSION // no version indicates the latest available should be used
61
69
  };
70
+ merged.framework = (ui5 === null || ui5 === void 0 ? void 0 : ui5.framework) || 'SAPUI5';
71
+ merged.frameworkUrl =
72
+ (ui5 === null || ui5 === void 0 ? void 0 : ui5.frameworkUrl) || merged.framework === 'SAPUI5' ? exports.UI5_DEFAULT.SAPUI5_CDN : exports.UI5_DEFAULT.OPENUI5_CDN;
73
+ // if a specific local version is provided, use it, otherwise, sync with version but keep minimum versions in mind
74
+ if (ui5 === null || ui5 === void 0 ? void 0 : ui5.localVersion) {
75
+ merged.localVersion = ui5.localVersion;
76
+ }
77
+ else {
78
+ merged.localVersion =
79
+ // eslint-disable-next-line no-nested-ternary
80
+ merged.version === exports.UI5_DEFAULT.DEFAULT_UI5_VERSION
81
+ ? exports.UI5_DEFAULT.DEFAULT_LOCAL_UI5_VERSION
82
+ : merged.framework === 'SAPUI5'
83
+ ? exports.UI5_DEFAULT.MIN_LOCAL_SAPUI5_VERSION
84
+ : exports.UI5_DEFAULT.MIN_LOCAL_OPENUI5_VERSION; // minimum version available as local libs
85
+ if (parseFloat(merged.version) > parseFloat(merged.localVersion)) {
86
+ merged.localVersion = merged.version;
87
+ }
88
+ }
62
89
  merged.descriptorVersion =
63
90
  (ui5 === null || ui5 === void 0 ? void 0 : ui5.descriptorVersion) || version_to_descriptor_mapping_json_1.default[merged.minUI5Version] || '1.12.0';
64
- merged.typesVersion = (ui5 === null || ui5 === void 0 ? void 0 : ui5.typesVersion) || parseFloat(merged.version) >= 1.76 ? merged.version : '1.71.18';
91
+ merged.typesVersion =
92
+ (ui5 === null || ui5 === void 0 ? void 0 : ui5.typesVersion) || parseFloat(merged.localVersion) >= 1.76 ? merged.localVersion : '1.71.18';
65
93
  merged.ui5Theme = (ui5 === null || ui5 === void 0 ? void 0 : ui5.ui5Theme) || 'sap_fiori_3';
66
94
  // Return merged, does not update passed ref
67
95
  return Object.assign({}, ui5, merged);
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/data/defaults.ts"],"names":[],"mappings":";;;;;;AACA,8GAA4D,CAAC,oEAAoE;AACjI;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,OAAgB,EAAE,WAAoB;IAClE,OAAO;QACH,OAAO,EAAE,OAAO,IAAI,OAAO;QAC3B,WAAW,EAAE,WAAW,IAAI,EAAE;QAC9B,eAAe,EAAE;YACb,UAAU,EAAE,SAAS;YACrB,qBAAqB,EAAE,GAAG;SAC7B;QACD,OAAO,EAAE;YACL,KAAK,EAAE,+CAA+C;YACtD,KAAK,EAAE,sDAAsD;SAChE;QACD,GAAG,EAAE;YACD,YAAY,EAAE,CAAC,qBAAqB,CAAC;SACxC;KACJ,CAAC;AACN,CAAC;AAhBD,0CAgBC;AACD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,GAAQ;IAChC,OAAO;QACH,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;QAC/B,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC7B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,EAAE;QACxC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,kBAAkB,GAAG,CAAC,EAAE,EAAE;QAC1D,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,yBAAyB;QAC7D,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO;KACnE,CAAC;AACN,CAAC;AAVD,kCAUC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,GAAS;IAC9B,MAAM,MAAM,GAAiB;QACzB,aAAa,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa,KAAI,MAAM;QAC3C,OAAO,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,KAAI,QAAQ;KACpC,CAAC;IACF,MAAM,CAAC,iBAAiB;QACpB,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,iBAAiB,KAAK,4CAAmC,CAAC,MAAM,CAAC,aAAc,CAAC,IAAI,QAAQ,CAAC;IACtG,MAAM,CAAC,YAAY,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,KAAI,UAAU,CAAC,MAAM,CAAC,OAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,MAAM,CAAC,QAAQ,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,KAAI,aAAa,CAAC;IACjD,4CAA4C;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAQ,CAAC;AACjD,CAAC;AAXD,4BAWC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/data/defaults.ts"],"names":[],"mappings":";;;;;;AACA,8GAA4D,CAAC,oEAAoE;AACjI;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,OAAgB,EAAE,WAAoB;IAClE,OAAO;QACH,OAAO,EAAE,OAAO,IAAI,OAAO;QAC3B,WAAW,EAAE,WAAW,IAAI,EAAE;QAC9B,eAAe,EAAE;YACb,UAAU,EAAE,SAAS;YACrB,qBAAqB,EAAE,GAAG;SAC7B;QACD,OAAO,EAAE;YACL,KAAK,EAAE,+CAA+C;YACtD,KAAK,EAAE,sDAAsD;SAChE;QACD,GAAG,EAAE;YACD,YAAY,EAAE,CAAC,qBAAqB,CAAC;SACxC;KACJ,CAAC;AACN,CAAC;AAhBD,0CAgBC;AACD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,GAAQ;IAChC,OAAO;QACH,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;QAC/B,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC7B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,EAAE;QACxC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,kBAAkB,GAAG,CAAC,EAAE,EAAE;QAC1D,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,yBAAyB;QAC7D,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO;KACnE,CAAC;AACN,CAAC;AAVD,kCAUC;AAEY,QAAA,WAAW,GAAG;IACvB,mBAAmB,EAAE,EAAE;IACvB,yBAAyB,EAAE,QAAQ;IACnC,wBAAwB,EAAE,QAAQ;IAClC,yBAAyB,EAAE,QAAQ;IACnC,UAAU,EAAE,qBAAqB;IACjC,WAAW,EAAE,mCAAmC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,GAAS;IAC9B,MAAM,MAAM,GAAiB;QACzB,aAAa,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa,KAAI,MAAM;QAC3C,OAAO,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,KAAI,mBAAW,CAAC,mBAAmB,CAAC,2DAA2D;KACvH,CAAC;IACF,MAAM,CAAC,SAAS,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,QAAQ,CAAC;IAC9C,MAAM,CAAC,YAAY;QACf,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,KAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAW,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAW,CAAC,WAAW,CAAC;IAE1G,kHAAkH;IAClH,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,EAAE;QACnB,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;KAC1C;SAAM;QACH,MAAM,CAAC,YAAY;YACf,6CAA6C;YAC7C,MAAM,CAAC,OAAO,KAAK,mBAAW,CAAC,mBAAmB;gBAC9C,CAAC,CAAC,mBAAW,CAAC,yBAAyB;gBACvC,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ;oBAC3B,CAAC,CAAC,mBAAW,CAAC,wBAAwB;oBACtC,CAAC,CAAC,mBAAW,CAAC,yBAAyB,CAAC,CAAC,0CAA0C;QAC/F,IAAI,UAAU,CAAC,MAAM,CAAC,OAAQ,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YAC/D,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,OAAQ,CAAC;SACzC;KACJ;IAED,MAAM,CAAC,iBAAiB;QACpB,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,iBAAiB,KAAK,4CAAmC,CAAC,MAAM,CAAC,aAAc,CAAC,IAAI,QAAQ,CAAC;IACtG,MAAM,CAAC,YAAY;QACf,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,KAAI,UAAU,CAAC,MAAM,CAAC,YAAa,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,CAAC,QAAQ,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,KAAI,aAAa,CAAC;IACjD,4CAA4C;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAQ,CAAC;AACjD,CAAC;AAhCD,4BAgCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMxD"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mergeWithDefaults = void 0;
4
4
  const defaults_1 = require("./defaults");
5
+ const validators_1 = require("./validators");
5
6
  /**
6
7
  * Merges Ui5App instance with default properties.
7
8
  * Replaces undefined mandatory properties with defaul values.
@@ -10,6 +11,7 @@ const defaults_1 = require("./defaults");
10
11
  * @returns {Ui5App} - the updated Ui5App instance
11
12
  */
12
13
  function mergeWithDefaults(ui5App) {
14
+ validators_1.validate(ui5App);
13
15
  ui5App.app = defaults_1.appDefaults(ui5App.app);
14
16
  ui5App.ui5 = defaults_1.mergeUi5(ui5App.ui5);
15
17
  ui5App.package = Object.assign(defaults_1.packageDefaults(ui5App.package.version, ui5App.app.description), ui5App.package);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":";;;AACA,yCAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,GAAG,GAAG,sBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,GAAG,mBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,0BAAe,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAChH,OAAO,MAAM,CAAC;AAClB,CAAC;AALD,8CAKC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":";;;AACA,yCAAoE;AACpE,6CAAwC;AAExC;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,qBAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,GAAG,sBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,GAAG,mBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,0BAAe,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAChH,OAAO,MAAM,CAAC;AAClB,CAAC;AAND,8CAMC"}
@@ -0,0 +1,18 @@
1
+ import { Ui5App } from '../types';
2
+ /**
3
+ * Validates the specified app id to ensure we do not create malformed documents.
4
+ *
5
+ * @param appId
6
+ * @throws Error with validation message, if the app id is not valid
7
+ * @returns true, if app id is validated
8
+ */
9
+ export declare function validateAppId(appId: string): boolean;
10
+ /**
11
+ * Validates the specified ui5App.
12
+ *
13
+ * @param ui5App
14
+ * @returns true, if the ui5App is valid
15
+ * @throws Error with validation message, if the ui5App is not valid
16
+ */
17
+ export declare function validate(ui5App: Ui5App): boolean;
18
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/data/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASpD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validate = exports.validateAppId = void 0;
4
+ /**
5
+ * Validates the specified app id to ensure we do not create malformed documents.
6
+ *
7
+ * @param appId
8
+ * @throws Error with validation message, if the app id is not valid
9
+ * @returns true, if app id is validated
10
+ */
11
+ function validateAppId(appId) {
12
+ if (!appId) {
13
+ throw new Error('The property: app.id must have a value'); // todo: add localised parameterised message
14
+ }
15
+ const match = appId.match(/["]/);
16
+ if (match) {
17
+ throw new Error(`The property: appId.id contains disallowed characters: ${match === null || match === void 0 ? void 0 : match.join()}`); // todo: Add localised message
18
+ }
19
+ return true;
20
+ }
21
+ exports.validateAppId = validateAppId;
22
+ /**
23
+ * Validates the specified ui5App.
24
+ *
25
+ * @param ui5App
26
+ * @returns true, if the ui5App is valid
27
+ * @throws Error with validation message, if the ui5App is not valid
28
+ */
29
+ function validate(ui5App) {
30
+ return validateAppId(ui5App.app.id);
31
+ }
32
+ exports.validate = validate;
33
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/data/validators.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,KAAa;IACvC,IAAI,CAAC,KAAK,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC,4CAA4C;KAC1G;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,EAAE;QACP,MAAM,IAAI,KAAK,CAAC,0DAA0D,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,8BAA8B;KAC7H;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AATD,sCASC;AAED;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,MAAc;IACnC,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC;AAFD,4BAEC"}
package/dist/types.d.ts CHANGED
@@ -21,6 +21,8 @@ export interface App {
21
21
  localStartFile?: string;
22
22
  }
23
23
  export interface UI5 {
24
+ framework?: 'SAPUI5' | 'OpenUI5';
25
+ frameworkUrl?: string;
24
26
  minUI5Version?: string;
25
27
  version?: string;
26
28
  localVersion?: string;
@@ -28,6 +30,7 @@ export interface UI5 {
28
30
  descriptorVersion?: string;
29
31
  ui5Libs?: string | string[];
30
32
  ui5Theme?: string;
33
+ directLoad?: boolean;
31
34
  }
32
35
  export interface AppOptions {
33
36
  codeAssist?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE;QACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;CACL;AAED,MAAM,WAAW,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,GAAG;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,UAAU;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACnB,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE;QACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;CACL;AAED,MAAM,WAAW,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,GAAG;IAChB,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,UAAU;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACnB,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;CACpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-ux/ui5-application-writer",
3
- "version": "0.9.1",
3
+ "version": "0.9.5",
4
4
  "license": "Apache-2.0",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -36,6 +36,6 @@
36
36
  },
37
37
  "engines": {
38
38
  "pnpm": ">=6.0.2",
39
- "node": ">=12.18.2 < 13.0.0 || > 14.0.0 < 15.0.0 || >=16.1.0 < 17.0.0"
39
+ "node": ">=12.22.5 < 13.0.0 || >= 14.16.0 < 15.0.0 || >=16.1.0 < 17.0.0"
40
40
  }
41
41
  }
@@ -1,4 +1,4 @@
1
- # This is the resource bundle for <%- package.name %>
1
+ # This is the resource bundle for <%- app.id %>
2
2
 
3
3
  #Texts for manifest.json
4
4
 
@@ -15,7 +15,7 @@
15
15
  src="resources/sap-ui-core.js"
16
16
  data-sap-ui-theme="<%- ui5.ui5Theme %>"
17
17
  data-sap-ui-resourceroots='{
18
- "<%=app.id%>": "./"
18
+ "<%- app.id %>": "./"
19
19
  }'
20
20
  data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"
21
21
  data-sap-ui-compatVersion="edge"