xml-disassembler 1.3.9 → 1.3.11
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 +15 -0
- package/disassemble.log +95 -95
- package/dist/index.cjs +28 -86
- package/dist/index.cjs.map +1 -1
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.min.umd.js +1 -1
- package/dist/index.min.umd.js.map +1 -1
- package/dist/index.mjs +30 -88
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +32 -89
- package/dist/index.umd.js.map +1 -1
- package/dist/typings/service/disassembleXMLFileHandler.d.ts +1 -1
- package/package.json +1 -1
- package/dist/typings/service/getConcurrencyThreshold.d.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,21 @@
|
|
|
5
5
|
|
|
6
6
|
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.
|
|
7
7
|
|
|
8
|
+
## [1.3.11](https://github.com/mcarvin8/xml-disassembler/compare/v1.3.10...v1.3.11) (2025-01-21)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* revert to 1.3.8 to remove parallel processing ([876ff0c](https://github.com/mcarvin8/xml-disassembler/commit/876ff0cd8c27060a22b26d0efdc34bf155214680))
|
|
14
|
+
|
|
15
|
+
## [1.3.10](https://github.com/mcarvin8/xml-disassembler/compare/v1.3.9...v1.3.10) (2025-01-21)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* export get concurrency threshold ([1cb7cae](https://github.com/mcarvin8/xml-disassembler/commit/1cb7cae42db6d7cf6b4cd0169745805808e20658))
|
|
21
|
+
* use concurrency limit function ([a8e53b8](https://github.com/mcarvin8/xml-disassembler/commit/a8e53b88b503a61c7b284f56f87521949aa3d687))
|
|
22
|
+
|
|
8
23
|
## [1.3.9](https://github.com/mcarvin8/xml-disassembler/compare/v1.3.8...v1.3.9) (2025-01-21)
|
|
9
24
|
|
|
10
25
|
|
package/disassemble.log
CHANGED
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
[2025-01-
|
|
2
|
-
[2025-01-
|
|
3
|
-
[2025-01-
|
|
4
|
-
[2025-01-
|
|
5
|
-
[2025-01-
|
|
6
|
-
[2025-01-
|
|
7
|
-
[2025-01-
|
|
8
|
-
[2025-01-
|
|
9
|
-
[2025-01-
|
|
10
|
-
[2025-01-
|
|
11
|
-
[2025-01-
|
|
12
|
-
[2025-01-
|
|
13
|
-
[2025-01-
|
|
14
|
-
[2025-01-
|
|
15
|
-
[2025-01-
|
|
16
|
-
[2025-01-
|
|
17
|
-
[2025-01-
|
|
18
|
-
[2025-01-
|
|
19
|
-
[2025-01-
|
|
20
|
-
[2025-01-
|
|
21
|
-
[2025-01-
|
|
22
|
-
[2025-01-
|
|
23
|
-
[2025-01-
|
|
24
|
-
[2025-01-
|
|
25
|
-
[2025-01-
|
|
26
|
-
[2025-01-
|
|
27
|
-
[2025-01-
|
|
28
|
-
[2025-01-
|
|
29
|
-
[2025-01-
|
|
30
|
-
[2025-01-
|
|
31
|
-
[2025-01-
|
|
32
|
-
[2025-01-
|
|
33
|
-
[2025-01-
|
|
34
|
-
[2025-01-
|
|
35
|
-
[2025-01-
|
|
36
|
-
[2025-01-
|
|
37
|
-
[2025-01-
|
|
38
|
-
[2025-01-
|
|
39
|
-
[2025-01-
|
|
40
|
-
[2025-01-
|
|
41
|
-
[2025-01-
|
|
42
|
-
[2025-01-
|
|
43
|
-
[2025-01-
|
|
44
|
-
[2025-01-
|
|
45
|
-
[2025-01-
|
|
46
|
-
[2025-01-
|
|
47
|
-
[2025-01-
|
|
48
|
-
[2025-01-
|
|
49
|
-
[2025-01-
|
|
50
|
-
[2025-01-
|
|
51
|
-
[2025-01-
|
|
52
|
-
[2025-01-
|
|
53
|
-
[2025-01-
|
|
54
|
-
[2025-01-
|
|
55
|
-
[2025-01-
|
|
56
|
-
[2025-01-
|
|
57
|
-
[2025-01-
|
|
58
|
-
[2025-01-
|
|
59
|
-
[2025-01-
|
|
60
|
-
[2025-01-
|
|
61
|
-
[2025-01-
|
|
62
|
-
[2025-01-
|
|
63
|
-
[2025-01-
|
|
64
|
-
[2025-01-
|
|
65
|
-
[2025-01-
|
|
66
|
-
[2025-01-
|
|
67
|
-
[2025-01-
|
|
68
|
-
[2025-01-
|
|
69
|
-
[2025-01-
|
|
70
|
-
[2025-01-
|
|
71
|
-
[2025-01-
|
|
72
|
-
[2025-01-
|
|
73
|
-
[2025-01-
|
|
74
|
-
[2025-01-
|
|
75
|
-
[2025-01-
|
|
76
|
-
[2025-01-
|
|
77
|
-
[2025-01-
|
|
78
|
-
[2025-01-
|
|
79
|
-
[2025-01-
|
|
80
|
-
[2025-01-
|
|
81
|
-
[2025-01-
|
|
82
|
-
[2025-01-
|
|
83
|
-
[2025-01-
|
|
84
|
-
[2025-01-
|
|
85
|
-
[2025-01-
|
|
86
|
-
[2025-01-
|
|
87
|
-
[2025-01-
|
|
88
|
-
[2025-01-
|
|
89
|
-
[2025-01-
|
|
90
|
-
[2025-01-
|
|
91
|
-
[2025-01-
|
|
92
|
-
[2025-01-
|
|
93
|
-
[2025-01-
|
|
94
|
-
[2025-01-
|
|
95
|
-
[2025-01-
|
|
1
|
+
[2025-01-21T21:49:47.604] [DEBUG] default - Parsing file to disassemble: mock/general/HR_Admin.permissionset-meta.xml
|
|
2
|
+
[2025-01-21T21:49:47.611] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/applicationVisibilities/JobApps__Recruiting.applicationVisibilities-meta.xml
|
|
3
|
+
[2025-01-21T21:49:47.612] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/classAccesses/Send_Email_Confirmation.classAccesses-meta.xml
|
|
4
|
+
[2025-01-21T21:49:47.612] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/fieldPermissions/Job_Request__c.Salary__c.fieldPermissions-meta.xml
|
|
5
|
+
[2025-01-21T21:49:47.613] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/objectPermissions/Job_Request__c.objectPermissions-meta.xml
|
|
6
|
+
[2025-01-21T21:49:47.613] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/pageAccesses/Job_Request_Web_Form.pageAccesses-meta.xml
|
|
7
|
+
[2025-01-21T21:49:47.614] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/recordTypeVisibilities/Recruiting.DevManager.recordTypeVisibilities-meta.xml
|
|
8
|
+
[2025-01-21T21:49:47.615] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/tabSettings/Job_Request__c.tabSettings-meta.xml
|
|
9
|
+
[2025-01-21T21:49:47.615] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/userPermissions/APIEnabled.userPermissions-meta.xml
|
|
10
|
+
[2025-01-21T21:49:47.616] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/HR_Admin.permissionset-meta.xml
|
|
11
|
+
[2025-01-21T21:49:47.619] [DEBUG] default - Parsing directory to reassemble: mock/general/HR_Admin
|
|
12
|
+
[2025-01-21T21:49:47.635] [DEBUG] default - Created reassembled file: mock/general/HR_Admin.permissionset-meta.xml
|
|
13
|
+
[2025-01-21T21:49:47.640] [DEBUG] default - Parsing file to disassemble: mock/attributes/notes.xml
|
|
14
|
+
[2025-01-21T21:49:47.641] [DEBUG] default - Created disassembled file: mock/attributes/notes/nest/103c6c8b.nest-meta.xml
|
|
15
|
+
[2025-01-21T21:49:47.641] [DEBUG] default - Created disassembled file: mock/attributes/notes/nest/f876f2be.nest-meta.xml
|
|
16
|
+
[2025-01-21T21:49:47.642] [DEBUG] default - Parsing directory to reassemble: mock/attributes/notes
|
|
17
|
+
[2025-01-21T21:49:47.644] [DEBUG] default - Created reassembled file: mock/attributes/notes.xml
|
|
18
|
+
[2025-01-21T21:49:47.645] [DEBUG] default - Parsing file to disassemble: mock/cdata/VidLand_US.marketingappextension-meta.xml
|
|
19
|
+
[2025-01-21T21:49:47.647] [DEBUG] default - Created disassembled file: mock/cdata/VidLand_US/marketingAppExtActions/register_user.marketingAppExtActions-meta.xml
|
|
20
|
+
[2025-01-21T21:49:47.647] [DEBUG] default - Created disassembled file: mock/cdata/VidLand_US/VidLand_US.marketingappextension-meta.xml
|
|
21
|
+
[2025-01-21T21:49:47.648] [DEBUG] default - Parsing directory to reassemble: mock/cdata/VidLand_US
|
|
22
|
+
[2025-01-21T21:49:47.650] [DEBUG] default - Created reassembled file: mock/cdata/VidLand_US.xml
|
|
23
|
+
[2025-01-21T21:49:47.651] [DEBUG] default - Parsing file to disassemble: mock/comments/Numbers-fr.globalValueSetTranslation-meta.xml
|
|
24
|
+
[2025-01-21T21:49:47.652] [DEBUG] default - Created disassembled file: mock/comments/Numbers-fr/valueTranslation/30e8b6d2.valueTranslation-meta.xml
|
|
25
|
+
[2025-01-21T21:49:47.653] [DEBUG] default - Created disassembled file: mock/comments/Numbers-fr/valueTranslation/d7dd1420.valueTranslation-meta.xml
|
|
26
|
+
[2025-01-21T21:49:47.653] [DEBUG] default - Created disassembled file: mock/comments/Numbers-fr/valueTranslation/d8852ede.valueTranslation-meta.xml
|
|
27
|
+
[2025-01-21T21:49:47.655] [DEBUG] default - Parsing directory to reassemble: mock/comments/Numbers-fr
|
|
28
|
+
[2025-01-21T21:49:47.671] [DEBUG] default - Created reassembled file: mock/comments/Numbers-fr.globalValueSetTranslation-meta.xml
|
|
29
|
+
[2025-01-21T21:49:47.678] [DEBUG] default - Parsing file to disassemble: mock/deeply-nested-unique-id-element/Get_Info.flow-meta.xml
|
|
30
|
+
[2025-01-21T21:49:47.690] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/actionCalls/Get_Info.actionCalls-meta.xml
|
|
31
|
+
[2025-01-21T21:49:47.691] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/actionCalls/Post_to_Contact_s_Feed.actionCalls-meta.xml
|
|
32
|
+
[2025-01-21T21:49:47.692] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/assignments/Set_Contact_ID.assignments-meta.xml
|
|
33
|
+
[2025-01-21T21:49:47.693] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/decisions/Update_If_Existing.decisions-meta.xml
|
|
34
|
+
[2025-01-21T21:49:47.694] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/decisions/Update_or_Create.decisions-meta.xml
|
|
35
|
+
[2025-01-21T21:49:47.695] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/dynamicChoiceSets/accounts.dynamicChoiceSets-meta.xml
|
|
36
|
+
[2025-01-21T21:49:47.696] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/formulas/created_or_updated.formulas-meta.xml
|
|
37
|
+
[2025-01-21T21:49:47.697] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/processMetadataValues/BuilderType.processMetadataValues-meta.xml
|
|
38
|
+
[2025-01-21T21:49:47.698] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/processMetadataValues/CanvasMode.processMetadataValues-meta.xml
|
|
39
|
+
[2025-01-21T21:49:47.698] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/processMetadataValues/OriginBuilderType.processMetadataValues-meta.xml
|
|
40
|
+
[2025-01-21T21:49:47.699] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/recordCreates/Create_Contact.recordCreates-meta.xml
|
|
41
|
+
[2025-01-21T21:49:47.700] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/recordLookups/Find_a_Match.recordLookups-meta.xml
|
|
42
|
+
[2025-01-21T21:49:47.701] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/recordUpdates/Update_Contact.recordUpdates-meta.xml
|
|
43
|
+
[2025-01-21T21:49:47.702] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/screens/Confirm.screens-meta.xml
|
|
44
|
+
[2025-01-21T21:49:47.703] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/screens/Contact_Info.screens-meta.xml
|
|
45
|
+
[2025-01-21T21:49:47.703] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/start/Contact_Info.start-meta.xml
|
|
46
|
+
[2025-01-21T21:49:47.704] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/textTemplates/chatterMessage.textTemplates-meta.xml
|
|
47
|
+
[2025-01-21T21:49:47.705] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/variables/ComplexObjectExample.variables-meta.xml
|
|
48
|
+
[2025-01-21T21:49:47.706] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/variables/contact.variables-meta.xml
|
|
49
|
+
[2025-01-21T21:49:47.707] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/variables/existingId.variables-meta.xml
|
|
50
|
+
[2025-01-21T21:49:47.707] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/variables/updateExisting.variables-meta.xml
|
|
51
|
+
[2025-01-21T21:49:47.711] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/Get_Info.flow-meta.xml
|
|
52
|
+
[2025-01-21T21:49:47.713] [DEBUG] default - Parsing directory to reassemble: mock/deeply-nested-unique-id-element/Get_Info
|
|
53
|
+
[2025-01-21T21:49:47.757] [DEBUG] default - Created reassembled file: mock/deeply-nested-unique-id-element/Get_Info.flow-meta.xml
|
|
54
|
+
[2025-01-21T21:49:47.761] [DEBUG] default - Parsing file to disassemble: mock/array-of-leafs/Dreamhouse.app-meta.xml
|
|
55
|
+
[2025-01-21T21:49:47.766] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/39049d21.actionOverrides-meta.xml
|
|
56
|
+
[2025-01-21T21:49:47.766] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/735c1659.actionOverrides-meta.xml
|
|
57
|
+
[2025-01-21T21:49:47.767] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/b04e9f9b.actionOverrides-meta.xml
|
|
58
|
+
[2025-01-21T21:49:47.769] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/c8cc7a99.actionOverrides-meta.xml
|
|
59
|
+
[2025-01-21T21:49:47.769] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/brand/c9db422b.brand-meta.xml
|
|
60
|
+
[2025-01-21T21:49:47.770] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/Dreamhouse.app-meta.xml
|
|
61
|
+
[2025-01-21T21:49:47.771] [DEBUG] default - Parsing directory to reassemble: mock/array-of-leafs/Dreamhouse
|
|
62
|
+
[2025-01-21T21:49:47.776] [DEBUG] default - Created reassembled file: mock/array-of-leafs/Dreamhouse.app-meta.xml
|
|
63
|
+
[2025-01-21T21:49:47.777] [DEBUG] default - Parsing file to disassemble: mock/array-of-leafs/Dreamhouse.app-meta.xml
|
|
64
|
+
[2025-01-21T21:49:47.781] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/39049d21.actionOverrides-meta.xml
|
|
65
|
+
[2025-01-21T21:49:47.781] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/735c1659.actionOverrides-meta.xml
|
|
66
|
+
[2025-01-21T21:49:47.781] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/b04e9f9b.actionOverrides-meta.xml
|
|
67
|
+
[2025-01-21T21:49:47.782] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/c8cc7a99.actionOverrides-meta.xml
|
|
68
|
+
[2025-01-21T21:49:47.782] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/brand/c9db422b.brand-meta.xml
|
|
69
|
+
[2025-01-21T21:49:47.782] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/Dreamhouse.app-meta.xml
|
|
70
|
+
[2025-01-21T21:49:47.783] [DEBUG] default - Parsing directory to reassemble: mock/array-of-leafs/Dreamhouse
|
|
71
|
+
[2025-01-21T21:49:47.786] [DEBUG] default - Created reassembled file: mock/array-of-leafs/Dreamhouse.app-meta.xml
|
|
72
|
+
[2025-01-21T21:49:47.788] [DEBUG] default - Parsing file to disassemble: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin.permissionset-meta.xml
|
|
73
|
+
[2025-01-21T21:49:47.789] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/applicationVisibilities/JobApps__Recruiting.applicationVisibilities-meta.xml
|
|
74
|
+
[2025-01-21T21:49:47.789] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/classAccesses/Send_Email_Confirmation.classAccesses-meta.xml
|
|
75
|
+
[2025-01-21T21:49:47.789] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/fieldPermissions/Job_Request__c.Salary__c.fieldPermissions-meta.xml
|
|
76
|
+
[2025-01-21T21:49:47.790] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/objectPermissions/Job_Request__c.objectPermissions-meta.xml
|
|
77
|
+
[2025-01-21T21:49:47.790] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/pageAccesses/Job_Request_Web_Form.pageAccesses-meta.xml
|
|
78
|
+
[2025-01-21T21:49:47.791] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/recordTypeVisibilities/Recruiting.DevManager.recordTypeVisibilities-meta.xml
|
|
79
|
+
[2025-01-21T21:49:47.791] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/tabSettings/Job_Request__c.tabSettings-meta.xml
|
|
80
|
+
[2025-01-21T21:49:47.791] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/userPermissions/APIEnabled.userPermissions-meta.xml
|
|
81
|
+
[2025-01-21T21:49:47.791] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/HR_Admin.permissionset-meta.xml
|
|
82
|
+
[2025-01-21T21:49:47.792] [DEBUG] default - Parsing directory to reassemble: mock/no-namespace/HR_Admin
|
|
83
|
+
[2025-01-21T21:49:47.796] [DEBUG] default - Created reassembled file: mock/no-namespace/HR_Admin.permissionset-meta.xml
|
|
84
|
+
[2025-01-21T21:49:47.797] [ERROR] default - The file path provided is not an XML file: /home/runner/work/xml-disassembler/xml-disassembler/mock/not-an-xml.txt
|
|
85
|
+
[2025-01-21T21:49:47.798] [ERROR] default - The provided path to reassemble is not a directory: mock/no-namespace/HR_Admin/HR_Admin.permissionset-meta.xml
|
|
86
|
+
[2025-01-21T21:49:47.800] [DEBUG] default - Parsing file to disassemble: mock/no-root-element/Assessment_Bot.bot-meta.xml
|
|
87
|
+
[2025-01-21T21:49:47.800] [ERROR] default - mock/no-root-element/Assessment_Bot.bot-meta.xml was unabled to be parsed and will not be processed. Confirm formatting and try again.
|
|
88
|
+
[2025-01-21T21:49:47.801] [DEBUG] default - Parsing directory to reassemble: mock/no-root-element/Assessment_Bot
|
|
89
|
+
[2025-01-21T21:49:47.801] [ERROR] default - mock/no-root-element/Assessment_Bot/Assessment_Bot.bot-meta.xml was unabled to be parsed and will not be processed. Confirm formatting and try again.
|
|
90
|
+
[2025-01-21T21:49:47.802] [ERROR] default - mock/no-root-element/Assessment_Bot/botMlDomain/419e0199.botMlDomain-meta.xml was unabled to be parsed and will not be processed. Confirm formatting and try again.
|
|
91
|
+
[2025-01-21T21:49:47.802] [ERROR] default - No files under mock/no-root-element/Assessment_Bot were parsed successfully. A reassembled XML file was not created.
|
|
92
|
+
[2025-01-21T21:49:47.803] [DEBUG] default - Parsing file to disassemble: mock/no-nested-elements/HR_Admin.xml
|
|
93
|
+
[2025-01-21T21:49:47.803] [ERROR] default - The XML file mock/no-nested-elements/HR_Admin.xml only has leaf elements. This file will not be disassembled.
|
|
94
|
+
[2025-01-21T21:49:47.804] [WARN] default - File ignored by .xmldisassemblerignore: mock/ignore/HR_Admin.permissionset-meta.xml
|
|
95
|
+
[2025-01-21T21:49:47.805] [WARN] default - File ignored by .xmldisassemblerignore: /home/runner/work/xml-disassembler/xml-disassembler/mock/ignore/HR_Admin.permissionset-meta.xml
|
package/dist/index.cjs
CHANGED
|
@@ -8,7 +8,6 @@ var node_path = require('node:path');
|
|
|
8
8
|
var ignore = require('ignore');
|
|
9
9
|
var node_crypto = require('node:crypto');
|
|
10
10
|
var fastXmlParser = require('fast-xml-parser');
|
|
11
|
-
var node_os = require('node:os');
|
|
12
11
|
|
|
13
12
|
/******************************************************************************
|
|
14
13
|
Copyright (c) Microsoft Corporation.
|
|
@@ -127,60 +126,36 @@ function processFilesForRootElement(xmlParsed) {
|
|
|
127
126
|
});
|
|
128
127
|
}
|
|
129
128
|
|
|
130
|
-
function getConcurrencyThreshold() {
|
|
131
|
-
const AVAILABLE_PARALLELISM = node_os.availableParallelism
|
|
132
|
-
? node_os.availableParallelism()
|
|
133
|
-
: Infinity;
|
|
134
|
-
return Math.min(AVAILABLE_PARALLELISM, 6);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
129
|
class ReassembleXMLFileHandler {
|
|
138
130
|
processFilesInDirectory(dirPath) {
|
|
139
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
const combinedXmlContents = [];
|
|
133
|
+
let rootResult = undefined;
|
|
140
134
|
const files = yield promises.readdir(dirPath);
|
|
141
135
|
files.sort((fileA, fileB) => {
|
|
142
136
|
const fullNameA = fileA.split(".")[0].toLowerCase();
|
|
143
137
|
const fullNameB = fileB.split(".")[0].toLowerCase();
|
|
144
138
|
return fullNameA.localeCompare(fullNameB);
|
|
145
139
|
});
|
|
146
|
-
const
|
|
147
|
-
let rootResult = undefined;
|
|
148
|
-
const concurrencyLimit = getConcurrencyThreshold();
|
|
149
|
-
const activePromises = [];
|
|
150
|
-
let currentIndex = 0;
|
|
151
|
-
const processFile = (file, index) => __awaiter(this, void 0, void 0, function* () {
|
|
140
|
+
for (const file of files) {
|
|
152
141
|
const filePath = posix.join(dirPath, file);
|
|
153
142
|
const fileStat = yield promises.stat(filePath);
|
|
154
143
|
if (fileStat.isFile() && filePath.endsWith(".xml")) {
|
|
155
144
|
const xmlParsed = yield parseXML(filePath);
|
|
156
145
|
if (xmlParsed === undefined)
|
|
157
|
-
|
|
146
|
+
continue;
|
|
158
147
|
const rootResultFromFile = yield processFilesForRootElement(xmlParsed);
|
|
159
148
|
rootResult = rootResultFromFile;
|
|
160
149
|
const combinedXmlString = buildXMLString(xmlParsed);
|
|
161
|
-
combinedXmlContents
|
|
150
|
+
combinedXmlContents.push(combinedXmlString);
|
|
162
151
|
}
|
|
163
152
|
else if (fileStat.isDirectory()) {
|
|
164
153
|
const [subCombinedXmlContents, subRootResult] = yield this.processFilesInDirectory(filePath);
|
|
154
|
+
combinedXmlContents.push(...subCombinedXmlContents);
|
|
165
155
|
rootResult = subRootResult;
|
|
166
|
-
combinedXmlContents[index] = subCombinedXmlContents.join("");
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
while (currentIndex < files.length || activePromises.length > 0) {
|
|
170
|
-
if (currentIndex < files.length &&
|
|
171
|
-
activePromises.length < concurrencyLimit) {
|
|
172
|
-
const index = currentIndex++;
|
|
173
|
-
const file = files[index];
|
|
174
|
-
const promise = processFile(file, index).finally(() => {
|
|
175
|
-
activePromises.splice(activePromises.indexOf(promise), 1);
|
|
176
|
-
});
|
|
177
|
-
activePromises.push(promise);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
yield Promise.race(activePromises);
|
|
181
156
|
}
|
|
182
157
|
}
|
|
183
|
-
return [combinedXmlContents
|
|
158
|
+
return [combinedXmlContents, rootResult];
|
|
184
159
|
});
|
|
185
160
|
}
|
|
186
161
|
reassemble(xmlAttributes) {
|
|
@@ -301,14 +276,10 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
|
|
|
301
276
|
let leafContent = "";
|
|
302
277
|
let leafCount = 0;
|
|
303
278
|
let hasNestedElements = false;
|
|
304
|
-
const
|
|
305
|
-
const concurrencyLimit = getConcurrencyThreshold();
|
|
306
|
-
const activePromises = [];
|
|
307
|
-
let currentIndex = 0;
|
|
308
|
-
const processChildKey = (key) => __awaiter(this, void 0, void 0, function* () {
|
|
279
|
+
for (const key of Object.keys(rootElement).filter((key) => !key.startsWith("@"))) {
|
|
309
280
|
if (Array.isArray(rootElement[key])) {
|
|
310
|
-
|
|
311
|
-
const [updatedLeafContent, updatedLeafCount, updatedHasNestedElements
|
|
281
|
+
for (const element of rootElement[key]) {
|
|
282
|
+
const [updatedLeafContent, updatedLeafCount, updatedHasNestedElements] = yield processElement({
|
|
312
283
|
element,
|
|
313
284
|
disassembledPath,
|
|
314
285
|
uniqueIdElements,
|
|
@@ -316,14 +287,14 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
|
|
|
316
287
|
rootElementHeader,
|
|
317
288
|
key,
|
|
318
289
|
indent,
|
|
319
|
-
leafContent
|
|
320
|
-
leafCount
|
|
321
|
-
hasNestedElements
|
|
290
|
+
leafContent,
|
|
291
|
+
leafCount,
|
|
292
|
+
hasNestedElements,
|
|
322
293
|
});
|
|
323
|
-
leafContent
|
|
324
|
-
leafCount
|
|
325
|
-
hasNestedElements =
|
|
326
|
-
}
|
|
294
|
+
leafContent = updatedLeafContent;
|
|
295
|
+
leafCount = updatedLeafCount;
|
|
296
|
+
hasNestedElements = updatedHasNestedElements;
|
|
297
|
+
}
|
|
327
298
|
}
|
|
328
299
|
else {
|
|
329
300
|
const [updatedLeafContent, updatedLeafCount, updatedHasNestedElements] = yield processElement({
|
|
@@ -334,26 +305,13 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
|
|
|
334
305
|
rootElementHeader,
|
|
335
306
|
key,
|
|
336
307
|
indent,
|
|
337
|
-
leafContent
|
|
338
|
-
leafCount
|
|
339
|
-
hasNestedElements
|
|
308
|
+
leafContent,
|
|
309
|
+
leafCount,
|
|
310
|
+
hasNestedElements,
|
|
340
311
|
});
|
|
341
|
-
leafContent
|
|
342
|
-
leafCount
|
|
343
|
-
hasNestedElements =
|
|
344
|
-
}
|
|
345
|
-
});
|
|
346
|
-
while (currentIndex < childKeys.length || activePromises.length > 0) {
|
|
347
|
-
if (currentIndex < childKeys.length &&
|
|
348
|
-
activePromises.length < concurrencyLimit) {
|
|
349
|
-
const key = childKeys[currentIndex++];
|
|
350
|
-
const promise = processChildKey(key).finally(() => {
|
|
351
|
-
activePromises.splice(activePromises.indexOf(promise), 1);
|
|
352
|
-
});
|
|
353
|
-
activePromises.push(promise);
|
|
354
|
-
}
|
|
355
|
-
else {
|
|
356
|
-
yield Promise.race(activePromises);
|
|
312
|
+
leafContent = updatedLeafContent;
|
|
313
|
+
leafCount = updatedLeafCount;
|
|
314
|
+
hasNestedElements = updatedHasNestedElements;
|
|
357
315
|
}
|
|
358
316
|
}
|
|
359
317
|
if (!hasNestedElements) {
|
|
@@ -364,7 +322,7 @@ function buildDisassembledFiles(filePath, disassembledPath, uniqueIdElements, ba
|
|
|
364
322
|
yield buildLeafFile(leafContent, disassembledPath, baseName, rootElementName, rootElementHeader);
|
|
365
323
|
}
|
|
366
324
|
if (postPurge) {
|
|
367
|
-
|
|
325
|
+
promises.unlink(filePath);
|
|
368
326
|
}
|
|
369
327
|
});
|
|
370
328
|
}
|
|
@@ -404,10 +362,7 @@ class DisassembleXMLFileHandler {
|
|
|
404
362
|
}
|
|
405
363
|
else if (fileStat.isDirectory()) {
|
|
406
364
|
const subFiles = yield promises.readdir(filePath);
|
|
407
|
-
const
|
|
408
|
-
const activePromises = [];
|
|
409
|
-
let currentIndex = 0;
|
|
410
|
-
const processSubFile = (subFile) => __awaiter(this, void 0, void 0, function* () {
|
|
365
|
+
for (const subFile of subFiles) {
|
|
411
366
|
const subFilePath = node_path.join(filePath, subFile);
|
|
412
367
|
const relativeSubFilePath = this.posixPath(node_path.relative(process.cwd(), subFilePath));
|
|
413
368
|
if (subFilePath.endsWith(".xml") &&
|
|
@@ -423,19 +378,6 @@ class DisassembleXMLFileHandler {
|
|
|
423
378
|
else if (this.ign.ignores(relativeSubFilePath)) {
|
|
424
379
|
logger.warn(`File ignored by ${ignorePath}: ${subFilePath}`);
|
|
425
380
|
}
|
|
426
|
-
});
|
|
427
|
-
while (currentIndex < subFiles.length || activePromises.length > 0) {
|
|
428
|
-
if (currentIndex < subFiles.length &&
|
|
429
|
-
activePromises.length < concurrencyLimit) {
|
|
430
|
-
const subFile = subFiles[currentIndex++];
|
|
431
|
-
const promise = processSubFile(subFile).finally(() => {
|
|
432
|
-
activePromises.splice(activePromises.indexOf(promise), 1);
|
|
433
|
-
});
|
|
434
|
-
activePromises.push(promise);
|
|
435
|
-
}
|
|
436
|
-
else {
|
|
437
|
-
yield Promise.race(activePromises);
|
|
438
|
-
}
|
|
439
381
|
}
|
|
440
382
|
}
|
|
441
383
|
});
|
|
@@ -446,10 +388,10 @@ class DisassembleXMLFileHandler {
|
|
|
446
388
|
logger.debug(`Parsing file to disassemble: ${filePath}`);
|
|
447
389
|
const fullName = node_path.basename(filePath, node_path.extname(filePath));
|
|
448
390
|
const baseName = fullName.split(".")[0];
|
|
449
|
-
let outputPath
|
|
450
|
-
|
|
391
|
+
let outputPath;
|
|
392
|
+
outputPath = node_path.join(dirPath, baseName);
|
|
393
|
+
if (prePurge && node_fs.existsSync(outputPath))
|
|
451
394
|
yield promises.rm(outputPath, { recursive: true });
|
|
452
|
-
}
|
|
453
395
|
yield buildDisassembledFiles(filePath, outputPath, uniqueIdElements, fullName, INDENT, postPurge);
|
|
454
396
|
});
|
|
455
397
|
}
|