@infomaximum/package-cli 1.12.0 → 1.14.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/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.14.0](https://github.com/Infomaximum/package-cli/compare/v1.13.0...v1.14.0) (2023-12-25)
6
+
7
+
8
+ ### Features
9
+
10
+ * добавлены валидаторы манифестов ([cfbd6f4](https://github.com/Infomaximum/package-cli/commit/cfbd6f4a047dabf85c39000ea54add57ed2b8871))
11
+
12
+ ## [1.13.0](https://github.com/Infomaximum/package-cli/compare/v1.12.0...v1.13.0) (2023-12-19)
13
+
14
+
15
+ ### Features
16
+
17
+ * добавлены json схемы для манифестов ([bc1cdb2](https://github.com/Infomaximum/package-cli/commit/bc1cdb241b823d16fc593efd562b0c3d22909926))
18
+
5
19
  ## [1.12.0](https://github.com/Infomaximum/package-cli/compare/v1.11.0...v1.12.0) (2023-12-18)
6
20
 
7
21
 
@@ -2,32 +2,31 @@ import { randomUUID } from "node:crypto";
2
2
  import { capitalizeHelperName } from "../../scripts/widget/init/helpers.js";
3
3
  export const PACKAGE_MANIFEST_TEMPLATE = `\
4
4
  {
5
- "manifest_version": "1",
6
- "author": "{{author}}",
7
- "guid": "${randomUUID()}",
8
- "type": "{{packageType}}",
9
- "name": "{{${capitalizeHelperName} packageName}}",
10
- "systems": [
5
+ "$schema": "../node_modules/@infomaximum/package-cli/schemas/packageManifestSchema.json",
6
+ "manifest_version": "1",
7
+ "author": "{{author}}",
8
+ "guid": "${randomUUID()}",
9
+ "type": "{{packageType}}",
10
+ "name": "{{${capitalizeHelperName} packageName}}",
11
+ "systems": [
12
+ {
13
+ "name": "{{packageIconName}}"
14
+ }
15
+ ],
16
+ "description": {
17
+ "ru": "{{${capitalizeHelperName} packageDescription}}",
18
+ "en": "{{${capitalizeHelperName} packageDescription}}"
19
+ },
20
+ "categories": {
21
+ "ru": [
11
22
  {
12
- "name": "{{packageIconName}}"
23
+ "name": "Сторонние"
13
24
  }
14
25
  ],
15
- "description": {
16
- "ru": "{{${capitalizeHelperName} packageDescription}}",
17
- "en": "{{${capitalizeHelperName} packageDescription}}"
18
- },
19
- "categories": {
20
- "ru": [
21
- {
22
- "name": "Сторонние"
23
- }
24
- ],
25
- "en": [
26
- {
27
- "name": "Other"
28
- }
29
- ]
30
- }
26
+ "en": [
27
+ {
28
+ "name": "Other"
29
+ }
30
+ ]
31
31
  }
32
-
33
- `;
32
+ }`;
@@ -2,6 +2,7 @@ import { randomUUID } from "node:crypto";
2
2
  import { capitalizeHelperName } from "../../scripts/widget/init/helpers.js";
3
3
  export const WIDGET_MANIFEST_TEMPLATE = `\
4
4
  {
5
+ "$schema": "node_modules/@infomaximum/package-cli/schemas/widgetManifestSchema.json",
5
6
  "uuid": "${randomUUID()}",
6
7
  "entry": "index.js",
7
8
  "api_version": 1,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/package-cli",
3
- "version": "1.12.0",
3
+ "version": "1.14.0",
4
4
  "exports": "./dist/index.js",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -9,6 +9,7 @@
9
9
  },
10
10
  "files": [
11
11
  "dist/",
12
+ "schemas/",
12
13
  "LICENSE",
13
14
  "CHANGELOG.md"
14
15
  ],
@@ -58,8 +59,8 @@
58
59
  },
59
60
  "devDependencies": {
60
61
  "@types/node": "^20.9.0",
61
- "@types/webpack": "^5.28.5",
62
62
  "@types/semver": "^7.5.6",
63
+ "@types/webpack": "^5.28.5",
63
64
  "@types/zip-webpack-plugin": "^3.0.6",
64
65
  "prettier": "^3.1.1",
65
66
  "rimraf": "^5.0.5",
@@ -0,0 +1,129 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "manifest_version": {
6
+ "type": "string",
7
+ "title": "Версия манифеста"
8
+ },
9
+ "author": {
10
+ "type": "string",
11
+ "title": "Автор пакета"
12
+ },
13
+ "guid": {
14
+ "type": "string",
15
+ "format": "uuid",
16
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
17
+ "title": "Уникальный идентификатор пакета, формат uuid v4"
18
+ },
19
+ "name": {
20
+ "type": "string",
21
+ "title": "Имя пакета"
22
+ },
23
+ "type": {
24
+ "enum": ["widget", "application", "workspace"]
25
+ },
26
+ "version": {
27
+ "type": "string",
28
+ "title": "Версия пакета"
29
+ },
30
+ "min_version_platform": {
31
+ "type": "string",
32
+ "title": "Минимальная версия платформы (модуля subsytems) с которой совместим пакет"
33
+ },
34
+ "max_version_platform": {
35
+ "type": "string",
36
+ "title": "Максимальная версия платформы (модуля subsytems) с которой совместим пакет"
37
+ },
38
+ "systems": {
39
+ "type": "array",
40
+ "title": "Список систем пакета",
41
+ "items": {
42
+ "type": "object",
43
+ "required": ["name"],
44
+ "properties": {
45
+ "name": {
46
+ "type": "string",
47
+ "minLength": 1
48
+ }
49
+ }
50
+ }
51
+ },
52
+ "description": {
53
+ "type": "object",
54
+ "title": "Краткое описание пакета",
55
+ "required": ["ru", "en"],
56
+ "properties": {
57
+ "ru": {
58
+ "type": "string",
59
+ "minLength": 1
60
+ },
61
+ "en": {
62
+ "type": "string",
63
+ "minLength": 1
64
+ }
65
+ }
66
+ },
67
+ "categories": {
68
+ "type": "object",
69
+ "required": ["ru", "en"],
70
+ "title": "Категории пакета",
71
+ "properties": {
72
+ "ru": {
73
+ "type": "array",
74
+ "items": {
75
+ "type": "object",
76
+ "properties": {
77
+ "name": {
78
+ "type": "string",
79
+ "minLength": 1
80
+ }
81
+ },
82
+ "required": ["name"]
83
+ }
84
+ },
85
+ "en": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "object",
89
+ "properties": {
90
+ "name": {
91
+ "type": "string",
92
+ "minLength": 1
93
+ }
94
+ },
95
+ "required": ["name"]
96
+ }
97
+ }
98
+ }
99
+ },
100
+ "dependency": {
101
+ "type": "array",
102
+ "title": "Зависимости пакета",
103
+ "items": {
104
+ "type": "object",
105
+ "required": ["guid", "version"],
106
+ "properties": {
107
+ "guid": {
108
+ "type": "string",
109
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
110
+ "format": "uuid"
111
+ },
112
+ "version": {
113
+ "type": "string"
114
+ }
115
+ }
116
+ }
117
+ }
118
+ },
119
+ "required": [
120
+ "manifest_version",
121
+ "author",
122
+ "guid",
123
+ "name",
124
+ "type",
125
+ "systems",
126
+ "description",
127
+ "categories"
128
+ ]
129
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "uuid": {
6
+ "type": "string",
7
+ "format": "uuid",
8
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
9
+ "title": "Уникальный идентификатор виджета в формате uuid v4"
10
+ },
11
+ "entry": {
12
+ "type": "string",
13
+ "title": "Имя файла в который будет собран виджет",
14
+ "pattern": "\\w+\\.js$",
15
+ "examples": ["index.js", "main.js"]
16
+ },
17
+ "api_version": {
18
+ "type": "integer"
19
+ },
20
+ "name": {
21
+ "type": "object",
22
+ "title": "Локализованное имя виджета",
23
+ "required": ["ru", "en"],
24
+ "properties": {
25
+ "en": {
26
+ "type": "string",
27
+ "minLength": 1
28
+ },
29
+ "ru": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ }
33
+ }
34
+ },
35
+ "default_size_percentage": {
36
+ "type": "object",
37
+ "title": "Размеры виджета по умолчанию при переносе его на холст",
38
+ "required": ["width", "height", "min_width", "min_height"],
39
+ "properties": {
40
+ "width": {
41
+ "type": "integer"
42
+ },
43
+ "height": {
44
+ "type": "integer"
45
+ },
46
+ "min_width": {
47
+ "type": "integer"
48
+ },
49
+ "min_height": {
50
+ "type": "integer"
51
+ }
52
+ }
53
+ }
54
+ },
55
+ "required": ["uuid", "entry", "api_version", "name"]
56
+ }