@sap/ux-specification 1.84.55 → 1.84.56
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/documentation/runDocu-min.js.map +1 -1
- package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
- package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
- package/dist/documentation/v2/v2-ListReport.html +2 -2
- package/dist/documentation/v2/v2-ObjectPage.html +2 -2
- package/dist/documentation/v2/v2-OverviewPage.html +2 -2
- package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
- package/dist/documentation/v4/v4-ListReport.html +2 -2
- package/dist/documentation/v4/v4-ObjectPage.html +2 -2
- package/dist/index-min.js +27 -27
- package/dist/index-min.js.map +3 -3
- package/dist/schemas/v2/ApplicationV2.json +2 -2
- package/dist/src/api.js +1 -1
- package/dist/src/sync/common/decoration/factory.d.ts +7 -7
- package/dist/src/sync/common/decoration/factory.d.ts.map +1 -1
- package/dist/src/sync/common/decoration/factory.js +2 -2
- package/dist/src/sync/common/decoration/factory.js.map +1 -1
- package/dist/src/sync/common/i18n.json +4 -2
- package/dist/src/sync/common/importProject.d.ts.map +1 -1
- package/dist/src/sync/common/importProject.js +17 -10
- package/dist/src/sync/common/importProject.js.map +1 -1
- package/dist/src/sync/common/utils.d.ts +6 -6
- package/dist/src/sync/common/utils.d.ts.map +1 -1
- package/dist/src/sync/common/utils.js +6 -6
- package/dist/src/sync/common/utils.js.map +1 -1
- package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -1
- package/dist/src/sync/v2/export/controls/Fragment.js +2 -1
- package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
- package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -1
- package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
- package/dist/src/sync/v2/export/export.js +1 -1
- package/dist/src/sync/v2/export/export.js.map +1 -1
- package/dist/src/sync/v2/export/exportPage.js +9 -9
- package/dist/src/sync/v2/export/exportPage.js.map +1 -1
- package/dist/src/sync/v2/export/factory.js +4 -4
- package/dist/src/sync/v2/export/factory.js.map +1 -1
- package/dist/src/sync/v2/export/manifest.d.ts.map +1 -1
- package/dist/src/sync/v2/export/manifest.js +2 -2
- package/dist/src/sync/v2/export/manifest.js.map +1 -1
- package/dist/src/sync/v2/generate/analyticalListReport.d.ts +1 -1
- package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/analyticalListReport.js +20 -27
- package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
- package/dist/src/sync/v2/generate/generate.d.ts +12 -12
- package/dist/src/sync/v2/generate/generate.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/generate.js +61 -45
- package/dist/src/sync/v2/generate/generate.js.map +1 -1
- package/dist/src/sync/v2/generate/listReport.d.ts +1 -3
- package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/listReport.js +5 -11
- package/dist/src/sync/v2/generate/listReport.js.map +1 -1
- package/dist/src/sync/v2/generate/objectPage.d.ts +1 -2
- package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/objectPage.js +66 -79
- package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
- package/dist/src/sync/v2/generate/utils.d.ts +2 -2
- package/dist/src/sync/v2/generate/utils.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/utils.js.map +1 -1
- package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
- package/dist/src/sync/v2/import/app/appProvider.js +2 -2
- package/dist/src/sync/v2/import/app/appProvider.js.map +1 -1
- package/dist/src/sync/v2/import/app/ovpProvider.js +2 -2
- package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -1
- package/dist/src/sync/v2/import/common/index.d.ts +2 -2
- package/dist/src/sync/v2/import/common/index.d.ts.map +1 -1
- package/dist/src/sync/v2/import/common/index.js +3 -3
- package/dist/src/sync/v2/import/common/index.js.map +1 -1
- package/dist/src/sync/v2/import/pages/analyticalListPage.js +12 -12
- package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
- package/dist/src/sync/v2/import/pages/listReport.js +9 -9
- package/dist/src/sync/v2/import/pages/listReport.js.map +1 -1
- package/dist/src/sync/v2/import/pages/objectPage.js +14 -14
- package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
- package/dist/src/sync/v2/import/pages/overviewPage.js +1 -1
- package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -1
- package/dist/src/sync/v2/import/utils.d.ts.map +1 -1
- package/dist/src/sync/v2/import/utils.js +3 -3
- package/dist/src/sync/v2/import/utils.js.map +1 -1
- package/dist/src/sync/v2/types.d.ts +2 -2
- package/dist/src/sync/v2/types.d.ts.map +1 -1
- package/dist/src/sync/v4/application.js +1 -1
- package/dist/src/sync/v4/export/export.js +5 -5
- package/dist/src/sync/v4/export/export.js.map +1 -1
- package/dist/src/sync/v4/export/factory.js +3 -3
- package/dist/src/sync/v4/export/factory.js.map +1 -1
- package/dist/src/sync/v4/export/types.d.ts +2 -2
- package/dist/src/sync/v4/export/types.d.ts.map +1 -1
- package/dist/src/sync/v4/generate/listReport.d.ts +11 -1
- package/dist/src/sync/v4/generate/listReport.d.ts.map +1 -1
- package/dist/src/sync/v4/generate/listReport.js +14 -11
- package/dist/src/sync/v4/generate/listReport.js.map +1 -1
- package/dist/src/sync/v4/generate/objectPage.js +1 -1
- package/dist/src/sync/v4/import/app/baseAppProvider.d.ts +1 -1
- package/dist/src/sync/v4/import/app/baseAppProvider.d.ts.map +1 -1
- package/dist/src/sync/v4/import/app/baseAppProvider.js +1 -1
- package/dist/src/sync/v4/import/app/baseAppProvider.js.map +1 -1
- package/dist/src/sync/v4/import/pages/objectPage.js +2 -2
- package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
- package/dist/src/sync/v4/types.d.ts +9 -0
- package/dist/src/sync/v4/types.d.ts.map +1 -1
- package/dist/src/sync/v4/utils/StableIdHelper.js +1 -1
- package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -1
- package/dist/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/src/sync/v4/utils/utils.js +3 -2
- package/dist/src/sync/v4/utils/utils.js.map +1 -1
- package/package.json +7 -5
- package/dist/scripts/extractDocu.d.ts +0 -2
- package/dist/scripts/extractDocu.d.ts.map +0 -1
- package/dist/scripts/extractDocu.js +0 -514
- package/dist/scripts/extractDocu.js.map +0 -1
- package/dist/scripts/runDocu.d.ts +0 -2
- package/dist/scripts/runDocu.d.ts.map +0 -1
- package/dist/scripts/runDocu.js +0 -581
- package/dist/scripts/runDocu.js.map +0 -1
- package/dist/scripts/spec.d.ts +0 -2
- package/dist/scripts/spec.d.ts.map +0 -1
- package/dist/scripts/spec.js +0 -113
- package/dist/scripts/spec.js.map +0 -1
- package/dist/scripts/to-json-schema.d.ts +0 -11
- package/dist/scripts/to-json-schema.d.ts.map +0 -1
- package/dist/scripts/to-json-schema.js +0 -154
- package/dist/scripts/to-json-schema.js.map +0 -1
package/dist/scripts/spec.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const fs_1 = require("fs");
|
|
4
|
-
const path_1 = require("path");
|
|
5
|
-
const project_1 = require("../src/project");
|
|
6
|
-
const src_1 = require("../src");
|
|
7
|
-
var ExecutionMode;
|
|
8
|
-
(function (ExecutionMode) {
|
|
9
|
-
ExecutionMode["Import"] = "import";
|
|
10
|
-
})(ExecutionMode || (ExecutionMode = {}));
|
|
11
|
-
/**
|
|
12
|
-
* Write a single file
|
|
13
|
-
* @param path - file path
|
|
14
|
-
* @param content - file content
|
|
15
|
-
*/
|
|
16
|
-
async function write(path, content) {
|
|
17
|
-
return new Promise((resolve, reject) => {
|
|
18
|
-
fs_1.writeFile(path, content, { encoding: 'utf8' }, (err) => {
|
|
19
|
-
if (err) {
|
|
20
|
-
reject(err);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
resolve();
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Write files, create target directory if not exists
|
|
30
|
-
* @param directory - target directory
|
|
31
|
-
* @param files - list of files with name and content
|
|
32
|
-
*/
|
|
33
|
-
async function writeFiles(directory, files) {
|
|
34
|
-
for (const file of files) {
|
|
35
|
-
const path = path_1.join(directory, file.dataSourceUri);
|
|
36
|
-
const targetDir = path_1.dirname(path);
|
|
37
|
-
if (!(await project_1.isDirectory(targetDir))) {
|
|
38
|
-
fs_1.mkdirSync(targetDir, { recursive: true });
|
|
39
|
-
}
|
|
40
|
-
await write(path_1.join(directory, file.dataSourceUri), file.fileContent);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Format the resulting files as string
|
|
45
|
-
* @param files - list of files as {dataSourceUri: string, fileContent: string}
|
|
46
|
-
*/
|
|
47
|
-
const formatterFileContent = (files) => files.reduce((result, file) => result + `\nFile: '${file.dataSourceUri}':\n${file.fileContent}`, '');
|
|
48
|
-
/**
|
|
49
|
-
* Get config and schemas from project
|
|
50
|
-
* @param projectRoot - root of the project where package.json is located
|
|
51
|
-
*/
|
|
52
|
-
async function importFiles(projectRoot, outputPath) {
|
|
53
|
-
const { annotations, manifest, changes: flex } = await project_1.getProject(projectRoot);
|
|
54
|
-
let resultString = '';
|
|
55
|
-
const files = await src_1.importProject({
|
|
56
|
-
annotations,
|
|
57
|
-
manifest,
|
|
58
|
-
flex
|
|
59
|
-
});
|
|
60
|
-
if (outputPath) {
|
|
61
|
-
writeFiles(outputPath, files);
|
|
62
|
-
resultString = `Files written to '${outputPath}'`;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
resultString = formatterFileContent(files);
|
|
66
|
-
}
|
|
67
|
-
return resultString;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Parse the command line parameters
|
|
71
|
-
* @param args - content of process.argv
|
|
72
|
-
*/
|
|
73
|
-
async function getParameters(args) {
|
|
74
|
-
if (process.argv.length > 3) {
|
|
75
|
-
const [mode, projectRoot, ...commandArgs] = args.slice(2);
|
|
76
|
-
if (mode !== "import" /* Import */) {
|
|
77
|
-
throw Error(`Unkown mode: '${mode}'. Please use '${"import" /* Import */}'`);
|
|
78
|
-
}
|
|
79
|
-
if (!(await project_1.isDirectory(projectRoot))) {
|
|
80
|
-
throw Error(`Directory '${projectRoot}' doesn't exist.`);
|
|
81
|
-
}
|
|
82
|
-
const outputPath = commandArgs.find((arg) => arg.toLowerCase().startsWith('--output='))?.substring(9);
|
|
83
|
-
return {
|
|
84
|
-
mode: "import" /* Import */,
|
|
85
|
-
projectRoot,
|
|
86
|
-
outputPath
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
throw Error(`Usage: ${path_1.basename(args[0])} ${path_1.basename(args[1])} import <PROJECT_ROOT_PATH> [--output=<PATH>]`);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Run the required execution mode, e.g. import a project
|
|
93
|
-
* @param argv - command line arguments as string array
|
|
94
|
-
*/
|
|
95
|
-
async function run(argv) {
|
|
96
|
-
const parameters = await getParameters(argv);
|
|
97
|
-
switch (parameters.mode) {
|
|
98
|
-
case "import" /* Import */: {
|
|
99
|
-
const result = await importFiles(parameters.projectRoot, parameters.outputPath);
|
|
100
|
-
console.log(result);
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
default: {
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Usage through command line
|
|
110
|
-
* node spec.js import <PROJECT_ROOT_PATH> [--output=<PATH>]
|
|
111
|
-
*/
|
|
112
|
-
run(process.argv).catch((e) => console.error(e.message));
|
|
113
|
-
//# sourceMappingURL=spec.js.map
|
package/dist/scripts/spec.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../scripts/spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FioriElementsVersion } from '@sap/ux-specification-types';
|
|
2
|
-
export declare type Schema = {
|
|
3
|
-
[name: string]: object;
|
|
4
|
-
};
|
|
5
|
-
/**
|
|
6
|
-
* Convert interfaces to json schema
|
|
7
|
-
* @param path - path to interfaces
|
|
8
|
-
* @param files - file names, filename must match the main symbol (interface) in the content of the file
|
|
9
|
-
*/
|
|
10
|
-
export declare function convertInterfaces(path: string, files: string[], version: FioriElementsVersion): Schema[];
|
|
11
|
-
//# sourceMappingURL=to-json-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../scripts/to-json-schema.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,oBAAY,MAAM,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAyBhD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CA4BxG"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.convertInterfaces = void 0;
|
|
23
|
-
const path_1 = require("path");
|
|
24
|
-
const fs = __importStar(require("fs"));
|
|
25
|
-
const typescript_json_schema_1 = require("typescript-json-schema");
|
|
26
|
-
const utils_1 = require("../src/sync/v2/generate/utils");
|
|
27
|
-
const factory_1 = require("../src/sync/v2/export/factory");
|
|
28
|
-
const factory_2 = require("../src/sync/v4/export/factory");
|
|
29
|
-
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
30
|
-
//TS compiler options, compare with tsconfig
|
|
31
|
-
const compilerOptions = {
|
|
32
|
-
skipLibCheck: true,
|
|
33
|
-
types: ['node', 'jest'],
|
|
34
|
-
esModuleInterop: true,
|
|
35
|
-
resolveJsonModule: true,
|
|
36
|
-
downlevelIteration: true
|
|
37
|
-
};
|
|
38
|
-
const generatorSettings = {
|
|
39
|
-
noExtraProps: true,
|
|
40
|
-
required: true,
|
|
41
|
-
validationKeywords: [
|
|
42
|
-
'i18nClassification',
|
|
43
|
-
'isViewNode',
|
|
44
|
-
'displayName',
|
|
45
|
-
'controlProperty',
|
|
46
|
-
'hidden',
|
|
47
|
-
'minimum',
|
|
48
|
-
'artifactType'
|
|
49
|
-
]
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Convert interfaces to json schema
|
|
53
|
-
* @param path - path to interfaces
|
|
54
|
-
* @param files - file names, filename must match the main symbol (interface) in the content of the file
|
|
55
|
-
*/
|
|
56
|
-
function convertInterfaces(path, files, version) {
|
|
57
|
-
const schemas = [];
|
|
58
|
-
files.forEach((file) => {
|
|
59
|
-
const program = typescript_json_schema_1.getProgramFromFiles([path_1.join(path, file)], compilerOptions, path);
|
|
60
|
-
const currentType = file.replace('.ts', '');
|
|
61
|
-
const generator = typescript_json_schema_1.buildGenerator(program, generatorSettings);
|
|
62
|
-
if (generator) {
|
|
63
|
-
const filename = file.replace('.ts', '.json');
|
|
64
|
-
schemas[filename] = generator.getSchemaForSymbol(currentType);
|
|
65
|
-
if (file.search('Config') > -1) {
|
|
66
|
-
//it is a page template ==> enhance schema by further information from reflect-metadata
|
|
67
|
-
let pageType;
|
|
68
|
-
let factory;
|
|
69
|
-
if (version === ux_specification_types_1.FioriElementsVersion.v2) {
|
|
70
|
-
factory = new factory_1.MetadataInstanceFactoryV2();
|
|
71
|
-
pageType = file.split('Config')[0];
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
factory = new factory_2.MetadataInstanceFactoryV4();
|
|
75
|
-
pageType = file.split('Config')[0];
|
|
76
|
-
}
|
|
77
|
-
const page = factory.createPageInstance(pageType, {});
|
|
78
|
-
utils_1.processMetadata(schemas[filename], schemas[filename], page, pageType, factory);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
return schemas;
|
|
83
|
-
}
|
|
84
|
-
exports.convertInterfaces = convertInterfaces;
|
|
85
|
-
function writeSchemasToFile(path, schemas, version, eliminateVersion = false) {
|
|
86
|
-
const dirToWrite = path_1.join(path, version);
|
|
87
|
-
if (!fs.existsSync(dirToWrite)) {
|
|
88
|
-
fs.mkdirSync(dirToWrite);
|
|
89
|
-
}
|
|
90
|
-
for (const name in schemas) {
|
|
91
|
-
const fileName = eliminateVersion ? name.replace('V2', '').replace('V4', '') : name;
|
|
92
|
-
const file = path_1.join(dirToWrite, fileName);
|
|
93
|
-
fs.writeFile(file, JSON.stringify(schemas[name], null, 2), function (err) {
|
|
94
|
-
if (err) {
|
|
95
|
-
return console.log(err);
|
|
96
|
-
}
|
|
97
|
-
console.log("File: '" + file + "' saved.");
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
function convertPagesOfFEVersion(paths, version, outputPath) {
|
|
102
|
-
let fileNames = [];
|
|
103
|
-
for (let index = 0; index < paths.length; index++) {
|
|
104
|
-
fs.readdir(paths[index], function (err, files) {
|
|
105
|
-
if (err) {
|
|
106
|
-
return console.error(err);
|
|
107
|
-
}
|
|
108
|
-
files.forEach(function (pathName) {
|
|
109
|
-
const fileName = path_1.basename(pathName);
|
|
110
|
-
if (fileName !== 'index.ts') {
|
|
111
|
-
if (!paths[index]) {
|
|
112
|
-
paths[index] = pathName.replace(fileName, '');
|
|
113
|
-
}
|
|
114
|
-
fileNames.push(fileName);
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
const schemas = convertInterfaces(paths[index], fileNames, version);
|
|
118
|
-
fileNames = [];
|
|
119
|
-
writeSchemasToFile(outputPath, schemas, version, true);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Converts all application and page definitions to JSON schema
|
|
125
|
-
* @param outputPath - path to write to
|
|
126
|
-
*/
|
|
127
|
-
async function toJsonSchema(outputPath) {
|
|
128
|
-
let schemas = [];
|
|
129
|
-
const rootName = __dirname.slice(0, __dirname.lastIndexOf('specification'));
|
|
130
|
-
const typesPath = path_1.join(rootName, 'types', 'src');
|
|
131
|
-
//Pages V2
|
|
132
|
-
let paths = [];
|
|
133
|
-
paths.push(path_1.join(typesPath, 'v2', 'pages'));
|
|
134
|
-
convertPagesOfFEVersion(paths, ux_specification_types_1.FioriElementsVersion.v2, outputPath);
|
|
135
|
-
//Pages V4
|
|
136
|
-
paths = [];
|
|
137
|
-
paths.push(path_1.join(typesPath, 'v4', 'pages'));
|
|
138
|
-
convertPagesOfFEVersion(paths, ux_specification_types_1.FioriElementsVersion.v4, outputPath);
|
|
139
|
-
//App V2
|
|
140
|
-
schemas = convertInterfaces(path_1.join(typesPath, 'v2'), ['ApplicationV2.ts'], ux_specification_types_1.FioriElementsVersion.v2);
|
|
141
|
-
writeSchemasToFile(outputPath, schemas, 'v2');
|
|
142
|
-
//App V4
|
|
143
|
-
schemas = convertInterfaces(path_1.join(typesPath, 'v4'), ['ApplicationV4.ts'], ux_specification_types_1.FioriElementsVersion.v4);
|
|
144
|
-
writeSchemasToFile(outputPath, schemas, 'v4');
|
|
145
|
-
}
|
|
146
|
-
const dir = path_1.join(__dirname, '..', 'schemas');
|
|
147
|
-
if (!fs.existsSync(dir)) {
|
|
148
|
-
fs.mkdirSync(dir);
|
|
149
|
-
}
|
|
150
|
-
// Do not build the schemas when tests are running
|
|
151
|
-
if (!process.env.JEST_WORKER_ID) {
|
|
152
|
-
toJsonSchema(dir);
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=to-json-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-json-schema.js","sourceRoot":"","sources":["../../scripts/to-json-schema.ts"],"names":[],"mappings":"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"}
|