@public-ui/kolibri-cli 2.1.0 → 2.1.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/README.md +8 -0
- package/dist/index.js +2 -0
- package/dist/info/index.js +69 -0
- package/dist/migrate/runner/abstract-task.js +4 -4
- package/dist/migrate/runner/task-runner.js +8 -8
- package/dist/migrate/runner/tasks/common/RefactorPropertyIconAlign.js +67 -0
- package/dist/migrate/runner/tasks/v1/button.js +3 -3
- package/dist/migrate/runner/tasks/v1/index.js +2 -2
- package/dist/migrate/runner/tasks/v1/link.js +3 -3
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -39,10 +39,18 @@ Options:
|
|
|
39
39
|
-h, --help display help for command
|
|
40
40
|
|
|
41
41
|
Commands:
|
|
42
|
+
info Shows the system and KoliBri package information
|
|
42
43
|
migrate [options] <string> This command migrates KoliBri code to the current version.
|
|
43
44
|
help [command] display help for command
|
|
44
45
|
```
|
|
45
46
|
|
|
47
|
+
### Info
|
|
48
|
+
With the `info` command you can show the current system and KoliBri package information.
|
|
49
|
+
|
|
50
|
+
This command is mainly needed for our bug issue templates.
|
|
51
|
+
If errors occur in our packages, we would like to ask you to create an issue under the following link:
|
|
52
|
+
[Submit report](https://github.com/public-ui/kolibri/issues/new/choose)
|
|
53
|
+
|
|
46
54
|
### Migrate
|
|
47
55
|
|
|
48
56
|
With the `migrate` command you can migrate your project to the latest version of `KoliBri`.
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const commander_1 = require("commander");
|
|
8
8
|
const gradient_string_1 = __importDefault(require("gradient-string"));
|
|
9
|
+
const info_1 = __importDefault(require("./info"));
|
|
9
10
|
const migrate_1 = __importDefault(require("./migrate"));
|
|
10
11
|
const reuse_1 = require("./migrate/shares/reuse");
|
|
11
12
|
const versionOfPublicUiKoliBriCli = (0, reuse_1.getVersionOfPublicUiKoliBriCli)();
|
|
@@ -23,5 +24,6 @@ console.log(banner);
|
|
|
23
24
|
const program = new commander_1.Command();
|
|
24
25
|
program.name('kolibri').description('CLI for executing some helpful commands for KoliBri projects.').version(versionOfPublicUiKoliBriCli);
|
|
25
26
|
// Add commands
|
|
27
|
+
(0, info_1.default)(program);
|
|
26
28
|
(0, migrate_1.default)(program);
|
|
27
29
|
program.parse();
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const os_1 = __importDefault(require("os"));
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
// Function to get the binary version
|
|
11
|
+
const getBinaryVersion = (command) => {
|
|
12
|
+
try {
|
|
13
|
+
return (0, child_process_1.execSync)(`${command} --version`, { encoding: 'utf8' }).trim();
|
|
14
|
+
}
|
|
15
|
+
catch (_a) {
|
|
16
|
+
return 'N/A';
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
// Get operating system information
|
|
20
|
+
const getOsInfo = () => ({
|
|
21
|
+
platform: os_1.default.platform(),
|
|
22
|
+
arch: os_1.default.arch(),
|
|
23
|
+
version: os_1.default.release(),
|
|
24
|
+
});
|
|
25
|
+
// Get binaries information
|
|
26
|
+
const getBinariesInfo = () => ({
|
|
27
|
+
node: getBinaryVersion('node'),
|
|
28
|
+
npm: getBinaryVersion('npm'),
|
|
29
|
+
pnpm: getBinaryVersion('pnpm'),
|
|
30
|
+
yarn: getBinaryVersion('yarn'),
|
|
31
|
+
});
|
|
32
|
+
// Get relevant packages information
|
|
33
|
+
const getRelevantPackagesInfo = () => {
|
|
34
|
+
const packageJsonPath = path_1.default.join(process.cwd(), 'package.json');
|
|
35
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf8'));
|
|
36
|
+
const packagePattern = /^@public-ui\//;
|
|
37
|
+
const packagesInfo = {};
|
|
38
|
+
const allDependencies = Object.assign(Object.assign({}, packageJson === null || packageJson === void 0 ? void 0 : packageJson.dependencies), packageJson === null || packageJson === void 0 ? void 0 : packageJson.devDependencies);
|
|
39
|
+
Object.keys(allDependencies).forEach((pkg) => {
|
|
40
|
+
if (packagePattern.test(pkg)) {
|
|
41
|
+
packagesInfo[pkg] = allDependencies === null || allDependencies === void 0 ? void 0 : allDependencies[pkg];
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
// Add specific packages not matching the pattern
|
|
45
|
+
const additionalPackages = ['react', 'react-dom', 'typescript'];
|
|
46
|
+
additionalPackages.forEach((pkg) => {
|
|
47
|
+
packagesInfo[pkg] = (allDependencies === null || allDependencies === void 0 ? void 0 : allDependencies[pkg]) || 'N/A';
|
|
48
|
+
});
|
|
49
|
+
return packagesInfo;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* This function is used to register the migrate command.
|
|
53
|
+
* @param {Command} program The program object to register the command
|
|
54
|
+
*/
|
|
55
|
+
function default_1(program) {
|
|
56
|
+
program
|
|
57
|
+
.command('info')
|
|
58
|
+
.description('This command returns information about your system.')
|
|
59
|
+
.action(() => {
|
|
60
|
+
// Gather all information
|
|
61
|
+
const systemInfo = {
|
|
62
|
+
'Operating System': getOsInfo(),
|
|
63
|
+
Binaries: getBinariesInfo(),
|
|
64
|
+
'Relevant Packages': getRelevantPackagesInfo(),
|
|
65
|
+
};
|
|
66
|
+
console.log(JSON.stringify(systemInfo, null, 2));
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
exports.default = default_1;
|
|
@@ -8,12 +8,12 @@ const semver_1 = __importDefault(require("semver"));
|
|
|
8
8
|
const types_1 = require("../../types");
|
|
9
9
|
const reuse_1 = require("../shares/reuse");
|
|
10
10
|
class AbstractTask {
|
|
11
|
-
constructor(identifier, title, extensions, versionRange,
|
|
11
|
+
constructor(identifier, title, extensions, versionRange, taskDependencies = [], options = {}) {
|
|
12
12
|
this.identifier = identifier;
|
|
13
13
|
this.title = title;
|
|
14
14
|
this.extensions = extensions;
|
|
15
15
|
this.versionRange = versionRange;
|
|
16
|
-
this.
|
|
16
|
+
this.taskDependencies = taskDependencies;
|
|
17
17
|
this.status = 'pending';
|
|
18
18
|
this.description = options.description;
|
|
19
19
|
this.extensions = this.extensions.filter((ext) => types_1.FILE_EXTENSIONS.includes(ext));
|
|
@@ -21,8 +21,8 @@ class AbstractTask {
|
|
|
21
21
|
throw (0, reuse_1.logAndCreateError)(`[${this.identifier}] Invalid semver range version: ${this.versionRange}`);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
return this.
|
|
24
|
+
getTaskDependencies() {
|
|
25
|
+
return this.taskDependencies;
|
|
26
26
|
}
|
|
27
27
|
getDescription() {
|
|
28
28
|
return this.description;
|
|
@@ -54,9 +54,9 @@ class TaskRunner {
|
|
|
54
54
|
}
|
|
55
55
|
registerTasks(tasks) {
|
|
56
56
|
tasks.forEach((task) => {
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
this.registerTasks(
|
|
57
|
+
const taskDependencies = task.getTaskDependencies();
|
|
58
|
+
if (taskDependencies.length > 0) {
|
|
59
|
+
this.registerTasks(taskDependencies);
|
|
60
60
|
}
|
|
61
61
|
if (semver_1.default.gtr(this.projectVersion, task.getVersionRange(), {
|
|
62
62
|
includePrerelease: true,
|
|
@@ -98,17 +98,17 @@ class TaskRunner {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
dependentTaskRun(task,
|
|
102
|
-
|
|
103
|
-
this.dependentTaskRun(dependentTask, dependentTask.
|
|
101
|
+
dependentTaskRun(task, taskDependencies) {
|
|
102
|
+
taskDependencies.forEach((dependentTask) => {
|
|
103
|
+
this.dependentTaskRun(dependentTask, dependentTask.getTaskDependencies());
|
|
104
104
|
});
|
|
105
|
-
if (
|
|
105
|
+
if (taskDependencies.every((dependentTask) => dependentTask.getStatus() === 'done')) {
|
|
106
106
|
this.runTask(task);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
run() {
|
|
110
110
|
this.tasks.forEach((task) => {
|
|
111
|
-
this.dependentTaskRun(task, task.
|
|
111
|
+
this.dependentTaskRun(task, task.getTaskDependencies());
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
getPendingMinVersion() {
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RefactorPropertyIconAlign = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const types_1 = require("../../../../types");
|
|
9
|
+
const reuse_1 = require("../../../shares/reuse");
|
|
10
|
+
const abstract_task_1 = require("../../abstract-task");
|
|
11
|
+
class RefactorPropertyIconAlign extends abstract_task_1.AbstractTask {
|
|
12
|
+
constructor(tag) {
|
|
13
|
+
super(`refactor-property-icon-align`, `Refactor property "_icon-align" - integrate in "_icons" property`, types_1.MARKUP_EXTENSIONS, '^2'); //fixme revert version
|
|
14
|
+
this.tag = tag;
|
|
15
|
+
}
|
|
16
|
+
static getInstance(tag) {
|
|
17
|
+
const identifier = `${tag}-refactor-property-label-replace-false`;
|
|
18
|
+
if (!this.instances.has(identifier)) {
|
|
19
|
+
this.instances.set(identifier, new RefactorPropertyIconAlign(tag));
|
|
20
|
+
}
|
|
21
|
+
return this.instances.get(identifier);
|
|
22
|
+
}
|
|
23
|
+
run(baseDir) {
|
|
24
|
+
this.transpileComponentFile(baseDir);
|
|
25
|
+
this.transpileCustomElementFile(baseDir);
|
|
26
|
+
}
|
|
27
|
+
transpileComponentFile(baseDir) {
|
|
28
|
+
(0, reuse_1.filterFilesByExt)(baseDir, types_1.COMPONENT_FILE_EXTENSIONS).forEach((file) => {
|
|
29
|
+
const content = fs_1.default.readFileSync(file, 'utf8');
|
|
30
|
+
const newContent = this.rewriteComponentContents(content, true);
|
|
31
|
+
if (content !== newContent) {
|
|
32
|
+
reuse_1.MODIFIED_FILES.add(file);
|
|
33
|
+
fs_1.default.writeFileSync(file, newContent);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
transpileCustomElementFile(baseDir) {
|
|
38
|
+
(0, reuse_1.filterFilesByExt)(baseDir, types_1.CUSTOM_ELEMENT_FILE_EXTENSIONS).forEach((file) => {
|
|
39
|
+
const content = fs_1.default.readFileSync(file, 'utf8');
|
|
40
|
+
const newContent = this.rewriteComponentContents(content, false);
|
|
41
|
+
if (content !== newContent) {
|
|
42
|
+
reuse_1.MODIFIED_FILES.add(file);
|
|
43
|
+
fs_1.default.writeFileSync(file, newContent);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
rewriteComponentContents(input, isComponent) {
|
|
48
|
+
const tagName = isComponent ? (0, reuse_1.kebabToCapitalCase)(this.tag) : this.tag;
|
|
49
|
+
const tagsRegex = new RegExp(`<(${tagName}[^>]*_icon(?:-a|A)lign[^>]*)>`, 'g');
|
|
50
|
+
const iconAlignRegex = /_icon(?:-a|A)lign=["'{]+?(\w+)["'}]/;
|
|
51
|
+
const iconsRegex = /_icons=(?:'|"|{"|{')([\w\s-]+)["'}]/;
|
|
52
|
+
return input.replace(tagsRegex, (componentTag) => {
|
|
53
|
+
const iconAlignMatches = componentTag.match(iconAlignRegex);
|
|
54
|
+
const iconsMatches = componentTag.match(iconsRegex);
|
|
55
|
+
// Make sure icons and iconAlign are valid
|
|
56
|
+
if ((iconAlignMatches === null || iconAlignMatches === void 0 ? void 0 : iconAlignMatches[1]) && (iconsMatches === null || iconsMatches === void 0 ? void 0 : iconsMatches[1])) {
|
|
57
|
+
// Replace icons and iconAlign with one joined object
|
|
58
|
+
const newIcons = isComponent
|
|
59
|
+
? `_icons={{ '${iconAlignMatches === null || iconAlignMatches === void 0 ? void 0 : iconAlignMatches[1]}': '${iconsMatches === null || iconsMatches === void 0 ? void 0 : iconsMatches[1]}' }}`
|
|
60
|
+
: `_icons="{ '${iconAlignMatches === null || iconAlignMatches === void 0 ? void 0 : iconAlignMatches[1]}': '${iconsMatches === null || iconsMatches === void 0 ? void 0 : iconsMatches[1]}' }"`;
|
|
61
|
+
return componentTag.replace(iconAlignRegex, '').replace(iconsRegex, newIcons);
|
|
62
|
+
}
|
|
63
|
+
return componentTag;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.RefactorPropertyIconAlign = RefactorPropertyIconAlign;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ButtonRenamePropertyIconToIcons = exports.ButtonRenamePropertyIconOnlyToHideLabel = exports.
|
|
3
|
+
exports.ButtonRenamePropertyIconToIcons = exports.ButtonRenamePropertyIconOnlyToHideLabel = exports.ButtonRefactorPropertyIconAlign = exports.ButtonRemovePropertyAriaLabel = exports.ButtonRemovePropertyAriaCurrent = void 0;
|
|
4
4
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
5
|
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
|
+
const RefactorPropertyIconAlign_1 = require("../common/RefactorPropertyIconAlign");
|
|
6
7
|
exports.ButtonRemovePropertyAriaCurrent = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-button', '_aria-current', '^1');
|
|
7
8
|
exports.ButtonRemovePropertyAriaLabel = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-button', '_aria-label', '^1');
|
|
8
|
-
|
|
9
|
-
exports.ButtonRemovePropertyIconAlign = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-button', '_icon-align', '^1');
|
|
9
|
+
exports.ButtonRefactorPropertyIconAlign = RefactorPropertyIconAlign_1.RefactorPropertyIconAlign.getInstance('kol-button');
|
|
10
10
|
exports.ButtonRenamePropertyIconOnlyToHideLabel = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-button', '_icon-only', '_hide-label', '^1');
|
|
11
11
|
exports.ButtonRenamePropertyIconToIcons = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-button', '_icon', '_icons', '^1');
|
|
@@ -60,8 +60,8 @@ exports.v1Tasks.push(button_link_1.ButtonLinkRenamePropertyIconOnlyToHideLabel);
|
|
|
60
60
|
exports.v1Tasks.push(button_link_1.ButtonLinkRenamePropertyIconToIcons);
|
|
61
61
|
exports.v1Tasks.push(button_1.ButtonRemovePropertyAriaCurrent);
|
|
62
62
|
exports.v1Tasks.push(button_1.ButtonRemovePropertyAriaLabel);
|
|
63
|
-
exports.v1Tasks.push(button_1.ButtonRemovePropertyIconAlign);
|
|
64
63
|
exports.v1Tasks.push(button_1.ButtonRenamePropertyIconOnlyToHideLabel);
|
|
64
|
+
exports.v1Tasks.push(button_1.ButtonRefactorPropertyIconAlign);
|
|
65
65
|
exports.v1Tasks.push(button_1.ButtonRenamePropertyIconToIcons);
|
|
66
66
|
exports.v1Tasks.push(card_1.CardRenamePropertyHeadingToLabel);
|
|
67
67
|
exports.v1Tasks.push(card_1.CardRenamePropertyHeadlineToLabel);
|
|
@@ -108,7 +108,7 @@ exports.v1Tasks.push(link_1.LinkRemovePropertyAriaExpanded);
|
|
|
108
108
|
exports.v1Tasks.push(link_1.LinkRemovePropertyAriaLabel);
|
|
109
109
|
exports.v1Tasks.push(link_1.LinkRemovePropertyAriaSelected);
|
|
110
110
|
exports.v1Tasks.push(link_1.LinkRemovePropertyDisabled);
|
|
111
|
-
exports.v1Tasks.push(link_1.
|
|
111
|
+
exports.v1Tasks.push(link_1.LinkRefactorPropertyIconAlign);
|
|
112
112
|
exports.v1Tasks.push(link_1.LinkRemovePropertySelector);
|
|
113
113
|
exports.v1Tasks.push(link_1.LinkRemovePropertyStealth);
|
|
114
114
|
exports.v1Tasks.push(link_1.LinkRemovePropertyUseCase);
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LinkRemovePropertyUseCase = exports.LinkRemovePropertyStealth = exports.LinkRemovePropertySelector = exports.LinkRenamePropertyIconOnlyToHideLabel = exports.
|
|
3
|
+
exports.LinkRemovePropertyUseCase = exports.LinkRemovePropertyStealth = exports.LinkRemovePropertySelector = exports.LinkRenamePropertyIconOnlyToHideLabel = exports.LinkRefactorPropertyIconAlign = exports.LinkRenamePropertyIconToIcons = exports.LinkRemovePropertyDisabled = exports.LinkRemovePropertyAriaSelected = exports.LinkRemovePropertyAriaLabel = exports.LinkRemovePropertyAriaExpanded = exports.LinkRenamePropertyAriaCurrentToListenAriaCurrent = exports.LinkRemovePropertyAriaControls = void 0;
|
|
4
4
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
5
|
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
|
+
const RefactorPropertyIconAlign_1 = require("../common/RefactorPropertyIconAlign");
|
|
6
7
|
exports.LinkRemovePropertyAriaControls = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_aria-controls', '^1');
|
|
7
8
|
exports.LinkRenamePropertyAriaCurrentToListenAriaCurrent = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-link', '_aria-current', '_listen-aria-current', '^1');
|
|
8
9
|
exports.LinkRemovePropertyAriaExpanded = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_aria-expanded', '^1');
|
|
@@ -10,8 +11,7 @@ exports.LinkRemovePropertyAriaLabel = RemovePropertyNameTask_1.RemovePropertyNam
|
|
|
10
11
|
exports.LinkRemovePropertyAriaSelected = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_aria-selected', '^1');
|
|
11
12
|
exports.LinkRemovePropertyDisabled = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_disabled', '^1');
|
|
12
13
|
exports.LinkRenamePropertyIconToIcons = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-link', '_icon', '_icons', '^1');
|
|
13
|
-
|
|
14
|
-
exports.LinkRemovePropertyIconAlign = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_icon-align', '^1');
|
|
14
|
+
exports.LinkRefactorPropertyIconAlign = RefactorPropertyIconAlign_1.RefactorPropertyIconAlign.getInstance('kol-link');
|
|
15
15
|
exports.LinkRenamePropertyIconOnlyToHideLabel = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-link', '_icon-only', '_hide-label', '^1');
|
|
16
16
|
exports.LinkRemovePropertySelector = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_selector', '^1');
|
|
17
17
|
exports.LinkRemovePropertyStealth = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_stealth', '^1');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@public-ui/kolibri-cli",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.2",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"homepage": "https://public-ui.github.io",
|
|
6
6
|
"repository": {
|
|
@@ -22,34 +22,34 @@
|
|
|
22
22
|
"type": "commonjs",
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"chalk": "4.1.2",
|
|
25
|
-
"commander": "12.
|
|
25
|
+
"commander": "12.1.0",
|
|
26
26
|
"deepmerge": "4.3.1",
|
|
27
27
|
"gradient-string": "2.0.2",
|
|
28
28
|
"loglevel": "1.9.1",
|
|
29
|
-
"prettier": "3.
|
|
30
|
-
"semver": "7.6.
|
|
29
|
+
"prettier": "3.3.1",
|
|
30
|
+
"semver": "7.6.2"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@public-ui/components": "2.1.0",
|
|
34
33
|
"@types/gradient-string": "1.1.6",
|
|
35
34
|
"@types/node": "ts5.4",
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "7.
|
|
37
|
-
"@typescript-eslint/parser": "7.
|
|
35
|
+
"@typescript-eslint/eslint-plugin": "7.12.0",
|
|
36
|
+
"@typescript-eslint/parser": "7.12.0",
|
|
38
37
|
"cpy-cli": "5.0.0",
|
|
39
38
|
"eslint": "8.57.0",
|
|
40
39
|
"eslint-config-prettier": "9.1.0",
|
|
41
40
|
"eslint-plugin-html": "8.1.1",
|
|
42
|
-
"eslint-plugin-jsdoc": "48.2.
|
|
41
|
+
"eslint-plugin-jsdoc": "48.2.9",
|
|
43
42
|
"eslint-plugin-json": "3.1.0",
|
|
44
43
|
"eslint-plugin-jsx-a11y": "6.8.0",
|
|
45
44
|
"eslint-plugin-no-loops": "0.3.0",
|
|
46
|
-
"eslint-plugin-react": "7.34.
|
|
47
|
-
"knip": "5.
|
|
45
|
+
"eslint-plugin-react": "7.34.2",
|
|
46
|
+
"knip": "5.18.2",
|
|
48
47
|
"mocha": "10.4.0",
|
|
49
|
-
"nodemon": "3.1.
|
|
50
|
-
"rimraf": "5.0.
|
|
48
|
+
"nodemon": "3.1.3",
|
|
49
|
+
"rimraf": "5.0.7",
|
|
51
50
|
"ts-node": "10.9.2",
|
|
52
|
-
"typescript": "5.4.5"
|
|
51
|
+
"typescript": "5.4.5",
|
|
52
|
+
"@public-ui/components": "2.1.2"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist"
|