@public-ui/kolibri-cli 2.2.1 → 3.0.0-alpha.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/dist/migrate/index.js +2 -0
- package/dist/migrate/runner/tasks/common/GenericUpdatePropertyValueTask.js +68 -0
- package/dist/migrate/runner/tasks/common/UpdatePropertyValueTask.js +15 -0
- package/dist/migrate/runner/tasks/v3/index.js +7 -0
- package/dist/migrate/runner/tasks/v3/textarea.js +6 -0
- package/package.json +2 -2
package/dist/migrate/index.js
CHANGED
|
@@ -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
|
+
"version": "3.0.0-alpha.1",
|
|
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": "
|
|
50
|
+
"@public-ui/components": "3.0.0-alpha.1"
|
|
51
51
|
},
|
|
52
52
|
"files": [
|
|
53
53
|
"dist"
|