@infomaximum/package-cli 1.11.0 → 1.13.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 +19 -0
- package/dist/configs/webpack/common.js +5 -42
- package/dist/configs/webpack/sections/loaders/cssLoaders.js +16 -0
- package/dist/templates/package/packageManifest.js +24 -25
- package/dist/templates/widget/src/widgetAppDTs.js +5 -20
- package/dist/templates/widget/widgetManifest.js +1 -0
- package/package.json +3 -2
- package/schemas/packageManifestSchema.json +122 -0
- package/schemas/widgetManifestSchema.json +52 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
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.13.0](https://github.com/Infomaximum/package-cli/compare/v1.12.0...v1.13.0) (2023-12-19)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* добавлены json схемы для манифестов ([bc1cdb2](https://github.com/Infomaximum/package-cli/commit/bc1cdb241b823d16fc593efd562b0c3d22909926))
|
|
11
|
+
|
|
12
|
+
## [1.12.0](https://github.com/Infomaximum/package-cli/compare/v1.11.0...v1.12.0) (2023-12-18)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* добавлено объявление модуля "*.module.less" ([df0b133](https://github.com/Infomaximum/package-cli/commit/df0b133b9bcd205b0209b70f4b28f2b8829372f7))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* удалены объявления модулей ([6c0f4a8](https://github.com/Infomaximum/package-cli/commit/6c0f4a8a02e3cf08062f445a0c58df39edb35470))
|
|
23
|
+
|
|
5
24
|
## [1.11.0](https://github.com/Infomaximum/package-cli/compare/v1.10.1...v1.11.0) (2023-12-15)
|
|
6
25
|
|
|
7
26
|
|
|
@@ -3,6 +3,7 @@ import { TsconfigPathsPlugin } from "tsconfig-paths-webpack-plugin";
|
|
|
3
3
|
import webpack, {} from "webpack";
|
|
4
4
|
import { systemRequire } from "../../utils.js";
|
|
5
5
|
import { MANIFEST_REG_EXP } from "../../const.js";
|
|
6
|
+
import { cssLoaders } from "./sections/loaders/cssLoaders.js";
|
|
6
7
|
const { ProgressPlugin } = webpack;
|
|
7
8
|
const isProduction = (mode) => mode === "production";
|
|
8
9
|
const isDevelopment = (mode) => mode === "development";
|
|
@@ -45,38 +46,12 @@ export const getCommonWidgetConfig = (mode, PATHS) => {
|
|
|
45
46
|
},
|
|
46
47
|
{
|
|
47
48
|
test: /\.css$/i,
|
|
48
|
-
use:
|
|
49
|
-
systemRequire.resolve("style-loader"),
|
|
50
|
-
systemRequire.resolve("css-loader"),
|
|
51
|
-
{
|
|
52
|
-
loader: systemRequire.resolve("postcss-loader"),
|
|
53
|
-
options: {
|
|
54
|
-
postcssOptions: {
|
|
55
|
-
plugins: [
|
|
56
|
-
systemRequire.resolve("postcss-preset-env"),
|
|
57
|
-
systemRequire.resolve("autoprefixer"),
|
|
58
|
-
],
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
],
|
|
49
|
+
use: cssLoaders,
|
|
63
50
|
},
|
|
64
51
|
{
|
|
65
52
|
test: /\.s[ac]ss$/i,
|
|
66
53
|
use: [
|
|
67
|
-
|
|
68
|
-
systemRequire.resolve("css-loader"),
|
|
69
|
-
{
|
|
70
|
-
loader: systemRequire.resolve("postcss-loader"),
|
|
71
|
-
options: {
|
|
72
|
-
postcssOptions: {
|
|
73
|
-
plugins: [
|
|
74
|
-
systemRequire.resolve("postcss-preset-env"),
|
|
75
|
-
systemRequire.resolve("autoprefixer"),
|
|
76
|
-
],
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
},
|
|
54
|
+
...cssLoaders,
|
|
80
55
|
{
|
|
81
56
|
loader: systemRequire.resolve("sass-loader"),
|
|
82
57
|
options: {
|
|
@@ -91,19 +66,7 @@ export const getCommonWidgetConfig = (mode, PATHS) => {
|
|
|
91
66
|
{
|
|
92
67
|
test: /\.less$/i,
|
|
93
68
|
use: [
|
|
94
|
-
|
|
95
|
-
systemRequire.resolve("css-loader"),
|
|
96
|
-
{
|
|
97
|
-
loader: systemRequire.resolve("postcss-loader"),
|
|
98
|
-
options: {
|
|
99
|
-
postcssOptions: {
|
|
100
|
-
plugins: [
|
|
101
|
-
systemRequire.resolve("postcss-preset-env"),
|
|
102
|
-
systemRequire.resolve("autoprefixer"),
|
|
103
|
-
],
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
},
|
|
69
|
+
...cssLoaders,
|
|
107
70
|
{
|
|
108
71
|
loader: systemRequire.resolve("less-loader"),
|
|
109
72
|
options: {
|
|
@@ -116,7 +79,7 @@ export const getCommonWidgetConfig = (mode, PATHS) => {
|
|
|
116
79
|
],
|
|
117
80
|
},
|
|
118
81
|
{
|
|
119
|
-
test: /\.(eot|ttf|woff|woff2|png|jpg|gif)$/i,
|
|
82
|
+
test: /\.(eot|ttf|woff|woff2|png|jpg|jpeg|webp|gif)$/i,
|
|
120
83
|
type: "asset/inline",
|
|
121
84
|
},
|
|
122
85
|
{
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { systemRequire } from "../../../../utils.js";
|
|
2
|
+
export const cssLoaders = [
|
|
3
|
+
systemRequire.resolve("style-loader"),
|
|
4
|
+
systemRequire.resolve("css-loader"),
|
|
5
|
+
{
|
|
6
|
+
loader: systemRequire.resolve("postcss-loader"),
|
|
7
|
+
options: {
|
|
8
|
+
postcssOptions: {
|
|
9
|
+
plugins: [
|
|
10
|
+
systemRequire.resolve("postcss-preset-env"),
|
|
11
|
+
systemRequire.resolve("autoprefixer"),
|
|
12
|
+
],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
];
|
|
@@ -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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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": "
|
|
23
|
+
"name": "Сторонние"
|
|
13
24
|
}
|
|
14
25
|
],
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
+
}`;
|
|
@@ -3,26 +3,6 @@ export const APP_D_TS_TEMPLATE = `\
|
|
|
3
3
|
/// <reference types="@infomaximum/global-types" />
|
|
4
4
|
/// <reference types="@infomaximum/custom-widget" />
|
|
5
5
|
|
|
6
|
-
/// <reference types="node" />
|
|
7
|
-
/// <reference types="react" />
|
|
8
|
-
/// <reference types="react-dom" />
|
|
9
|
-
|
|
10
|
-
declare namespace NodeJS {
|
|
11
|
-
interface ProcessEnv {
|
|
12
|
-
readonly NODE_ENV: "development" | "production";
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
declare module "*.avif" {
|
|
17
|
-
const src: string;
|
|
18
|
-
export default src;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
declare module "*.bmp" {
|
|
22
|
-
const src: string;
|
|
23
|
-
export default src;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
6
|
declare module "*.gif" {
|
|
27
7
|
const src: string;
|
|
28
8
|
export default src;
|
|
@@ -77,4 +57,9 @@ declare module "*.module.sass" {
|
|
|
77
57
|
const classes: { readonly [key: string]: string };
|
|
78
58
|
export default classes;
|
|
79
59
|
}
|
|
60
|
+
|
|
61
|
+
declare module "*.module.less" {
|
|
62
|
+
const classes: { readonly [key: string]: string };
|
|
63
|
+
export default classes;
|
|
64
|
+
}
|
|
80
65
|
`;
|
|
@@ -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.
|
|
3
|
+
"version": "1.13.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,122 @@
|
|
|
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
|
+
"title": "Уникальный идентификатор пакета, формат uuid v4"
|
|
17
|
+
},
|
|
18
|
+
"name": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"title": "Имя пакета"
|
|
21
|
+
},
|
|
22
|
+
"type": {
|
|
23
|
+
"enum": ["widget", "application", "workspace"]
|
|
24
|
+
},
|
|
25
|
+
"version": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"title": "Версия пакета"
|
|
28
|
+
},
|
|
29
|
+
"min_version_platform": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"title": "Минимальная версия платформы (модуля subsytems) с которой совместим пакет"
|
|
32
|
+
},
|
|
33
|
+
"max_version_platform": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"title": "Максимальная версия платформы (модуля subsytems) с которой совместим пакет"
|
|
36
|
+
},
|
|
37
|
+
"systems": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"title": "Список систем пакета",
|
|
40
|
+
"items": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"required": ["name"],
|
|
43
|
+
"properties": {
|
|
44
|
+
"name": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"description": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"title": "Краткое описание пакета",
|
|
53
|
+
"required": ["ru", "en"],
|
|
54
|
+
"properties": {
|
|
55
|
+
"ru": {
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
58
|
+
"en": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"categories": {
|
|
64
|
+
"type": "object",
|
|
65
|
+
"required": ["ru", "en"],
|
|
66
|
+
"title": "Категории пакета",
|
|
67
|
+
"properties": {
|
|
68
|
+
"ru": {
|
|
69
|
+
"type": "array",
|
|
70
|
+
"items": {
|
|
71
|
+
"type": "object",
|
|
72
|
+
"properties": {
|
|
73
|
+
"name": {
|
|
74
|
+
"type": "string"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"required": ["name"]
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"en": {
|
|
81
|
+
"type": "array",
|
|
82
|
+
"items": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"properties": {
|
|
85
|
+
"name": {
|
|
86
|
+
"type": "string"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"required": ["name"]
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"dependency": {
|
|
95
|
+
"type": "array",
|
|
96
|
+
"title": "Зависимости пакета",
|
|
97
|
+
"items": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"required": ["guid", "version"],
|
|
100
|
+
"properties": {
|
|
101
|
+
"guid": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"format": "uuid"
|
|
104
|
+
},
|
|
105
|
+
"version": {
|
|
106
|
+
"type": "string"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"required": [
|
|
113
|
+
"manifest_version",
|
|
114
|
+
"author",
|
|
115
|
+
"guid",
|
|
116
|
+
"name",
|
|
117
|
+
"type",
|
|
118
|
+
"systems",
|
|
119
|
+
"description",
|
|
120
|
+
"categories"
|
|
121
|
+
]
|
|
122
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"uuid": {
|
|
6
|
+
"type": "string",
|
|
7
|
+
"format": "uuid",
|
|
8
|
+
"title": "Уникальный идентификатор виджета в формате uuid v4"
|
|
9
|
+
},
|
|
10
|
+
"entry": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"title": "Имя файла в который будет собран виджет",
|
|
13
|
+
"examples": ["index.js", "main.js"]
|
|
14
|
+
},
|
|
15
|
+
"api_version": {
|
|
16
|
+
"type": "integer"
|
|
17
|
+
},
|
|
18
|
+
"name": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"title": "Локализованное имя виджета",
|
|
21
|
+
"required": ["ru", "en"],
|
|
22
|
+
"properties": {
|
|
23
|
+
"en": {
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"ru": {
|
|
27
|
+
"type": "string"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"default_size_percentage": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"title": "Размеры виджета по умолчанию при переносе его на холст",
|
|
34
|
+
"required": ["width", "height", "min_width", "min_height"],
|
|
35
|
+
"properties": {
|
|
36
|
+
"width": {
|
|
37
|
+
"type": "integer"
|
|
38
|
+
},
|
|
39
|
+
"height": {
|
|
40
|
+
"type": "integer"
|
|
41
|
+
},
|
|
42
|
+
"min_width": {
|
|
43
|
+
"type": "integer"
|
|
44
|
+
},
|
|
45
|
+
"min_height": {
|
|
46
|
+
"type": "integer"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": ["uuid", "entry", "api_version", "name"]
|
|
52
|
+
}
|