@public-ui/kolibri-cli 4.0.0-alpha.0 → 4.0.0-alpha.10
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 +277 -64
- package/dist/generate-scss/index.js +18 -0
- package/dist/index.js +5 -5
- package/dist/info/index.js +19 -6
- package/dist/migrate/index.js +18 -3
- package/dist/migrate/runner/abstract-task.js +8 -2
- package/dist/migrate/runner/task-runner.js +18 -19
- package/dist/migrate/runner/tasks/common/ExecTask.js +1 -0
- package/dist/migrate/runner/tasks/common/GenericRenamePropertyTask.js +4 -0
- package/dist/migrate/runner/tasks/common/GenericRenameSlotNameTask.js +5 -0
- package/dist/migrate/runner/tasks/common/GenericRenameTagNameTask.js +5 -2
- package/dist/migrate/runner/tasks/common/GenericUpdatePropertyValueTask.js +62 -0
- package/dist/migrate/runner/tasks/common/GitIgnoreAddRuleTask.js +1 -0
- package/dist/migrate/runner/tasks/common/HandleDependencyTask.js +10 -8
- package/dist/migrate/runner/tasks/common/JsonTask.js +2 -1
- package/dist/migrate/runner/tasks/common/LabelExpertSlot.js +7 -0
- package/dist/migrate/runner/tasks/common/MergeHtmlTask.js +3 -0
- package/dist/migrate/runner/tasks/common/NpmRcAddRuleTask.js +1 -0
- package/dist/migrate/runner/tasks/common/RefactorPropertyErrorToMsg.js +59 -0
- package/dist/migrate/runner/tasks/common/RefactorPropertyIconAlign.js +4 -3
- package/dist/migrate/runner/tasks/common/RefactorPropertyLabelReplaceFalse.js +2 -2
- package/dist/migrate/runner/tasks/common/RemoveMsgPropsTask.js +54 -0
- package/dist/migrate/runner/tasks/common/RemovePropertyNameTask.js +6 -0
- package/dist/migrate/runner/tasks/common/RenamePropertyNameTask.js +1 -2
- package/dist/migrate/runner/tasks/common/RenameTagNameTask.js +1 -2
- package/dist/migrate/runner/tasks/common/ScssAddSelectorTask.js +203 -0
- package/dist/migrate/runner/tasks/common/ScssRemoveSelectorTask.js +275 -0
- package/dist/migrate/runner/tasks/common/ScssRenameBlockTask.js +43 -0
- package/dist/migrate/runner/tasks/common/ScssRenameElementTask.js +48 -0
- package/dist/migrate/runner/tasks/common/ScssRenameModifierTask.js +48 -0
- package/dist/migrate/runner/tasks/common/ScssUpdateTokenTask.js +51 -0
- package/dist/migrate/runner/tasks/common/TsConfigReconfigureTask.js +3 -1
- package/dist/migrate/runner/tasks/common/UpdatePropertyValueTask.js +14 -0
- package/dist/migrate/runner/tasks/common/VsCodeSettingsReconfigureTask.js +3 -1
- package/dist/migrate/runner/tasks/v1/button.js +1 -1
- package/dist/migrate/runner/tasks/v1/index.js +2 -2
- package/dist/migrate/runner/tasks/v1/input-email.js +1 -1
- package/dist/migrate/runner/tasks/v1/input-number.js +1 -1
- package/dist/migrate/runner/tasks/v1/input-password.js +1 -1
- package/dist/migrate/runner/tasks/v1/input-text.js +1 -1
- package/dist/migrate/runner/tasks/v1/link.js +1 -1
- package/dist/migrate/runner/tasks/v1/select.js +1 -1
- package/dist/migrate/runner/tasks/v3/abbr.js +5 -0
- package/dist/migrate/runner/tasks/v3/all-input.js +27 -0
- package/dist/migrate/runner/tasks/v3/index.js +17 -0
- package/dist/migrate/runner/tasks/v3/input-file.js +5 -0
- package/dist/migrate/runner/tasks/v3/modal.js +5 -0
- package/dist/migrate/runner/tasks/v3/textarea.js +6 -0
- package/dist/migrate/runner/tasks/v3/toaster.js +34 -0
- package/dist/migrate/runner/tasks/v4/id.js +26 -0
- package/dist/migrate/runner/tasks/v4/index.js +16 -0
- package/dist/migrate/runner/tasks/v4/link.js +66 -0
- package/dist/migrate/runner/tasks/v4/loader.js +36 -0
- package/dist/migrate/runner/tasks/v4/msg.js +5 -0
- package/dist/migrate/runner/tasks/v4/toast.js +56 -0
- package/dist/migrate/runner/tasks/v4/toaster.js +68 -0
- package/dist/migrate/shares/reuse.js +44 -1
- package/dist/types.js +5 -2
- package/package.json +27 -20
|
@@ -10,6 +10,8 @@ const path_1 = __importDefault(require("path"));
|
|
|
10
10
|
const reuse_1 = require("../../../shares/reuse");
|
|
11
11
|
const abstract_task_1 = require("../../abstract-task");
|
|
12
12
|
class TsConfigReconfigureTask extends abstract_task_1.AbstractTask {
|
|
13
|
+
key;
|
|
14
|
+
config;
|
|
13
15
|
constructor(identifier, key, config, versionRange, dependentTasks = [], options = {}) {
|
|
14
16
|
super(identifier, `Reconfigure "${key}" in tsconfig.json of your project.`, [], versionRange, dependentTasks, options);
|
|
15
17
|
this.key = key;
|
|
@@ -20,7 +22,7 @@ class TsConfigReconfigureTask extends abstract_task_1.AbstractTask {
|
|
|
20
22
|
try {
|
|
21
23
|
JSON.stringify(config);
|
|
22
24
|
}
|
|
23
|
-
catch
|
|
25
|
+
catch {
|
|
24
26
|
throw (0, reuse_1.logAndCreateError)(`Value of task "${this.identifier}" is not able to stringify (JSON).`);
|
|
25
27
|
}
|
|
26
28
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
const identifier = `${tag}-update-property-${property}-value-${oldValue}-to-${newValue}`;
|
|
8
|
+
if (!this.instances.has(identifier)) {
|
|
9
|
+
this.instances?.set(identifier, new UpdatePropertyValueTask(identifier, `Upade property "${property}" value from "${oldValue}" to "${newValue}" of "${tag}" component`, tag, property, oldValue, newValue, versionRange, dependentTasks, options));
|
|
10
|
+
}
|
|
11
|
+
return this.instances.get(identifier);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.UpdatePropertyValueTask = UpdatePropertyValueTask;
|
|
@@ -9,6 +9,8 @@ const path_1 = __importDefault(require("path"));
|
|
|
9
9
|
const reuse_1 = require("../../../shares/reuse");
|
|
10
10
|
const abstract_task_1 = require("../../abstract-task");
|
|
11
11
|
class VsCodeSettingsReconfigureTask extends abstract_task_1.AbstractTask {
|
|
12
|
+
key;
|
|
13
|
+
value;
|
|
12
14
|
constructor(identifier, key, value, versionRange, dependentTasks = [], options = {}) {
|
|
13
15
|
super(identifier, `Reconfigure "${key}" in vscode settings of your project.`, [], versionRange, dependentTasks, options);
|
|
14
16
|
this.key = key;
|
|
@@ -19,7 +21,7 @@ class VsCodeSettingsReconfigureTask extends abstract_task_1.AbstractTask {
|
|
|
19
21
|
try {
|
|
20
22
|
JSON.stringify(value);
|
|
21
23
|
}
|
|
22
|
-
catch
|
|
24
|
+
catch {
|
|
23
25
|
throw (0, reuse_1.logAndCreateError)(`Value of task "${this.identifier}" is not able to stringify (JSON).`);
|
|
24
26
|
}
|
|
25
27
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ButtonRenamePropertyIconToIcons = exports.ButtonRenamePropertyIconOnlyToHideLabel = exports.ButtonRefactorPropertyIconAlign = exports.ButtonRemovePropertyAriaLabel = exports.ButtonRemovePropertyAriaCurrent = void 0;
|
|
4
|
+
const RefactorPropertyIconAlign_1 = require("../common/RefactorPropertyIconAlign");
|
|
4
5
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
6
|
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
|
-
const RefactorPropertyIconAlign_1 = require("../common/RefactorPropertyIconAlign");
|
|
7
7
|
exports.ButtonRemovePropertyAriaCurrent = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-button', '_aria-current', '^1');
|
|
8
8
|
exports.ButtonRemovePropertyAriaLabel = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-button', '_aria-label', '^1');
|
|
9
9
|
exports.ButtonRefactorPropertyIconAlign = RefactorPropertyIconAlign_1.RefactorPropertyIconAlign.getInstance('kol-button');
|
|
@@ -7,6 +7,7 @@ const RefactorPropertyLabelReplaceFalse_1 = require("../common/RefactorPropertyL
|
|
|
7
7
|
const RenameSlotNameTask_1 = require("../common/RenameSlotNameTask");
|
|
8
8
|
const abbr_1 = require("./abbr");
|
|
9
9
|
const accordion_1 = require("./accordion");
|
|
10
|
+
const alert_1 = require("./alert");
|
|
10
11
|
const badge_1 = require("./badge");
|
|
11
12
|
const breadcrumb_1 = require("./breadcrumb");
|
|
12
13
|
const button_1 = require("./button");
|
|
@@ -38,12 +39,11 @@ const select_1 = require("./select");
|
|
|
38
39
|
const skip_nav_1 = require("./skip-nav");
|
|
39
40
|
const span_1 = require("./span");
|
|
40
41
|
const split_button_1 = require("./split-button");
|
|
42
|
+
const symbol_1 = require("./symbol");
|
|
41
43
|
const table_1 = require("./table");
|
|
42
44
|
const tabs_1 = require("./tabs");
|
|
43
45
|
const toast_1 = require("./toast");
|
|
44
46
|
const version_1 = require("./version");
|
|
45
|
-
const alert_1 = require("./alert");
|
|
46
|
-
const symbol_1 = require("./symbol");
|
|
47
47
|
exports.v1Tasks = [];
|
|
48
48
|
exports.v1Tasks.push(abbr_1.AbbrRenamePropertyAlignToTooltipAlign);
|
|
49
49
|
exports.v1Tasks.push(abbr_1.AbbrRenamePropertyTitleToLabel);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InputEmailRemovePropertySize = exports.InputEmailRenamePropertyIconToIcons = exports.InputEmailRenamePropertyListToSuggestions = void 0;
|
|
4
|
-
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
5
4
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
6
|
exports.InputEmailRenamePropertyListToSuggestions = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-input-email', '_list', '_suggestions', '^1');
|
|
7
7
|
exports.InputEmailRenamePropertyIconToIcons = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-input-email', '_icon', '_icons', '^1');
|
|
8
8
|
exports.InputEmailRemovePropertySize = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-input-email', '_size', '^1');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InputNumberRemovePropertyType = exports.InputNumberRenamePropertyIconToIcons = exports.InputNumberRenamePropertyListToSuggestions = void 0;
|
|
4
|
-
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
5
4
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
6
|
exports.InputNumberRenamePropertyListToSuggestions = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-input-number', '_list', '_suggestions', '^1');
|
|
7
7
|
// @todo export const InputNumberRemovePropertyType = RemovePropertyNameTask.getInstance('kol-input-number', '_type', '^1');
|
|
8
8
|
exports.InputNumberRenamePropertyIconToIcons = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-input-number', '_icon', '_icons', '^1');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InputPasswordRemovePropertySize = exports.InputPasswordRenamePropertyIconToIcons = void 0;
|
|
4
|
-
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
5
4
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
6
|
exports.InputPasswordRenamePropertyIconToIcons = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-input-password', '_icon', '_icons', '^1');
|
|
7
7
|
exports.InputPasswordRemovePropertySize = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-input-password', '_size', '^1');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InputTextRemovePropertySize = exports.InputTextRenamePropertyIconToIcons = exports.InputTextRenamePropertyListToSuggestions = void 0;
|
|
4
|
-
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
5
4
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
6
|
exports.InputTextRenamePropertyListToSuggestions = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-input-text', '_list', '_suggestions', '^1');
|
|
7
7
|
exports.InputTextRenamePropertyIconToIcons = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-input-text', '_icon', '_icons', '^1');
|
|
8
8
|
exports.InputTextRemovePropertySize = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-input-text', '_size', '^1');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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
|
+
const RefactorPropertyIconAlign_1 = require("../common/RefactorPropertyIconAlign");
|
|
4
5
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
6
|
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
|
-
const RefactorPropertyIconAlign_1 = require("../common/RefactorPropertyIconAlign");
|
|
7
7
|
exports.LinkRemovePropertyAriaControls = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_aria-controls', '^1');
|
|
8
8
|
exports.LinkRenamePropertyAriaCurrentToListenAriaCurrent = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-link', '_aria-current', '_listen-aria-current', '^1');
|
|
9
9
|
exports.LinkRemovePropertyAriaExpanded = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-link', '_aria-expanded', '^1');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SelectRemovePropertySize = exports.SelectRenamePropertyIconToIcons = exports.SelectRenamePropertyListToOptions = exports.SelectRenamePropertyHeightToRows = void 0;
|
|
4
|
-
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
5
4
|
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
6
6
|
exports.SelectRenamePropertyHeightToRows = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-select', '_height', '_rows', '^1');
|
|
7
7
|
exports.SelectRenamePropertyListToOptions = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-select', '_list', '_options', '^1');
|
|
8
8
|
exports.SelectRenamePropertyIconToIcons = RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance('kol-select', '_icon', '_icons', '^1');
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbbrRemovePropertyTooltipAlign = void 0;
|
|
4
|
+
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
exports.AbbrRemovePropertyTooltipAlign = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-abbr', '_tooltip-align', '>=2 <4');
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AllInputTasks = void 0;
|
|
4
|
+
const RefactorPropertyErrorToMsg_1 = require("../common/RefactorPropertyErrorToMsg");
|
|
5
|
+
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
6
|
+
const RenamePropertyNameTask_1 = require("../common/RenamePropertyNameTask");
|
|
7
|
+
const INPUT_COMPONENTS = [
|
|
8
|
+
'kol-combobox',
|
|
9
|
+
'kol-input-checkbox',
|
|
10
|
+
'kol-input-color',
|
|
11
|
+
'kol-input-date',
|
|
12
|
+
'kol-input-email',
|
|
13
|
+
'kol-input-file',
|
|
14
|
+
'kol-input-number',
|
|
15
|
+
'kol-input-password',
|
|
16
|
+
'kol-input-radio',
|
|
17
|
+
'kol-input-range',
|
|
18
|
+
'kol-input-text',
|
|
19
|
+
'kol-select',
|
|
20
|
+
'kol-single-select',
|
|
21
|
+
'kol-textarea',
|
|
22
|
+
];
|
|
23
|
+
exports.AllInputTasks = INPUT_COMPONENTS.flatMap((componentName) => [
|
|
24
|
+
RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance(componentName, '_alert', '>=2 <4'),
|
|
25
|
+
RefactorPropertyErrorToMsg_1.RefactorPropertyErrorToMsg.getInstance(componentName, '>=2 <4'),
|
|
26
|
+
RenamePropertyNameTask_1.RenamePropertyNameTask.getInstance(componentName, '_hide-error', '_hide-msg', '>=2 <4'),
|
|
27
|
+
]);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.v3Tasks = void 0;
|
|
4
|
+
const abbr_1 = require("./abbr");
|
|
5
|
+
const all_input_1 = require("./all-input");
|
|
6
|
+
const input_file_1 = require("./input-file");
|
|
7
|
+
const modal_1 = require("./modal");
|
|
8
|
+
const textarea_1 = require("./textarea");
|
|
9
|
+
const toaster_1 = require("./toaster");
|
|
10
|
+
exports.v3Tasks = [];
|
|
11
|
+
exports.v3Tasks.push(textarea_1.TextareaUpdatePropertyValue_Resize_Both);
|
|
12
|
+
exports.v3Tasks.push(textarea_1.TextareaUpdatePropertyValue_Resize_Horizontal);
|
|
13
|
+
exports.v3Tasks.push(abbr_1.AbbrRemovePropertyTooltipAlign);
|
|
14
|
+
exports.v3Tasks.push(modal_1.ModalRemovePropertyActiveElement);
|
|
15
|
+
exports.v3Tasks.push(input_file_1.InputFileRemovePropertyValue);
|
|
16
|
+
exports.v3Tasks.push(...all_input_1.AllInputTasks);
|
|
17
|
+
exports.v3Tasks.push(toaster_1.ToasterRenameProperties);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InputFileRemovePropertyValue = void 0;
|
|
4
|
+
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
exports.InputFileRemovePropertyValue = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-input-file', '_value', '>=2 <4');
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModalRemovePropertyActiveElement = void 0;
|
|
4
|
+
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
exports.ModalRemovePropertyActiveElement = RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance('kol-modal', '_active-element', '>=2 <4');
|
|
@@ -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');
|
|
@@ -0,0 +1,34 @@
|
|
|
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.ToasterRenameProperties = 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
|
+
const fileExtensions = [...types_1.FILE_EXTENSIONS];
|
|
12
|
+
class ToasterRenamePropertiesTask extends abstract_task_1.AbstractTask {
|
|
13
|
+
constructor() {
|
|
14
|
+
super('toaster-rename-properties', 'Rename Toaster properties `alertVariant` to `variant` and `defaultAlertType` to `defaultVariant`', fileExtensions, '>=2 <4');
|
|
15
|
+
}
|
|
16
|
+
static getInstance() {
|
|
17
|
+
const identifier = 'toaster-rename-properties';
|
|
18
|
+
if (!this.instances.has(identifier)) {
|
|
19
|
+
this.instances.set(identifier, new ToasterRenamePropertiesTask());
|
|
20
|
+
}
|
|
21
|
+
return this.instances.get(identifier);
|
|
22
|
+
}
|
|
23
|
+
run(baseDir) {
|
|
24
|
+
(0, reuse_1.filterFilesByExt)(baseDir, fileExtensions).forEach((file) => {
|
|
25
|
+
const content = fs_1.default.readFileSync(file, 'utf8');
|
|
26
|
+
const newContent = content.replace(/alertVariant(?=\s*:)/g, 'variant').replace(/defaultAlertType(?=\s*:)/g, 'defaultVariant');
|
|
27
|
+
if (content !== newContent) {
|
|
28
|
+
reuse_1.MODIFIED_FILES.add(file);
|
|
29
|
+
fs_1.default.writeFileSync(file, newContent);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.ToasterRenameProperties = ToasterRenamePropertiesTask.getInstance();
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoveIdPropTasks = void 0;
|
|
4
|
+
const RemovePropertyNameTask_1 = require("../common/RemovePropertyNameTask");
|
|
5
|
+
const ID_COMPONENTS = [
|
|
6
|
+
'kol-button',
|
|
7
|
+
'kol-button-link',
|
|
8
|
+
'kol-combobox',
|
|
9
|
+
'kol-input-checkbox',
|
|
10
|
+
'kol-input-color',
|
|
11
|
+
'kol-input-date',
|
|
12
|
+
'kol-input-email',
|
|
13
|
+
'kol-input-file',
|
|
14
|
+
'kol-input-number',
|
|
15
|
+
'kol-input-password',
|
|
16
|
+
'kol-input-radio',
|
|
17
|
+
'kol-input-range',
|
|
18
|
+
'kol-input-text',
|
|
19
|
+
'kol-popover-button',
|
|
20
|
+
'kol-select',
|
|
21
|
+
'kol-single-select',
|
|
22
|
+
'kol-split-button',
|
|
23
|
+
'kol-textarea',
|
|
24
|
+
'kol-tooltip',
|
|
25
|
+
];
|
|
26
|
+
exports.RemoveIdPropTasks = ID_COMPONENTS.map((componentName) => RemovePropertyNameTask_1.RemovePropertyNameTask.getInstance(componentName, '_id', '^4'));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.v4Tasks = void 0;
|
|
4
|
+
const id_1 = require("./id");
|
|
5
|
+
const link_1 = require("./link");
|
|
6
|
+
const loader_1 = require("./loader");
|
|
7
|
+
const msg_1 = require("./msg");
|
|
8
|
+
const toast_1 = require("./toast");
|
|
9
|
+
const toaster_1 = require("./toaster");
|
|
10
|
+
exports.v4Tasks = [];
|
|
11
|
+
exports.v4Tasks.push(...link_1.MapVariantStandaloneToInlineTasks);
|
|
12
|
+
exports.v4Tasks.push(...id_1.RemoveIdPropTasks);
|
|
13
|
+
exports.v4Tasks.push(...msg_1.RemoveMsgPropsTasks);
|
|
14
|
+
exports.v4Tasks.push(toast_1.RemoveToastVariantTask.getInstance('^4'));
|
|
15
|
+
exports.v4Tasks.push(toaster_1.RemoveToasterGetInstanceOptionsTask.getInstance('^4'));
|
|
16
|
+
exports.v4Tasks.push(loader_1.UpdateLoaderImportPathTask.getInstance('^4'));
|
|
@@ -0,0 +1,66 @@
|
|
|
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.MapVariantStandaloneToInlineTasks = exports.MapLinkVariantStandaloneToInlineTask = exports.MapButtonLinkVariantStandaloneToInlineTask = 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 MapVariantStandaloneToInlineTask extends abstract_task_1.AbstractTask {
|
|
12
|
+
tag;
|
|
13
|
+
tagCapitalCase;
|
|
14
|
+
variantStandaloneRegExp = /\s_variant\s*=\s*(\{["'`]standalone["'`]\}|["'`]standalone["'`])/;
|
|
15
|
+
constructor(identifier, tag, versionRange, dependentTasks, options) {
|
|
16
|
+
super(identifier, `Map "_variant=standalone" to "_inline" for "${tag}"`, types_1.MARKUP_EXTENSIONS, versionRange, dependentTasks, options);
|
|
17
|
+
this.tag = tag;
|
|
18
|
+
this.tagCapitalCase = (0, reuse_1.kebabToCapitalCase)(tag);
|
|
19
|
+
}
|
|
20
|
+
static getInstance(tag, versionRange, dependentTasks, options) {
|
|
21
|
+
const identifier = `${tag}-map-variant-standalone-to-inline`;
|
|
22
|
+
if (!this.instances.has(identifier)) {
|
|
23
|
+
this.instances.set(identifier, new MapVariantStandaloneToInlineTask(identifier, tag, versionRange, dependentTasks, options));
|
|
24
|
+
}
|
|
25
|
+
return this.instances.get(identifier);
|
|
26
|
+
}
|
|
27
|
+
run(baseDir) {
|
|
28
|
+
this.transpileComponentFiles(baseDir);
|
|
29
|
+
this.transpileCustomElementFiles(baseDir);
|
|
30
|
+
}
|
|
31
|
+
transpileComponentFiles(baseDir) {
|
|
32
|
+
const tagRegExp = new RegExp(`<${this.tagCapitalCase}[^>]*_variant[^>]*>`, 'g');
|
|
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 = content.replace(tagRegExp, (componentTag) => this.rewriteTag(componentTag, true));
|
|
36
|
+
if (content !== newContent) {
|
|
37
|
+
reuse_1.MODIFIED_FILES.add(file);
|
|
38
|
+
fs_1.default.writeFileSync(file, newContent);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
transpileCustomElementFiles(baseDir) {
|
|
43
|
+
const tagRegExp = new RegExp(`<${this.tag}[^>]*_variant[^>]*>`, 'g');
|
|
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 = content.replace(tagRegExp, (componentTag) => this.rewriteTag(componentTag, false));
|
|
47
|
+
if (content !== newContent) {
|
|
48
|
+
reuse_1.MODIFIED_FILES.add(file);
|
|
49
|
+
fs_1.default.writeFileSync(file, newContent);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
rewriteTag(componentTag, isComponent) {
|
|
54
|
+
if (!this.variantStandaloneRegExp.test(componentTag)) {
|
|
55
|
+
return componentTag;
|
|
56
|
+
}
|
|
57
|
+
const inlineReplacement = isComponent ? ' _inline={false}' : ' _inline="false"';
|
|
58
|
+
if (/\s_inline\s*=/.test(componentTag)) {
|
|
59
|
+
return componentTag.replace(this.variantStandaloneRegExp, '');
|
|
60
|
+
}
|
|
61
|
+
return componentTag.replace(this.variantStandaloneRegExp, inlineReplacement);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.MapButtonLinkVariantStandaloneToInlineTask = MapVariantStandaloneToInlineTask.getInstance('kol-button-link', '^4');
|
|
65
|
+
exports.MapLinkVariantStandaloneToInlineTask = MapVariantStandaloneToInlineTask.getInstance('kol-link', '^4');
|
|
66
|
+
exports.MapVariantStandaloneToInlineTasks = [exports.MapButtonLinkVariantStandaloneToInlineTask, exports.MapLinkVariantStandaloneToInlineTask];
|
|
@@ -0,0 +1,36 @@
|
|
|
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.UpdateLoaderImportPathTask = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const reuse_1 = require("../../../shares/reuse");
|
|
9
|
+
const abstract_task_1 = require("../../abstract-task");
|
|
10
|
+
const LOADER_FILE_EXTENSIONS = ['js', 'jsx', 'ts', 'tsx', 'vue'];
|
|
11
|
+
class UpdateLoaderImportPathTask extends abstract_task_1.AbstractTask {
|
|
12
|
+
constructor(identifier, versionRange, dependentTasks, options) {
|
|
13
|
+
super(identifier, 'Update loader imports to @public-ui/components/loader', LOADER_FILE_EXTENSIONS, versionRange, dependentTasks, options);
|
|
14
|
+
}
|
|
15
|
+
static getInstance(versionRange, dependentTasks = [], options = {}) {
|
|
16
|
+
const identifier = `update-loader-import-path-${versionRange}`;
|
|
17
|
+
if (!this.instances.has(identifier)) {
|
|
18
|
+
this.instances.set(identifier, new UpdateLoaderImportPathTask(identifier, versionRange, dependentTasks, options));
|
|
19
|
+
}
|
|
20
|
+
return this.instances.get(identifier);
|
|
21
|
+
}
|
|
22
|
+
run(baseDir) {
|
|
23
|
+
this.transpileFiles(baseDir);
|
|
24
|
+
}
|
|
25
|
+
transpileFiles(baseDir) {
|
|
26
|
+
(0, reuse_1.filterFilesByExt)(baseDir, LOADER_FILE_EXTENSIONS).forEach((file) => {
|
|
27
|
+
const content = fs_1.default.readFileSync(file, 'utf8');
|
|
28
|
+
const newContent = content.replace(/@public-ui\/components\/dist\/loader/g, '@public-ui/components/loader');
|
|
29
|
+
if (newContent !== content) {
|
|
30
|
+
reuse_1.MODIFIED_FILES.add(file);
|
|
31
|
+
fs_1.default.writeFileSync(file, newContent);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.UpdateLoaderImportPathTask = UpdateLoaderImportPathTask;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoveMsgPropsTasks = void 0;
|
|
4
|
+
const RemoveMsgPropsTask_1 = require("../common/RemoveMsgPropsTask");
|
|
5
|
+
exports.RemoveMsgPropsTasks = [RemoveMsgPropsTask_1.RemoveMsgPropsTask.getInstance('^4')];
|
|
@@ -0,0 +1,56 @@
|
|
|
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.RemoveToastVariantTask = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const reuse_1 = require("../../../shares/reuse");
|
|
9
|
+
const abstract_task_1 = require("../../abstract-task");
|
|
10
|
+
// Toast migration should cover JavaScript/TypeScript files where toast services are used
|
|
11
|
+
const TOAST_FILE_EXTENSIONS = ['js', 'jsx', 'ts', 'tsx', 'vue'];
|
|
12
|
+
class RemoveToastVariantTask extends abstract_task_1.AbstractTask {
|
|
13
|
+
toastEnqueueVariantRegExp;
|
|
14
|
+
toastObjectVariantRegExp;
|
|
15
|
+
constructor(identifier, versionRange, dependentTasks, options) {
|
|
16
|
+
super(identifier, 'Remove "variant" property from Toast objects in enqueue() calls', TOAST_FILE_EXTENSIONS, versionRange, dependentTasks, options);
|
|
17
|
+
// Match variant property in enqueue() calls - multiline support
|
|
18
|
+
this.toastEnqueueVariantRegExp = /(\benqueue\s*\(\s*\{[\s\S]*?)(\s*,?\s*variant\s*:\s*['"]\w+['"][\s\S]*?(?=\s*[,}]))([,\s]*[\s\S]*?\})/g;
|
|
19
|
+
// Match variant property in toast objects - multiline support
|
|
20
|
+
this.toastObjectVariantRegExp = /(\{\s*[\s\S]*?)(\s*,?\s*variant\s*:\s*['"]\w+['"][\s\S]*?(?=\s*[,}]))([,\s]*[\s\S]*?\})/g;
|
|
21
|
+
}
|
|
22
|
+
static getInstance(versionRange, dependentTasks, options) {
|
|
23
|
+
const identifier = `remove-toast-variant-${versionRange}`;
|
|
24
|
+
return new RemoveToastVariantTask(identifier, versionRange, dependentTasks, options);
|
|
25
|
+
}
|
|
26
|
+
run(baseDir) {
|
|
27
|
+
this.transpileFiles(baseDir);
|
|
28
|
+
}
|
|
29
|
+
transpileFiles(baseDir) {
|
|
30
|
+
(0, reuse_1.filterFilesByExt)(baseDir, TOAST_FILE_EXTENSIONS).forEach((file) => {
|
|
31
|
+
const content = fs_1.default.readFileSync(file, 'utf8');
|
|
32
|
+
let newContent = content;
|
|
33
|
+
let modified = false;
|
|
34
|
+
// Simple RegEx to match variant lines
|
|
35
|
+
const variantLineRegExp = /^(\s*)variant\s*:\s*['"]\w+['"],?\s*$/gm;
|
|
36
|
+
// Check if the file likely contains toast-related code
|
|
37
|
+
if (content.includes('enqueue') || (content.includes('type:') && content.includes('variant:'))) {
|
|
38
|
+
newContent = newContent.replace(variantLineRegExp, () => {
|
|
39
|
+
modified = true;
|
|
40
|
+
return ''; // Remove the entire line
|
|
41
|
+
});
|
|
42
|
+
// Clean up potential comma issues after removing lines
|
|
43
|
+
newContent = newContent.replace(/,(\s*\n\s*\})/g, '$1'); // Comma before closing brace
|
|
44
|
+
newContent = newContent.replace(/\{(\s*\n\s*,)/g, '{$1'.replace(',', '')); // Comma after opening brace
|
|
45
|
+
newContent = newContent.replace(/,(\s*\n\s*,)/g, '$1'); // Double commas
|
|
46
|
+
// Remove excessive empty lines
|
|
47
|
+
newContent = newContent.replace(/\n\s*\n\s*\n/g, '\n\n');
|
|
48
|
+
}
|
|
49
|
+
if (modified && (0, reuse_1.getRemoveMode)()) {
|
|
50
|
+
reuse_1.MODIFIED_FILES.add(file);
|
|
51
|
+
fs_1.default.writeFileSync(file, newContent);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.RemoveToastVariantTask = RemoveToastVariantTask;
|
|
@@ -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.RemoveToasterGetInstanceOptionsTask = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const reuse_1 = require("../../../shares/reuse");
|
|
9
|
+
const abstract_task_1 = require("../../abstract-task");
|
|
10
|
+
// ToasterService migration should cover JavaScript/TypeScript files where the service is used
|
|
11
|
+
const TOASTER_FILE_EXTENSIONS = ['js', 'jsx', 'ts', 'tsx', 'vue'];
|
|
12
|
+
class RemoveToasterGetInstanceOptionsTask extends abstract_task_1.AbstractTask {
|
|
13
|
+
getInstanceOptionsRegExp;
|
|
14
|
+
constructor(identifier, versionRange, dependentTasks, options) {
|
|
15
|
+
super(identifier, 'Remove "defaultVariant" option from ToasterService.getInstance() calls', TOASTER_FILE_EXTENSIONS, versionRange, dependentTasks, options);
|
|
16
|
+
// Match ToasterService.getInstance(document, { defaultVariant: '...' })
|
|
17
|
+
// This regex captures the service call and removes the options parameter if it only contains defaultVariant
|
|
18
|
+
this.getInstanceOptionsRegExp = /(\bToasterService\.getInstance\s*\(\s*[^,)]+)(\s*,\s*\{\s*defaultVariant\s*:\s*['"]\w+['"]\s*\})(\s*\))/g;
|
|
19
|
+
}
|
|
20
|
+
static getInstance(versionRange, dependentTasks, options) {
|
|
21
|
+
const identifier = `remove-toaster-get-instance-options-${versionRange}`;
|
|
22
|
+
return new RemoveToasterGetInstanceOptionsTask(identifier, versionRange, dependentTasks, options);
|
|
23
|
+
}
|
|
24
|
+
run(baseDir) {
|
|
25
|
+
this.transpileFiles(baseDir);
|
|
26
|
+
}
|
|
27
|
+
transpileFiles(baseDir) {
|
|
28
|
+
(0, reuse_1.filterFilesByExt)(baseDir, TOASTER_FILE_EXTENSIONS).forEach((file) => {
|
|
29
|
+
const content = fs_1.default.readFileSync(file, 'utf8');
|
|
30
|
+
let newContent = content;
|
|
31
|
+
let modified = false;
|
|
32
|
+
// Remove defaultVariant options from ToasterService.getInstance() calls
|
|
33
|
+
newContent = newContent.replace(this.getInstanceOptionsRegExp, (match, before, optionsParam, after) => {
|
|
34
|
+
modified = true;
|
|
35
|
+
// Simply remove the options parameter entirely
|
|
36
|
+
return before + after;
|
|
37
|
+
});
|
|
38
|
+
// Also handle more complex cases where there might be other options mixed in
|
|
39
|
+
// Match any options object that contains defaultVariant and remove just that property
|
|
40
|
+
const complexOptionsRegExp = /(\bToasterService\.getInstance\s*\(\s*[^,)]+\s*,\s*\{[^}]*?)(?:,\s*)?defaultVariant\s*:\s*['"]\w+['"](?:,\s*)?([^}]*\})/g;
|
|
41
|
+
newContent = newContent.replace(complexOptionsRegExp, (match, before, after) => {
|
|
42
|
+
// Only modify if we haven't already handled this with the simpler regex
|
|
43
|
+
if (!this.getInstanceOptionsRegExp.test(match)) {
|
|
44
|
+
modified = true;
|
|
45
|
+
// Clean up potential double commas
|
|
46
|
+
const cleanBefore = before.replace(/,\s*$/, '');
|
|
47
|
+
const cleanAfter = after.replace(/^\s*,/, '');
|
|
48
|
+
// Check if the options object would be empty after removing defaultVariant
|
|
49
|
+
if (cleanAfter.trim() === '}' && cleanBefore.trim().endsWith('{')) {
|
|
50
|
+
// Remove the entire options parameter
|
|
51
|
+
return cleanBefore.replace(/\s*,\s*\{\s*$/, '');
|
|
52
|
+
}
|
|
53
|
+
// Add comma if needed between remaining properties
|
|
54
|
+
if (cleanBefore.trim() !== '{' && cleanAfter.trim() !== '}' && !cleanBefore.endsWith(',') && !cleanAfter.startsWith(',')) {
|
|
55
|
+
return cleanBefore + ',' + cleanAfter;
|
|
56
|
+
}
|
|
57
|
+
return cleanBefore + cleanAfter;
|
|
58
|
+
}
|
|
59
|
+
return match;
|
|
60
|
+
});
|
|
61
|
+
if (modified && (0, reuse_1.getRemoveMode)()) {
|
|
62
|
+
reuse_1.MODIFIED_FILES.add(file);
|
|
63
|
+
fs_1.default.writeFileSync(file, newContent);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.RemoveToasterGetInstanceOptionsTask = RemoveToasterGetInstanceOptionsTask;
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.POST_MESSAGES = exports.findIndexHtml = exports.resolveIndexHtmlPath = exports.getVersionOfPublicUiKoliBriCli = exports.getVersionOfPublicUiComponents = exports.getContentOfProjectPkgJson = exports.MODIFIED_FILES = exports.isPropertyKebabCaseRegExp = exports.isTagKebabCaseRegExp = exports.isKebabCaseRegExp = void 0;
|
|
7
7
|
exports.logAndCreateError = logAndCreateError;
|
|
8
8
|
exports.filterFilesByExt = filterFilesByExt;
|
|
9
|
+
exports.hasKoliBriTags = hasKoliBriTags;
|
|
9
10
|
exports.getPackageManagerCommand = getPackageManagerCommand;
|
|
10
11
|
exports.kebabToCapitalCase = kebabToCapitalCase;
|
|
11
12
|
exports.kebabToCamelCase = kebabToCamelCase;
|
|
@@ -14,6 +15,7 @@ exports.getRemoveMode = getRemoveMode;
|
|
|
14
15
|
const chalk_1 = __importDefault(require("chalk"));
|
|
15
16
|
const fs_1 = __importDefault(require("fs"));
|
|
16
17
|
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const types_1 = require("../../types");
|
|
17
19
|
/**
|
|
18
20
|
* This function is used to exit the process with an error message.
|
|
19
21
|
* @param {string} msg The error message
|
|
@@ -55,6 +57,44 @@ function filterFilesByExt(dir, ext) {
|
|
|
55
57
|
});
|
|
56
58
|
return files;
|
|
57
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Checks if the specified directory contains any files with KoliBri tags.
|
|
62
|
+
* Files are streamed in chunks to avoid loading entire files into memory.
|
|
63
|
+
* @param {string} dir The directory to search in
|
|
64
|
+
* @returns {boolean} True if at least one file contains KoliBri component tags (web or React)
|
|
65
|
+
*/
|
|
66
|
+
function hasKoliBriTags(dir) {
|
|
67
|
+
const regexes = [types_1.WEB_TAG_REGEX, types_1.REACT_TAG_REGEX];
|
|
68
|
+
const files = filterFilesByExt(dir, types_1.MARKUP_EXTENSIONS);
|
|
69
|
+
for (const file of files) {
|
|
70
|
+
let fd;
|
|
71
|
+
try {
|
|
72
|
+
fd = fs_1.default.openSync(file, 'r');
|
|
73
|
+
const buffer = Buffer.alloc(65536);
|
|
74
|
+
let bytesRead;
|
|
75
|
+
let content = '';
|
|
76
|
+
while ((bytesRead = fs_1.default.readSync(fd, buffer, 0, buffer.length, null)) > 0) {
|
|
77
|
+
content += buffer.toString('utf8', 0, bytesRead);
|
|
78
|
+
if (regexes.some((regex) => regex.test(content))) {
|
|
79
|
+
fs_1.default.closeSync(fd);
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
if (content.length > 1024) {
|
|
83
|
+
content = content.slice(-1024);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
console.error(`Error reading file ${file}, skipping file due to read error:`, err);
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
if (fd !== undefined) {
|
|
92
|
+
fs_1.default.closeSync(fd);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
58
98
|
/**
|
|
59
99
|
* This function is used to get the version of the package.json as string.
|
|
60
100
|
* @param {string} offsetPath The offset path to the package.json
|
|
@@ -137,7 +177,10 @@ function setRemoveMode(mode) {
|
|
|
137
177
|
REMOVE_MODE = mode;
|
|
138
178
|
}
|
|
139
179
|
/**
|
|
140
|
-
* Gets the remove mode
|
|
180
|
+
* Gets the current remove mode chosen via the CLI flag `--remove-mode`.
|
|
181
|
+
* - `prefix` (default) renames removed properties to `data-removed-<property>` so that developers can
|
|
182
|
+
* clean them up manually after the migration.
|
|
183
|
+
* - `delete` removes the properties entirely during migration.
|
|
141
184
|
* @returns {RemoveMode} The remove mode
|
|
142
185
|
*/
|
|
143
186
|
function getRemoveMode() {
|