xml-disassembler 1.3.14 → 1.3.15
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 +7 -0
- package/CONTRIBUTING.md +6 -5
- package/README.md +88 -126
- package/disassemble.log +95 -95
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@
|
|
|
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.15](https://github.com/mcarvin8/xml-disassembler/compare/v1.3.14...v1.3.15) (2025-03-18)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **deps:** bump ignore from 5.3.2 to 7.0.3 ([d50e3df](https://github.com/mcarvin8/xml-disassembler/commit/d50e3df0a41589ec4a1b7e7d0b3c499aff8d580c))
|
|
14
|
+
|
|
8
15
|
## [1.3.14](https://github.com/mcarvin8/xml-disassembler/compare/v1.3.13...v1.3.14) (2025-03-18)
|
|
9
16
|
|
|
10
17
|
|
package/CONTRIBUTING.md
CHANGED
|
@@ -29,11 +29,12 @@ pnpm test
|
|
|
29
29
|
|
|
30
30
|
## Extension Packages
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
These extension packages have been developed from `xml-disassembler`:
|
|
33
33
|
|
|
34
|
-
- [
|
|
35
|
-
- [
|
|
34
|
+
- [`xml2json-disassembler`](https://github.com/mcarvin8/xml2json-disassembler): Disassemble large XML files into smaller JSON files and reassemble the original XML file when needed
|
|
35
|
+
- [`xml2yaml-disassembler`](https://github.com/mcarvin8/xml2yaml-disassembler): Disassemble large XML files into smaller YAML files and reassemble the original XML file when needed
|
|
36
|
+
- [`xml2json5-disassembler`](https://github.com/mcarvin8/xml2json5-disassembler): Disassemble large XML files into smaller JSON5 files and reassemble the original XML file when needed
|
|
36
37
|
|
|
37
|
-
Please fork and raise PRs in these repos for any features or bug fixes specific to XML2JSON or XML2YAML issues. All
|
|
38
|
+
Please fork and raise PRs in these repos for any features or bug fixes specific to XML2JSON, XML2JSON5, or XML2YAML issues. All packages are built with `node` and `pnpm`.
|
|
38
39
|
|
|
39
|
-
Ensure the
|
|
40
|
+
Ensure the extensions are updated to use the latest `xml-disassembler`.
|
package/README.md
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `xml-disassembler`
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/xml-disassembler) [](https://npmjs.org/package/xml-disassembler)
|
|
4
4
|
|
|
5
5
|
Disassemble XML files into smaller, more manageable files and reassemble them when needed.
|
|
6
6
|
|
|
7
|
+
This tool simplifies version control, improves diff readability, and streamlines collaboration when dealing with large XML files.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 🚀 Features
|
|
12
|
+
|
|
13
|
+
- **Disassemble XML Files** – Break down XML files into structured directories.
|
|
14
|
+
- **Reassemble XML Files** – Recreate the original XML structure from disassembled parts.
|
|
15
|
+
- **Unique Identifiers** – Use specific XML elements as file names or fallback to SHA-256 hashes.
|
|
16
|
+
- **Ignore Files** – Specify XML files to exclude from disassembly.
|
|
17
|
+
- **Logging** – Enable detailed debugging logs.
|
|
18
|
+
- **Integrations** – Works with tools like Salesforce CLI
|
|
19
|
+
- **Extensions** - Extensions allow for JSON, YAML, and JSON5 transformations.
|
|
20
|
+
|
|
7
21
|
<!-- TABLE OF CONTENTS -->
|
|
8
22
|
<details>
|
|
9
23
|
<summary>Table of Contents</summary>
|
|
@@ -13,6 +27,7 @@ Disassemble XML files into smaller, more manageable files and reassemble them wh
|
|
|
13
27
|
- [Install](#install)
|
|
14
28
|
- [Disassembling Files](#disassembling-files)
|
|
15
29
|
- [Reassembling Files](#reassembling-files)
|
|
30
|
+
- [Example](#example)
|
|
16
31
|
- [Use Case](#use-case)
|
|
17
32
|
- [Ignore File](#ignore-file)
|
|
18
33
|
- [XML Parser](#xml-parser)
|
|
@@ -22,21 +37,14 @@ Disassemble XML files into smaller, more manageable files and reassemble them wh
|
|
|
22
37
|
- [Template](#template)
|
|
23
38
|
</details>
|
|
24
39
|
|
|
25
|
-
|
|
26
40
|
## Background
|
|
27
41
|
|
|
28
|
-
Large XML files, especially those generated by external tools, can be challenging to review and manage.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
The XML Disassembler package addresses this issue by breaking down large XML files into smaller, more digestible chunks. This makes it easier to review changes, identify additions and deletions, and collaborate on version control repositories in GitHub, GitLab, etc. that store XML files.
|
|
42
|
+
Large XML files, especially those generated by external tools, can be challenging to review and manage.
|
|
43
|
+
`xml-disassembler` helps by breaking down these files into smaller, more digestible chunks, making it easier to track changes and collaborate.
|
|
32
44
|
|
|
33
45
|
## Trade-offs
|
|
34
46
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
The XML Disassembler package offers a simpler alternative by breaking down XML files into smaller parts. This approach is more straightforward and easier to understand, making it suitable for a wider range of users. It also allows for more granular control over the review process, as each individual file can be reviewed separately.
|
|
38
|
-
|
|
39
|
-
While there are trade-offs between using a custom diff algorithm and the XML Disassembler package, the latter provides a practical and accessible solution for managing large XML files.
|
|
47
|
+
Instead of relying on complex XML diff algorithms, `xml-disassembler` provides a simple and accessible solution by splitting XML files into structured directories.
|
|
40
48
|
|
|
41
49
|
## Install
|
|
42
50
|
|
|
@@ -48,11 +56,57 @@ npm install xml-disassembler
|
|
|
48
56
|
|
|
49
57
|
## Disassembling Files
|
|
50
58
|
|
|
51
|
-
Disassemble
|
|
59
|
+
Disassemble a single XML file or multiple XML files within a directory.
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
/*
|
|
63
|
+
FLAGS
|
|
64
|
+
- filePath: Relative path to 1 XML file or a directory of XML files to disassemble.
|
|
65
|
+
- uniqueIdElements: Comma-separated list of unique and required ID elements used to name disassembled files for nested elements.
|
|
66
|
+
Defaults to SHA-256 hash if unique ID elements are undefined or not found.
|
|
67
|
+
- prePurge: Delete pre-existing disassembled directories prior to disassembling the file.
|
|
68
|
+
- postPurge: Delete the original XML file after disassembling it.
|
|
69
|
+
|
|
70
|
+
- ignorePath: Path to an disassembly ignore file.
|
|
71
|
+
*/
|
|
72
|
+
import { DisassembleXMLFileHandler } from "xml-disassembler";
|
|
52
73
|
|
|
53
|
-
|
|
74
|
+
const handler = new DisassembleXMLFileHandler();
|
|
75
|
+
await handler.disassemble({
|
|
76
|
+
filePath: "test/baselines/general",
|
|
77
|
+
uniqueIdElements:
|
|
78
|
+
"application,apexClass,name,externalDataSource,flow,object,apexPage,recordType,tab,field",
|
|
79
|
+
prePurge: true,
|
|
80
|
+
postPurge: true,
|
|
81
|
+
ignorePath: ".xmldisassemblerignore",
|
|
82
|
+
});
|
|
83
|
+
```
|
|
54
84
|
|
|
55
|
-
|
|
85
|
+
## Reassembling Files
|
|
86
|
+
|
|
87
|
+
Reassemble a directory of disassembled XML files into a single XML file.
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
/*
|
|
91
|
+
FLAGS
|
|
92
|
+
- filePath: Relative path to the disassembled XML directory to reassemble.
|
|
93
|
+
- fileExtension: File extension for the reassembled XML.
|
|
94
|
+
(default: `.xml`)
|
|
95
|
+
- postPurge: Delete the disassembled directory after reassembly.
|
|
96
|
+
*/
|
|
97
|
+
import { ReassembleXMLFileHandler } from "xml-disassembler";
|
|
98
|
+
|
|
99
|
+
const handler = new ReassembleXMLFileHandler();
|
|
100
|
+
await handler.reassemble({
|
|
101
|
+
filePath: "test/baselines/general/HR_Admin",
|
|
102
|
+
fileExtension: "permissionset-meta.xml",
|
|
103
|
+
postPurge: true,
|
|
104
|
+
});
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Example
|
|
108
|
+
|
|
109
|
+
**Input XML file (`HR_Admin.permissionset-meta.xml`)**
|
|
56
110
|
|
|
57
111
|
```xml
|
|
58
112
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
@@ -101,120 +155,47 @@ An XML file (`HR_Admin.permissionset-meta.xml`) with the following nested and le
|
|
|
101
155
|
</PermissionSet>
|
|
102
156
|
```
|
|
103
157
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
- Each nested element (`<recordTypeVisibilities>`, `<applicationVisibilities>`, `pageAccesses`, etc.) will be disassembled into further sub-directories by the nested element name. If a unique & required ID element (`application` is the unique ID element for `<applicationVisibilities>`) is found, the disassembled file will be named using it. Otherwise, the disassembled files for nested elements will be named using the SHA-256 of the element contents.
|
|
107
|
-
- Each leaf element (`<description>`, `<label>`, `<userLicense>`) will be disassembled into the same file in the first sub-directory, which will have the same file-name as the original file.
|
|
158
|
+
**Disassembled XML Directory**
|
|
108
159
|
|
|
109
160
|
<img src="https://raw.githubusercontent.com/mcarvin8/xml-disassembler/main/.github/images/disassembled.png">
|
|
110
|
-
|
|
161
|
+
<p><em>Disassembled XML files using unique ID elements</em></p>
|
|
111
162
|
<br>
|
|
112
163
|
|
|
113
164
|
<img src="https://raw.githubusercontent.com/mcarvin8/xml-disassembler/main/.github/images/disassembled-hashes.png">
|
|
114
|
-
|
|
115
|
-
<br>
|
|
116
|
-
|
|
117
|
-
Import the `DisassembleXMLFileHandler` class from the package.
|
|
118
|
-
|
|
119
|
-
```typescript
|
|
120
|
-
/*
|
|
121
|
-
FLAGS
|
|
122
|
-
- filePath: Relative path to 1 XML file or a directory of XML files to disassemble. If the path provided is a directory, only the files in the immediate directory will be disassembled.
|
|
123
|
-
- uniqueIdElements: (Optional) Comma-separated list of unique and required ID elements used to name disassembled files for nested elements.
|
|
124
|
-
Defaults to SHA-256 hash if unique ID elements are undefined or not found.
|
|
125
|
-
- prePurge: (Optional) Boolean value. If set to true, purge pre-existing disassembled directories prior to disassembling the file.
|
|
126
|
-
Defaults to false.
|
|
127
|
-
- postPurge: (Optional) Boolean value. If set to true, purge the original XML file after disassembling it.
|
|
128
|
-
Defaults to false.
|
|
129
|
-
- ignorePath: (Optional) Path to an ignore file containing XML files to ignore during disassembly. See "Ignore File" section.
|
|
130
|
-
*/
|
|
131
|
-
import { DisassembleXMLFileHandler } from "xml-disassembler";
|
|
132
|
-
|
|
133
|
-
const handler = new DisassembleXMLFileHandler();
|
|
134
|
-
await handler.disassemble({
|
|
135
|
-
filePath: "test/baselines/general",
|
|
136
|
-
uniqueIdElements:
|
|
137
|
-
"application,apexClass,name,externalDataSource,flow,object,apexPage,recordType,tab,field",
|
|
138
|
-
prePurge: true,
|
|
139
|
-
postPurge: true,
|
|
140
|
-
ignorePath: ".xmldisassemblerignore",
|
|
141
|
-
});
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## Reassembling Files
|
|
145
|
-
|
|
146
|
-
Reassemble 1 XML directory (`filePath`) containing disassembled files back into 1 XML file. The paths you provide must be **relative** paths.
|
|
147
|
-
|
|
148
|
-
**NOTE**: You should be reassembling files created by this package's `DisassembleXMLFileHandler` class for intended results. This class will assume all disassembled files in `filePath` have the same XML Root Element. The reassembled XML file will be created in the parent directory of `filePath` and will overwrite the original file used to create the original disassembled directories, if it still exists and the `fileExtension` flag matches the original file extension.
|
|
149
|
-
|
|
150
|
-
Import the `ReassembleXMLFileHandler` class from the package.
|
|
151
|
-
|
|
152
|
-
```typescript
|
|
153
|
-
/*
|
|
154
|
-
FLAGS
|
|
155
|
-
- filePath: Relative path to the disassembled XML files to reassemble (must be a directory)
|
|
156
|
-
- fileExtension: (Optional) Desired file extension for the final XML (default: `.xml`)
|
|
157
|
-
- postPurge: (Optional) Boolean value. If set to true, purge the disassembled file directory (filePath) after reassembly.
|
|
158
|
-
Defaults to false.
|
|
159
|
-
*/
|
|
160
|
-
import { ReassembleXMLFileHandler } from "xml-disassembler";
|
|
161
|
-
|
|
162
|
-
const handler = new ReassembleXMLFileHandler();
|
|
163
|
-
await handler.reassemble({
|
|
164
|
-
filePath: "test/baselines/general/HR_Admin",
|
|
165
|
-
fileExtension: "permissionset-meta.xml",
|
|
166
|
-
postPurge: true,
|
|
167
|
-
});
|
|
168
|
-
```
|
|
165
|
+
<p><em>Disassembled XML files using SHA-256 hashes</em></p>
|
|
169
166
|
|
|
170
167
|
## Use Case
|
|
171
168
|
|
|
172
|
-
|
|
169
|
+
See [`sf-decomposer`](https://github.com/mcarvin8/sf-decomposer) for a Salesforce CLI use case:
|
|
173
170
|
|
|
174
171
|
- [Disassemble Use Case](https://github.com/mcarvin8/sf-decomposer/blob/main/src/service/decomposeFileHandler.ts)
|
|
175
172
|
- [Reassemble Use Case](https://github.com/mcarvin8/sf-decomposer/blob/main/src/service/recomposeFileHandler.ts)
|
|
176
173
|
|
|
177
174
|
## Ignore File
|
|
178
175
|
|
|
179
|
-
|
|
176
|
+
Create an ignore file (`.xmldisassemblerignore` by default) to exclude XMLs from disassembly.
|
|
180
177
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
By default, the XML disassembler will look for an ignore file named `.xmldisassemblerignore` in the current working directory. Set the `ignorePath` flag to override this ignore path.
|
|
178
|
+
- uses [`node-ignore`](https://github.com/kaelzhang/node-ignore) (follows [.gitignore spec 2.22.1](https://git-scm.com/docs/gitignore))
|
|
184
179
|
|
|
185
180
|
## XML Parser
|
|
186
181
|
|
|
187
|
-
|
|
182
|
+
Uses [`fast-xml-parser`](https://github.com/NaturalIntelligence/fast-xml-parser) with support for:
|
|
183
|
+
|
|
184
|
+
- Character Data (CDATA): `" to create a logging file. Logs are stored in `disassemble.log`.
|
|
192
191
|
|
|
193
|
-
|
|
192
|
+
By default, only errors are logged.
|
|
194
193
|
|
|
195
194
|
```
|
|
196
195
|
[2024-03-30T14:28:37.950] [ERROR] default - The XML file HR_Admin.no-nested-elements.xml only has leaf elements. This file will not be disassembled.
|
|
197
196
|
```
|
|
198
197
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
When the log level is set to `debug`, the log file will contain statements like this to indicate which files were processed for disassembly and reassembly:
|
|
202
|
-
|
|
203
|
-
```
|
|
204
|
-
[2024-03-30T14:28:37.926] [DEBUG] default - Parsing directory to reassemble: mock/no-namespace/HR_Admin
|
|
205
|
-
[2024-03-30T14:28:37.936] [DEBUG] default - Created reassembled file: mock\no-namespace\HR_Admin.permissionset-meta.xml
|
|
206
|
-
|
|
207
|
-
[2024-03-30T14:28:37.951] [DEBUG] default - Parsing file to disassemble: mock\no-nested-elements\HR_Admin.permissionset-meta.xml
|
|
208
|
-
[2024-03-30T14:28:37.953] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\applicationVisibilities\5593cf61.applicationVisibilities-meta.xml
|
|
209
|
-
[2024-03-30T14:28:37.954] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\classAccesses\2e5749c9.classAccesses-meta.xml
|
|
210
|
-
[2024-03-30T14:28:37.955] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\fieldPermissions\16129a47.fieldPermissions-meta.xml
|
|
211
|
-
[2024-03-30T14:28:37.956] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\objectPermissions\81268af4.objectPermissions-meta.xml
|
|
212
|
-
[2024-03-30T14:28:37.956] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\pageAccesses\d6d8105a.pageAccesses-meta.xml
|
|
213
|
-
[2024-03-30T14:28:37.957] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\recordTypeVisibilities\077548e3.recordTypeVisibilities-meta.xml
|
|
214
|
-
[2024-03-30T14:28:37.957] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\tabSettings\181e6985.tabSettings-meta.xml
|
|
215
|
-
[2024-03-30T14:28:37.958] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\userPermissions\0288499e.userPermissions-meta.xml
|
|
216
|
-
[2024-03-30T14:28:37.959] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\HR_Admin.permissionset-meta.xml
|
|
217
|
-
```
|
|
198
|
+
Enable debug logs using the `setLogLevel` function:
|
|
218
199
|
|
|
219
200
|
```typescript
|
|
220
201
|
import {
|
|
@@ -223,35 +204,16 @@ import {
|
|
|
223
204
|
setLogLevel,
|
|
224
205
|
} from "xml-disassembler";
|
|
225
206
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
if (debug) {
|
|
229
|
-
setLogLevel("debug");
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
const disassembleHandler = new DisassembleXMLFileHandler();
|
|
233
|
-
await disassembleHandler.disassemble({
|
|
234
|
-
filePath: "test/baselines/general",
|
|
235
|
-
uniqueIdElements:
|
|
236
|
-
"application,apexClass,name,externalDataSource,flow,object,apexPage,recordType,tab,field",
|
|
237
|
-
prePurge: true,
|
|
238
|
-
postPurge: true,
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
const reassembleHandler = new ReassembleXMLFileHandler();
|
|
242
|
-
await reassembleHandler.reassemble({
|
|
243
|
-
filePath: "test/baselines/general/HR_Admin",
|
|
244
|
-
fileExtension: "permissionset-meta.xml",
|
|
245
|
-
});
|
|
207
|
+
setLogLevel("debug");
|
|
246
208
|
```
|
|
247
209
|
|
|
248
210
|
## Extensions
|
|
249
211
|
|
|
250
|
-
These
|
|
212
|
+
These extensions expand on `xml-disassembler`:
|
|
251
213
|
|
|
252
|
-
- [
|
|
253
|
-
- [
|
|
254
|
-
- [
|
|
214
|
+
- [`xml2json-disassembler`](https://github.com/mcarvin8/xml2json-disassembler): Disassemble large XML files into smaller JSON files and reassemble the original XML file when needed
|
|
215
|
+
- [`xml2yaml-disassembler`](https://github.com/mcarvin8/xml2yaml-disassembler): Disassemble large XML files into smaller YAML files and reassemble the original XML file when needed
|
|
216
|
+
- [`xml2json5-disassembler`](https://github.com/mcarvin8/xml2json5-disassembler): Disassemble large XML files into smaller JSON5 files and reassemble the original XML file when needed
|
|
255
217
|
|
|
256
218
|
## Contributing
|
|
257
219
|
|
|
@@ -259,6 +221,6 @@ Contributions are welcome! See [Contributing](https://github.com/mcarvin8/xml-di
|
|
|
259
221
|
|
|
260
222
|
## Template
|
|
261
223
|
|
|
262
|
-
This project was created from a template
|
|
224
|
+
This project was created from a template by [Allan Oricil](https://github.com/AllanOricil).
|
|
263
225
|
|
|
264
226
|
His original [license](https://github.com/AllanOricil/js-template/blob/main/LICENSE) remains in this project.
|
package/disassemble.log
CHANGED
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
[2025-03-
|
|
2
|
-
[2025-03-
|
|
3
|
-
[2025-03-
|
|
4
|
-
[2025-03-
|
|
5
|
-
[2025-03-
|
|
6
|
-
[2025-03-
|
|
7
|
-
[2025-03-
|
|
8
|
-
[2025-03-
|
|
9
|
-
[2025-03-
|
|
10
|
-
[2025-03-
|
|
11
|
-
[2025-03-
|
|
12
|
-
[2025-03-
|
|
13
|
-
[2025-03-
|
|
14
|
-
[2025-03-
|
|
15
|
-
[2025-03-
|
|
16
|
-
[2025-03-
|
|
17
|
-
[2025-03-
|
|
18
|
-
[2025-03-
|
|
19
|
-
[2025-03-
|
|
20
|
-
[2025-03-
|
|
21
|
-
[2025-03-
|
|
22
|
-
[2025-03-
|
|
23
|
-
[2025-03-
|
|
24
|
-
[2025-03-
|
|
25
|
-
[2025-03-
|
|
26
|
-
[2025-03-
|
|
27
|
-
[2025-03-
|
|
28
|
-
[2025-03-
|
|
29
|
-
[2025-03-
|
|
30
|
-
[2025-03-
|
|
31
|
-
[2025-03-
|
|
32
|
-
[2025-03-
|
|
33
|
-
[2025-03-
|
|
34
|
-
[2025-03-
|
|
35
|
-
[2025-03-
|
|
36
|
-
[2025-03-
|
|
37
|
-
[2025-03-
|
|
38
|
-
[2025-03-
|
|
39
|
-
[2025-03-
|
|
40
|
-
[2025-03-
|
|
41
|
-
[2025-03-
|
|
42
|
-
[2025-03-
|
|
43
|
-
[2025-03-
|
|
44
|
-
[2025-03-
|
|
45
|
-
[2025-03-
|
|
46
|
-
[2025-03-
|
|
47
|
-
[2025-03-
|
|
48
|
-
[2025-03-
|
|
49
|
-
[2025-03-
|
|
50
|
-
[2025-03-
|
|
51
|
-
[2025-03-
|
|
52
|
-
[2025-03-
|
|
53
|
-
[2025-03-
|
|
54
|
-
[2025-03-
|
|
55
|
-
[2025-03-
|
|
56
|
-
[2025-03-
|
|
57
|
-
[2025-03-
|
|
58
|
-
[2025-03-
|
|
59
|
-
[2025-03-
|
|
60
|
-
[2025-03-
|
|
61
|
-
[2025-03-
|
|
62
|
-
[2025-03-
|
|
63
|
-
[2025-03-
|
|
64
|
-
[2025-03-
|
|
65
|
-
[2025-03-
|
|
66
|
-
[2025-03-
|
|
67
|
-
[2025-03-
|
|
68
|
-
[2025-03-
|
|
69
|
-
[2025-03-
|
|
70
|
-
[2025-03-
|
|
71
|
-
[2025-03-
|
|
72
|
-
[2025-03-
|
|
73
|
-
[2025-03-
|
|
74
|
-
[2025-03-
|
|
75
|
-
[2025-03-
|
|
76
|
-
[2025-03-
|
|
77
|
-
[2025-03-
|
|
78
|
-
[2025-03-
|
|
79
|
-
[2025-03-
|
|
80
|
-
[2025-03-
|
|
81
|
-
[2025-03-
|
|
82
|
-
[2025-03-
|
|
83
|
-
[2025-03-
|
|
84
|
-
[2025-03-
|
|
85
|
-
[2025-03-
|
|
86
|
-
[2025-03-
|
|
87
|
-
[2025-03-
|
|
88
|
-
[2025-03-
|
|
89
|
-
[2025-03-
|
|
90
|
-
[2025-03-
|
|
91
|
-
[2025-03-
|
|
92
|
-
[2025-03-
|
|
93
|
-
[2025-03-
|
|
94
|
-
[2025-03-
|
|
95
|
-
[2025-03-
|
|
1
|
+
[2025-03-18T22:32:24.106] [DEBUG] default - Parsing file to disassemble: mock/general/HR_Admin.permissionset-meta.xml
|
|
2
|
+
[2025-03-18T22:32:24.124] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/applicationVisibilities/JobApps__Recruiting.applicationVisibilities-meta.xml
|
|
3
|
+
[2025-03-18T22:32:24.125] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/classAccesses/Send_Email_Confirmation.classAccesses-meta.xml
|
|
4
|
+
[2025-03-18T22:32:24.126] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/fieldPermissions/Job_Request__c.Salary__c.fieldPermissions-meta.xml
|
|
5
|
+
[2025-03-18T22:32:24.126] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/objectPermissions/Job_Request__c.objectPermissions-meta.xml
|
|
6
|
+
[2025-03-18T22:32:24.127] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/pageAccesses/Job_Request_Web_Form.pageAccesses-meta.xml
|
|
7
|
+
[2025-03-18T22:32:24.128] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/recordTypeVisibilities/Recruiting.DevManager.recordTypeVisibilities-meta.xml
|
|
8
|
+
[2025-03-18T22:32:24.128] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/tabSettings/Job_Request__c.tabSettings-meta.xml
|
|
9
|
+
[2025-03-18T22:32:24.129] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/userPermissions/APIEnabled.userPermissions-meta.xml
|
|
10
|
+
[2025-03-18T22:32:24.130] [DEBUG] default - Created disassembled file: mock/general/HR_Admin/HR_Admin.permissionset-meta.xml
|
|
11
|
+
[2025-03-18T22:32:24.134] [DEBUG] default - Parsing directory to reassemble: mock/general/HR_Admin
|
|
12
|
+
[2025-03-18T22:32:24.150] [DEBUG] default - Created reassembled file: mock/general/HR_Admin.permissionset-meta.xml
|
|
13
|
+
[2025-03-18T22:32:24.153] [DEBUG] default - Parsing file to disassemble: mock/attributes/notes.xml
|
|
14
|
+
[2025-03-18T22:32:24.155] [DEBUG] default - Created disassembled file: mock/attributes/notes/nest/103c6c8b.nest-meta.xml
|
|
15
|
+
[2025-03-18T22:32:24.155] [DEBUG] default - Created disassembled file: mock/attributes/notes/nest/f876f2be.nest-meta.xml
|
|
16
|
+
[2025-03-18T22:32:24.157] [DEBUG] default - Parsing directory to reassemble: mock/attributes/notes
|
|
17
|
+
[2025-03-18T22:32:24.158] [DEBUG] default - Created reassembled file: mock/attributes/notes.xml
|
|
18
|
+
[2025-03-18T22:32:24.160] [DEBUG] default - Parsing file to disassemble: mock/cdata/VidLand_US.marketingappextension-meta.xml
|
|
19
|
+
[2025-03-18T22:32:24.161] [DEBUG] default - Created disassembled file: mock/cdata/VidLand_US/marketingAppExtActions/register_user.marketingAppExtActions-meta.xml
|
|
20
|
+
[2025-03-18T22:32:24.162] [DEBUG] default - Created disassembled file: mock/cdata/VidLand_US/VidLand_US.marketingappextension-meta.xml
|
|
21
|
+
[2025-03-18T22:32:24.162] [DEBUG] default - Parsing directory to reassemble: mock/cdata/VidLand_US
|
|
22
|
+
[2025-03-18T22:32:24.164] [DEBUG] default - Created reassembled file: mock/cdata/VidLand_US.xml
|
|
23
|
+
[2025-03-18T22:32:24.166] [DEBUG] default - Parsing file to disassemble: mock/comments/Numbers-fr.globalValueSetTranslation-meta.xml
|
|
24
|
+
[2025-03-18T22:32:24.167] [DEBUG] default - Created disassembled file: mock/comments/Numbers-fr/valueTranslation/30e8b6d2.valueTranslation-meta.xml
|
|
25
|
+
[2025-03-18T22:32:24.167] [DEBUG] default - Created disassembled file: mock/comments/Numbers-fr/valueTranslation/d7dd1420.valueTranslation-meta.xml
|
|
26
|
+
[2025-03-18T22:32:24.168] [DEBUG] default - Created disassembled file: mock/comments/Numbers-fr/valueTranslation/d8852ede.valueTranslation-meta.xml
|
|
27
|
+
[2025-03-18T22:32:24.169] [DEBUG] default - Parsing directory to reassemble: mock/comments/Numbers-fr
|
|
28
|
+
[2025-03-18T22:32:24.171] [DEBUG] default - Created reassembled file: mock/comments/Numbers-fr.globalValueSetTranslation-meta.xml
|
|
29
|
+
[2025-03-18T22:32:24.172] [DEBUG] default - Parsing file to disassemble: mock/deeply-nested-unique-id-element/Get_Info.flow-meta.xml
|
|
30
|
+
[2025-03-18T22:32:24.177] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/actionCalls/Get_Info.actionCalls-meta.xml
|
|
31
|
+
[2025-03-18T22:32:24.178] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/actionCalls/Post_to_Contact_s_Feed.actionCalls-meta.xml
|
|
32
|
+
[2025-03-18T22:32:24.178] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/assignments/Set_Contact_ID.assignments-meta.xml
|
|
33
|
+
[2025-03-18T22:32:24.179] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/decisions/Update_If_Existing.decisions-meta.xml
|
|
34
|
+
[2025-03-18T22:32:24.179] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/decisions/Update_or_Create.decisions-meta.xml
|
|
35
|
+
[2025-03-18T22:32:24.180] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/dynamicChoiceSets/accounts.dynamicChoiceSets-meta.xml
|
|
36
|
+
[2025-03-18T22:32:24.180] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/formulas/created_or_updated.formulas-meta.xml
|
|
37
|
+
[2025-03-18T22:32:24.181] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/processMetadataValues/BuilderType.processMetadataValues-meta.xml
|
|
38
|
+
[2025-03-18T22:32:24.182] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/processMetadataValues/CanvasMode.processMetadataValues-meta.xml
|
|
39
|
+
[2025-03-18T22:32:24.182] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/processMetadataValues/OriginBuilderType.processMetadataValues-meta.xml
|
|
40
|
+
[2025-03-18T22:32:24.183] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/recordCreates/Create_Contact.recordCreates-meta.xml
|
|
41
|
+
[2025-03-18T22:32:24.183] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/recordLookups/Find_a_Match.recordLookups-meta.xml
|
|
42
|
+
[2025-03-18T22:32:24.183] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/recordUpdates/Update_Contact.recordUpdates-meta.xml
|
|
43
|
+
[2025-03-18T22:32:24.184] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/screens/Confirm.screens-meta.xml
|
|
44
|
+
[2025-03-18T22:32:24.184] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/screens/Contact_Info.screens-meta.xml
|
|
45
|
+
[2025-03-18T22:32:24.184] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/start/Contact_Info.start-meta.xml
|
|
46
|
+
[2025-03-18T22:32:24.185] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/textTemplates/chatterMessage.textTemplates-meta.xml
|
|
47
|
+
[2025-03-18T22:32:24.185] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/variables/ComplexObjectExample.variables-meta.xml
|
|
48
|
+
[2025-03-18T22:32:24.185] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/variables/contact.variables-meta.xml
|
|
49
|
+
[2025-03-18T22:32:24.186] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/variables/existingId.variables-meta.xml
|
|
50
|
+
[2025-03-18T22:32:24.186] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/variables/updateExisting.variables-meta.xml
|
|
51
|
+
[2025-03-18T22:32:24.186] [DEBUG] default - Created disassembled file: mock/deeply-nested-unique-id-element/Get_Info/Get_Info.flow-meta.xml
|
|
52
|
+
[2025-03-18T22:32:24.187] [DEBUG] default - Parsing directory to reassemble: mock/deeply-nested-unique-id-element/Get_Info
|
|
53
|
+
[2025-03-18T22:32:24.208] [DEBUG] default - Created reassembled file: mock/deeply-nested-unique-id-element/Get_Info.flow-meta.xml
|
|
54
|
+
[2025-03-18T22:32:24.210] [DEBUG] default - Parsing file to disassemble: mock/array-of-leafs/Dreamhouse.app-meta.xml
|
|
55
|
+
[2025-03-18T22:32:24.212] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/39049d21.actionOverrides-meta.xml
|
|
56
|
+
[2025-03-18T22:32:24.213] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/735c1659.actionOverrides-meta.xml
|
|
57
|
+
[2025-03-18T22:32:24.213] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/b04e9f9b.actionOverrides-meta.xml
|
|
58
|
+
[2025-03-18T22:32:24.214] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/c8cc7a99.actionOverrides-meta.xml
|
|
59
|
+
[2025-03-18T22:32:24.214] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/brand/c9db422b.brand-meta.xml
|
|
60
|
+
[2025-03-18T22:32:24.215] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/Dreamhouse.app-meta.xml
|
|
61
|
+
[2025-03-18T22:32:24.216] [DEBUG] default - Parsing directory to reassemble: mock/array-of-leafs/Dreamhouse
|
|
62
|
+
[2025-03-18T22:32:24.220] [DEBUG] default - Created reassembled file: mock/array-of-leafs/Dreamhouse.app-meta.xml
|
|
63
|
+
[2025-03-18T22:32:24.221] [DEBUG] default - Parsing file to disassemble: mock/array-of-leafs/Dreamhouse.app-meta.xml
|
|
64
|
+
[2025-03-18T22:32:24.224] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/39049d21.actionOverrides-meta.xml
|
|
65
|
+
[2025-03-18T22:32:24.224] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/735c1659.actionOverrides-meta.xml
|
|
66
|
+
[2025-03-18T22:32:24.224] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/b04e9f9b.actionOverrides-meta.xml
|
|
67
|
+
[2025-03-18T22:32:24.225] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/actionOverrides/c8cc7a99.actionOverrides-meta.xml
|
|
68
|
+
[2025-03-18T22:32:24.225] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/brand/c9db422b.brand-meta.xml
|
|
69
|
+
[2025-03-18T22:32:24.225] [DEBUG] default - Created disassembled file: mock/array-of-leafs/Dreamhouse/Dreamhouse.app-meta.xml
|
|
70
|
+
[2025-03-18T22:32:24.226] [DEBUG] default - Parsing directory to reassemble: mock/array-of-leafs/Dreamhouse
|
|
71
|
+
[2025-03-18T22:32:24.229] [DEBUG] default - Created reassembled file: mock/array-of-leafs/Dreamhouse.app-meta.xml
|
|
72
|
+
[2025-03-18T22:32:24.231] [DEBUG] default - Parsing file to disassemble: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin.permissionset-meta.xml
|
|
73
|
+
[2025-03-18T22:32:24.232] [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-03-18T22:32:24.232] [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-03-18T22:32:24.233] [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-03-18T22:32:24.233] [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-03-18T22:32:24.234] [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-03-18T22:32:24.235] [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-03-18T22:32:24.235] [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-03-18T22:32:24.235] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/userPermissions/APIEnabled.userPermissions-meta.xml
|
|
81
|
+
[2025-03-18T22:32:24.236] [DEBUG] default - Created disassembled file: /home/runner/work/xml-disassembler/xml-disassembler/mock/no-namespace/HR_Admin/HR_Admin.permissionset-meta.xml
|
|
82
|
+
[2025-03-18T22:32:24.236] [DEBUG] default - Parsing directory to reassemble: mock/no-namespace/HR_Admin
|
|
83
|
+
[2025-03-18T22:32:24.241] [DEBUG] default - Created reassembled file: mock/no-namespace/HR_Admin.permissionset-meta.xml
|
|
84
|
+
[2025-03-18T22:32:24.242] [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-03-18T22:32:24.242] [ERROR] default - The provided path to reassemble is not a directory: mock/no-namespace/HR_Admin/HR_Admin.permissionset-meta.xml
|
|
86
|
+
[2025-03-18T22:32:24.243] [DEBUG] default - Parsing file to disassemble: mock/no-root-element/Assessment_Bot.bot-meta.xml
|
|
87
|
+
[2025-03-18T22:32:24.244] [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-03-18T22:32:24.245] [DEBUG] default - Parsing directory to reassemble: mock/no-root-element/Assessment_Bot
|
|
89
|
+
[2025-03-18T22:32:24.245] [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-03-18T22:32:24.246] [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-03-18T22:32:24.246] [ERROR] default - No files under mock/no-root-element/Assessment_Bot were parsed successfully. A reassembled XML file was not created.
|
|
92
|
+
[2025-03-18T22:32:24.247] [DEBUG] default - Parsing file to disassemble: mock/no-nested-elements/HR_Admin.xml
|
|
93
|
+
[2025-03-18T22:32:24.247] [ERROR] default - The XML file mock/no-nested-elements/HR_Admin.xml only has leaf elements. This file will not be disassembled.
|
|
94
|
+
[2025-03-18T22:32:24.248] [WARN] default - File ignored by .xmldisassemblerignore: mock/ignore/HR_Admin.permissionset-meta.xml
|
|
95
|
+
[2025-03-18T22:32:24.249] [WARN] default - File ignored by .xmldisassemblerignore: /home/runner/work/xml-disassembler/xml-disassembler/mock/ignore/HR_Admin.permissionset-meta.xml
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xml-disassembler",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.15",
|
|
4
4
|
"description": "Disassemble XML files into smaller, more manageable files and reassemble them when needed.",
|
|
5
5
|
"author": "Matt Carvin",
|
|
6
6
|
"license": "ISC",
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
"husky": "^8.0.3",
|
|
39
39
|
"jest": "^29.7.0",
|
|
40
40
|
"lint-staged": "^15.3.0",
|
|
41
|
-
"prettier": "3.
|
|
41
|
+
"prettier": "3.5.3",
|
|
42
42
|
"rollup": "^4.9.6",
|
|
43
|
-
"ts-jest": "^29.2.
|
|
44
|
-
"typescript": "^5.
|
|
43
|
+
"ts-jest": "^29.2.6",
|
|
44
|
+
"typescript": "^5.8.2"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"fast-xml-parser": "^5.0.9",
|
|
48
|
-
"ignore": "^
|
|
48
|
+
"ignore": "^7.0.3",
|
|
49
49
|
"log4js": "^6.9.1",
|
|
50
50
|
"tslib": "^2.6.2"
|
|
51
51
|
},
|