@salesforce/source-deploy-retrieve 5.0.0-orb.2 → 5.0.2

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 (160) hide show
  1. package/CHANGELOG.md +186 -101
  2. package/LICENSE.txt +12 -0
  3. package/README.md +2 -2
  4. package/lib/src/client/deployStrategies/auraDeploy.d.ts +2 -2
  5. package/lib/src/client/deployStrategies/auraDeploy.js +99 -109
  6. package/lib/src/client/deployStrategies/auraDeploy.js.map +1 -1
  7. package/lib/src/client/deployStrategies/baseDeploy.d.ts +1 -1
  8. package/lib/src/client/deployStrategies/baseDeploy.js +37 -38
  9. package/lib/src/client/deployStrategies/baseDeploy.js.map +1 -1
  10. package/lib/src/client/deployStrategies/containerDeploy.d.ts +2 -2
  11. package/lib/src/client/deployStrategies/containerDeploy.js +58 -73
  12. package/lib/src/client/deployStrategies/containerDeploy.js.map +1 -1
  13. package/lib/src/client/deployStrategies/index.js +4 -3
  14. package/lib/src/client/deployStrategies/index.js.map +1 -1
  15. package/lib/src/client/deployStrategies/lwcDeploy.d.ts +2 -2
  16. package/lib/src/client/deployStrategies/lwcDeploy.js +98 -109
  17. package/lib/src/client/deployStrategies/lwcDeploy.js.map +1 -1
  18. package/lib/src/client/diagnosticUtil.d.ts +1 -1
  19. package/lib/src/client/diagnosticUtil.js +11 -11
  20. package/lib/src/client/diagnosticUtil.js.map +1 -1
  21. package/lib/src/client/index.d.ts +1 -1
  22. package/lib/src/client/index.js +1 -1
  23. package/lib/src/client/index.js.map +1 -1
  24. package/lib/src/client/metadataApiDeploy.d.ts +4 -4
  25. package/lib/src/client/metadataApiDeploy.js +57 -73
  26. package/lib/src/client/metadataApiDeploy.js.map +1 -1
  27. package/lib/src/client/metadataApiRetrieve.d.ts +10 -3
  28. package/lib/src/client/metadataApiRetrieve.js +102 -111
  29. package/lib/src/client/metadataApiRetrieve.js.map +1 -1
  30. package/lib/src/client/metadataTransfer.d.ts +2 -2
  31. package/lib/src/client/metadataTransfer.js +102 -118
  32. package/lib/src/client/metadataTransfer.js.map +1 -1
  33. package/lib/src/client/retrieveUtil.d.ts +1 -1
  34. package/lib/src/client/retrieveUtil.js +17 -17
  35. package/lib/src/client/retrieveUtil.js.map +1 -1
  36. package/lib/src/client/toolingApi.d.ts +2 -2
  37. package/lib/src/client/toolingApi.js +71 -94
  38. package/lib/src/client/toolingApi.js.map +1 -1
  39. package/lib/src/client/types.js +1 -14
  40. package/lib/src/client/types.js.map +1 -1
  41. package/lib/src/collections/componentSet.d.ts +16 -10
  42. package/lib/src/collections/componentSet.js +160 -114
  43. package/lib/src/collections/componentSet.js.map +1 -1
  44. package/lib/src/collections/index.js +1 -0
  45. package/lib/src/collections/index.js.map +1 -1
  46. package/lib/src/collections/lazyCollection.js +5 -1
  47. package/lib/src/collections/lazyCollection.js.map +1 -1
  48. package/lib/src/collections/types.d.ts +8 -0
  49. package/lib/src/common/constants.js +1 -1
  50. package/lib/src/common/constants.js.map +1 -1
  51. package/lib/src/common/index.d.ts +1 -1
  52. package/lib/src/common/index.js +1 -0
  53. package/lib/src/common/index.js.map +1 -1
  54. package/lib/src/convert/convertContext.d.ts +9 -10
  55. package/lib/src/convert/convertContext.js +165 -173
  56. package/lib/src/convert/convertContext.js.map +1 -1
  57. package/lib/src/convert/index.js +1 -0
  58. package/lib/src/convert/index.js.map +1 -1
  59. package/lib/src/convert/metadataConverter.d.ts +3 -18
  60. package/lib/src/convert/metadataConverter.js +112 -110
  61. package/lib/src/convert/metadataConverter.js.map +1 -1
  62. package/lib/src/convert/streams.d.ts +4 -4
  63. package/lib/src/convert/streams.js +111 -147
  64. package/lib/src/convert/streams.js.map +1 -1
  65. package/lib/src/convert/transformers/baseMetadataTransformer.js.map +1 -1
  66. package/lib/src/convert/transformers/decomposedMetadataTransformer.d.ts +2 -2
  67. package/lib/src/convert/transformers/decomposedMetadataTransformer.js +124 -149
  68. package/lib/src/convert/transformers/decomposedMetadataTransformer.js.map +1 -1
  69. package/lib/src/convert/transformers/defaultMetadataTransformer.d.ts +1 -1
  70. package/lib/src/convert/transformers/defaultMetadataTransformer.js +11 -23
  71. package/lib/src/convert/transformers/defaultMetadataTransformer.js.map +1 -1
  72. package/lib/src/convert/transformers/index.js +1 -0
  73. package/lib/src/convert/transformers/index.js.map +1 -1
  74. package/lib/src/convert/transformers/metadataTransformerFactory.js +1 -1
  75. package/lib/src/convert/transformers/metadataTransformerFactory.js.map +1 -1
  76. package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.d.ts +1 -1
  77. package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.js +18 -29
  78. package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.js.map +1 -1
  79. package/lib/src/convert/transformers/staticResourceMetadataTransformer.d.ts +1 -1
  80. package/lib/src/convert/transformers/staticResourceMetadataTransformer.js +78 -135
  81. package/lib/src/convert/transformers/staticResourceMetadataTransformer.js.map +1 -1
  82. package/lib/src/convert/types.d.ts +1 -1
  83. package/lib/src/errors/index.js.map +1 -1
  84. package/lib/src/i18n/i18n.js +3 -2
  85. package/lib/src/i18n/i18n.js.map +1 -1
  86. package/lib/src/i18n/index.js +3 -4
  87. package/lib/src/i18n/index.js.map +1 -1
  88. package/lib/src/i18n/localization.js +4 -4
  89. package/lib/src/i18n/localization.js.map +1 -1
  90. package/lib/src/index.js +1 -4
  91. package/lib/src/index.js.map +1 -1
  92. package/lib/src/registry/index.js +1 -4
  93. package/lib/src/registry/index.js.map +1 -1
  94. package/lib/src/registry/{registry.json → metadataRegistry.json} +376 -20
  95. package/lib/src/registry/nonSupportedTypes.d.ts +11 -0
  96. package/lib/src/registry/nonSupportedTypes.js +53 -0
  97. package/lib/src/registry/nonSupportedTypes.js.map +1 -0
  98. package/lib/src/registry/registry.d.ts +357 -1
  99. package/lib/src/registry/registry.js +2 -2
  100. package/lib/src/registry/registry.js.map +1 -1
  101. package/lib/src/registry/registryAccess.d.ts +12 -0
  102. package/lib/src/registry/registryAccess.js +25 -2
  103. package/lib/src/registry/registryAccess.js.map +1 -1
  104. package/lib/src/registry/types.d.ts +47 -0
  105. package/lib/src/registry/types.js +0 -35
  106. package/lib/src/registry/types.js.map +1 -1
  107. package/lib/src/resolve/adapters/baseSourceAdapter.d.ts +3 -2
  108. package/lib/src/resolve/adapters/baseSourceAdapter.js +55 -19
  109. package/lib/src/resolve/adapters/baseSourceAdapter.js.map +1 -1
  110. package/lib/src/resolve/adapters/bundleSourceAdapter.d.ts +1 -1
  111. package/lib/src/resolve/adapters/bundleSourceAdapter.js +0 -6
  112. package/lib/src/resolve/adapters/bundleSourceAdapter.js.map +1 -1
  113. package/lib/src/resolve/adapters/decomposedSourceAdapter.d.ts +1 -1
  114. package/lib/src/resolve/adapters/decomposedSourceAdapter.js +8 -14
  115. package/lib/src/resolve/adapters/decomposedSourceAdapter.js.map +1 -1
  116. package/lib/src/resolve/adapters/defaultSourceAdapter.d.ts +1 -1
  117. package/lib/src/resolve/adapters/defaultSourceAdapter.js +0 -6
  118. package/lib/src/resolve/adapters/defaultSourceAdapter.js.map +1 -1
  119. package/lib/src/resolve/adapters/index.js +1 -0
  120. package/lib/src/resolve/adapters/index.js.map +1 -1
  121. package/lib/src/resolve/adapters/matchingContentSourceAdapter.d.ts +1 -1
  122. package/lib/src/resolve/adapters/matchingContentSourceAdapter.js +2 -2
  123. package/lib/src/resolve/adapters/matchingContentSourceAdapter.js.map +1 -1
  124. package/lib/src/resolve/adapters/mixedContentSourceAdapter.d.ts +1 -1
  125. package/lib/src/resolve/adapters/mixedContentSourceAdapter.js +6 -6
  126. package/lib/src/resolve/adapters/mixedContentSourceAdapter.js.map +1 -1
  127. package/lib/src/resolve/adapters/sourceAdapterFactory.js +2 -2
  128. package/lib/src/resolve/adapters/sourceAdapterFactory.js.map +1 -1
  129. package/lib/src/resolve/forceIgnore.d.ts +0 -5
  130. package/lib/src/resolve/forceIgnore.js +14 -100
  131. package/lib/src/resolve/forceIgnore.js.map +1 -1
  132. package/lib/src/resolve/index.d.ts +1 -1
  133. package/lib/src/resolve/index.js +1 -0
  134. package/lib/src/resolve/index.js.map +1 -1
  135. package/lib/src/resolve/manifestResolver.d.ts +1 -0
  136. package/lib/src/resolve/manifestResolver.js +42 -31
  137. package/lib/src/resolve/manifestResolver.js.map +1 -1
  138. package/lib/src/resolve/metadataResolver.d.ts +12 -7
  139. package/lib/src/resolve/metadataResolver.js +39 -19
  140. package/lib/src/resolve/metadataResolver.js.map +1 -1
  141. package/lib/src/resolve/sourceComponent.d.ts +46 -7
  142. package/lib/src/resolve/sourceComponent.js +126 -65
  143. package/lib/src/resolve/sourceComponent.js.map +1 -1
  144. package/lib/src/resolve/treeContainers.d.ts +1 -1
  145. package/lib/src/resolve/treeContainers.js +21 -32
  146. package/lib/src/resolve/treeContainers.js.map +1 -1
  147. package/lib/src/resolve/types.d.ts +2 -2
  148. package/lib/src/utils/collections.js +1 -1
  149. package/lib/src/utils/collections.js.map +1 -1
  150. package/lib/src/utils/fileSystemHandler.js +1 -1
  151. package/lib/src/utils/fileSystemHandler.js.map +1 -1
  152. package/lib/src/utils/index.d.ts +1 -1
  153. package/lib/src/utils/index.js +2 -0
  154. package/lib/src/utils/index.js.map +1 -1
  155. package/lib/src/utils/metadata.js +1 -3
  156. package/lib/src/utils/metadata.js.map +1 -1
  157. package/lib/src/utils/path.d.ts +26 -1
  158. package/lib/src/utils/path.js +40 -5
  159. package/lib/src/utils/path.js.map +1 -1
  160. package/package.json +44 -35
@@ -1 +1 @@
1
- {"version":3,"file":"mixedContentSourceAdapter.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/mixedContentSourceAdapter.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,2DAAwD;AACxD,+BAA8C;AAC9C,yCAAwD;AACxD,2CAA4C;AAE5C,wDAAqD;AAErD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,yBAA0B,SAAQ,qCAAiB;IACpD,sBAAsB,CAAC,OAAmB;QAClD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;SAC9E;QACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAES,QAAQ,CAAC,OAAmB,EAAE,SAA2B;QACjE,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,WAAW,MAAK,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA,EAAE;YAClC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAQ,CAAC,WAAW,CAAC,EAAE,cAAO,CAAC,WAAW,CAAC,CAAC,CAAC;SACtF;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YAClC,MAAM,IAAI,iCAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACxD;QAED,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC;SACjC;aAAM;YACL,SAAS,GAAG,IAAI,iCAAe,CAC7B;gBACE,IAAI,EAAE,eAAQ,CAAC,WAAW,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,WAAW;aACrB,EACD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,CACjB,CAAC;SACH;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACO,iBAAiB,CAAC,IAAgB;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC;QAClC,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,UAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACK,uBAAuB,CAAC,IAAgB;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,cAAO,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,eAAQ,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC3E,CAAC;CACF;AAhED,8DAgEC"}
1
+ {"version":3,"file":"mixedContentSourceAdapter.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/mixedContentSourceAdapter.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+BAA8C;AAC9C,yCAAwD;AACxD,2CAA4C;AAE5C,wDAAqD;AACrD,2DAAwD;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,yBAA0B,SAAQ,qCAAiB;IACpD,sBAAsB,CAAC,OAAmB;QAClD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAA,eAAQ,EAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;SAC9E;QACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAES,QAAQ,CAAC,OAAmB,EAAE,SAA2B;QACjE,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,WAAW,MAAK,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA,EAAE;YAClC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAA,eAAQ,EAAC,WAAW,CAAC,EAAE,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC;SACtF;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YAClC,MAAM,IAAI,iCAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACxD;QAED,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC;SACjC;aAAM;YACL,SAAS,GAAG,IAAI,iCAAe,CAC7B;gBACE,IAAI,EAAE,IAAA,eAAQ,EAAC,WAAW,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,WAAW;aACrB,EACD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,CACjB,CAAC;SACH;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACO,iBAAiB,CAAC,IAAgB;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC;QAClC,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,UAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACK,uBAAuB,CAAC,IAAgB;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,IAAA,cAAO,EAAC,eAAe,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,IAAA,eAAQ,EAAC,eAAe,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC3E,CAAC;CACF;AAhED,8DAgEC"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SourceAdapterFactory = void 0;
4
+ const errors_1 = require("../../errors");
5
+ const forceIgnore_1 = require("../forceIgnore");
4
6
  const bundleSourceAdapter_1 = require("./bundleSourceAdapter");
5
7
  const decomposedSourceAdapter_1 = require("./decomposedSourceAdapter");
6
8
  const matchingContentSourceAdapter_1 = require("./matchingContentSourceAdapter");
7
9
  const mixedContentSourceAdapter_1 = require("./mixedContentSourceAdapter");
8
10
  const defaultSourceAdapter_1 = require("./defaultSourceAdapter");
9
- const errors_1 = require("../../errors");
10
- const forceIgnore_1 = require("../forceIgnore");
11
11
  var AdapterId;
12
12
  (function (AdapterId) {
13
13
  AdapterId["Bundle"] = "bundle";
@@ -1 +1 @@
1
- {"version":3,"file":"sourceAdapterFactory.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/sourceAdapterFactory.ts"],"names":[],"mappings":";;;AAOA,+DAA4D;AAC5D,uEAAoE;AACpE,iFAA8E;AAC9E,2EAAwE;AACxE,iEAA8D;AAC9D,yCAA6C;AAC7C,gDAA6C;AAI7C,IAAK,SAMJ;AAND,WAAK,SAAS;IACZ,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,gCAAmB,CAAA;IACnB,wDAA2C,CAAA;IAC3C,0CAA6B,CAAA;AAC/B,CAAC,EANI,SAAS,KAAT,SAAS,QAMb;AAED,MAAa,oBAAoB;IAI/B,YAAY,QAAwB,EAAE,IAAmB;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAkB,EAAE,WAAW,GAAG,IAAI,yBAAW,EAAE;;QACnE,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAoB,CAAC;QACxD,QAAQ,SAAS,EAAE;YACjB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,IAAI,yCAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,KAAK,SAAS,CAAC,UAAU;gBACvB,OAAO,IAAI,iDAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClF,KAAK,SAAS,CAAC,mBAAmB;gBAChC,OAAO,IAAI,2DAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvF,KAAK,SAAS,CAAC,YAAY;gBACzB,OAAO,IAAI,qDAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpF,KAAK,SAAS,CAAC,OAAO;gBACpB,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,KAAK,SAAS;gBACZ,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E;gBACE,MAAM,IAAI,sBAAa,CAAC,uBAAuB,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5E;IACH,CAAC;CACF;AA5BD,oDA4BC"}
1
+ {"version":3,"file":"sourceAdapterFactory.js","sourceRoot":"","sources":["../../../../src/resolve/adapters/sourceAdapterFactory.ts"],"names":[],"mappings":";;;AAOA,yCAA6C;AAC7C,gDAA6C;AAG7C,+DAA4D;AAC5D,uEAAoE;AACpE,iFAA8E;AAC9E,2EAAwE;AACxE,iEAA8D;AAE9D,IAAK,SAMJ;AAND,WAAK,SAAS;IACZ,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,gCAAmB,CAAA;IACnB,wDAA2C,CAAA;IAC3C,0CAA6B,CAAA;AAC/B,CAAC,EANI,SAAS,KAAT,SAAS,QAMb;AAED,MAAa,oBAAoB;IAI/B,YAAmB,QAAwB,EAAE,IAAmB;QAC9D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAkB,EAAE,WAAW,GAAG,IAAI,yBAAW,EAAE;;QACnE,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAoB,CAAC;QACxD,QAAQ,SAAS,EAAE;YACjB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,IAAI,yCAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,KAAK,SAAS,CAAC,UAAU;gBACvB,OAAO,IAAI,iDAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClF,KAAK,SAAS,CAAC,mBAAmB;gBAChC,OAAO,IAAI,2DAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvF,KAAK,SAAS,CAAC,YAAY;gBACzB,OAAO,IAAI,qDAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpF,KAAK,SAAS,CAAC,OAAO;gBACpB,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,KAAK,SAAS;gBACZ,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E;gBACE,MAAM,IAAI,sBAAa,CAAC,uBAAuB,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5E;IACH,CAAC;CACF;AA5BD,oDA4BC"}
@@ -3,9 +3,7 @@ export declare class ForceIgnore {
3
3
  static readonly FILE_NAME = ".forceignore";
4
4
  private readonly parser;
5
5
  private readonly forceIgnoreDirectory;
6
- private readonly gitignoreParser;
7
6
  private readonly contents?;
8
- private readonly useNewParser;
9
7
  private DEFAULT_IGNORE;
10
8
  constructor(forceIgnorePath?: string);
11
9
  /**
@@ -18,7 +16,4 @@ export declare class ForceIgnore {
18
16
  static findAndCreate(seed: SourcePath): ForceIgnore;
19
17
  denies(fsPath: SourcePath): boolean;
20
18
  accepts(fsPath: SourcePath): boolean;
21
- private parseContents;
22
- private resolveConflict;
23
- private emitWarning;
24
19
  }
@@ -7,36 +7,21 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ForceIgnore = void 0;
10
- const index_1 = require("ignore/index");
11
10
  const path_1 = require("path");
12
- const fs_1 = require("fs");
11
+ const index_1 = require("ignore/index");
12
+ const graceful_fs_1 = require("graceful-fs");
13
13
  const fileSystemHandler_1 = require("../utils/fileSystemHandler");
14
- // @ts-ignore this doesn't have typings
15
- const gitignoreParser = require("gitignore-parser");
16
- const core_1 = require("@salesforce/core");
17
- let warn = true;
18
- const troubleEmittedForPattern = new Set();
19
14
  class ForceIgnore {
20
15
  constructor(forceIgnorePath = '') {
21
- this.DEFAULT_IGNORE = [
22
- '**/*.dup',
23
- '**/.*',
24
- '**/package2-descriptor.json',
25
- '**/package2-manifest.json',
26
- ];
16
+ this.DEFAULT_IGNORE = ['**/*.dup', '**/.*', '**/package2-descriptor.json', '**/package2-manifest.json'];
27
17
  try {
28
- this.contents = fs_1.readFileSync(forceIgnorePath, 'utf-8');
29
- // add the default ignore paths, and then parse the .forceignore file
30
- // DO NOT CALL parseContents FOR THE NEW PARSER
31
- // the new library handles it's own unix/windows file path separators, let it handle it
32
- this.parser = index_1.default().add(`${this.contents}\n${this.DEFAULT_IGNORE.join('\n')}`);
33
- // TODO: START REMOVE AFTER GITIGNORE-PARSER DEPRECATED
34
- // add the default and send to the old gitignore-parser
35
- this.gitignoreParser = gitignoreParser.compile(this.parseContents(this.contents));
36
- this.forceIgnoreDirectory = path_1.dirname(forceIgnorePath);
37
- // read the file to determine which parser to use
38
- this.useNewParser = this.contents.includes('# .forceignore v2');
39
- // END REMOVE
18
+ this.contents = (0, graceful_fs_1.readFileSync)(forceIgnorePath, 'utf-8');
19
+ // check if file `.forceignore` exists
20
+ if (this.contents !== undefined) {
21
+ // add the default ignore paths, and then parse the .forceignore file
22
+ this.parser = (0, index_1.default)().add(`${this.contents}\n${this.DEFAULT_IGNORE.join('\n')}`);
23
+ this.forceIgnoreDirectory = (0, path_1.dirname)(forceIgnorePath);
24
+ }
40
25
  }
41
26
  catch (e) {
42
27
  // TODO: log no force ignore
@@ -51,26 +36,15 @@ class ForceIgnore {
51
36
  */
52
37
  static findAndCreate(seed) {
53
38
  let potentialForceIgnorePath = '';
54
- const projectConfigPath = fileSystemHandler_1.searchUp(seed, ForceIgnore.FILE_NAME);
39
+ const projectConfigPath = (0, fileSystemHandler_1.searchUp)(seed, ForceIgnore.FILE_NAME);
55
40
  if (projectConfigPath) {
56
- potentialForceIgnorePath = path_1.join(path_1.dirname(projectConfigPath), ForceIgnore.FILE_NAME);
41
+ potentialForceIgnorePath = (0, path_1.join)((0, path_1.dirname)(projectConfigPath), ForceIgnore.FILE_NAME);
57
42
  }
58
43
  return new ForceIgnore(potentialForceIgnorePath);
59
44
  }
60
45
  denies(fsPath) {
61
46
  try {
62
- // AFTER GITIGNORE-PARSER DEPRECATED, change this to `return this.parser.ignores(relative(this.forceIgnoreDirectory, fsPath));`
63
- let denies = false;
64
- let fctResult = false;
65
- // if there's a parser, and we're not trying to .forceignore the .forceignore
66
- const relativePath = path_1.relative(this.forceIgnoreDirectory, fsPath);
67
- if (this.parser && this.gitignoreParser && !!relativePath) {
68
- denies = this.parser.ignores(relativePath);
69
- fctResult = this.gitignoreParser.denies(relativePath);
70
- // send to look for differences, analytics
71
- this.resolveConflict(denies, fctResult, relativePath);
72
- }
73
- return this.useNewParser ? denies : fctResult;
47
+ return this.parser.ignores((0, path_1.relative)(this.forceIgnoreDirectory, fsPath));
74
48
  }
75
49
  catch (e) {
76
50
  return false;
@@ -78,72 +52,12 @@ class ForceIgnore {
78
52
  }
79
53
  accepts(fsPath) {
80
54
  try {
81
- // AFTER GITIGNORE-PARSER DEPRECATED, change this to `return !this.parser.ignores(relative(this.forceIgnoreDirectory, fsPath));`
82
- let accepts = true;
83
- let fctResult = true;
84
- const relativePath = path_1.relative(this.forceIgnoreDirectory, fsPath);
85
- if (this.parser && this.gitignoreParser && !!relativePath) {
86
- accepts = !this.parser.ignores(relativePath);
87
- fctResult = this.gitignoreParser.accepts(relativePath);
88
- // send to look for differences, analytics
89
- this.resolveConflict(accepts, fctResult, relativePath);
90
- }
91
- return this.useNewParser ? accepts : fctResult;
55
+ return !this.parser.ignores((0, path_1.relative)(this.forceIgnoreDirectory, fsPath));
92
56
  }
93
57
  catch (e) {
94
58
  return true;
95
59
  }
96
60
  }
97
- // REMOVE THIS AFTER GITIGNORE-PARSER DEPRECATED
98
- parseContents(contents) {
99
- return contents
100
- .split('\n')
101
- .map((line) => line.trim())
102
- .map((line) => line.replace(/[\\\/]/g, path_1.sep))
103
- .map((line) => line.replace(/^\\/, ''))
104
- .join('\n');
105
- }
106
- // AFTER GITIGNORE-PARSER DEPRECATED, remove this method
107
- resolveConflict(newLibraryResults, oldLibraryResults, fsPath) {
108
- const ignoreItems = this.contents.split('\n');
109
- const troubledIgnoreLines = new Set();
110
- if (newLibraryResults !== oldLibraryResults && ignoreItems) {
111
- ignoreItems
112
- .filter((ignoreItem) => ignoreItem.length)
113
- .forEach((ignoreItem) => {
114
- // we need to run the both of the compilers for a single line to find the problem entry
115
- const gitignoreResult = gitignoreParser
116
- .compile(this.parseContents(ignoreItem))
117
- .accepts(fsPath);
118
- const ignoreResult = !index_1.default().add([ignoreItem]).ignores(fsPath);
119
- // print the warning only once per forceignore line item
120
- if (ignoreResult !== gitignoreResult && !troubledIgnoreLines.has(ignoreItem)) {
121
- // only show the warning once, it could come from denies() or accepts()
122
- if (warn) {
123
- warn = false;
124
- this.emitWarning('We\'re replacing the current ".forceignore" parser with one that uses the same patterns as "git" uses with ".gitignore". Until we remove the old one, both parsers are available. But we recommend you start using the new parser soon by adding this line to the top of your ".forceignore" file: "# .forceignore v2". Read about the new ".gitgnore" pattern format here: https://git-scm.com/docs/gitignore. Then fix the following lines in your ".forceignore" file because they don\'t adhere to the new formatting rules.');
125
- }
126
- if (!troubleEmittedForPattern.has(ignoreItem)) {
127
- troubleEmittedForPattern.add(ignoreItem);
128
- this.emitWarning('\t' + ignoreItem);
129
- }
130
- }
131
- troubledIgnoreLines.add(ignoreItem);
132
- });
133
- // send analytics, if they exist.
134
- core_1.Lifecycle.getInstance().emit('telemetry', {
135
- eventName: 'FORCE_IGNORE_DIFFERENCE',
136
- content: this.contents,
137
- oldLibraryResults,
138
- newLibraryResults,
139
- ignoreLines: Array.from(troubledIgnoreLines),
140
- file: fsPath,
141
- });
142
- }
143
- }
144
- emitWarning(warning) {
145
- process.emitWarning(warning);
146
- }
147
61
  }
148
62
  exports.ForceIgnore = ForceIgnore;
149
63
  ForceIgnore.FILE_NAME = '.forceignore';
@@ -1 +1 @@
1
- {"version":3,"file":"forceIgnore.js","sourceRoot":"","sources":["../../../src/resolve/forceIgnore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forceIgnore.js","sourceRoot":"","sources":["../../../src/resolve/forceIgnore.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+BAA+C;AAC/C,wCAA8C;AAC9C,6CAA2C;AAE3C,kEAAsD;AAEtD,MAAa,WAAW;IAQtB,YAAmB,eAAe,GAAG,EAAE;QAF/B,mBAAc,GAAa,CAAC,UAAU,EAAE,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,CAAC,CAAC;QAGnH,IAAI;YACF,IAAI,CAAC,QAAQ,GAAG,IAAA,0BAAY,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACvD,sCAAsC;YACtC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC/B,qEAAqE;gBACrE,IAAI,CAAC,MAAM,GAAG,IAAA,eAAM,GAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClF,IAAI,CAAC,oBAAoB,GAAG,IAAA,cAAO,EAAC,eAAe,CAAC,CAAC;aACtD;SACF;QAAC,OAAO,CAAC,EAAE;YACV,4BAA4B;SAC7B;IACH,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CAAC,IAAgB;QAC1C,IAAI,wBAAwB,GAAG,EAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,IAAA,4BAAQ,EAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,iBAAiB,EAAE;YACrB,wBAAwB,GAAG,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;SACpF;QACD,OAAO,IAAI,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACnD,CAAC;IAEM,MAAM,CAAC,MAAkB;QAC9B,IAAI;YACF,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;SACzE;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEM,OAAO,CAAC,MAAkB;QAC/B,IAAI;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;SAC1E;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC;;AApDH,kCAqDC;AApDwB,qBAAS,GAAG,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { MetadataResolver } from './metadataResolver';
2
2
  export { ManifestResolver } from './manifestResolver';
3
- export { TreeContainer, NodeFSTreeContainer, VirtualTreeContainer, ZipTreeContainer, } from './treeContainers';
3
+ export { TreeContainer, NodeFSTreeContainer, VirtualTreeContainer, ZipTreeContainer } from './treeContainers';
4
4
  export { SourceComponent } from './sourceComponent';
5
5
  export { MetadataComponent, MetadataMember, ComponentLike, MetadataXml, VirtualFile, VirtualDirectory, SourceAdapter, } from './types';
6
6
  export { ForceIgnore } from './forceIgnore';
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ForceIgnore = exports.SourceComponent = exports.ZipTreeContainer = exports.VirtualTreeContainer = exports.NodeFSTreeContainer = exports.TreeContainer = exports.ManifestResolver = exports.MetadataResolver = void 0;
3
4
  /*
4
5
  * Copyright (c) 2020, salesforce.com, inc.
5
6
  * All rights reserved.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resolve/index.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,mDAK0B;AAJxB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AACnB,sHAAA,oBAAoB,OAAA;AACpB,kHAAA,gBAAgB,OAAA;AAElB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAUxB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resolve/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,mDAA8G;AAArG,+GAAA,aAAa,OAAA;AAAE,qHAAA,mBAAmB,OAAA;AAAE,sHAAA,oBAAoB,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AACnF,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAUxB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -22,4 +22,5 @@ export declare class ManifestResolver {
22
22
  private registry;
23
23
  constructor(tree?: TreeContainer, registry?: RegistryAccess);
24
24
  resolve(manifestPath: string): Promise<ResolveManifestResult>;
25
+ private isNestedInFolder;
25
26
  }
@@ -5,21 +5,12 @@
5
5
  * Licensed under the BSD 3-Clause license.
6
6
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
7
  */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.ManifestResolver = void 0;
19
- const registry_1 = require("../registry");
20
- const treeContainers_1 = require("./treeContainers");
21
10
  const fast_xml_parser_1 = require("fast-xml-parser");
11
+ const registry_1 = require("../registry");
22
12
  const utils_1 = require("../utils");
13
+ const treeContainers_1 = require("./treeContainers");
23
14
  /**
24
15
  * Resolve MetadataComponents from a manifest file (package.xml)
25
16
  */
@@ -28,28 +19,48 @@ class ManifestResolver {
28
19
  this.tree = tree;
29
20
  this.registry = registry;
30
21
  }
31
- resolve(manifestPath) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const components = [];
34
- const file = yield this.tree.readFile(manifestPath);
35
- const parsedManifest = fast_xml_parser_1.parse(file.toString(), {
36
- stopNodes: ['version'],
37
- }).Package;
38
- const packageTypeMembers = utils_1.normalizeToArray(parsedManifest.types);
39
- const apiVersion = parsedManifest.version;
40
- for (const typeMembers of packageTypeMembers) {
41
- const typeName = typeMembers.name;
42
- for (const fullName of utils_1.normalizeToArray(typeMembers.members)) {
43
- let type = this.registry.getTypeByName(typeName);
44
- // if there is no / delimiter and it's a type in folders, infer folder component
45
- if (type.folderType && !fullName.includes('/')) {
46
- type = this.registry.getTypeByName(type.folderType);
47
- }
48
- components.push({ fullName, type });
22
+ async resolve(manifestPath) {
23
+ const components = [];
24
+ const file = await this.tree.readFile(manifestPath);
25
+ const parsedManifest = (0, fast_xml_parser_1.parse)(file.toString(), {
26
+ stopNodes: ['version'],
27
+ }).Package;
28
+ const packageTypeMembers = (0, utils_1.normalizeToArray)(parsedManifest.types);
29
+ const apiVersion = parsedManifest.version;
30
+ for (const typeMembers of packageTypeMembers) {
31
+ const typeName = typeMembers.name;
32
+ const type = this.registry.getTypeByName(typeName);
33
+ const parentType = type.folderType ? this.registry.getTypeByName(type.folderType) : undefined;
34
+ const members = (0, utils_1.normalizeToArray)(typeMembers.members);
35
+ for (const fullName of members) {
36
+ let mdType = type;
37
+ if (this.isNestedInFolder(fullName, type, parentType, members)) {
38
+ mdType = parentType;
49
39
  }
40
+ components.push({ fullName, type: mdType });
50
41
  }
51
- return { components, apiVersion };
52
- });
42
+ }
43
+ return { components, apiVersion };
44
+ }
45
+ // Use the folderType instead of the type from the manifest when:
46
+ // 1. InFolder types: (report, dashboard, emailTemplate, document)
47
+ // 1a. type.inFolder === true (from metadataRegistry.json) AND
48
+ // 1b. The fullName doesn't contain a forward slash character AND
49
+ // 1c. The fullName with a slash appended is contained in another member entry
50
+ // OR
51
+ // 2. Non-InFolder, folder types: (territory2, territory2Model, territory2Type, territory2Rule)
52
+ // 2a. type.inFolder !== true (from metadataRegistry.json) AND
53
+ // 2b. type.folderType has a value (from metadataRegistry.json) AND
54
+ // 2c. This type's parent type has a folderType that doesn't match its ID.
55
+ isNestedInFolder(fullName, type, parentType, members) {
56
+ // Quick short-circuit for non-folderTypes
57
+ if (!type.folderType) {
58
+ return false;
59
+ }
60
+ const isInFolderType = type.inFolder;
61
+ const isNestedInFolder = !fullName.includes('/') || members.some((m) => m.includes(`${fullName}/`));
62
+ const isNonMatchingFolder = parentType && parentType.folderType !== parentType.id;
63
+ return (isInFolderType && isNestedInFolder) || (!isInFolderType && isNonMatchingFolder);
53
64
  }
54
65
  }
55
66
  exports.ManifestResolver = ManifestResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"manifestResolver.js","sourceRoot":"","sources":["../../../src/resolve/manifestResolver.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;AAEH,0CAA6C;AAC7C,qDAAsE;AAEtE,qDAAoD;AACpD,oCAA4C;AA4B5C;;GAEG;AACH,MAAa,gBAAgB;IAI3B,YAAY,OAAsB,IAAI,oCAAmB,EAAE,EAAE,QAAQ,GAAG,IAAI,yBAAc,EAAE;QAC1F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEY,OAAO,CAAC,YAAoB;;YACvC,MAAM,UAAU,GAAwB,EAAE,CAAC;YAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEpD,MAAM,cAAc,GAA0B,uBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACtE,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC,OAAO,CAAC;YACX,MAAM,kBAAkB,GAAG,wBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;YAE1C,KAAK,MAAM,WAAW,IAAI,kBAAkB,EAAE;gBAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;gBAClC,KAAK,MAAM,QAAQ,IAAI,wBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;oBAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACjD,gFAAgF;oBAChF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC9C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACrD;oBACD,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrC;aACF;YAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACpC,CAAC;KAAA;CACF;AAlCD,4CAkCC"}
1
+ {"version":3,"file":"manifestResolver.js","sourceRoot":"","sources":["../../../src/resolve/manifestResolver.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qDAAoD;AACpD,0CAA2D;AAC3D,oCAA4C;AAC5C,qDAAsE;AA6BtE;;GAEG;AACH,MAAa,gBAAgB;IAI3B,YAAmB,OAAsB,IAAI,oCAAmB,EAAE,EAAE,QAAQ,GAAG,IAAI,yBAAc,EAAE;QACjG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,YAAoB;QACvC,MAAM,UAAU,GAAwB,EAAE,CAAC;QAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,cAAc,GAClB,IAAA,uBAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACxB,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CACF,CAAC,OAAO,CAAC;QACV,MAAM,kBAAkB,GAAG,IAAA,wBAAgB,EAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;QAE1C,KAAK,MAAM,WAAW,IAAI,kBAAkB,EAAE;YAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEtD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;gBAC9B,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;oBAC9D,MAAM,GAAG,UAAU,CAAC;iBACrB;gBACD,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;aAC7C;SACF;QAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,iEAAiE;IACjE,mEAAmE;IACnE,iEAAiE;IACjE,oEAAoE;IACpE,iFAAiF;IACjF,KAAK;IACL,gGAAgG;IAChG,iEAAiE;IACjE,sEAAsE;IACtE,6EAA6E;IACrE,gBAAgB,CAAC,QAAgB,EAAE,IAAkB,EAAE,UAAwB,EAAE,OAAiB;QACxG,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;QACpG,MAAM,mBAAmB,GAAG,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;QAElF,OAAO,CAAC,cAAc,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,cAAc,IAAI,mBAAmB,CAAC,CAAC;IAC1F,CAAC;CACF;AA9DD,4CA8DC"}
@@ -1,22 +1,25 @@
1
- import { SourceComponent } from './sourceComponent';
2
- import { TreeContainer } from './treeContainers';
3
1
  import { RegistryAccess } from '../registry/registryAccess';
4
2
  import { ComponentSet } from '../collections';
3
+ import { SourceComponent } from './sourceComponent';
4
+ import { TreeContainer } from './treeContainers';
5
5
  /**
6
6
  * Resolver for metadata type and component objects.
7
+ *
7
8
  * @internal
8
9
  */
9
10
  export declare class MetadataResolver {
11
+ private registry;
12
+ private tree;
13
+ private useFsForceIgnore;
10
14
  forceIgnoredPaths: Set<string>;
11
15
  private forceIgnore;
12
16
  private sourceAdapterFactory;
13
- private tree;
14
- private registry;
17
+ private folderContentTypeDirNames;
15
18
  /**
16
19
  * @param registry Custom registry data
17
20
  * @param tree `TreeContainer` to traverse with
18
21
  */
19
- constructor(registry?: RegistryAccess, tree?: TreeContainer);
22
+ constructor(registry?: RegistryAccess, tree?: TreeContainer, useFsForceIgnore?: boolean);
20
23
  /**
21
24
  * Get the metadata component(s) from a file path.
22
25
  *
@@ -49,12 +52,14 @@ export declare class MetadataResolver {
49
52
  * @param fsPath File path of a potential content metadata file
50
53
  */
51
54
  private parseAsContentMetadataXml;
55
+ private getFolderContentTypeDirNames;
52
56
  /**
53
57
  * Identify metadata xml for a folder component:
54
- * .../email/TestFolder-meta.xml
58
+ * .../email/TestFolder-meta.xml
59
+ * .../reports/foo/bar-meta.xml
55
60
  *
56
61
  * Do not match this pattern:
57
- * .../tabs/TestFolder.tab-meta.xml
62
+ * .../tabs/TestFolder.tab-meta.xml
58
63
  */
59
64
  private parseAsFolderMetadataXml;
60
65
  private isMetadata;
@@ -10,12 +10,13 @@ exports.MetadataResolver = void 0;
10
10
  const path_1 = require("path");
11
11
  const errors_1 = require("../errors");
12
12
  const utils_1 = require("../utils");
13
+ const registryAccess_1 = require("../registry/registryAccess");
13
14
  const sourceAdapterFactory_1 = require("./adapters/sourceAdapterFactory");
14
15
  const forceIgnore_1 = require("./forceIgnore");
15
16
  const treeContainers_1 = require("./treeContainers");
16
- const registryAccess_1 = require("../registry/registryAccess");
17
17
  /**
18
18
  * Resolver for metadata type and component objects.
19
+ *
19
20
  * @internal
20
21
  */
21
22
  class MetadataResolver {
@@ -23,9 +24,10 @@ class MetadataResolver {
23
24
  * @param registry Custom registry data
24
25
  * @param tree `TreeContainer` to traverse with
25
26
  */
26
- constructor(registry = new registryAccess_1.RegistryAccess(), tree = new treeContainers_1.NodeFSTreeContainer()) {
27
+ constructor(registry = new registryAccess_1.RegistryAccess(), tree = new treeContainers_1.NodeFSTreeContainer(), useFsForceIgnore = true) {
27
28
  this.registry = registry;
28
29
  this.tree = tree;
30
+ this.useFsForceIgnore = useFsForceIgnore;
29
31
  this.sourceAdapterFactory = new sourceAdapterFactory_1.SourceAdapterFactory(this.registry, tree);
30
32
  this.forceIgnoredPaths = new Set();
31
33
  }
@@ -39,7 +41,8 @@ class MetadataResolver {
39
41
  if (!this.tree.exists(fsPath)) {
40
42
  throw new errors_1.TypeInferenceError('error_path_not_found', fsPath);
41
43
  }
42
- this.forceIgnore = forceIgnore_1.ForceIgnore.findAndCreate(fsPath);
44
+ // use the default ignore if we aren't using a real one
45
+ this.forceIgnore = this.useFsForceIgnore ? forceIgnore_1.ForceIgnore.findAndCreate(fsPath) : new forceIgnore_1.ForceIgnore();
43
46
  if (this.tree.isDirectory(fsPath) && !this.resolveDirectoryAsComponent(fsPath)) {
44
47
  return this.getComponentsFromPathRecursive(fsPath, inclusiveFilter);
45
48
  }
@@ -54,7 +57,7 @@ class MetadataResolver {
54
57
  return components;
55
58
  }
56
59
  for (const file of this.tree.readDirectory(dir)) {
57
- const fsPath = path_1.join(dir, file);
60
+ const fsPath = (0, path_1.join)(dir, file);
58
61
  if (ignore.has(fsPath)) {
59
62
  continue;
60
63
  }
@@ -86,15 +89,15 @@ class MetadataResolver {
86
89
  }
87
90
  // don't traverse further if not in a root type directory. performance optimization
88
91
  // for mixed content types and ensures we don't add duplicates of the component.
89
- const typeDir = path_1.basename(path_1.dirname(component.type.inFolder ? path_1.dirname(fsPath) : fsPath));
92
+ const typeDir = (0, path_1.basename)((0, path_1.dirname)(component.type.inFolder ? (0, path_1.dirname)(fsPath) : fsPath));
90
93
  if (component.type.strictDirectoryName && typeDir !== component.type.directoryName) {
91
94
  return components;
92
95
  }
93
96
  }
94
97
  }
95
98
  }
96
- for (const dir of dirQueue) {
97
- components.push(...this.getComponentsFromPathRecursive(dir, inclusiveFilter));
99
+ for (const directory of dirQueue) {
100
+ components.push(...this.getComponentsFromPathRecursive(directory, inclusiveFilter));
98
101
  }
99
102
  return components;
100
103
  }
@@ -124,7 +127,7 @@ class MetadataResolver {
124
127
  * @param fsPath File path of a potential metadata xml file
125
128
  */
126
129
  parseAsRootMetadataXml(fsPath) {
127
- return !!utils_1.parseMetadataXml(fsPath);
130
+ return !!(0, utils_1.parseMetadataXml)(fsPath);
128
131
  }
129
132
  resolveType(fsPath) {
130
133
  let resolvedType;
@@ -135,7 +138,7 @@ class MetadataResolver {
135
138
  // types with folders only have folder components living at the top level.
136
139
  // if the fsPath is a folder component, let a future strategy deal with it
137
140
  // const isFolderType = this.getTypeFromName(typeId).inFolder;
138
- if (!type.inFolder || utils_1.parentName(fsPath) !== type.directoryName) {
141
+ if (!type.inFolder || (0, utils_1.parentName)(fsPath) !== type.directoryName) {
139
142
  resolvedType = type;
140
143
  }
141
144
  break;
@@ -143,7 +146,7 @@ class MetadataResolver {
143
146
  }
144
147
  // attempt 2 - check if it's a metadata xml file
145
148
  if (!resolvedType) {
146
- const parsedMetaXml = utils_1.parseMetadataXml(fsPath);
149
+ const parsedMetaXml = (0, utils_1.parseMetadataXml)(fsPath);
147
150
  if (parsedMetaXml) {
148
151
  resolvedType = this.registry.getTypeBySuffix(parsedMetaXml.suffix);
149
152
  }
@@ -158,7 +161,7 @@ class MetadataResolver {
158
161
  }
159
162
  // attempt 3 - try treating the file extension name as a suffix
160
163
  if (!resolvedType) {
161
- resolvedType = this.registry.getTypeBySuffix(utils_1.extName(fsPath));
164
+ resolvedType = this.registry.getTypeBySuffix((0, utils_1.extName)(fsPath));
162
165
  }
163
166
  return resolvedType;
164
167
  }
@@ -197,26 +200,43 @@ class MetadataResolver {
197
200
  * @param fsPath File path of a potential content metadata file
198
201
  */
199
202
  parseAsContentMetadataXml(fsPath) {
200
- return !!this.registry.getTypeBySuffix(utils_1.extName(fsPath));
203
+ return !!this.registry.getTypeBySuffix((0, utils_1.extName)(fsPath));
204
+ }
205
+ // Get the array of directoryNames for types that have folderContentType
206
+ getFolderContentTypeDirNames() {
207
+ if (!this.folderContentTypeDirNames) {
208
+ this.folderContentTypeDirNames = this.registry.getFolderContentTypes().map((t) => t.directoryName);
209
+ }
210
+ return this.folderContentTypeDirNames;
201
211
  }
202
212
  /**
203
213
  * Identify metadata xml for a folder component:
204
- * .../email/TestFolder-meta.xml
214
+ * .../email/TestFolder-meta.xml
215
+ * .../reports/foo/bar-meta.xml
205
216
  *
206
217
  * Do not match this pattern:
207
- * .../tabs/TestFolder.tab-meta.xml
218
+ * .../tabs/TestFolder.tab-meta.xml
208
219
  */
209
220
  parseAsFolderMetadataXml(fsPath) {
210
- const match = path_1.basename(fsPath).match(/(.+)-meta\.xml/);
221
+ let folderName;
222
+ const match = new RegExp(/(.+)-meta\.xml/).exec((0, path_1.basename)(fsPath));
211
223
  if (match && !match[1].includes('.')) {
212
224
  const parts = fsPath.split(path_1.sep);
213
- return parts.length > 1 ? parts[parts.length - 2] : undefined;
225
+ if (parts.length > 1) {
226
+ const folderContentTypesDirs = this.getFolderContentTypeDirNames();
227
+ // check if the path contains a folder content name as a directory
228
+ // e.g., `/reports/` and if it does return that folder name.
229
+ folderContentTypesDirs.some((dirName) => {
230
+ if (fsPath.includes(`${path_1.sep}${dirName}${path_1.sep}`)) {
231
+ folderName = dirName;
232
+ }
233
+ });
234
+ }
214
235
  }
236
+ return folderName;
215
237
  }
216
238
  isMetadata(fsPath) {
217
- return (!!utils_1.parseMetadataXml(fsPath) ||
218
- this.parseAsContentMetadataXml(fsPath) ||
219
- !!this.parseAsFolderMetadataXml(fsPath));
239
+ return (!!(0, utils_1.parseMetadataXml)(fsPath) || this.parseAsContentMetadataXml(fsPath) || !!this.parseAsFolderMetadataXml(fsPath));
220
240
  }
221
241
  }
222
242
  exports.MetadataResolver = MetadataResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"metadataResolver.js","sourceRoot":"","sources":["../../../src/resolve/metadataResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadataResolver.js","sourceRoot":"","sources":["../../../src/resolve/metadataResolver.ts"],"names":[],"mappings":"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"}