sfdx-git-delta 7.3.0 → 7.4.1

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.
Files changed (64) hide show
  1. package/README.md +23 -4
  2. package/lib/adapter/GitAdapter.d.ts +9 -4
  3. package/lib/adapter/GitAdapter.js +147 -52
  4. package/lib/adapter/GitAdapter.js.map +1 -1
  5. package/lib/adapter/pathMatching.d.ts +2 -1
  6. package/lib/adapter/pathMatching.js +35 -3
  7. package/lib/adapter/pathMatching.js.map +1 -1
  8. package/lib/adapter/treeReader.d.ts +1 -0
  9. package/lib/adapter/treeReader.js +10 -0
  10. package/lib/adapter/treeReader.js.map +1 -1
  11. package/lib/adapter/tsgitErrorMap.d.ts +6 -3
  12. package/lib/adapter/tsgitErrorMap.js +55 -16
  13. package/lib/adapter/tsgitErrorMap.js.map +1 -1
  14. package/lib/constant/metadataConstants.d.ts +9 -1
  15. package/lib/constant/metadataConstants.js +17 -3
  16. package/lib/constant/metadataConstants.js.map +1 -1
  17. package/lib/main.js +66 -63
  18. package/lib/main.js.map +1 -1
  19. package/lib/metadata/MetadataRepositoryImpl.d.ts +14 -2
  20. package/lib/metadata/MetadataRepositoryImpl.js +192 -50
  21. package/lib/metadata/MetadataRepositoryImpl.js.map +1 -1
  22. package/lib/post-processor/includeProcessor.js +8 -9
  23. package/lib/post-processor/includeProcessor.js.map +1 -1
  24. package/lib/service/botHandler.js +1 -1
  25. package/lib/service/botHandler.js.map +1 -1
  26. package/lib/service/inBundleHandler.js +10 -23
  27. package/lib/service/inBundleHandler.js.map +1 -1
  28. package/lib/service/inFolderHandler.js +1 -2
  29. package/lib/service/inFolderHandler.js.map +1 -1
  30. package/lib/service/objectTranslationHandler.d.ts +0 -1
  31. package/lib/service/objectTranslationHandler.js +11 -4
  32. package/lib/service/objectTranslationHandler.js.map +1 -1
  33. package/lib/types/runContext.d.ts +16 -5
  34. package/lib/types/runContext.js +17 -5
  35. package/lib/types/runContext.js.map +1 -1
  36. package/lib/utils/__mocks__/LoggingService.d.ts +2 -7
  37. package/lib/utils/__mocks__/LoggingService.js.map +1 -1
  38. package/lib/utils/changeSet.d.ts +1 -0
  39. package/lib/utils/changeSet.js +26 -1
  40. package/lib/utils/changeSet.js.map +1 -1
  41. package/lib/utils/configValidator.d.ts +14 -1
  42. package/lib/utils/configValidator.js +144 -72
  43. package/lib/utils/configValidator.js.map +1 -1
  44. package/lib/utils/errorUtils.d.ts +8 -0
  45. package/lib/utils/errorUtils.js +14 -0
  46. package/lib/utils/errorUtils.js.map +1 -1
  47. package/lib/utils/messageSanitizer.d.ts +1 -0
  48. package/lib/utils/messageSanitizer.js +46 -0
  49. package/lib/utils/messageSanitizer.js.map +1 -1
  50. package/lib/utils/metadataDiff/xmlEventReader.js +1 -1
  51. package/lib/utils/metadataDiff/xmlEventReader.js.map +1 -1
  52. package/lib/utils/repoGitDiff.d.ts +17 -2
  53. package/lib/utils/repoGitDiff.js +93 -12
  54. package/lib/utils/repoGitDiff.js.map +1 -1
  55. package/lib/utils/treeIndexScope.js +5 -14
  56. package/lib/utils/treeIndexScope.js.map +1 -1
  57. package/lib/utils/treeReaderBuilder.d.ts +8 -0
  58. package/lib/utils/treeReaderBuilder.js +34 -0
  59. package/lib/utils/treeReaderBuilder.js.map +1 -0
  60. package/lib/utils/txmlAdapter.js +1 -1
  61. package/lib/utils/txmlAdapter.js.map +1 -1
  62. package/messages/delta.md +16 -5
  63. package/oclif.manifest.json +1 -1
  64. package/package.json +105 -49
@@ -6,23 +6,41 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  import { parse } from 'node:path/posix';
9
- import { DOT, PATH_SEP } from '../constant/fsConstants.js';
10
- import { CONTENT_CONTAINER_ADAPTERS, CUSTOM_APPLICATION_SUFFIX, CUSTOM_METADATA_SUFFIX, EMAIL_SERVICES_FUNCTION_SUFFIX, METAFILE_SUFFIX, OBJECT_TRANSLATION_TYPE, OBJECT_TYPE, PERMISSIONSET_TYPE, SHARING_RULE_TYPE, SUB_OBJECT_TYPES, WORKFLOW_TYPE, } from '../constant/metadataConstants.js';
9
+ import { DOT, EXTENSION_SUFFIX_REGEX, PATH_SEP, } from '../constant/fsConstants.js';
10
+ import { GIT_DIFF_TYPE_REGEX } from '../constant/gitConstants.js';
11
+ import { CONTENT_CONTAINER_ADAPTERS, CUSTOM_APPLICATION_SUFFIX, CUSTOM_METADATA_SUFFIX, DEFAULT_CONTAINER_DEPTH, DIGITAL_EXPERIENCE_ADAPTER, DIGITAL_EXPERIENCE_BUNDLE_DEPTH, DIGITAL_EXPERIENCE_CONTENT_DEPTH, EMAIL_SERVICES_FUNCTION_SUFFIX, INFOLDER_SUFFIX_REGEX, META_REGEX, METAFILE_SUFFIX, OBJECT_TRANSLATION_TYPE, OBJECT_TYPE, PERMISSIONSET_TYPE, SHARING_RULE_TYPE, SUB_OBJECT_TYPES, VIRTUAL_BOT_TYPE, WORKFLOW_TYPE, } from '../constant/metadataConstants.js';
11
12
  import { log } from '../utils/LoggingDecorator.js';
12
- const PATH_SEP_GLOBAL = new RegExp(PATH_SEP, 'g');
13
+ // Callers hand over a git diff line as readily as a bare path, and the
14
+ // status prefix rides on the first segment — which is exactly where a
15
+ // repository laid out at its own root keeps the type directory — so nothing
16
+ // may compare segments before this has run.
17
+ const asFilePath = (path) => path.replace(GIT_DIFF_TYPE_REGEX, '');
18
+ // Shared by every scoped-name arm that owns a metaFile companion, so the
19
+ // `-meta.xml` strip is a single call site both `containerName` and
20
+ // `folderScopedName` route through.
21
+ const withoutMetaSuffix = (name) => name.replace(META_REGEX, '');
13
22
  export class MetadataRepositoryImpl {
14
23
  metadatas;
15
24
  metadataPerExt;
16
25
  metadataPerDir;
17
26
  metadataPerXmlName;
18
27
  // Memoizes get(path) results across the registry's lifetime. The lookup
19
- // chain (split + extension + directory walk + xmlName) is deterministic
20
- // in `path` and the registry is read-only after construction, so a
21
- // single cache here is safe and frees every consumer (has,
22
- // getFullyQualifiedName, TypeHandlerFactory, computeTreeIndexScope, the
23
- // RepoGitDiff filter chain) from repeating the work. Stores `undefined`
24
- // negatives too — distinguished from "uncached" via .has().
28
+ // chain (split + extension + directory walk) is deterministic in `path`
29
+ // and the registry is read-only after construction, so a single cache
30
+ // here is safe and frees every consumer (has, getFullyQualifiedName,
31
+ // TypeHandlerFactory, computeTreeIndexScope, the RepoGitDiff filter
32
+ // chain) from repeating the work. Stores `undefined` negatives too —
33
+ // distinguished from "uncached" via .has().
25
34
  pathCache = new Map();
35
+ // A suffix declared by more than one type is ambiguous for this registry
36
+ // only. Kept per instance rather than shared across the process, so a
37
+ // registry built from an additional user-supplied file cannot make an
38
+ // extension unsafe for every registry built after it.
39
+ unsafeExtensions = new Set([
40
+ CUSTOM_APPLICATION_SUFFIX,
41
+ EMAIL_SERVICES_FUNCTION_SUFFIX,
42
+ CUSTOM_METADATA_SUFFIX,
43
+ ]);
26
44
  constructor(metadatas) {
27
45
  this.metadatas = metadatas;
28
46
  this.metadataPerExt = new Map();
@@ -35,24 +53,36 @@ export class MetadataRepositoryImpl {
35
53
  });
36
54
  }
37
55
  addSuffix(metadata) {
38
- // Stryker disable next-line ConditionalExpression -- equivalent: suffix presence guard; flipping to true runs the inner Map.has lookup on undefined which returns false, falling into the metadataPerExt.set with undefined key — observable as a stray entry that no test path queries by undefined suffix
39
- if (metadata.suffix) {
40
- if (this.metadataPerExt.has(metadata.suffix)) {
41
- MetadataRepositoryImpl.UNSAFE_EXTENSION.add(metadata.suffix);
42
- }
43
- else {
44
- this.metadataPerExt.set(metadata.suffix, metadata);
45
- }
46
- }
56
+ this.registerSuffix(metadata);
47
57
  this.addSharedFolderSuffix(metadata);
48
58
  }
59
+ // Content clones must register through here, not through addSuffix: a clone
60
+ // keeps the same content[] as its source (see addSharedFolderSuffix below),
61
+ // so routing it back through addSuffix would re-enter addSharedFolderSuffix
62
+ // on that same content[] and recurse forever.
63
+ registerSuffix(metadata) {
64
+ // Stryker disable next-line ConditionalExpression -- equivalent: suffix presence guard; flipping to false lets a suffix-less entry reach the Map.has lookup on undefined, which returns false and falls into metadataPerExt.set under an undefined key — a stray entry no test path queries by undefined suffix (the true flip registers nothing and is killed by the suite)
65
+ if (!metadata.suffix)
66
+ return;
67
+ if (this.metadataPerExt.has(metadata.suffix)) {
68
+ this.unsafeExtensions.add(metadata.suffix);
69
+ return;
70
+ }
71
+ this.metadataPerExt.set(metadata.suffix, metadata);
72
+ }
73
+ // content is kept on the clone (not stripped) because it is what tells the
74
+ // rest of the registry — ownsNestedPaths, via declaresNestedContent — that
75
+ // this suffix's type owns every path nested below the shared directory,
76
+ // not just the file itself. Dropping it here would make a component
77
+ // resolved through its content suffix indistinguishable from a type with no
78
+ // nested content, losing the folder segment that tells same-named
79
+ // components under different folders apart.
49
80
  addSharedFolderSuffix(metadata) {
50
81
  if (!metadata.content)
51
82
  return;
52
- const { content: _content, ...metadataWithoutContent } = metadata;
53
83
  for (const sharedFolderMetadataDef of metadata.content) {
54
- this.addSuffix({
55
- ...metadataWithoutContent,
84
+ this.registerSuffix({
85
+ ...metadata,
56
86
  suffix: sharedFolderMetadataDef.suffix,
57
87
  });
58
88
  }
@@ -73,19 +103,23 @@ export class MetadataRepositoryImpl {
73
103
  return !!this.get(path);
74
104
  }
75
105
  get(path) {
106
+ return this.resolve(asFilePath(path));
107
+ }
108
+ // Split out of get() so the key rule, which already holds the stripped
109
+ // path, resolves it without stripping twice; every other caller goes
110
+ // through get() and its single strip.
111
+ resolve(filePath) {
76
112
  // Stryker disable next-line ConditionalExpression -- equivalent: cache short-circuit; flipping to false re-runs the search chain which is deterministic in path, so the result is identical
77
- if (this.pathCache.has(path))
78
- return this.pathCache.get(path);
79
- const parts = path.split(PATH_SEP);
80
- const result = this.searchByExtension(parts) ??
81
- this.searchByDirectory(parts) ??
82
- this.searchByXmlName(path);
83
- this.pathCache.set(path, result);
113
+ if (this.pathCache.has(filePath))
114
+ return this.pathCache.get(filePath);
115
+ const parts = filePath.split(PATH_SEP);
116
+ const result = this.searchByExtension(parts) ?? this.searchByDirectory(parts);
117
+ this.pathCache.set(filePath, result);
84
118
  return result;
85
119
  }
86
120
  searchByExtension(parts) {
87
121
  const extension = parse(parts[parts.length - 1].replace(METAFILE_SUFFIX, '')).ext.replace(DOT, '');
88
- if (MetadataRepositoryImpl.UNSAFE_EXTENSION.has(extension)) {
122
+ if (this.unsafeExtensions.has(extension)) {
89
123
  return;
90
124
  }
91
125
  return this.metadataPerExt.get(extension);
@@ -113,11 +147,16 @@ export class MetadataRepositoryImpl {
113
147
  // directories.
114
148
  ownsNestedPaths(metadata) {
115
149
  return (metadata.inFolder ||
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
117
- (metadata.adapter !== undefined &&
118
- CONTENT_CONTAINER_ADAPTERS.has(metadata.adapter)) ||
150
+ this.isContentContainer(metadata) ||
119
151
  this.declaresNestedContent(metadata));
120
152
  }
153
+ // Extracted so componentScopedName can pick a container's nesting depth
154
+ // from its adapter without re-deriving what counts as a container.
155
+ isContentContainer(metadata) {
156
+ const adapter = metadata.adapter;
157
+ // 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
158
+ return adapter !== undefined && CONTENT_CONTAINER_ADAPTERS.has(adapter);
159
+ }
121
160
  // A type declares nested content when its `content[]` lists suffix-keyed
122
161
  // sub-types sharing one directory (Wave/Bot/Discovery/Moderation): the
123
162
  // segments below that directory are then user-named content, not metadata
@@ -134,33 +173,122 @@ export class MetadataRepositoryImpl {
134
173
  declaresNestedContent(metadata) {
135
174
  return (metadata.content?.length ?? 0) > 0;
136
175
  }
137
- searchByXmlName(xmlName) {
138
- return this.metadataPerXmlName.get(xmlName);
139
- }
140
176
  getByXmlName(xmlName) {
141
177
  return this.metadataPerXmlName.get(xmlName);
142
178
  }
143
179
  getFullyQualifiedName(path) {
144
- let fullyQualifiedName = parse(path).base;
145
- const type = this.get(path);
146
- if (type && MetadataRepositoryImpl.COMPOSED_TYPES.has(type.xmlName)) {
147
- const parentType = path
148
- .split(PATH_SEP)
149
- .find(part => this.metadataPerDir.has(part));
150
- fullyQualifiedName = path
151
- .slice(path.indexOf(parentType))
152
- .replace(PATH_SEP_GLOBAL, '');
180
+ const filePath = asFilePath(path);
181
+ const type = this.resolve(filePath);
182
+ if (!type)
183
+ return parse(filePath).base;
184
+ if (MetadataRepositoryImpl.HOLDER_SCOPED_COMPOSED_TYPES.has(type.xmlName))
185
+ return this.holderScopedName(filePath, type);
186
+ if (MetadataRepositoryImpl.COMPOSED_TYPES.has(type.xmlName))
187
+ return this.composedTypeName(filePath);
188
+ if (!this.ownsNestedPaths(type))
189
+ return this.plainTypeName(filePath, type);
190
+ return this.componentScopedName(filePath, type);
191
+ }
192
+ // The type directory leads a plain key because a suffix belongs to no
193
+ // single type (`policy`, `settings`, `site`, `rule` are each declared by
194
+ // several) — it is the registry's directory, not the file's own, which is
195
+ // what lets a component moved between package directories key the same.
196
+ // Four live registry entries (AssignmentRule, AutoResponseRule,
197
+ // EscalationRule, ManagedTopic) carry a suffix and no directory: the key
198
+ // must never read `undefined/…`.
199
+ plainTypeName(path, type) {
200
+ const fileName = parse(path).base.replace(META_REGEX, '');
201
+ return type.directoryName ? `${type.directoryName}/${fileName}` : fileName;
202
+ }
203
+ // Anchored segment-wise on the first registry directory in the path: a
204
+ // substring search would also hit an unrelated directory that merely
205
+ // contains that name (`objects_backup/objects/…`) and drag it into the key.
206
+ // With no such segment findIndex answers -1 and slice(-1) keeps only the
207
+ // file name, so the fallback every other arm spells out needs no branch.
208
+ composedTypeName(path) {
209
+ const parts = path.split(PATH_SEP);
210
+ const typeIndex = parts.findIndex(part => this.metadataPerDir.has(part));
211
+ return parts.slice(typeIndex).join('');
212
+ }
213
+ // Depth 1 handles every decomposed spelling a holder can appear under: a
214
+ // single file directly beneath its type directory, or a child file nested
215
+ // several segments down — both collapse to the same one-segment container
216
+ // name, because the holder is one component regardless of how SFDX
217
+ // decomposed it into files.
218
+ holderScopedName(path, type) {
219
+ const parts = path.split(PATH_SEP);
220
+ const typeIndex = parts.lastIndexOf(type.directoryName);
221
+ if (typeIndex === -1)
222
+ return parse(path).base;
223
+ return this.containerName(parts, typeIndex, DEFAULT_CONTAINER_DEPTH);
224
+ }
225
+ // inFolder is checked before the container check because a type can be
226
+ // both inFolder and a content container (Document): adapter-first would
227
+ // truncate every Document to its folder, discarding the varying-extension
228
+ // files that folder owns.
229
+ componentScopedName(path, type) {
230
+ const parts = path.split(PATH_SEP);
231
+ const typeIndex = parts.lastIndexOf(type.directoryName);
232
+ if (typeIndex === -1)
233
+ return parse(path).base;
234
+ if (type.inFolder)
235
+ return this.folderScopedName(parts, typeIndex);
236
+ if (this.isContentContainer(type)) {
237
+ const nestedCount = parts.length - typeIndex - 1;
238
+ const depth = this.containerDepth(type.adapter, nestedCount);
239
+ return this.containerName(parts, typeIndex, depth);
153
240
  }
154
- return fullyQualifiedName;
241
+ return this.nestedContentName(parts, typeIndex, type);
242
+ }
243
+ // The `-meta.xml` companion sits outside the extension
244
+ // (`logo.png-meta.xml`), so it must fall away before the extension strip
245
+ // runs — the reverse order would leave it attached and never removed.
246
+ // The trailing `Folder` strip mirrors the folder handler's own name
247
+ // derivation, so the key cannot disagree with the descriptor for a name
248
+ // that happens to end in Folder.
249
+ folderScopedName(parts, typeIndex) {
250
+ return withoutMetaSuffix(parts.slice(typeIndex).join(PATH_SEP))
251
+ .replace(INFOLDER_SUFFIX_REGEX, '')
252
+ .replace(EXTENSION_SUFFIX_REGEX, '');
253
+ }
254
+ // A flat nested-content directory tells its families apart by extension
255
+ // (`wave/A.wdash` vs `wave/A.wapp`), so the extension is kept and any
256
+ // sub-directory is discarded, matching the descriptor. A
257
+ // FOLDER_SCOPED_TYPES member (VirtualBot) is instead named
258
+ // `<bot>.<version>` and needs every segment from the type directory down.
259
+ nestedContentName(parts, typeIndex, type) {
260
+ const tail = MetadataRepositoryImpl.FOLDER_SCOPED_TYPES.has(type.xmlName)
261
+ ? parts.slice(typeIndex)
262
+ : [parts[typeIndex], parts.at(-1)];
263
+ return tail.join(PATH_SEP).replace(META_REGEX, '');
264
+ }
265
+ // A deeper remainder means the container is named by a directory, and a
266
+ // directory name is the component's whole name — stripping it would
267
+ // corrupt one that merely contains a dot (`lwc/foo.bar/…`). Only when the
268
+ // taken segments consume the whole remainder is the name actually a file,
269
+ // and only then are `-meta.xml` and the extension noise to strip away.
270
+ containerName(parts, typeIndex, depth) {
271
+ const nested = parts.slice(typeIndex + 1);
272
+ const name = [parts[typeIndex], ...nested.slice(0, depth)].join(PATH_SEP);
273
+ return depth >= nested.length
274
+ ? withoutMetaSuffix(name).replace(EXTENSION_SUFFIX_REGEX, '')
275
+ : name;
276
+ }
277
+ // Only digitalExperience varies by depth: a page content file lives
278
+ // DIGITAL_EXPERIENCE_CONTENT_DEPTH segments below the bundle directory,
279
+ // while the bundle itself and any shallower/non-canonical layout share the
280
+ // coarser DIGITAL_EXPERIENCE_BUNDLE_DEPTH. Every other content-container
281
+ // adapter names its component by the single segment below its directory.
282
+ containerDepth(adapter, nestedCount) {
283
+ if (adapter !== DIGITAL_EXPERIENCE_ADAPTER)
284
+ return DEFAULT_CONTAINER_DEPTH;
285
+ return nestedCount > DIGITAL_EXPERIENCE_CONTENT_DEPTH
286
+ ? DIGITAL_EXPERIENCE_CONTENT_DEPTH
287
+ : DIGITAL_EXPERIENCE_BUNDLE_DEPTH;
155
288
  }
156
289
  values() {
157
290
  return this.metadatas;
158
291
  }
159
- static UNSAFE_EXTENSION = new Set([
160
- CUSTOM_APPLICATION_SUFFIX,
161
- EMAIL_SERVICES_FUNCTION_SUFFIX,
162
- CUSTOM_METADATA_SUFFIX,
163
- ]);
164
292
  static COMPOSED_TYPES = new Set([
165
293
  OBJECT_TYPE,
166
294
  OBJECT_TRANSLATION_TYPE,
@@ -169,6 +297,20 @@ export class MetadataRepositoryImpl {
169
297
  SHARING_RULE_TYPE,
170
298
  ...SUB_OBJECT_TYPES,
171
299
  ]);
300
+ // A subset of COMPOSED_TYPES: PermissionSet and CustomObjectTranslation
301
+ // decompose into per-file children like every other composed type, but
302
+ // (unlike CustomObject/Workflow/SharingRules) their children are not
303
+ // distinct components — every file under one holder is the same
304
+ // PermissionSet or CustomObjectTranslation, so they key on the holder
305
+ // instead of the decomposed path.
306
+ static HOLDER_SCOPED_COMPOSED_TYPES = new Set([
307
+ PERMISSIONSET_TYPE,
308
+ OBJECT_TRANSLATION_TYPE,
309
+ ]);
310
+ // Nested-content families sharing one flat directory are told apart by
311
+ // extension, except VirtualBot: a BotVersion member is `<bot>.<version>`,
312
+ // so its key must keep the bot folder that the extension alone would lose.
313
+ static FOLDER_SCOPED_TYPES = new Set([VIRTUAL_BOT_TYPE]);
172
314
  }
173
315
  __decorate([
174
316
  log
@@ -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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"}
@@ -10,6 +10,7 @@ import { TAB } from '../constant/cliConstants.js';
10
10
  import { ADDITION, DELETION } from '../constant/gitConstants.js';
11
11
  import DiffLineInterpreter from '../service/diffLineInterpreter.js';
12
12
  import { emptyResult, mergeResults } from '../types/handlerResult.js';
13
+ import { withMaskedTreeRevision } from '../types/runContext.js';
13
14
  import { buildIncludeHelper } from '../utils/ignoreHelper.js';
14
15
  import { log } from '../utils/LoggingDecorator.js';
15
16
  import BaseProcessor, { emptyOutcome, } from './baseProcessor.js';
@@ -61,20 +62,18 @@ export default class IncludeProcessor extends BaseProcessor {
61
62
  return emptyResult();
62
63
  }
63
64
  const firstSHA = await this.gitAdapter.getFirstCommitRef();
64
- const lineProcessor = new DiffLineInterpreter(this.ctx);
65
65
  const results = [];
66
66
  if (includeLines.has(ADDITION)) {
67
- const result = await lineProcessor.process(includeLines.get(ADDITION), {
68
- from: firstSHA,
69
- to: this.config.to,
70
- });
67
+ const additionProcessor = new DiffLineInterpreter(this.ctx);
68
+ const result = await additionProcessor.process(includeLines.get(ADDITION), { from: firstSHA, to: this.config.to });
71
69
  results.push(result);
72
70
  }
73
71
  if (includeLines.has(DELETION)) {
74
- const result = await lineProcessor.process(includeLines.get(DELETION), {
75
- from: this.config.to,
76
- to: firstSHA,
77
- });
72
+ // The pass's effective `to` becomes firstSHA: mask it so a container's
73
+ // liveness answers false by construction, not by firstSHA happening to
74
+ // be unindexed (see withMaskedTreeRevision).
75
+ const deletionProcessor = new DiffLineInterpreter(withMaskedTreeRevision(this.ctx, firstSHA));
76
+ const result = await deletionProcessor.process(includeLines.get(DELETION), { from: this.config.to, to: firstSHA });
78
77
  results.push(result);
79
78
  }
80
79
  return mergeResults(...results);
@@ -1 +1 @@
1
- {"version":3,"file":"includeProcessor.js","sourceRoot":"","sources":["../../src/post-processor/includeProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"includeProcessor.js","sourceRoot":"","sources":["../../src/post-processor/includeProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
  import { parse } from 'node:path/posix';
3
3
  import { DOT, PATH_SEP } from '../constant/fsConstants.js';
4
+ import { BOT_TYPE } from '../constant/metadataConstants.js';
4
5
  import { ManifestTarget } from '../types/handlerResult.js';
5
6
  import ShareFolderHandler from './sharedFolderHandler.js';
6
- const BOT_TYPE = 'Bot';
7
7
  const BOT_EXTENSION = 'bot';
8
8
  export default class BotHandler extends ShareFolderHandler {
9
9
  _getElementName() {
@@ -1 +1 @@
1
- {"version":3,"file":"botHandler.js","sourceRoot":"","sources":["../../src/service/botHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAA;AAEzD,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,kBAAkB;IACrC,eAAe;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAY,CAAA;QACzE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,GACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC/B,GAAG,QAAQ,GAAG,OAAO,IAAI,aAAa,EAAE,CAAA;QACxC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9C,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB;oBACE,MAAM,EAAE,cAAc,CAAC,OAAO;oBAC9B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;iBAClC;aACF;YACD,MAAM;SACP,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"botHandler.js","sourceRoot":"","sources":["../../src/service/botHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAA;AAEzD,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,kBAAkB;IACrC,eAAe;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAY,CAAA;QACzE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,GACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC/B,GAAG,QAAQ,GAAG,OAAO,IAAI,aAAa,EAAE,CAAA;QACxC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9C,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB;oBACE,MAAM,EAAE,cAAc,CAAC,OAAO;oBAC9B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;iBAClC;aACF;YACD,MAAM;SACP,CAAA;IACH,CAAC;CACF"}
@@ -1,31 +1,18 @@
1
1
  'use strict';
2
2
  import { join } from 'node:path/posix';
3
3
  import { DOT, PATH_SEP } from '../constant/fsConstants.js';
4
- import { DIGITAL_EXPERIENCE_TYPE, META_REGEX, } from '../constant/metadataConstants.js';
4
+ import { DIGITAL_EXPERIENCE_BUNDLE_DEPTH, DIGITAL_EXPERIENCE_CONTENT_DEPTH, DIGITAL_EXPERIENCE_TYPE, META_REGEX, } from '../constant/metadataConstants.js';
5
5
  import InResourceHandler from './inResourceHandler.js';
6
- const suffixRegexCache = new Map();
7
- // SDR canonical Digital Experience layout after the `digitalExperiences`
8
- // directory is `<baseType>/<spaceApiName>/<contentType>/<contentApiName>/<file>`:
9
- // a page content file always lives strictly inside that four-segment content
10
- // folder, so `pathAfterType.length > 4` is the structural signature of a
11
- // page-level change. Shorter paths target the bundle itself (its
12
- // `*.digitalExperience-meta.xml`) or a non-canonical layout, and keep the
13
- // coarse `DigitalExperienceBundle` behaviour.
14
- const CONTENT_FOLDER_DEPTH = 4;
15
6
  export default class BundleHandler extends InResourceHandler {
16
7
  _getElementName() {
17
- const suffix = this.element.type.suffix;
18
- let suffixRegex = suffixRegexCache.get(suffix);
19
- // Stryker disable next-line ConditionalExpression,BlockStatement -- equivalent: cache short-circuit; flipping to true rebuilds the regex on every call, but the cache+rebuild produce the same RegExp instance shape and the downstream replace operates identically
20
- if (!suffixRegex) {
21
- suffixRegex = new RegExp(`\\.${suffix}$`);
22
- suffixRegexCache.set(suffix, suffixRegex);
23
- }
24
- return this.element.pathAfterType
25
- .slice(0, 2)
8
+ const name = this.element.pathAfterType
9
+ .slice(0, DIGITAL_EXPERIENCE_BUNDLE_DEPTH)
26
10
  .join(PATH_SEP)
27
- .replace(META_REGEX, '')
28
- .replace(suffixRegex, '');
11
+ .replace(META_REGEX, '');
12
+ const suffixExtension = `${DOT}${this.element.type.suffix}`;
13
+ return name.endsWith(suffixExtension)
14
+ ? name.slice(0, -suffixExtension.length)
15
+ : name;
29
16
  }
30
17
  // A page content change deploys as the fine-grained `DigitalExperience` child
31
18
  // type (`<baseType>/<spaceApiName>.<contentType>/<contentApiName>`); a change
@@ -67,8 +54,8 @@ export default class BundleHandler extends InResourceHandler {
67
54
  // page content file, or `null` when it targets the bundle itself.
68
55
  _pageContentSegments() {
69
56
  const segments = this.element.pathAfterType;
70
- return segments.length > CONTENT_FOLDER_DEPTH
71
- ? segments.slice(0, CONTENT_FOLDER_DEPTH)
57
+ return segments.length > DIGITAL_EXPERIENCE_CONTENT_DEPTH
58
+ ? segments.slice(0, DIGITAL_EXPERIENCE_CONTENT_DEPTH)
72
59
  : null;
73
60
  }
74
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inBundleHandler.js","sourceRoot":"","sources":["../../src/service/inBundleHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,uBAAuB,EACvB,UAAU,GACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,iBAAiB,MAAM,wBAAwB,CAAA;AAEtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;AAElD,yEAAyE;AACzE,kFAAkF;AAClF,6EAA6E;AAC7E,yEAAyE;AACzE,iEAAiE;AACjE,0EAA0E;AAC1E,8CAA8C;AAC9C,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,iBAAiB;IACvC,eAAe;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,CAAA;QACxC,IAAI,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC9C,qQAAqQ;QACrQ,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAA;YACzC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa;aAC9B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,IAAI,CAAC,QAAQ,CAAC;aACd,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7D,oBAAoB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,oBAAoB,EAAE,CAAA;QACrC,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAA;QACtE,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,GAAG,GAAG,WAAW,GAAG,QAAQ,GAAG,cAAc,EAAE;SAChG,CAAA;IACH,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,yEAAyE;IACzE,6BAA6B;IACV,gBAAgB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,gBAAgB,EAAE,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,QAAQ,CAAC,CAAA;IAC1D,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,kCAAkC;IACf,mBAAmB;QACpC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAA;IACpC,CAAC;IAED,6CAA6C;IAC7C,+EAA+E;IAC/E,kEAAkE;IAC1D,oBAAoB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QAC3C,OAAO,QAAQ,CAAC,MAAM,GAAG,oBAAoB;YAC3C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;CACF"}
1
+ {"version":3,"file":"inBundleHandler.js","sourceRoot":"","sources":["../../src/service/inBundleHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,uBAAuB,EACvB,UAAU,GACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,iBAAiB,MAAM,wBAAwB,CAAA;AAEtD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,iBAAiB;IACvC,eAAe;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;aACpC,KAAK,CAAC,CAAC,EAAE,+BAA+B,CAAC;aACzC,IAAI,CAAC,QAAQ,CAAC;aACd,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC1B,MAAM,eAAe,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,EAAE,CAAA;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7D,oBAAoB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,oBAAoB,EAAE,CAAA;QACrC,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAA;QACtE,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,GAAG,GAAG,WAAW,GAAG,QAAQ,GAAG,cAAc,EAAE;SAChG,CAAA;IACH,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,yEAAyE;IACzE,6BAA6B;IACV,gBAAgB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,gBAAgB,EAAE,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,QAAQ,CAAC,CAAA;IAC1D,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,kCAAkC;IACf,mBAAmB;QACpC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAA;IACpC,CAAC;IAED,6CAA6C;IAC7C,+EAA+E;IAC/E,kEAAkE;IAC1D,oBAAoB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QAC3C,OAAO,QAAQ,CAAC,MAAM,GAAG,gCAAgC;YACvD,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,gCAAgC,CAAC;YACrD,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;CACF"}
@@ -1,10 +1,9 @@
1
1
  'use strict';
2
2
  import { join, parse } from 'node:path/posix';
3
3
  import { EXTENSION_SUFFIX_REGEX, PATH_SEP } from '../constant/fsConstants.js';
4
- import { INFOLDER_SUFFIX, META_REGEX, METAFILE_SUFFIX, } from '../constant/metadataConstants.js';
4
+ import { INFOLDER_SUFFIX, INFOLDER_SUFFIX_REGEX, META_REGEX, METAFILE_SUFFIX, } from '../constant/metadataConstants.js';
5
5
  import { readDirs } from '../utils/fsHelper.js';
6
6
  import StandardHandler from './standardHandler.js';
7
- const INFOLDER_SUFFIX_REGEX = new RegExp(`${INFOLDER_SUFFIX}$`);
8
7
  export default class InFolderHandler extends StandardHandler {
9
8
  async collectAddition() {
10
9
  const result = await super.collectAddition();
@@ -1 +1 @@
1
- {"version":3,"file":"inFolderHandler.js","sourceRoot":"","sources":["../../src/service/inFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,GAChB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,GAAG,eAAe,GAAG,CAAC,CAAA;AAC/D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,eAAe;IAC1C,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAA;QACjD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAES,wBAAwB,CAAC,MAAuB;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAEhD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,WAAW,EAAE,EAAE,CAAA;QAEjD,MAAM,cAAc,GAAG,GAAG,UAAU,GAAG,MAAM,GAAG,eAAe,EAAE,CAAA;QACjE,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IACzE,CAAC;IAES,KAAK,CAAC,8BAA8B,CAC5C,MAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAEkB,eAAe;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa;aAC9B,IAAI,CAAC,QAAQ,CAAC;aACd,OAAO,CACN,UAAU;QACV,kNAAkN;QAClN,EAAE,CACH;aACA,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;aAClC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;IAEkB,cAAc;QAC/B,OAAO,CACL,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,yBAAyB,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAClD,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"inFolderHandler.js","sourceRoot":"","sources":["../../src/service/inFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,eAAe,GAChB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,eAAe;IAC1C,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAA;QACjD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAES,wBAAwB,CAAC,MAAuB;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAEhD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,WAAW,EAAE,EAAE,CAAA;QAEjD,MAAM,cAAc,GAAG,GAAG,UAAU,GAAG,MAAM,GAAG,eAAe,EAAE,CAAA;QACjE,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IACzE,CAAC;IAES,KAAK,CAAC,8BAA8B,CAC5C,MAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAEkB,eAAe;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa;aAC9B,IAAI,CAAC,QAAQ,CAAC;aACd,OAAO,CACN,UAAU;QACV,kNAAkN;QAClN,EAAE,CACH;aACA,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;aAClC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;IAEkB,cAAc;QAC/B,OAAO,CACL,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,yBAAyB,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAClD,CAAA;IACH,CAAC;CACF"}
@@ -6,5 +6,4 @@ export default class ObjectTranslationHandler extends ResourceHandler {
6
6
  protected _getObjectTranslationPath(): string;
7
7
  protected _delegateFileCopy(): boolean;
8
8
  protected _shouldCopyMetaFile(): boolean;
9
- protected _getElementName(): string;
10
9
  }
@@ -35,8 +35,18 @@ export default class ObjectTranslationHandler extends ResourceHandler {
35
35
  const outcome = await metadataDiff.run(path);
36
36
  return outcome.writer;
37
37
  }
38
+ // The parent objectTranslation file always sits in the changed file's own
39
+ // directory, named after the component. Deriving it from the component name
40
+ // rather than from a fixed path position covers both layouts SDR resolves to
41
+ // the same component: the sub-folder form
42
+ // (objectTranslations/Account-es/Account-es.objectTranslation-meta.xml, which
43
+ // also hosts the sibling fieldTranslation files) and the flat form
44
+ // (objectTranslations/Account-es.objectTranslation-meta.xml). A positional
45
+ // `parts.at(-2)` reads the type directory itself in the flat form, yielding
46
+ // objectTranslations/objectTranslations.objectTranslation-meta.xml — a path
47
+ // that matches nothing, so the file silently never reaches the package.
38
48
  _getObjectTranslationPath() {
39
- return `${parse(this.element.basePath).dir}${PATH_SEP}${this.element.parts[this.element.parts.length - 2]}.${OBJECT_TRANSLATION_META_XML_SUFFIX}`;
49
+ return `${parse(this.element.basePath).dir}${PATH_SEP}${this._getElementName()}.${OBJECT_TRANSLATION_META_XML_SUFFIX}`;
40
50
  }
41
51
  _delegateFileCopy() {
42
52
  return !this.element.fullPath.endsWith(OBJECT_TRANSLATION_META_XML_SUFFIX);
@@ -48,8 +58,5 @@ export default class ObjectTranslationHandler extends ResourceHandler {
48
58
  _shouldCopyMetaFile() {
49
59
  return false;
50
60
  }
51
- _getElementName() {
52
- return this.element.pathAfterType[0];
53
- }
54
61
  }
55
62
  //# sourceMappingURL=objectTranslationHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectTranslationHandler.js","sourceRoot":"","sources":["../../src/service/objectTranslationHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAA;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,YAAY,MAAM,gCAAgC,CAAA;AACzD,OAAO,eAAe,MAAM,wBAAwB,CAAA;AACpD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,eAAe;IACnD,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAO,MAAM,CAAA;QAE/C,mFAAmF;QACnF,uFAAuF;QACvF,mGAAmG;QACnG,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAA;QAC5E,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,iBAAiB,CAAC,eAAe;gBACvC,IAAI,EAAE,qBAAqB;gBAC3B,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAES,KAAK,CAAC,2BAA2B,CAAC,IAAY;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;QACzD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAClE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAA;IACvB,CAAC;IAES,yBAAyB;QACjC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,QAAQ,GACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAClD,IAAI,kCAAkC,EAAE,CAAA;IAC1C,CAAC;IAEkB,iBAAiB;QAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAA;IAC5E,CAAC;IAED,wEAAwE;IACxE,+EAA+E;IAC/E,6EAA6E;IAC7E,6DAA6D;IAC1C,mBAAmB;QACpC,OAAO,KAAK,CAAA;IACd,CAAC;IAEkB,eAAe;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"objectTranslationHandler.js","sourceRoot":"","sources":["../../src/service/objectTranslationHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAA;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,YAAY,MAAM,gCAAgC,CAAA;AACzD,OAAO,eAAe,MAAM,wBAAwB,CAAA;AACpD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,eAAe;IACnD,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAO,MAAM,CAAA;QAE/C,mFAAmF;QACnF,uFAAuF;QACvF,mGAAmG;QACnG,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAA;QAC5E,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,iBAAiB,CAAC,eAAe;gBACvC,IAAI,EAAE,qBAAqB;gBAC3B,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAES,KAAK,CAAC,2BAA2B,CAAC,IAAY;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;QACzD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAClE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAA;IACvB,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,0CAA0C;IAC1C,8EAA8E;IAC9E,mEAAmE;IACnE,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IAC9D,yBAAyB;QACjC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,kCAAkC,EAAE,CAAA;IACxH,CAAC;IAEkB,iBAAiB;QAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAA;IAC5E,CAAC;IAED,wEAAwE;IACxE,+EAA+E;IAC/E,6EAA6E;IAC7E,6DAA6D;IAC1C,mBAAmB;QACpC,OAAO,KAAK,CAAA;IACd,CAAC;CAOF"}
@@ -9,13 +9,24 @@ export type RunContext = Readonly<{
9
9
  /**
10
10
  * The single derive point for a pass that runs under overridden revisions
11
11
  * (IncludeProcessor's ADDITION / DELETION re-entry). `trees` is deliberately
12
- * carried through UNCHANGED: the reader stays keyed by whatever revision each
13
- * read names, so a pass whose effective `config.to` is a revision no index was
14
- * built for still reads empty. That degrade is load-bearing on the include
15
- * DELETION pathrebinding `trees` here silently reclassifies deletions as
16
- * additions.
12
+ * carried through UNCHANGED: this function only ever rebinds `config.from`/
13
+ * `config.to`, so a reader that already holds an index for the overridden
14
+ * revision keeps answering from it. The include DELETION pass needs the
15
+ * opposite of that its liveness check must answer `false` regardless of
16
+ * what the reader holds for the pass's effective `config.to` — and gets that
17
+ * explicitly via `withMaskedTreeRevision` below, rather than by relying on
18
+ * this function to leave the revision unindexed.
17
19
  */
18
20
  export declare const withRevisions: (ctx: RunContext, revisions?: {
19
21
  from: string;
20
22
  to: string;
21
23
  }) => RunContext;
24
+ /**
25
+ * Sibling to `withRevisions`: masks one named revision out of `trees` so
26
+ * every tree-index-backed read at that revision answers as an unbuilt index
27
+ * would (`false`/`[]`), no matter what the underlying reader actually holds
28
+ * for it. Used to make the include DELETION pass's container-liveness check
29
+ * degrade unconditionally, instead of depending on the first commit
30
+ * happening to be unindexed.
31
+ */
32
+ export declare const withMaskedTreeRevision: (ctx: RunContext, revision: string) => RunContext;