@public-ui/kolibri-cli 3.0.0-alpha.0 → 3.0.0-rc.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.
@@ -16,6 +16,7 @@ const tasks_1 = require("./runner/tasks");
16
16
  const test_1 = require("./runner/tasks/test");
17
17
  const v1_1 = require("./runner/tasks/v1");
18
18
  const v2_1 = require("./runner/tasks/v2");
19
+ const v3_1 = require("./runner/tasks/v3");
19
20
  const assets_1 = require("./runner/tasks/v1/assets");
20
21
  const reuse_1 = require("./shares/reuse");
21
22
  const types_1 = require("./types");
@@ -78,6 +79,7 @@ Source folder to migrate: ${baseDir}
78
79
  runner.registerTasks(tasks_1.commonTasks);
79
80
  runner.registerTasks(v1_1.v1Tasks);
80
81
  runner.registerTasks(v2_1.v2Tasks);
82
+ runner.registerTasks(v3_1.v3Tasks);
81
83
  runner.registerTasks((0, assets_1.getAssetTasks)(baseDir));
82
84
  if (options.testTasks) {
83
85
  runner.registerTasks(test_1.testTasks);
@@ -0,0 +1,68 @@
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.GenericUpdatePropertyValueTask = 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 GenericUpdatePropertyValueTask extends abstract_task_1.AbstractTask {
12
+ constructor(identifier, description, tag, property, oldValue, newValue, versionRange, dependentTasks = [], options = {}) {
13
+ super(identifier, description, types_1.MARKUP_EXTENSIONS, versionRange, dependentTasks, options);
14
+ this.oldValue = oldValue;
15
+ this.newValue = newValue;
16
+ if (!reuse_1.isTagKebabCaseRegExp.test(tag)) {
17
+ throw (0, reuse_1.logAndCreateError)(`Tag "${tag}" is not in kebab case.`);
18
+ }
19
+ if (!reuse_1.isPropertyKebabCaseRegExp.test(property)) {
20
+ throw (0, reuse_1.logAndCreateError)(`Property "${property}" is not in kebab case.`);
21
+ }
22
+ const propertyInCamelCase = (0, reuse_1.kebabToCamelCase)(property);
23
+ // Use propertyInCamelCase for Angular components
24
+ this.componentRegExp = new RegExp(`<${(0, reuse_1.kebabToCapitalCase)(tag)}[^>]+${propertyInCamelCase}=['"]${oldValue}['"]`, 'g');
25
+ // Use original property name for custom elements
26
+ this.customElementRegExp = new RegExp(`<${tag}[^>]+${property}=['"]${oldValue}['"]`, 'g');
27
+ }
28
+ run(baseDir) {
29
+ this.transpileComponentFileUpdate(baseDir);
30
+ this.transpileCustomElementFileUpdate(baseDir);
31
+ }
32
+ transpileComponentFileUpdate(baseDir) {
33
+ (0, reuse_1.filterFilesByExt)(baseDir, types_1.COMPONENT_FILE_EXTENSIONS).forEach((file) => {
34
+ const content = fs_1.default.readFileSync(file, 'utf8');
35
+ const newContent = updateAttributeValue(content, this.componentRegExp, this.oldValue, this.newValue);
36
+ console.log('RUN transpileComponentFileUpdate');
37
+ if (content !== newContent) {
38
+ reuse_1.MODIFIED_FILES.add(file);
39
+ fs_1.default.writeFileSync(file, newContent);
40
+ }
41
+ });
42
+ }
43
+ transpileCustomElementFileUpdate(baseDir) {
44
+ (0, reuse_1.filterFilesByExt)(baseDir, types_1.CUSTOM_ELEMENT_FILE_EXTENSIONS).forEach((file) => {
45
+ const content = fs_1.default.readFileSync(file, 'utf8');
46
+ const newContent = updateAttributeValue(content, this.customElementRegExp, this.oldValue, this.newValue);
47
+ console.log('RUN transpileCustomElementFileUpdate');
48
+ if (content !== newContent) {
49
+ reuse_1.MODIFIED_FILES.add(file);
50
+ fs_1.default.writeFileSync(file, newContent);
51
+ }
52
+ });
53
+ }
54
+ }
55
+ exports.GenericUpdatePropertyValueTask = GenericUpdatePropertyValueTask;
56
+ // Helper function to update attribute values in HTML strings
57
+ /**
58
+ *
59
+ * @param htmlString
60
+ * @param tagRegExp
61
+ * @param oldValue
62
+ * @param newValue
63
+ */
64
+ function updateAttributeValue(htmlString, tagRegExp, oldValue, newValue) {
65
+ return htmlString.replace(tagRegExp, (match) => {
66
+ return match.replace(`="${oldValue}"`, `="${newValue}"`).replace(`='${oldValue}'`, `='${newValue}'`);
67
+ });
68
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdatePropertyValueTask = void 0;
4
+ const GenericUpdatePropertyValueTask_1 = require("./GenericUpdatePropertyValueTask");
5
+ class UpdatePropertyValueTask extends GenericUpdatePropertyValueTask_1.GenericUpdatePropertyValueTask {
6
+ static getInstance(tag, property, oldValue, newValue, versionRange, dependentTasks = [], options = {}) {
7
+ var _a;
8
+ const identifier = `${tag}-update-property-${property}-value-${oldValue}-to-${newValue}`;
9
+ if (!this.instances.has(identifier)) {
10
+ (_a = this.instances) === null || _a === void 0 ? void 0 : _a.set(identifier, new UpdatePropertyValueTask(identifier, `Upade property "${property}" value from "${oldValue}" to "${newValue}" of "${tag}" component`, tag, property, oldValue, newValue, versionRange, dependentTasks, options));
11
+ }
12
+ return this.instances.get(identifier);
13
+ }
14
+ }
15
+ exports.UpdatePropertyValueTask = UpdatePropertyValueTask;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.v3Tasks = void 0;
4
+ const textarea_1 = require("./textarea");
5
+ exports.v3Tasks = [];
6
+ exports.v3Tasks.push(textarea_1.TextareaUpdatePropertyValue_Resize_Both);
7
+ exports.v3Tasks.push(textarea_1.TextareaUpdatePropertyValue_Resize_Horizontal);
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextareaUpdatePropertyValue_Resize_Horizontal = exports.TextareaUpdatePropertyValue_Resize_Both = void 0;
4
+ const UpdatePropertyValueTask_1 = require("../common/UpdatePropertyValueTask");
5
+ exports.TextareaUpdatePropertyValue_Resize_Both = UpdatePropertyValueTask_1.UpdatePropertyValueTask.getInstance('kol-textarea', '_resize', 'both', 'vertical', '>=2 <4');
6
+ exports.TextareaUpdatePropertyValue_Resize_Horizontal = UpdatePropertyValueTask_1.UpdatePropertyValueTask.getInstance('kol-textarea', '_resize', 'horizontal', 'none', '>=2 <4');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@public-ui/kolibri-cli",
3
- "version": "3.0.0-alpha.0",
3
+ "version": "3.0.0-rc.0",
4
4
  "license": "EUPL-1.2",
5
5
  "homepage": "https://public-ui.github.io",
6
6
  "repository": {
@@ -47,7 +47,7 @@
47
47
  "rimraf": "6.0.1",
48
48
  "ts-node": "10.9.2",
49
49
  "typescript": "5.6.3",
50
- "@public-ui/components": "3.0.0-alpha.0"
50
+ "@public-ui/components": "3.0.0-rc.0"
51
51
  },
52
52
  "files": [
53
53
  "dist"