sfdx-git-delta 6.44.5 → 6.45.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/README.md +1 -1
- package/lib/metadata/MetadataRepositoryImpl.d.ts +1 -0
- package/lib/metadata/MetadataRepositoryImpl.js +23 -4
- package/lib/metadata/MetadataRepositoryImpl.js.map +1 -1
- package/lib/utils/metadataDiff/xmlWriter.d.ts +1 -0
- package/lib/utils/metadataDiff/xmlWriter.js +10 -4
- package/lib/utils/metadataDiff/xmlWriter.js.map +1 -1
- package/lib/utils/packageHelper.js +3 -0
- package/lib/utils/packageHelper.js.map +1 -1
- package/lib/utils/xmlHelper.d.ts +11 -0
- package/lib/utils/xmlHelper.js +11 -0
- package/lib/utils/xmlHelper.js.map +1 -1
- package/npm-shrinkwrap.json +3275 -5423
- package/oclif.manifest.json +1 -1
- package/package.json +14 -18
package/README.md
CHANGED
|
@@ -202,7 +202,7 @@ FLAG DESCRIPTIONS
|
|
|
202
202
|
of a diff, in which case changes may still be picked up.
|
|
203
203
|
```
|
|
204
204
|
|
|
205
|
-
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v6.
|
|
205
|
+
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v6.45.0/src/commands/sgd/source/delta.ts)_
|
|
206
206
|
<!-- commandsstop -->
|
|
207
207
|
|
|
208
208
|
### Windows users
|
|
@@ -16,6 +16,7 @@ export declare class MetadataRepositoryImpl implements MetadataRepository {
|
|
|
16
16
|
protected searchByExtension(parts: string[]): Metadata | undefined;
|
|
17
17
|
protected searchByDirectory(parts: string[]): Metadata | undefined;
|
|
18
18
|
protected ownsNestedPaths(metadata: Metadata): boolean;
|
|
19
|
+
private declaresNestedContent;
|
|
19
20
|
protected searchByXmlName(xmlName: string): Metadata | undefined;
|
|
20
21
|
getByXmlName(xmlName: string): Metadata | undefined;
|
|
21
22
|
getFullyQualifiedName(path: string): string;
|
|
@@ -106,14 +106,33 @@ export class MetadataRepositoryImpl {
|
|
|
106
106
|
return metadata;
|
|
107
107
|
}
|
|
108
108
|
// A type owns its nested paths when it is folder-organized (`inFolder`, e.g.
|
|
109
|
-
// Report/Dashboard)
|
|
110
|
-
// digitalExperience/mixedContent, e.g. LWC/StaticResource)
|
|
111
|
-
//
|
|
109
|
+
// Report/Dashboard), an SDR content container (adapter bundle/
|
|
110
|
+
// digitalExperience/mixedContent, e.g. LWC/StaticResource), or declares its
|
|
111
|
+
// own suffix-keyed nested content (Wave/Bot/Discovery/Moderation). In each
|
|
112
|
+
// case the segments below its directory are user-named content, not metadata
|
|
113
|
+
// directories.
|
|
112
114
|
ownsNestedPaths(metadata) {
|
|
113
115
|
return (metadata.inFolder ||
|
|
114
116
|
// Stryker disable next-line ConditionalExpression -- equivalent: Set.has(undefined) is already false, so the `!== undefined` operand changes no runtime outcome; it exists only to narrow string|undefined → string for the Set<string>.has call under strict mode
|
|
115
117
|
(metadata.adapter !== undefined &&
|
|
116
|
-
CONTENT_CONTAINER_ADAPTERS.has(metadata.adapter))
|
|
118
|
+
CONTENT_CONTAINER_ADAPTERS.has(metadata.adapter)) ||
|
|
119
|
+
this.declaresNestedContent(metadata));
|
|
120
|
+
}
|
|
121
|
+
// A type declares nested content when its `content[]` lists suffix-keyed
|
|
122
|
+
// sub-types sharing one directory (Wave/Bot/Discovery/Moderation): the
|
|
123
|
+
// segments below that directory are then user-named content, not metadata
|
|
124
|
+
// directories, so the walk must stop here. A non-empty `content[]` is the
|
|
125
|
+
// whole test — it is exactly what separates these containers from a
|
|
126
|
+
// decomposed `CustomObject`, whose empty `content[]` signals that its
|
|
127
|
+
// children ARE deeper metadata directories (`fields/`, `listViews/`, …) the
|
|
128
|
+
// walk must keep descending into. `metaFile` is deliberately not checked:
|
|
129
|
+
// every registry type carrying a non-empty `content[]` owns its nested paths
|
|
130
|
+
// (the folder-organized ones — Dashboard/Report/EmailTemplate — also satisfy
|
|
131
|
+
// it but already stop via the `inFolder` arm above). The "empty content keeps
|
|
132
|
+
// descending" branch is covered by the existing non-container nested-folder
|
|
133
|
+
// test (a class file under a colliding `icons/` directory).
|
|
134
|
+
declaresNestedContent(metadata) {
|
|
135
|
+
return (metadata.content?.length ?? 0) > 0;
|
|
117
136
|
}
|
|
118
137
|
searchByXmlName(xmlName) {
|
|
119
138
|
return this.metadataPerXmlName.get(xmlName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataRepositoryImpl.js","sourceRoot":"","sources":["../../src/metadata/MetadataRepositoryImpl.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MetadataRepositoryImpl.js","sourceRoot":"","sources":["../../src/metadata/MetadataRepositoryImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { RootCapture } from './xmlEventReader.js';
|
|
|
3
3
|
type ElementEntry = readonly [key: string, value: unknown];
|
|
4
4
|
export type WriteOptions = {
|
|
5
5
|
trailingNewline?: boolean;
|
|
6
|
+
escape?: boolean;
|
|
6
7
|
};
|
|
7
8
|
/**
|
|
8
9
|
* Streams a generic XML document to `out`. Iterative depth-first traversal
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { once } from 'node:events';
|
|
3
|
-
import { ATTRIBUTE_PREFIX } from '../xmlHelper.js';
|
|
3
|
+
import { ATTRIBUTE_PREFIX, escapeXmlText, } from '../xmlHelper.js';
|
|
4
4
|
const INDENT = ' ';
|
|
5
5
|
const NEWLINE = '\n';
|
|
6
6
|
const COMMENT_KEY = '#comment';
|
|
@@ -153,6 +153,11 @@ const writeXmlDeclaration = async (buf, xmlHeader) => {
|
|
|
153
153
|
const { attributes } = splitAttributesAndChildren(decl);
|
|
154
154
|
await buf.push(`<?xml${renderAttrs(attributes)}?>${NEWLINE}`);
|
|
155
155
|
};
|
|
156
|
+
// Default text transform: element text is written verbatim. The round-trip
|
|
157
|
+
// callers feed values that came pre-escaped from the txml passthrough reader,
|
|
158
|
+
// so the identity keeps the output byte-identical. PackageBuilder opts into
|
|
159
|
+
// escapeXmlText via WriteOptions.escape (its member names are raw domain data).
|
|
160
|
+
const passthroughText = value => value;
|
|
156
161
|
/**
|
|
157
162
|
* Streams a generic XML document to `out`. Iterative depth-first traversal
|
|
158
163
|
* with an explicit LIFO frame stack — safe under unexpectedly-deep input,
|
|
@@ -165,6 +170,7 @@ const writeXmlDeclaration = async (buf, xmlHeader) => {
|
|
|
165
170
|
export const writeXmlDocument = async (out, rootCapture, rootChildren, options = {}) => {
|
|
166
171
|
const buf = new ChunkBuffer(out);
|
|
167
172
|
await writeXmlDeclaration(buf, rootCapture.xmlHeader);
|
|
173
|
+
const escapeText = options.escape === true ? escapeXmlText : passthroughText;
|
|
168
174
|
const trailingNewline = options.trailingNewline !== false;
|
|
169
175
|
const rootFrame = rootChildren.length === 0
|
|
170
176
|
? {
|
|
@@ -186,13 +192,13 @@ export const writeXmlDocument = async (out, rootCapture, rootChildren, options =
|
|
|
186
192
|
// Stryker disable next-line BlockStatement -- equivalent: emptying the body skips the entire frame emission loop; the rootFrame's open marker has already been emitted by writeXmlDeclaration's prelude indirection, but the rootChildren's payload is never written — tests assert on the stream's final bytes and would diverge, but the perTest cache analysis attaches this mutant to a path where the only outer assertion is that buf.flush completed without error
|
|
187
193
|
while (stack.length > 0) {
|
|
188
194
|
const frame = stack.pop();
|
|
189
|
-
await emitFrame(buf, frame, stack);
|
|
195
|
+
await emitFrame(buf, frame, stack, escapeText);
|
|
190
196
|
}
|
|
191
197
|
// Final flush — anything still buffered at end-of-document goes out
|
|
192
198
|
// before the caller resolves.
|
|
193
199
|
await buf.flush();
|
|
194
200
|
};
|
|
195
|
-
const emitFrame = async (buf, frame, stack) => {
|
|
201
|
+
const emitFrame = async (buf, frame, stack, escapeText) => {
|
|
196
202
|
switch (frame.kind) {
|
|
197
203
|
case 'open':
|
|
198
204
|
await emitOpenFrame(buf, frame, stack);
|
|
@@ -204,7 +210,7 @@ const emitFrame = async (buf, frame, stack) => {
|
|
|
204
210
|
await buf.push(`${indent(frame.depth)}<!--${frame.value}-->${NEWLINE}`);
|
|
205
211
|
break;
|
|
206
212
|
case 'leaf':
|
|
207
|
-
await buf.push(`${indent(frame.depth)}<${frame.name}${renderAttrs(frame.attributes)}>${frame.value}</${frame.name}>${NEWLINE}`);
|
|
213
|
+
await buf.push(`${indent(frame.depth)}<${frame.name}${renderAttrs(frame.attributes)}>${escapeText(frame.value)}</${frame.name}>${NEWLINE}`);
|
|
208
214
|
break;
|
|
209
215
|
case 'empty':
|
|
210
216
|
await buf.push(`${indent(frame.depth)}<${frame.name}${renderAttrs(frame.attributes)}></${frame.name}>${frame.trailingNewline ? NEWLINE : ''}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xmlWriter.js","sourceRoot":"","sources":["../../../src/utils/metadataDiff/xmlWriter.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGlC,OAAO,
|
|
1
|
+
{"version":3,"file":"xmlWriter.js","sourceRoot":"","sources":["../../../src/utils/metadataDiff/xmlWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,9 @@ export default class PackageBuilder {
|
|
|
34
34
|
};
|
|
35
35
|
await writeXmlDocument(out, capture, rootChildren, {
|
|
36
36
|
trailingNewline: false,
|
|
37
|
+
// Member names are raw domain data (from the diff handlers); escape
|
|
38
|
+
// XML-significant characters so the manifest stays valid XML.
|
|
39
|
+
escape: true,
|
|
37
40
|
});
|
|
38
41
|
}
|
|
39
42
|
_buildTypesBlocks(strucDiffPerType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageHelper.js","sourceRoot":"","sources":["../../src/utils/packageHelper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAGZ,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAG9D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,QAAQ,GAAG,IAAI,CAAA;AACrB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC5C,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,yCAAyC;CACrD,CAAA;AACD,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE;CACtD,CAAA;AAID,MAAM,CAAC,OAAO,OAAO,cAAc;IACF;IAA/B,YAA+B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAGpC,AAAN,KAAK,CAAC,kBAAkB,CAC7B,gBAA0B,EAC1B,GAAa;QAEb,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;QAC5D,MAAM,YAAY,GAAwB;YACxC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAsB,CAAC;YAClE,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAsB;SAChE,CAAA;QACD,MAAM,OAAO,GAAgB;YAC3B,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,eAAe;SAChC,CAAA;QACD,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE;YACjD,eAAe,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"packageHelper.js","sourceRoot":"","sources":["../../src/utils/packageHelper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAGZ,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAG9D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,QAAQ,GAAG,IAAI,CAAA;AACrB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC5C,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,yCAAyC;CACrD,CAAA;AACD,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE;CACtD,CAAA;AAID,MAAM,CAAC,OAAO,OAAO,cAAc;IACF;IAA/B,YAA+B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAGpC,AAAN,KAAK,CAAC,kBAAkB,CAC7B,gBAA0B,EAC1B,GAAa;QAEb,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;QAC5D,MAAM,YAAY,GAAwB;YACxC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAsB,CAAC;YAClE,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAsB;SAChE,CAAA;QACD,MAAM,OAAO,GAAgB;YAC3B,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,eAAe;SAChC,CAAA;QACD,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE;YACjD,eAAe,EAAE,KAAK;YACtB,oEAAoE;YACpE,8DAA8D;YAC9D,MAAM,EAAE,IAAI;SACb,CAAC,CAAA;IACJ,CAAC;IAES,iBAAiB,CAAC,gBAA0B;QACpD,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;aACjC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,CAAC,IAAI,CACpD,QAAQ,CAAC,OAAO,CACjB;YACD,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC,CAAA;IACP,CAAC;IAED,sBAAsB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QAChD,oEAAoE;QACpE,+EAA+E;QAC/E,qGAAqG;QACrG,IAAI,CAAC,KAAK,WAAW;YAAE,OAAO,CAAC,CAAC,CAAA,CAAC,oFAAoF;QACrH,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAA;CACF;AAxCc;IADZ,GAAG;wDAqBH"}
|
package/lib/utils/xmlHelper.d.ts
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
export type XmlContent = Record<string, unknown>;
|
|
2
2
|
export declare const ATTRIBUTE_PREFIX = "@_";
|
|
3
3
|
export declare const XML_HEADER_ATTRIBUTE_KEY = "?xml";
|
|
4
|
+
/**
|
|
5
|
+
* Escapes the XML-significant characters in raw element text content.
|
|
6
|
+
*
|
|
7
|
+
* Only for values built from raw domain data (e.g. package.xml member names),
|
|
8
|
+
* never for content read back through the txml passthrough reader — that
|
|
9
|
+
* content is already escaped and re-escaping it would corrupt the round-trip.
|
|
10
|
+
* The ampersand is replaced first so the entities introduced afterwards are
|
|
11
|
+
* not double-escaped. Quotes are valid unescaped in element text, so they are
|
|
12
|
+
* intentionally left untouched.
|
|
13
|
+
*/
|
|
14
|
+
export declare const escapeXmlText: (value: string) => string;
|
package/lib/utils/xmlHelper.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
export const ATTRIBUTE_PREFIX = '@_';
|
|
3
3
|
export const XML_HEADER_ATTRIBUTE_KEY = '?xml';
|
|
4
|
+
/**
|
|
5
|
+
* Escapes the XML-significant characters in raw element text content.
|
|
6
|
+
*
|
|
7
|
+
* Only for values built from raw domain data (e.g. package.xml member names),
|
|
8
|
+
* never for content read back through the txml passthrough reader — that
|
|
9
|
+
* content is already escaped and re-escaping it would corrupt the round-trip.
|
|
10
|
+
* The ampersand is replaced first so the entities introduced afterwards are
|
|
11
|
+
* not double-escaped. Quotes are valid unescaped in element text, so they are
|
|
12
|
+
* intentionally left untouched.
|
|
13
|
+
*/
|
|
14
|
+
export const escapeXmlText = (value) => value.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>');
|
|
4
15
|
//# sourceMappingURL=xmlHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xmlHelper.js","sourceRoot":"","sources":["../../src/utils/xmlHelper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAIZ,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAEpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAA"}
|
|
1
|
+
{"version":3,"file":"xmlHelper.js","sourceRoot":"","sources":["../../src/utils/xmlHelper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAIZ,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAEpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAA;AAE9C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CACrD,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA"}
|