@giteeteam/apps-manifest 0.4.1 → 0.5.1
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/manifest.d.ts +3 -0
- package/lib/manifest.js +9 -0
- package/lib/schema/all.json +3 -0
- package/lib/schema/storage.json +61 -0
- package/lib/types.d.ts +14 -0
- package/lib/validate.d.ts +7 -0
- package/lib/validate.js +4 -1
- package/package.json +3 -3
package/lib/manifest.d.ts
CHANGED
|
@@ -6,6 +6,9 @@ export declare class Manifest {
|
|
|
6
6
|
get resources(): import("./types").IManifestResource[] | undefined;
|
|
7
7
|
get app(): import("./types").IManifestApp;
|
|
8
8
|
get tables(): any;
|
|
9
|
+
get modules(): import("./types").TManifestModules;
|
|
10
|
+
get storage(): import("./types").IStorage | undefined;
|
|
11
|
+
get locales(): import("./types").TManifestLocales | undefined;
|
|
9
12
|
getManifest(): IManifest;
|
|
10
13
|
getManifestString(): string;
|
|
11
14
|
/**
|
package/lib/manifest.js
CHANGED
|
@@ -17,6 +17,15 @@ class Manifest {
|
|
|
17
17
|
get tables() {
|
|
18
18
|
return this.manifest.tables;
|
|
19
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
|
+
}
|
|
20
29
|
getManifest() {
|
|
21
30
|
return this.manifest;
|
|
22
31
|
}
|
package/lib/schema/all.json
CHANGED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "http://proxima.com/schemas/storage.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"entities": {
|
|
6
|
+
"minItems": 1,
|
|
7
|
+
"uniqueItems": true,
|
|
8
|
+
"uniqueItemProperties": [
|
|
9
|
+
"name"
|
|
10
|
+
],
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"name": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"attributes": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"minProperties": 1,
|
|
21
|
+
"patternProperties": {
|
|
22
|
+
"(^_([a-zA-Z0-9]_?)*$)|(^[a-zA-Z](_?[a-zA-Z0-9])*_?$)": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"anyOf": [
|
|
25
|
+
{
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": true,
|
|
28
|
+
"properties": {
|
|
29
|
+
"type": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"enum": [
|
|
32
|
+
"String",
|
|
33
|
+
"Boolean",
|
|
34
|
+
"Date",
|
|
35
|
+
"Float"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"required": {
|
|
39
|
+
"type": "boolean"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"required": [
|
|
45
|
+
"type"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": [
|
|
52
|
+
"name",
|
|
53
|
+
"attributes"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"required": [
|
|
59
|
+
"entities"
|
|
60
|
+
]
|
|
61
|
+
}
|
package/lib/types.d.ts
CHANGED
|
@@ -71,6 +71,19 @@ export type TManifestLocalesItem = Record<string, string>;
|
|
|
71
71
|
export type TManifestLocalesItems = Record<string, TManifestLocalesItem>;
|
|
72
72
|
export type TManifestLocales = Record<TManifestLanguage, TManifestLocalesItems>;
|
|
73
73
|
export type TDependVersion = Record<TDependProduct, string[]>;
|
|
74
|
+
export type TStorageAttributeType = 'String' | 'Float' | 'Date' | 'Boolean';
|
|
75
|
+
export interface IStorageAttribute {
|
|
76
|
+
type: TStorageAttributeType;
|
|
77
|
+
required?: boolean;
|
|
78
|
+
defaultValue?: any;
|
|
79
|
+
}
|
|
80
|
+
export interface IStorageEntity {
|
|
81
|
+
name: string;
|
|
82
|
+
attributes: Record<string, IStorageAttribute>;
|
|
83
|
+
}
|
|
84
|
+
export interface IStorage {
|
|
85
|
+
entities: IStorageEntity[];
|
|
86
|
+
}
|
|
74
87
|
export interface IManifest {
|
|
75
88
|
app: IManifestApp;
|
|
76
89
|
modules: TManifestModules;
|
|
@@ -78,4 +91,5 @@ export interface IManifest {
|
|
|
78
91
|
resources?: IManifestResource[];
|
|
79
92
|
locales?: TManifestLocales;
|
|
80
93
|
dependVersion?: TDependVersion;
|
|
94
|
+
storage?: IStorage;
|
|
81
95
|
}
|
package/lib/validate.d.ts
CHANGED
|
@@ -51,3 +51,10 @@ export declare const validateDependVersion: (json: IManifest) => {
|
|
|
51
51
|
message: string | undefined;
|
|
52
52
|
}[] | null;
|
|
53
53
|
};
|
|
54
|
+
export declare const validateStorage: (json: IManifest) => {
|
|
55
|
+
pass: boolean | Promise<unknown> | undefined;
|
|
56
|
+
errors: {
|
|
57
|
+
path: string;
|
|
58
|
+
message: string | undefined;
|
|
59
|
+
}[] | null;
|
|
60
|
+
};
|
package/lib/validate.js
CHANGED
|
@@ -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.validateDependVersion = exports.validateLocales = exports.validateTables = exports.validateResources = exports.validateModules = exports.validateApp = exports.validateAll = void 0;
|
|
6
|
+
exports.validateStorage = exports.validateDependVersion = exports.validateLocales = exports.validateTables = exports.validateResources = exports.validateModules = exports.validateApp = exports.validateAll = void 0;
|
|
7
7
|
const ajv_1 = __importDefault(require("ajv"));
|
|
8
8
|
const ajv_keywords_1 = __importDefault(require("ajv-keywords"));
|
|
9
9
|
const lodash_1 = require("lodash");
|
|
@@ -20,6 +20,7 @@ const resources_json_1 = __importDefault(require("./schema/resources.json"));
|
|
|
20
20
|
const tables_json_1 = __importDefault(require("./schema/tables.json"));
|
|
21
21
|
const locales_json_1 = __importDefault(require("./schema/locales.json"));
|
|
22
22
|
const dependVersion_json_1 = __importDefault(require("./schema/dependVersion.json"));
|
|
23
|
+
const storage_json_1 = __importDefault(require("./schema/storage.json"));
|
|
23
24
|
const validateResource = (json) => {
|
|
24
25
|
const errors = [];
|
|
25
26
|
const frontendModules = ['adminPage', 'itemPanel', 'itemActivity', 'appPage'];
|
|
@@ -95,6 +96,7 @@ const validateFactory = (schema) => {
|
|
|
95
96
|
tables_json_1.default,
|
|
96
97
|
locales_json_1.default,
|
|
97
98
|
dependVersion_json_1.default,
|
|
99
|
+
storage_json_1.default,
|
|
98
100
|
],
|
|
99
101
|
});
|
|
100
102
|
(0, ajv_keywords_1.default)(ajv);
|
|
@@ -128,3 +130,4 @@ exports.validateResources = validateFactory('http://proxima.com/schemas/resource
|
|
|
128
130
|
exports.validateTables = validateFactory('http://proxima.com/schemas/tables.json');
|
|
129
131
|
exports.validateLocales = validateFactory('http://proxima.com/schemas/locales.json');
|
|
130
132
|
exports.validateDependVersion = validateFactory('http://proxima.com/schemas/dependVersion.json');
|
|
133
|
+
exports.validateStorage = validateFactory('http://proxima.com/schemas/storage.json');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@giteeteam/apps-manifest",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Giteeteam Apps Manifest",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
"test": "jest --coverage",
|
|
25
25
|
"dev": "tsc -w",
|
|
26
26
|
"build": "rm -rf lib && tsc",
|
|
27
|
-
"prepare": "pnpm build",
|
|
28
27
|
"prepack": "pnpm build",
|
|
29
28
|
"prepublish": "pnpm build"
|
|
30
29
|
},
|
|
@@ -40,7 +39,8 @@
|
|
|
40
39
|
"yaml": "^2.1.1"
|
|
41
40
|
},
|
|
42
41
|
"devDependencies": {
|
|
43
|
-
|
|
42
|
+
"typescript": "^4.8.3",
|
|
43
|
+
"@types/lodash": "^4.14.195",
|
|
44
44
|
"jest": "^29.3.1"
|
|
45
45
|
}
|
|
46
46
|
}
|