@giteeteam/apps-manifest 0.8.0 → 0.8.2
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/lib/index.d.ts +2 -2
- package/lib/index.js +20 -20
- package/lib/manifest.d.ts +64 -64
- package/lib/manifest.js +126 -126
- package/lib/schema/all.json +34 -34
- package/lib/schema/app.json +21 -21
- package/lib/schema/dependVersion.json +6 -6
- package/lib/schema/locales.json +6 -6
- package/lib/schema/messageQueues.json +31 -31
- package/lib/schema/modules/custom-field/field.json +19 -19
- package/lib/schema/modules/custom-field/proxima-field.json +19 -19
- package/lib/schema/modules/custom-field/type.json +18 -18
- package/lib/schema/modules/custom-item-type/base.json +16 -16
- package/lib/schema/modules/frontend/base.json +25 -25
- package/lib/schema/modules/frontend/workspacePage.json +28 -28
- package/lib/schema/modules/function/base.json +15 -15
- package/lib/schema/modules/index.json +180 -180
- package/lib/schema/modules/proxima-workflow/condition.json +39 -39
- package/lib/schema/modules/proxima-workflow/post-function.json +36 -36
- package/lib/schema/modules/proxima-workflow/resource.json +15 -15
- package/lib/schema/modules/proxima-workflow/validator.json +56 -56
- package/lib/schema/modules/trigger/base.json +26 -26
- package/lib/schema/modules/trigger/webtrigger.json +15 -15
- package/lib/schema/resources.json +27 -27
- package/lib/schema/storage.json +92 -92
- package/lib/schema/tables.json +151 -151
- package/lib/types.d.ts +132 -130
- package/lib/types.js +2 -2
- package/lib/validate.d.ts +75 -75
- package/lib/validate.js +231 -231
- package/package.json +7 -5
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Manifest } from './manifest';
|
|
2
|
-
export * from './types';
|
|
1
|
+
export { Manifest } from './manifest';
|
|
2
|
+
export * from './types';
|
package/lib/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Manifest = void 0;
|
|
18
|
-
var manifest_1 = require("./manifest");
|
|
19
|
-
Object.defineProperty(exports, "Manifest", { enumerable: true, get: function () { return manifest_1.Manifest; } });
|
|
20
|
-
__exportStar(require("./types"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Manifest = void 0;
|
|
18
|
+
var manifest_1 = require("./manifest");
|
|
19
|
+
Object.defineProperty(exports, "Manifest", { enumerable: true, get: function () { return manifest_1.Manifest; } });
|
|
20
|
+
__exportStar(require("./types"), exports);
|
package/lib/manifest.d.ts
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
import type { IManifest } from './types';
|
|
2
|
-
export declare class Manifest {
|
|
3
|
-
private readonly manifest;
|
|
4
|
-
private readonly manifestString;
|
|
5
|
-
constructor(manifestString: string);
|
|
6
|
-
get resources(): import("./types").IManifestResource[] | undefined;
|
|
7
|
-
get app(): import("./types").IManifestApp;
|
|
8
|
-
get tables(): any;
|
|
9
|
-
get modules(): import("./types").TManifestModules;
|
|
10
|
-
get storage(): import("./types").IStorage | undefined;
|
|
11
|
-
get locales(): import("./types").TManifestLocales | undefined;
|
|
12
|
-
get messageQueues(): import("./types").IMessageQueue[] | undefined;
|
|
13
|
-
getManifest(): IManifest;
|
|
14
|
-
getManifestString(): string;
|
|
15
|
-
/**
|
|
16
|
-
* 获取所有自定义事项类型
|
|
17
|
-
*/
|
|
18
|
-
getCustomItemType(): any[];
|
|
19
|
-
/**
|
|
20
|
-
* 获取所有自定义字段类型
|
|
21
|
-
*/
|
|
22
|
-
getCustomFieldType(): import("./types").IManifestCustomFieldType[];
|
|
23
|
-
/**
|
|
24
|
-
* 获取所有自定义字段
|
|
25
|
-
*/
|
|
26
|
-
getCustomField(): import("./types").IManifestCustomField[];
|
|
27
|
-
/**
|
|
28
|
-
* 根据key获取执行的function
|
|
29
|
-
* @param key
|
|
30
|
-
* @returns
|
|
31
|
-
*/
|
|
32
|
-
getFunctionByKey(key: string): import("./types").IManifestFunction | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* 根据functionKey获取执行的function
|
|
35
|
-
* @param functionKey
|
|
36
|
-
* @returns
|
|
37
|
-
*/
|
|
38
|
-
getFunctionByFunctionKey(functionKey: string): import("./types").IManifestFunction | undefined;
|
|
39
|
-
/**
|
|
40
|
-
* 根据key获取执行的functionKey
|
|
41
|
-
* @param key
|
|
42
|
-
* @returns
|
|
43
|
-
*/
|
|
44
|
-
getFunctionKeyByKey(key: string): string | undefined;
|
|
45
|
-
/**
|
|
46
|
-
* 获取function下的文件列表
|
|
47
|
-
* @returns
|
|
48
|
-
*/
|
|
49
|
-
getFunctionFiles(): string[];
|
|
50
|
-
/**
|
|
51
|
-
* 校验manifest
|
|
52
|
-
* @returns
|
|
53
|
-
*/
|
|
54
|
-
validate(): {
|
|
55
|
-
pass: boolean;
|
|
56
|
-
errors: any[];
|
|
57
|
-
} | {
|
|
58
|
-
pass: boolean;
|
|
59
|
-
errors: {
|
|
60
|
-
path: string;
|
|
61
|
-
message: string | undefined;
|
|
62
|
-
}[] | null;
|
|
63
|
-
};
|
|
64
|
-
}
|
|
1
|
+
import type { IManifest } from './types';
|
|
2
|
+
export declare class Manifest {
|
|
3
|
+
private readonly manifest;
|
|
4
|
+
private readonly manifestString;
|
|
5
|
+
constructor(manifestString: string);
|
|
6
|
+
get resources(): import("./types").IManifestResource[] | undefined;
|
|
7
|
+
get app(): import("./types").IManifestApp;
|
|
8
|
+
get tables(): any;
|
|
9
|
+
get modules(): import("./types").TManifestModules;
|
|
10
|
+
get storage(): import("./types").IStorage | undefined;
|
|
11
|
+
get locales(): import("./types").TManifestLocales | undefined;
|
|
12
|
+
get messageQueues(): import("./types").IMessageQueue[] | undefined;
|
|
13
|
+
getManifest(): IManifest;
|
|
14
|
+
getManifestString(): string;
|
|
15
|
+
/**
|
|
16
|
+
* 获取所有自定义事项类型
|
|
17
|
+
*/
|
|
18
|
+
getCustomItemType(): any[];
|
|
19
|
+
/**
|
|
20
|
+
* 获取所有自定义字段类型
|
|
21
|
+
*/
|
|
22
|
+
getCustomFieldType(): import("./types").IManifestCustomFieldType[];
|
|
23
|
+
/**
|
|
24
|
+
* 获取所有自定义字段
|
|
25
|
+
*/
|
|
26
|
+
getCustomField(): import("./types").IManifestCustomField[];
|
|
27
|
+
/**
|
|
28
|
+
* 根据key获取执行的function
|
|
29
|
+
* @param key
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
getFunctionByKey(key: string): import("./types").IManifestFunction | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* 根据functionKey获取执行的function
|
|
35
|
+
* @param functionKey
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
getFunctionByFunctionKey(functionKey: string): import("./types").IManifestFunction | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* 根据key获取执行的functionKey
|
|
41
|
+
* @param key
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
getFunctionKeyByKey(key: string): string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* 获取function下的文件列表
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
getFunctionFiles(): string[];
|
|
50
|
+
/**
|
|
51
|
+
* 校验manifest
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
validate(): {
|
|
55
|
+
pass: boolean;
|
|
56
|
+
errors: any[];
|
|
57
|
+
} | {
|
|
58
|
+
pass: boolean;
|
|
59
|
+
errors: {
|
|
60
|
+
path: string;
|
|
61
|
+
message: string | undefined;
|
|
62
|
+
}[] | null;
|
|
63
|
+
};
|
|
64
|
+
}
|
package/lib/manifest.js
CHANGED
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Manifest = void 0;
|
|
4
|
-
const yaml_1 = require("yaml");
|
|
5
|
-
const validate_1 = require("./validate");
|
|
6
|
-
class Manifest {
|
|
7
|
-
constructor(manifestString) {
|
|
8
|
-
this.manifest = (0, yaml_1.parse)(manifestString);
|
|
9
|
-
this.manifestString = manifestString;
|
|
10
|
-
}
|
|
11
|
-
get resources() {
|
|
12
|
-
return this.manifest.resources;
|
|
13
|
-
}
|
|
14
|
-
get app() {
|
|
15
|
-
return this.manifest.app;
|
|
16
|
-
}
|
|
17
|
-
get tables() {
|
|
18
|
-
return this.manifest.tables;
|
|
19
|
-
}
|
|
20
|
-
get modules() {
|
|
21
|
-
return this.manifest.modules;
|
|
22
|
-
}
|
|
23
|
-
get storage() {
|
|
24
|
-
return this.manifest.storage;
|
|
25
|
-
}
|
|
26
|
-
get locales() {
|
|
27
|
-
return this.manifest.locales;
|
|
28
|
-
}
|
|
29
|
-
get messageQueues() {
|
|
30
|
-
return this.manifest.messageQueues;
|
|
31
|
-
}
|
|
32
|
-
getManifest() {
|
|
33
|
-
return this.manifest;
|
|
34
|
-
}
|
|
35
|
-
getManifestString() {
|
|
36
|
-
return this.manifestString;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 获取所有自定义事项类型
|
|
40
|
-
*/
|
|
41
|
-
getCustomItemType() {
|
|
42
|
-
const { modules } = this.manifest;
|
|
43
|
-
return modules.customItemType || [];
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* 获取所有自定义字段类型
|
|
47
|
-
*/
|
|
48
|
-
getCustomFieldType() {
|
|
49
|
-
const { modules } = this.manifest;
|
|
50
|
-
return modules.customFieldType || [];
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* 获取所有自定义字段
|
|
54
|
-
*/
|
|
55
|
-
getCustomField() {
|
|
56
|
-
const { modules } = this.manifest;
|
|
57
|
-
return modules.customField || [];
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* 根据key获取执行的function
|
|
61
|
-
* @param key
|
|
62
|
-
* @returns
|
|
63
|
-
*/
|
|
64
|
-
getFunctionByKey(key) {
|
|
65
|
-
const functionKey = this.getFunctionKeyByKey(key);
|
|
66
|
-
if (functionKey) {
|
|
67
|
-
return this.getFunctionByFunctionKey(functionKey);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* 根据functionKey获取执行的function
|
|
72
|
-
* @param functionKey
|
|
73
|
-
* @returns
|
|
74
|
-
*/
|
|
75
|
-
getFunctionByFunctionKey(functionKey) {
|
|
76
|
-
var _a, _b;
|
|
77
|
-
return (_b = (_a = this.manifest.modules) === null || _a === void 0 ? void 0 : _a.function) === null || _b === void 0 ? void 0 : _b.find(f => f.key === functionKey);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* 根据key获取执行的functionKey
|
|
81
|
-
* @param key
|
|
82
|
-
* @returns
|
|
83
|
-
*/
|
|
84
|
-
getFunctionKeyByKey(key) {
|
|
85
|
-
var _a, _b, _c;
|
|
86
|
-
const { modules } = this.manifest;
|
|
87
|
-
for (const k in modules) {
|
|
88
|
-
if (k === 'function') {
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
else if (k === 'importer') {
|
|
92
|
-
// importer扩展点需要判断function和validate
|
|
93
|
-
if (key === ((_a = modules[k]) === null || _a === void 0 ? void 0 : _a.function) || key === ((_b = modules[k]) === null || _b === void 0 ? void 0 : _b.validate)) {
|
|
94
|
-
return key;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
else if (Array.isArray(modules[k])) {
|
|
98
|
-
const targetModule = (
|
|
99
|
-
if (targetModule) {
|
|
100
|
-
return targetModule.function;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* 获取function下的文件列表
|
|
107
|
-
* @returns
|
|
108
|
-
*/
|
|
109
|
-
getFunctionFiles() {
|
|
110
|
-
var _a, _b;
|
|
111
|
-
const fileNames = new Set();
|
|
112
|
-
(_b = (_a = this.manifest.modules) === null || _a === void 0 ? void 0 : _a.function) === null || _b === void 0 ? void 0 : _b.forEach(({ handler }) => {
|
|
113
|
-
const filename = handler.split('.')[0];
|
|
114
|
-
fileNames.add(filename);
|
|
115
|
-
});
|
|
116
|
-
return [...fileNames];
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* 校验manifest
|
|
120
|
-
* @returns
|
|
121
|
-
*/
|
|
122
|
-
validate() {
|
|
123
|
-
return (0, validate_1.validateAll)(this.getManifest());
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.Manifest = Manifest;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Manifest = void 0;
|
|
4
|
+
const yaml_1 = require("yaml");
|
|
5
|
+
const validate_1 = require("./validate");
|
|
6
|
+
class Manifest {
|
|
7
|
+
constructor(manifestString) {
|
|
8
|
+
this.manifest = (0, yaml_1.parse)(manifestString);
|
|
9
|
+
this.manifestString = manifestString;
|
|
10
|
+
}
|
|
11
|
+
get resources() {
|
|
12
|
+
return this.manifest.resources;
|
|
13
|
+
}
|
|
14
|
+
get app() {
|
|
15
|
+
return this.manifest.app;
|
|
16
|
+
}
|
|
17
|
+
get tables() {
|
|
18
|
+
return this.manifest.tables;
|
|
19
|
+
}
|
|
20
|
+
get modules() {
|
|
21
|
+
return this.manifest.modules;
|
|
22
|
+
}
|
|
23
|
+
get storage() {
|
|
24
|
+
return this.manifest.storage;
|
|
25
|
+
}
|
|
26
|
+
get locales() {
|
|
27
|
+
return this.manifest.locales;
|
|
28
|
+
}
|
|
29
|
+
get messageQueues() {
|
|
30
|
+
return this.manifest.messageQueues;
|
|
31
|
+
}
|
|
32
|
+
getManifest() {
|
|
33
|
+
return this.manifest;
|
|
34
|
+
}
|
|
35
|
+
getManifestString() {
|
|
36
|
+
return this.manifestString;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 获取所有自定义事项类型
|
|
40
|
+
*/
|
|
41
|
+
getCustomItemType() {
|
|
42
|
+
const { modules } = this.manifest;
|
|
43
|
+
return modules.customItemType || [];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 获取所有自定义字段类型
|
|
47
|
+
*/
|
|
48
|
+
getCustomFieldType() {
|
|
49
|
+
const { modules } = this.manifest;
|
|
50
|
+
return modules.customFieldType || [];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 获取所有自定义字段
|
|
54
|
+
*/
|
|
55
|
+
getCustomField() {
|
|
56
|
+
const { modules } = this.manifest;
|
|
57
|
+
return modules.customField || [];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 根据key获取执行的function
|
|
61
|
+
* @param key
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
getFunctionByKey(key) {
|
|
65
|
+
const functionKey = this.getFunctionKeyByKey(key);
|
|
66
|
+
if (functionKey) {
|
|
67
|
+
return this.getFunctionByFunctionKey(functionKey);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 根据functionKey获取执行的function
|
|
72
|
+
* @param functionKey
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
getFunctionByFunctionKey(functionKey) {
|
|
76
|
+
var _a, _b;
|
|
77
|
+
return (_b = (_a = this.manifest.modules) === null || _a === void 0 ? void 0 : _a.function) === null || _b === void 0 ? void 0 : _b.find(f => f.key === functionKey);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 根据key获取执行的functionKey
|
|
81
|
+
* @param key
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
getFunctionKeyByKey(key) {
|
|
85
|
+
var _a, _b, _c, _d;
|
|
86
|
+
const { modules } = this.manifest;
|
|
87
|
+
for (const k in modules) {
|
|
88
|
+
if (k === 'function') {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
else if (k === 'importer') {
|
|
92
|
+
// importer扩展点需要判断function和validate
|
|
93
|
+
if (key === ((_a = modules[k]) === null || _a === void 0 ? void 0 : _a.function) || key === ((_b = modules[k]) === null || _b === void 0 ? void 0 : _b.validate) || key === ((_c = modules[k]) === null || _c === void 0 ? void 0 : _c.after)) {
|
|
94
|
+
return key;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else if (Array.isArray(modules[k])) {
|
|
98
|
+
const targetModule = (_d = modules[k]) === null || _d === void 0 ? void 0 : _d.find(v => v.key === key);
|
|
99
|
+
if (targetModule) {
|
|
100
|
+
return targetModule.function;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 获取function下的文件列表
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
109
|
+
getFunctionFiles() {
|
|
110
|
+
var _a, _b;
|
|
111
|
+
const fileNames = new Set();
|
|
112
|
+
(_b = (_a = this.manifest.modules) === null || _a === void 0 ? void 0 : _a.function) === null || _b === void 0 ? void 0 : _b.forEach(({ handler }) => {
|
|
113
|
+
const filename = handler.split('.')[0];
|
|
114
|
+
fileNames.add(filename);
|
|
115
|
+
});
|
|
116
|
+
return [...fileNames];
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 校验manifest
|
|
120
|
+
* @returns
|
|
121
|
+
*/
|
|
122
|
+
validate() {
|
|
123
|
+
return (0, validate_1.validateAll)(this.getManifest());
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.Manifest = Manifest;
|
package/lib/schema/all.json
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "http://proxima.com/schemas/all.json",
|
|
3
|
-
"type": "object",
|
|
4
|
-
"properties": {
|
|
5
|
-
"app": {
|
|
6
|
-
"$ref": "app.json"
|
|
7
|
-
},
|
|
8
|
-
"modules": {
|
|
9
|
-
"$ref": "modules/index.json"
|
|
10
|
-
},
|
|
11
|
-
"resources": {
|
|
12
|
-
"$ref": "resources.json"
|
|
13
|
-
},
|
|
14
|
-
"tables": {
|
|
15
|
-
"$ref": "tables.json"
|
|
16
|
-
},
|
|
17
|
-
"locales": {
|
|
18
|
-
"$ref": "locales.json"
|
|
19
|
-
},
|
|
20
|
-
"dependVersion": {
|
|
21
|
-
"$ref": "dependVersion.json"
|
|
22
|
-
},
|
|
23
|
-
"storage": {
|
|
24
|
-
"$ref": "storage.json"
|
|
25
|
-
},
|
|
26
|
-
"messageQueues": {
|
|
27
|
-
"$ref": "messageQueues.json"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"required": [
|
|
31
|
-
"app"
|
|
32
|
-
],
|
|
33
|
-
"additionalProperties": false
|
|
34
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$id": "http://proxima.com/schemas/all.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"app": {
|
|
6
|
+
"$ref": "app.json"
|
|
7
|
+
},
|
|
8
|
+
"modules": {
|
|
9
|
+
"$ref": "modules/index.json"
|
|
10
|
+
},
|
|
11
|
+
"resources": {
|
|
12
|
+
"$ref": "resources.json"
|
|
13
|
+
},
|
|
14
|
+
"tables": {
|
|
15
|
+
"$ref": "tables.json"
|
|
16
|
+
},
|
|
17
|
+
"locales": {
|
|
18
|
+
"$ref": "locales.json"
|
|
19
|
+
},
|
|
20
|
+
"dependVersion": {
|
|
21
|
+
"$ref": "dependVersion.json"
|
|
22
|
+
},
|
|
23
|
+
"storage": {
|
|
24
|
+
"$ref": "storage.json"
|
|
25
|
+
},
|
|
26
|
+
"messageQueues": {
|
|
27
|
+
"$ref": "messageQueues.json"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required": [
|
|
31
|
+
"app"
|
|
32
|
+
],
|
|
33
|
+
"additionalProperties": false
|
|
34
|
+
}
|
package/lib/schema/app.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "http://proxima.com/schemas/app.json",
|
|
3
|
-
"type": "object",
|
|
4
|
-
"required": [
|
|
5
|
-
"name",
|
|
6
|
-
"key",
|
|
7
|
-
"version"
|
|
8
|
-
],
|
|
9
|
-
"properties": {
|
|
10
|
-
"key": {
|
|
11
|
-
"type": "string",
|
|
12
|
-
"regexp": "/^[a-z][a-z0-9_]*$/gi"
|
|
13
|
-
},
|
|
14
|
-
"name": {
|
|
15
|
-
"type": "string"
|
|
16
|
-
},
|
|
17
|
-
"version": {
|
|
18
|
-
"type": "string"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$id": "http://proxima.com/schemas/app.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"required": [
|
|
5
|
+
"name",
|
|
6
|
+
"key",
|
|
7
|
+
"version"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"key": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"regexp": "/^[a-z][a-z0-9_]*$/gi"
|
|
13
|
+
},
|
|
14
|
+
"name": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"version": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "http://proxima.com/schemas/dependVersion.json",
|
|
3
|
-
"type": "object",
|
|
4
|
-
"additionalProperties": true,
|
|
5
|
-
"minProperties": 1
|
|
6
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$id": "http://proxima.com/schemas/dependVersion.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": true,
|
|
5
|
+
"minProperties": 1
|
|
6
|
+
}
|
package/lib/schema/locales.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "http://proxima.com/schemas/locales.json",
|
|
3
|
-
"type": "object",
|
|
4
|
-
"additionalProperties": true,
|
|
5
|
-
"minProperties": 1
|
|
6
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$id": "http://proxima.com/schemas/locales.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": true,
|
|
5
|
+
"minProperties": 1
|
|
6
|
+
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "http://proxima.com/schemas/messageQueues.json",
|
|
3
|
-
"type": "array",
|
|
4
|
-
"minItems": 1,
|
|
5
|
-
"uniqueItems": true,
|
|
6
|
-
"uniqueItemProperties": [
|
|
7
|
-
"key"
|
|
8
|
-
],
|
|
9
|
-
"items": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"properties": {
|
|
12
|
-
"key": {
|
|
13
|
-
"type": "string"
|
|
14
|
-
},
|
|
15
|
-
"type": {
|
|
16
|
-
"type": "string"
|
|
17
|
-
},
|
|
18
|
-
"endpoint": {
|
|
19
|
-
"type": "string"
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
"required": [
|
|
23
|
-
"key",
|
|
24
|
-
"type",
|
|
25
|
-
"endpoint"
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
"errorMessage": {
|
|
29
|
-
"uniqueItemProperties": "key must be unique"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$id": "http://proxima.com/schemas/messageQueues.json",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"minItems": 1,
|
|
5
|
+
"uniqueItems": true,
|
|
6
|
+
"uniqueItemProperties": [
|
|
7
|
+
"key"
|
|
8
|
+
],
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"key": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"type": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"endpoint": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"required": [
|
|
23
|
+
"key",
|
|
24
|
+
"type",
|
|
25
|
+
"endpoint"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"errorMessage": {
|
|
29
|
+
"uniqueItemProperties": "key must be unique"
|
|
30
|
+
}
|
|
31
|
+
}
|