config-disassembler 1.1.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +4 -0
- package/dist/native/darwin-arm64/index.node +0 -0
- package/dist/native/darwin-x64/index.node +0 -0
- package/dist/native/linux-arm64/index.node +0 -0
- package/dist/native/linux-ia32/index.node +0 -0
- package/dist/native/linux-x64/index.node +0 -0
- package/dist/native/win32-x64/index.node +0 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,27 @@
|
|
|
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.0](https://github.com/mcarvin8/config-disassembler-node/compare/v1.2.1...v1.3.0) (2026-05-05)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **deps:** bump config-disassembler to 0.5.0 (sanitize + collision detection) ([#13](https://github.com/mcarvin8/config-disassembler-node/issues/13)) ([eb52fde](https://github.com/mcarvin8/config-disassembler-node/commit/eb52fde5725ec819d64170f0502e22eef118f87f))
|
|
14
|
+
|
|
15
|
+
## [1.2.1](https://github.com/mcarvin8/config-disassembler-node/compare/v1.2.0...v1.2.1) (2026-05-04)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* trigger release due to GitHub network failures ([710b785](https://github.com/mcarvin8/config-disassembler-node/commit/710b785ec5680d0799fa64cd2b53aa0bf14c599b))
|
|
21
|
+
|
|
22
|
+
## [1.2.0](https://github.com/mcarvin8/config-disassembler-node/compare/v1.1.3...v1.2.0) (2026-05-04)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* **deps:** bump config-disassembler to 0.4.5 (compound unique-id keys) ([#10](https://github.com/mcarvin8/config-disassembler-node/issues/10)) ([43678ef](https://github.com/mcarvin8/config-disassembler-node/commit/43678efaa435cd4accf62ca4b94e25c0c3f2525a))
|
|
28
|
+
|
|
8
29
|
## [1.1.3](https://github.com/mcarvin8/config-disassembler-node/compare/v1.1.2...v1.1.3) (2026-05-04)
|
|
9
30
|
|
|
10
31
|
|
package/README.md
CHANGED
|
@@ -145,6 +145,10 @@ handler.disassemble({
|
|
|
145
145
|
|
|
146
146
|
Each nested element is written to its own file, named by a unique identifier (or an 8-character SHA-256 hash if no UID is available). Leaf content stays in a file named after the original XML.
|
|
147
147
|
|
|
148
|
+
**Compound keys (`+`)** – Each comma-separated *UID candidate* in the list may be a `+`-joined compound (e.g. `actionName+pageOrSobjectType+formFactor+profile`). A compound matches only when every sub-field is present and non-empty at the same level, in which case the resolved values are joined with `__` to form the filename. Useful for metadata whose natural unique key is multi-field, like Salesforce `<profileActionOverrides>` (`actionName + pageOrSobjectType + formFactor + profile [+ recordType]`); without compounds, every sibling sharing an `actionName` would collapse to one filename. List both wide and narrow forms (e.g. `A+B+C+D, A+B+C, A`) for graceful fallback when items only carry some keys.
|
|
149
|
+
|
|
150
|
+
**Filename safety** – Resolved unique-id values are sanitized before being used as a path segment: path separators (`/`, `\`), Windows-reserved chars (`:`, `*`, `?`, `"`, `<`, `>`, `|`), and ASCII control bytes are each replaced with `_`; trailing dots and spaces are stripped. So a Salesforce `EntitlementProcess` milestone named `TrustFile Transaction Sync/Import Complete` produces the shard `TrustFile Transaction Sync_Import Complete.milestones-meta.xml` on every platform instead of the `/` being interpreted as a directory separator. After sanitization, any remaining sibling collisions (because `uniqueIdElements` is too narrow, or because sanitization folded distinct values into the same form) are detected automatically: every sibling in the colliding group falls back to a per-element 8-character SHA-256 hash so no row is silently overwritten on disk. Both behaviors require no configuration.
|
|
151
|
+
|
|
148
152
|
Best for fine-grained diffs and version control.
|
|
149
153
|
|
|
150
154
|
#### `grouped-by-tag`
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "config-disassembler",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Disassemble configuration files (XML, JSON, JSON5, JSONC, YAML, TOON, TOML, INI) into smaller, version-control friendly pieces and reassemble them on demand. Node.js bindings for the Rust `config-disassembler` crate.",
|
|
5
5
|
"author": "Matt Carvin",
|
|
6
6
|
"license": "MIT",
|