@terafina/tffa-sfdx-plugin 14.0.0-rc.4 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/README.md +48 -16
  2. package/bin/pmd/apex_ruleset.xml +56 -29
  3. package/bin/pmd/apex_vf_ruleset.xml +17 -0
  4. package/bin/pmd/lib/pmd-visualforce-6.47.0.jar +0 -0
  5. package/bin/update.sh +0 -1
  6. package/lib/commands/tffa/apexdoc.d.ts +1 -0
  7. package/lib/commands/tffa/apexdoc.js +18 -9
  8. package/lib/commands/tffa/apexdoc.js.map +1 -1
  9. package/lib/commands/tffa/lint.d.ts +2 -0
  10. package/lib/commands/tffa/lint.js +39 -19
  11. package/lib/commands/tffa/lint.js.map +1 -1
  12. package/lib/commands/tffa/meta.js +1 -1
  13. package/lib/commands/tffa/meta.js.map +1 -1
  14. package/lib/commands/tffa/source/apiset.d.ts +11 -0
  15. package/lib/commands/tffa/source/apiset.js +89 -0
  16. package/lib/commands/tffa/source/apiset.js.map +1 -0
  17. package/lib/{shared → services}/apexdoc/common/apex-docs-error.d.ts +0 -0
  18. package/lib/{shared → services}/apexdoc/common/apex-docs-error.js +0 -0
  19. package/lib/services/apexdoc/common/apex-docs-error.js.map +1 -0
  20. package/lib/{shared → services}/apexdoc/common/array-utils.d.ts +0 -0
  21. package/lib/{shared → services}/apexdoc/common/array-utils.js +0 -0
  22. package/lib/services/apexdoc/common/array-utils.js.map +1 -0
  23. package/lib/{shared → services}/apexdoc/common/line-reader.d.ts +0 -0
  24. package/lib/{shared → services}/apexdoc/common/line-reader.js +0 -0
  25. package/lib/services/apexdoc/common/line-reader.js.map +1 -0
  26. package/lib/{shared → services}/apexdoc/common/models/apex-model.d.ts +0 -0
  27. package/lib/{shared → services}/apexdoc/common/models/apex-model.js +7 -2
  28. package/lib/services/apexdoc/common/models/apex-model.js.map +1 -0
  29. package/lib/{shared → services}/apexdoc/common/models/class-group.d.ts +0 -0
  30. package/lib/{shared → services}/apexdoc/common/models/class-group.js +0 -0
  31. package/lib/services/apexdoc/common/models/class-group.js.map +1 -0
  32. package/lib/{shared → services}/apexdoc/common/models/class-model.d.ts +3 -0
  33. package/lib/{shared → services}/apexdoc/common/models/class-model.js +7 -0
  34. package/lib/services/apexdoc/common/models/class-model.js.map +1 -0
  35. package/lib/{shared → services}/apexdoc/common/models/engine-config.d.ts +1 -1
  36. package/lib/{shared → services}/apexdoc/common/models/engine-config.js +8 -3
  37. package/lib/services/apexdoc/common/models/engine-config.js.map +1 -0
  38. package/lib/{shared → services}/apexdoc/common/models/enum-model.d.ts +0 -0
  39. package/lib/{shared → services}/apexdoc/common/models/enum-model.js +0 -0
  40. package/lib/services/apexdoc/common/models/enum-model.js.map +1 -0
  41. package/lib/{shared → services}/apexdoc/common/models/index.d.ts +0 -0
  42. package/lib/{shared → services}/apexdoc/common/models/index.js +0 -0
  43. package/lib/services/apexdoc/common/models/index.js.map +1 -0
  44. package/lib/{shared → services}/apexdoc/common/models/method-model.d.ts +0 -0
  45. package/lib/{shared → services}/apexdoc/common/models/method-model.js +0 -0
  46. package/lib/services/apexdoc/common/models/method-model.js.map +1 -0
  47. package/lib/{shared → services}/apexdoc/common/models/property-model.d.ts +0 -0
  48. package/lib/{shared → services}/apexdoc/common/models/property-model.js +0 -0
  49. package/lib/services/apexdoc/common/models/property-model.js.map +1 -0
  50. package/lib/{shared → services}/apexdoc/common/models/top-level-model.d.ts +0 -0
  51. package/lib/{shared → services}/apexdoc/common/models/top-level-model.js +0 -0
  52. package/lib/services/apexdoc/common/models/top-level-model.js.map +1 -0
  53. package/lib/{shared → services}/apexdoc/common/settings.d.ts +2 -1
  54. package/lib/{shared → services}/apexdoc/common/settings.js +16 -3
  55. package/lib/services/apexdoc/common/settings.js.map +1 -0
  56. package/lib/{shared → services}/apexdoc/common/tags.d.ts +0 -0
  57. package/lib/{shared → services}/apexdoc/common/tags.js +0 -0
  58. package/lib/services/apexdoc/common/tags.js.map +1 -0
  59. package/lib/{shared → services}/apexdoc/common/utils.d.ts +0 -0
  60. package/lib/{shared → services}/apexdoc/common/utils.js +0 -0
  61. package/lib/services/apexdoc/common/utils.js.map +1 -0
  62. package/lib/{shared → services}/apexdoc/common/validator-engine.d.ts +0 -0
  63. package/lib/{shared → services}/apexdoc/common/validator-engine.js +0 -0
  64. package/lib/services/apexdoc/common/validator-engine.js.map +1 -0
  65. package/lib/{shared → services}/apexdoc/common/validator.d.ts +0 -0
  66. package/lib/{shared → services}/apexdoc/common/validator.js +0 -0
  67. package/lib/services/apexdoc/common/validator.js.map +1 -0
  68. package/lib/{shared → services}/apexdoc/engine/file-manager.d.ts +1 -1
  69. package/lib/{shared → services}/apexdoc/engine/file-manager.js +0 -0
  70. package/lib/services/apexdoc/engine/file-manager.js.map +1 -0
  71. package/lib/{shared → services}/apexdoc/engine/generators/generator-utils.d.ts +0 -0
  72. package/lib/{shared → services}/apexdoc/engine/generators/generator-utils.js +0 -0
  73. package/lib/services/apexdoc/engine/generators/generator-utils.js.map +1 -0
  74. package/lib/{shared → services}/apexdoc/engine/generators/menu-generator.d.ts +0 -0
  75. package/lib/{shared → services}/apexdoc/engine/generators/menu-generator.js +0 -0
  76. package/lib/services/apexdoc/engine/generators/menu-generator.js.map +1 -0
  77. package/lib/{shared → services}/apexdoc/engine/generators/models/child-enum-markup-generator.d.ts +0 -0
  78. package/lib/{shared → services}/apexdoc/engine/generators/models/child-enum-markup-generator.js +0 -0
  79. package/lib/services/apexdoc/engine/generators/models/child-enum-markup-generator.js.map +1 -0
  80. package/lib/{shared → services}/apexdoc/engine/generators/models/class-markup-generator.d.ts +0 -0
  81. package/lib/{shared → services}/apexdoc/engine/generators/models/class-markup-generator.js +0 -0
  82. package/lib/services/apexdoc/engine/generators/models/class-markup-generator.js.map +1 -0
  83. package/lib/{shared → services}/apexdoc/engine/generators/models/enum-markup-generator.d.ts +0 -0
  84. package/lib/{shared → services}/apexdoc/engine/generators/models/enum-markup-generator.js +0 -0
  85. package/lib/services/apexdoc/engine/generators/models/enum-markup-generator.js.map +1 -0
  86. package/lib/{shared → services}/apexdoc/engine/generators/models/markup-generator.d.ts +0 -0
  87. package/lib/{shared → services}/apexdoc/engine/generators/models/markup-generator.js +0 -0
  88. package/lib/services/apexdoc/engine/generators/models/markup-generator.js.map +1 -0
  89. package/lib/{shared → services}/apexdoc/engine/generators/models/method-markup-generator.d.ts +0 -0
  90. package/lib/{shared → services}/apexdoc/engine/generators/models/method-markup-generator.js +0 -0
  91. package/lib/services/apexdoc/engine/generators/models/method-markup-generator.js.map +1 -0
  92. package/lib/{shared → services}/apexdoc/engine/generators/models/property-markup-generator.d.ts +0 -0
  93. package/lib/{shared → services}/apexdoc/engine/generators/models/property-markup-generator.js +0 -0
  94. package/lib/services/apexdoc/engine/generators/models/property-markup-generator.js.map +1 -0
  95. package/lib/{shared → services}/apexdoc/engine/generators/models/source-markup-generator.d.ts +0 -0
  96. package/lib/{shared → services}/apexdoc/engine/generators/models/source-markup-generator.js +0 -0
  97. package/lib/services/apexdoc/engine/generators/models/source-markup-generator.js.map +1 -0
  98. package/lib/{shared → services}/apexdoc/engine/generators/models/top-level-markup-generator.d.ts +0 -0
  99. package/lib/{shared → services}/apexdoc/engine/generators/models/top-level-markup-generator.js +0 -0
  100. package/lib/services/apexdoc/engine/generators/models/top-level-markup-generator.js.map +1 -0
  101. package/lib/{shared → services}/apexdoc/engine/generators/see-link-generator.d.ts +0 -0
  102. package/lib/{shared → services}/apexdoc/engine/generators/see-link-generator.js +0 -0
  103. package/lib/services/apexdoc/engine/generators/see-link-generator.js.map +1 -0
  104. package/lib/{shared/lint/apex-class-lint.d.ts → services/lint/apex-class-scan.d.ts} +5 -6
  105. package/lib/services/lint/apex-class-scan.js +159 -0
  106. package/lib/services/lint/apex-class-scan.js.map +1 -0
  107. package/lib/{shared → services}/lint/apex-pmd.d.ts +2 -0
  108. package/lib/{shared → services}/lint/apex-pmd.js +17 -4
  109. package/lib/services/lint/apex-pmd.js.map +1 -0
  110. package/lib/{shared/lint/metadata-lint.d.ts → services/lint/metadata-scan.d.ts} +12 -4
  111. package/lib/{shared/lint/metadata-lint.js → services/lint/metadata-scan.js} +83 -46
  112. package/lib/services/lint/metadata-scan.js.map +1 -0
  113. package/lib/services/lint/rules.d.ts +10 -0
  114. package/lib/services/lint/rules.js +86 -0
  115. package/lib/services/lint/rules.js.map +1 -0
  116. package/lib/{shared → services}/meta/field-scan.d.ts +0 -4
  117. package/lib/{shared → services}/meta/field-scan.js +5 -7
  118. package/lib/services/meta/field-scan.js.map +1 -0
  119. package/lib/utils/constants.d.ts +9 -0
  120. package/lib/utils/constants.js +14 -0
  121. package/lib/utils/constants.js.map +1 -0
  122. package/lib/utils/ignored-files.d.ts +18 -0
  123. package/lib/utils/ignored-files.js +154 -0
  124. package/lib/utils/ignored-files.js.map +1 -0
  125. package/lib/{shared/utils → utils}/jreSetupManager.d.ts +0 -0
  126. package/lib/{shared/utils → utils}/jreSetupManager.js +0 -0
  127. package/lib/utils/jreSetupManager.js.map +1 -0
  128. package/messages/apexdoc.json +5 -0
  129. package/messages/lint.json +5 -0
  130. package/messages/ping.json +1 -1
  131. package/messages/sourceApiSet.json +8 -0
  132. package/oclif.manifest.json +1 -1
  133. package/package.json +18 -17
  134. package/lib/shared/apexdoc/common/apex-docs-error.js.map +0 -1
  135. package/lib/shared/apexdoc/common/array-utils.js.map +0 -1
  136. package/lib/shared/apexdoc/common/line-reader.js.map +0 -1
  137. package/lib/shared/apexdoc/common/models/apex-model.js.map +0 -1
  138. package/lib/shared/apexdoc/common/models/class-group.js.map +0 -1
  139. package/lib/shared/apexdoc/common/models/class-model.js.map +0 -1
  140. package/lib/shared/apexdoc/common/models/engine-config.js.map +0 -1
  141. package/lib/shared/apexdoc/common/models/enum-model.js.map +0 -1
  142. package/lib/shared/apexdoc/common/models/index.js.map +0 -1
  143. package/lib/shared/apexdoc/common/models/method-model.js.map +0 -1
  144. package/lib/shared/apexdoc/common/models/property-model.js.map +0 -1
  145. package/lib/shared/apexdoc/common/models/top-level-model.js.map +0 -1
  146. package/lib/shared/apexdoc/common/settings.js.map +0 -1
  147. package/lib/shared/apexdoc/common/tags.js.map +0 -1
  148. package/lib/shared/apexdoc/common/utils.js.map +0 -1
  149. package/lib/shared/apexdoc/common/validator-engine.js.map +0 -1
  150. package/lib/shared/apexdoc/common/validator.js.map +0 -1
  151. package/lib/shared/apexdoc/engine/file-manager.js.map +0 -1
  152. package/lib/shared/apexdoc/engine/generators/generator-utils.js.map +0 -1
  153. package/lib/shared/apexdoc/engine/generators/menu-generator.js.map +0 -1
  154. package/lib/shared/apexdoc/engine/generators/models/child-enum-markup-generator.js.map +0 -1
  155. package/lib/shared/apexdoc/engine/generators/models/class-markup-generator.js.map +0 -1
  156. package/lib/shared/apexdoc/engine/generators/models/enum-markup-generator.js.map +0 -1
  157. package/lib/shared/apexdoc/engine/generators/models/markup-generator.js.map +0 -1
  158. package/lib/shared/apexdoc/engine/generators/models/method-markup-generator.js.map +0 -1
  159. package/lib/shared/apexdoc/engine/generators/models/property-markup-generator.js.map +0 -1
  160. package/lib/shared/apexdoc/engine/generators/models/source-markup-generator.js.map +0 -1
  161. package/lib/shared/apexdoc/engine/generators/models/top-level-markup-generator.js.map +0 -1
  162. package/lib/shared/apexdoc/engine/generators/see-link-generator.js.map +0 -1
  163. package/lib/shared/lint/apex-class-lint.js +0 -263
  164. package/lib/shared/lint/apex-class-lint.js.map +0 -1
  165. package/lib/shared/lint/apex-pmd.js.map +0 -1
  166. package/lib/shared/lint/ignored-files.d.ts +0 -10
  167. package/lib/shared/lint/ignored-files.js +0 -38
  168. package/lib/shared/lint/ignored-files.js.map +0 -1
  169. package/lib/shared/lint/metadata-lint.js.map +0 -1
  170. package/lib/shared/meta/field-scan.js.map +0 -1
  171. package/lib/shared/utils/jreSetupManager.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-markup-generator.js","sourceRoot":"","sources":["../../../../../../src/services/apexdoc/engine/generators/models/enum-markup-generator.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,iFAAgD;AAChD,kFAAiD;AACjD,sGAAmE;AAGnE,MAAM,mBAAoB,SAAQ,0BAA0B;IAC1D,YAAsB,KAAgB,EAAE,MAAkC;QACxE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,MAAiB,EAAE,MAAkC;QAC1E,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,IAAI,oCAAuB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,MAAM,CAAC,eAAuB;QACtC,OAAO;yDAC8C,IAAI,CAAC,KAAK,CAAC,IAAI;kBACtD,KAAK,CAAC,YAAY,CAAC,yBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;kBAC/E,CAAC;IACjB,CAAC;IAES,WAAW;QACnB,OAAO;;;kBAGO,yBAAc,CAAC,OAAO,CACtB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,GAAG,CAAC,EAAE,CACJ;;8BAEU,GAAG;;0BAEP,CACT;qBACI,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markup-generator.js","sourceRoot":"","sources":["../../../../../../src/services/apexdoc/engine/generators/models/markup-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"method-markup-generator.js","sourceRoot":"","sources":["../../../../../../src/services/apexdoc/engine/generators/models/method-markup-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-markup-generator.js","sourceRoot":"","sources":["../../../../../../src/services/apexdoc/engine/generators/models/property-markup-generator.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,iFAAgD;AAChD,kFAAiD;AAEjD,gFAAgD;AAEhD,MAAM,uBAAwB,SAAQ,0BAA8B;IAClE,YAAsB,KAAoB,EAAE,MAAkC;QAC5E,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,MAAkB,EAAE,MAAkC;QAC3E,MAAM,UAAU,GAAG,kBAAQ,CAAC,MAAM,CAAC,SAAS,KAAK,kBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAEpH,IAAI,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAE5E,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;SACtF;QAED,MAAM,GAAG,qCAAqC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;0DACrB,MAAM,CAAC,IAAI;;sBAE/C,MAAM;;mBAET,CAAC;QAEhB,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,MAAM,CAAC,oBAAoB,CAAC,SAAiB;QACrD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAES,MAAM,CAAC,oBAAoB,CAAC,SAAiB;QACrD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAES,MAAM,CAAC,SAAS,CAAC,UAAgC;QACzD,IAAI,cAAc,GAAG,EAAE,EACrB,cAAc,GAAG,EAAE,CAAC;QACtB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,OAAO;;;;kBAIO,cAAc;kBACd,cAAc;kBACd,CAAC;IACjB,CAAC;IAES,OAAO,CAAC,eAAuB,EAAE,oBAA6B,EAAE,oBAA6B;QACrG,OAAO;kCACuB,IAAI,CAAC,KAAK,CAAC,KAAK;6CACL,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;;;0BAGvE,yBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;;;kBAGtD,oBAAoB,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE;kBACnF,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;kBACjF,CAAC;IACjB,CAAC;CACF;AAED,kBAAe,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-markup-generator.js","sourceRoot":"","sources":["../../../../../../src/services/apexdoc/engine/generators/models/source-markup-generator.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,kFAAiD;AACjD,mDAAmE;AAEnE,MAAM,qBAAsB,SAAQ,0BAA8B;IAChE,YAAsB,KAAoB,EAAE,MAAkC;QAC5E,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAoB,EAAE,MAAkC;QAC7E,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE3D,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,mBAAU,EAAE;YAC/B,IAAI,KAAK,CAAC,YAAY,EAAE;gBACtB,OAAO,EAAE,CAAC;aACX;SACF;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE;YAC/B,MAAM,GAAG;gDACiC,KAAK,CAAC,IAAI;mEACS,MAAM;mBACtD,CAAC;SACf;aAAM;YACL,MAAM,GAAG;gDACiC,KAAK,CAAC,IAAI;oEACU,MAAM;mBACvD,CAAC;SACf;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-level-markup-generator.js","sourceRoot":"","sources":["../../../../../../src/services/apexdoc/engine/generators/models/top-level-markup-generator.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,iFAAgD;AAChD,kFAAiD;AAGjD,MAAM,uBAAwB,SAAQ,0BAA8B;IAClE,YAAsB,KAAoB,EAAE,MAAkC;QAC5E,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAoB,EAAE,MAAkC,EAAE,iBAAiB,GAAG,EAAE;QACrG,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,iBAAiB,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAE9B,MAAM,GAAG;kBACK,MAAM;mBACL,CAAC;QAEhB,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,cAAc,CAAC,KAAa,EAAE,QAAgB,EAAE,UAAU,GAAG,EAAE,EAAE,YAAY,GAAG,4BAA4B,EAAE,GAAG,GAAG,KAAK;QACjI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC5E,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;IAES,MAAM;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,EAAE,CAAC;SACX;QAED,OAAO,QAAQ,yBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACnF,CAAC;IAES,KAAK;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACrB,OAAO,EAAE,CAAC;SACX;QAED,OAAO,QAAQ,yBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAClF,CAAC;CACF;AAED,kBAAe,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"see-link-generator.js","sourceRoot":"","sources":["../../../../../src/services/apexdoc/engine/generators/see-link-generator.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,19 @@
3
3
  **/
4
4
  import { Logger } from '@salesforce/core';
5
5
  export default class ApexClassScan {
6
- minapi: number;
7
6
  dir: string;
8
- allowedListEnd: string[];
9
- allowedISVTEViolations: string[];
10
7
  classFiles: any[];
11
8
  violations: any[];
12
- allowedListStart: string[];
13
- ignoreFiles: string[];
9
+ ignoreFiles: any[];
14
10
  logger: Logger;
15
- scan(sourceFolder: string): Promise<any[]>;
11
+ scan(sourceFolder: string): Promise<unknown[]>;
12
+ scanApexClasses(sourceFolder: string): Promise<any[]>;
13
+ scanApexTests(sourceFolder: string): Promise<unknown[]>;
16
14
  /**
17
15
  * test file names as per conventions
18
16
  */
19
17
  private checkFileNameConvention;
18
+ private checkClassesForKeywords2;
20
19
  /**
21
20
  * test class files for filter
22
21
  * @param {*} keywords
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) NCR Terafina
4
+ **/
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("tslib");
7
+ const core_1 = require("@salesforce/core");
8
+ const fs_1 = require("fs");
9
+ const path_1 = tslib_1.__importDefault(require("path"));
10
+ const ignored_files_1 = tslib_1.__importDefault(require("../../utils/ignored-files"));
11
+ const rules_1 = require("./rules");
12
+ class ApexClassScan {
13
+ constructor() {
14
+ this.dir = '';
15
+ this.classFiles = [];
16
+ this.violations = [];
17
+ this.ignoreFiles = [];
18
+ }
19
+ async scan(sourceFolder) {
20
+ this.scanApexClasses(sourceFolder);
21
+ this.scanApexTests(sourceFolder);
22
+ return this.violations;
23
+ }
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
+ async scanApexClasses(sourceFolder) {
26
+ this.logger = await core_1.Logger.root();
27
+ this.dir = sourceFolder + '/app/main/default/classes';
28
+ this.classFiles = this.getFilesInDirectory(this.dir, '.cls');
29
+ this.ignoreFiles.push(...ignored_files_1.default.files);
30
+ this.logger.debug(this.ignoreFiles);
31
+ await Promise.all([
32
+ this.checkFileNameConvention(),
33
+ this.checkClassesForKeywords2('(tffa\\.AbstractRepository\\.|tffa\\.AbstractController\\.|tffa\\.AbstractRESTService\\.)', 'DIRECT_ABSTRACT_CLASS'),
34
+ this.checkClassesForKeywords2('(\\[select |\\[update |\\[upsert |\\[delete |\\bDatabase\\.query\\b|\\bDatabase\\.update\\b|\\bDatabase\\.insert\\b|\\bDatabase\\.upsert\\b|\\bDatabase\\.delete\\b)', 'SOQL_REPOSITORY'),
35
+ this.checkClassesForKeywords2('SuppressWarnings', 'NO_SUPPRESSWARNINGS')
36
+ ]);
37
+ return this.violations;
38
+ }
39
+ async scanApexTests(sourceFolder) {
40
+ this.logger = await core_1.Logger.root();
41
+ this.dir = sourceFolder + '/app/test/default/classes';
42
+ this.classFiles = this.getFilesInDirectory(this.dir, '.cls');
43
+ this.ignoreFiles.push(...ignored_files_1.default.files);
44
+ this.logger.debug(this.ignoreFiles);
45
+ await Promise.all([
46
+ this.checkClassesForKeywords2('SuppressWarnings', 'NO_SUPPRESSWARNINGS'),
47
+ this.checkClassesForKeywords2('(System\\.assertEquals\\(true\\, true\\)|System\\.assertNotEquals\\(true\\, false\\)|System\\.assertNotEquals\\(false\\, true\\)|System\\.assert\\(true\\))', 'NO_SYSTEM_ASSERT_HARDCODING')
48
+ ]);
49
+ return this.violations;
50
+ }
51
+ /**
52
+ * test file names as per conventions
53
+ */
54
+ checkFileNameConvention() {
55
+ return new Promise(resolve => {
56
+ const violatingFiles = [];
57
+ for (const file of this.classFiles) {
58
+ const filepath = path_1.default.join(this.dir, file);
59
+ if (path_1.default.extname(filepath) == '.cls') {
60
+ const filename = path_1.default.basename(filepath, '.cls');
61
+ if (!ignored_files_1.default.allowedClassNameListEnd.some(substring => filename.endsWith(substring)) &&
62
+ !ignored_files_1.default.allowedClassNameListStart.some(substring => filename.startsWith(substring))) {
63
+ if (this.ignoreFiles.indexOf(filename) < 0 && this.ignoreFiles.indexOf(file) < 0) {
64
+ violatingFiles.push(filename);
65
+ }
66
+ else {
67
+ this.logger.debug(filename);
68
+ this.logger.debug(file);
69
+ }
70
+ }
71
+ }
72
+ }
73
+ if (violatingFiles.length > 0) {
74
+ const o = { ...rules_1.Rules.customrules['APEX_NAME_CONVENTION'], exceptions: violatingFiles };
75
+ this.violations.push(o);
76
+ }
77
+ resolve(null);
78
+ });
79
+ }
80
+ checkClassesForKeywords2(keywords, errorkey) {
81
+ const o = rules_1.Rules.customrules[errorkey];
82
+ this.checkClassesForKeywords(keywords, o.label, o.message, o.category, o.level);
83
+ }
84
+ /**
85
+ * test class files for filter
86
+ * @param {*} keywords
87
+ * @param {*} hint
88
+ */
89
+ checkClassesForKeywords(keywords, label, hint, category, level) {
90
+ return new Promise(resolve => {
91
+ const violatingFiles = [];
92
+ // We want full words, so we use full word boundary in regex.
93
+ const regex = new RegExp("^(?!\\s*(\\'|\\//|\\*)\\s*).*(" + keywords + ').*$', 'gim');
94
+ this.classFiles.forEach(file => {
95
+ const fileContent = (0, fs_1.readFileSync)(file);
96
+ const filec = fileContent.toString();
97
+ let found = false;
98
+ const filename = path_1.default.basename(file, '.cls');
99
+ if (regex.test(filec)) {
100
+ const output = filec.match(regex);
101
+ for (let i = 0; i < output.length; ++i) {
102
+ if (output[i].indexOf("'") < 0 || output[i].toLowerCase().indexOf(keywords.toLowerCase()) < output[i].indexOf("'")) {
103
+ found = true;
104
+ break;
105
+ }
106
+ }
107
+ if (found) {
108
+ if (this.ignoreFiles.indexOf(filename) < 0 && this.ignoreFiles.indexOf(file) < 0) {
109
+ violatingFiles.push(filename);
110
+ }
111
+ else {
112
+ this.logger.debug(filename);
113
+ this.logger.debug(file);
114
+ }
115
+ }
116
+ }
117
+ });
118
+ if (violatingFiles.length > 0) {
119
+ const o = {
120
+ label: label,
121
+ message: hint,
122
+ exceptions: violatingFiles,
123
+ category: category,
124
+ level: level
125
+ };
126
+ this.violations.push(o);
127
+ }
128
+ resolve(null);
129
+ });
130
+ }
131
+ /**
132
+ * Using recursion, we find every file with the desired extention, even if its deeply nested in subfolders.
133
+ * @param {*} dir
134
+ * @param {*} ext
135
+ */
136
+ getFilesInDirectory(dir, ext) {
137
+ let files = [];
138
+ if (!(0, fs_1.existsSync)(dir)) {
139
+ throw Error(`Specified directory: ${dir} does not exist`);
140
+ }
141
+ (0, fs_1.readdirSync)(dir).forEach(file => {
142
+ const filePath = path_1.default.join(dir, file);
143
+ const stat = (0, fs_1.lstatSync)(filePath);
144
+ // If we hit a directory, apply our function to that dir. If we hit a file, add it to the array of files.
145
+ if (stat.isDirectory()) {
146
+ const nestedFiles = this.getFilesInDirectory(filePath, ext);
147
+ files = files.concat(nestedFiles);
148
+ }
149
+ else {
150
+ if (path_1.default.extname(file) === ext) {
151
+ files.push(filePath);
152
+ }
153
+ }
154
+ });
155
+ return files;
156
+ }
157
+ }
158
+ exports.default = ApexClassScan;
159
+ //# sourceMappingURL=apex-class-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apex-class-scan.js","sourceRoot":"","sources":["../../../src/services/lint/apex-class-scan.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { Logger } from '@salesforce/core';
2
2
  export default class ApexPMD {
3
3
  ignoreFiles: any[];
4
4
  logger: Logger;
5
+ rules: string[];
6
+ eject(sourceFolder: string): Promise<unknown[]>;
5
7
  scan(sourceFolder: string, rulesetpath: string): Promise<any[]>;
6
8
  private executeCmd;
7
9
  private parseProblems;
@@ -8,13 +8,22 @@ const ChildProcess = tslib_1.__importStar(require("child_process"));
8
8
  const path = tslib_1.__importStar(require("path"));
9
9
  const os = tslib_1.__importStar(require("os"));
10
10
  const core_1 = require("@salesforce/core");
11
- const JreSetupManager = tslib_1.__importStar(require("../utils/jreSetupManager"));
12
- const ignored_files_1 = tslib_1.__importDefault(require("./ignored-files"));
11
+ const JreSetupManager = tslib_1.__importStar(require("../../utils/jreSetupManager"));
12
+ const ignored_files_1 = tslib_1.__importDefault(require("../../utils/ignored-files"));
13
+ const fs_1 = tslib_1.__importDefault(require("fs"));
13
14
  //setup OS constants
14
15
  const CLASSPATH_DELM = os.platform() === 'win32' ? ';' : ':';
15
16
  class ApexPMD {
16
17
  constructor() {
17
18
  this.ignoreFiles = [];
19
+ this.rules = ['apex_ruleset.xml', 'apex_test_ruleset.xml', 'apex_vf_ruleset.xml'];
20
+ }
21
+ async eject(sourceFolder) {
22
+ const pmdBinPath = path.join(__dirname, '../../../', 'bin', 'pmd');
23
+ for (const rulefile of this.rules) {
24
+ fs_1.default.copyFileSync(path.resolve(pmdBinPath, rulefile), path.resolve(sourceFolder, 'scripts', 'pmd', rulefile));
25
+ }
26
+ return;
18
27
  }
19
28
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
29
  async scan(sourceFolder, rulesetpath) {
@@ -40,7 +49,11 @@ class ApexPMD {
40
49
  const javaExc = path.join(javaHome, 'bin', 'java');
41
50
  const commandBufferSize = 64;
42
51
  const pmdBinPath = path.join(__dirname, '../../../', 'bin', 'pmd');
43
- let rulesetsArg = path.join(pmdBinPath, 'apex_ruleset.xml') + ',' + path.join(pmdBinPath, 'apex_test_ruleset.xml');
52
+ const rulepaths = [];
53
+ for (const rulefile of this.rules) {
54
+ rulepaths.push(path.join(pmdBinPath, rulefile));
55
+ }
56
+ let rulesetsArg = rulepaths.join(',');
44
57
  if (rulesetpath) {
45
58
  rulesetsArg = rulesetpath;
46
59
  }
@@ -99,7 +112,7 @@ class ApexPMD {
99
112
  this.logger.warn('Ignore file ' + filename);
100
113
  continue;
101
114
  }
102
- const key = v.ruleset + '-' + v.rule;
115
+ const key = v.ruleset + '-' + v.rule + '-' + v.priority;
103
116
  let o = violationMap.get(key);
104
117
  if (!o) {
105
118
  o = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apex-pmd.js","sourceRoot":"","sources":["../../../src/services/lint/apex-pmd.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,28 @@
3
3
  **/
4
4
  import { Logger } from '@salesforce/core';
5
5
  export default class MetadataScan {
6
+ namespace: any;
7
+ constructor(namespace?: string);
6
8
  ignoreFiles: any[];
7
9
  violations: unknown[];
8
10
  logger: Logger;
11
+ apiViolations: any[];
9
12
  scan(sourceFolder: string, minapi: number): Promise<unknown[]>;
10
- /**
11
- * scan json files
12
- */
13
- private scanJSONFiles;
14
13
  /**
15
14
  * parse objects
16
15
  * @param {*} objpath
17
16
  * @param {*} clientname
18
17
  */
19
18
  private scanObjects;
19
+ /**
20
+ * scan api
21
+ * @param sourceFolder
22
+ * @param minapi
23
+ */
20
24
  private scanAPIVersion;
21
25
  private scanAPIVersionByType;
26
+ /**
27
+ * scan json files
28
+ */
29
+ private scanJSONFiles;
22
30
  }
@@ -8,11 +8,15 @@ const core_1 = require("@salesforce/core");
8
8
  const fs_1 = require("fs");
9
9
  const path = require("path");
10
10
  const xml2js = require("xml2js");
11
- const ignored_files_1 = tslib_1.__importDefault(require("./ignored-files"));
11
+ const ignored_files_1 = tslib_1.__importDefault(require("../../utils/ignored-files"));
12
+ const rules_1 = require("./rules");
12
13
  class MetadataScan {
13
- constructor() {
14
+ constructor(namespace) {
15
+ this.namespace = undefined;
14
16
  this.ignoreFiles = [];
15
17
  this.violations = [];
18
+ this.apiViolations = [];
19
+ this.namespace = namespace;
16
20
  }
17
21
  async scan(sourceFolder, minapi) {
18
22
  this.logger = await core_1.Logger.child('MetadataScan');
@@ -22,24 +26,6 @@ class MetadataScan {
22
26
  await this.scanAPIVersion(sourceFolder, minapi);
23
27
  return this.violations;
24
28
  }
25
- /**
26
- * scan json files
27
- */
28
- async scanJSONFiles(path, minapi) {
29
- const fileContent = (0, fs_1.readFileSync)(path + '/sfdx-project.json');
30
- const obj = JSON.parse(fileContent.toString());
31
- if (minapi > parseInt(obj['sourceApiVersion'])) {
32
- // this.logger.debug(obj["sourceApiVersion"]);
33
- const o = {
34
- label: 'Project source api version not equal to ' + minapi,
35
- message: 'Please update sourceApiVersion to ' + minapi + ' sfdx-project.json',
36
- category: 'API',
37
- level: 'FATAL',
38
- exceptions: ['sfdx-project.json']
39
- };
40
- this.violations.push(o);
41
- }
42
- }
43
29
  /**
44
30
  * parse objects
45
31
  * @param {*} objpath
@@ -51,6 +37,9 @@ class MetadataScan {
51
37
  let tables = [];
52
38
  const tabViolations = [];
53
39
  const fieldViolations = [];
40
+ const fieldUnderScoreViolations = [];
41
+ const fieldCZNameViolations = [];
42
+ const tableCZNameViolations = [];
54
43
  try {
55
44
  tables = (0, fs_1.readdirSync)(srcPath);
56
45
  }
@@ -78,6 +67,14 @@ class MetadataScan {
78
67
  tabViolations.push(tabname);
79
68
  }
80
69
  });
70
+ if (!(ignored_files_1.default.skipObjects.includes(tabname) ||
71
+ ignored_files_1.default.skipStandardObjects.includes(tabname) ||
72
+ tabname.match(ignored_files_1.default.skipObjectPrefixes) ||
73
+ tabname.match(ignored_files_1.default.integrationPrefixes))) {
74
+ if (!tabname.startsWith('tffa__') && !tabname.startsWith('CZ') && !tabname.startsWith('cz') && !this.namespace) {
75
+ tableCZNameViolations.push(tabname);
76
+ }
77
+ }
81
78
  }
82
79
  }
83
80
  catch (err) {
@@ -89,6 +86,7 @@ class MetadataScan {
89
86
  const fields = (0, fs_1.readdirSync)(fieldPath);
90
87
  for (const f of fields) {
91
88
  const fieldFile = path.join(fieldPath, f);
89
+ const fieldname = f.split('.')[0];
92
90
  if (f.startsWith('tffa__')) {
93
91
  continue;
94
92
  }
@@ -96,7 +94,31 @@ class MetadataScan {
96
94
  this.logger.debug(fieldFile);
97
95
  continue;
98
96
  }
99
- const fieldname = f.split('.')[0];
97
+ let found = false;
98
+ const regex = new RegExp('.*_.*__c', 'gim');
99
+ if (regex.test(fieldname)) {
100
+ const output = fieldname.match(regex);
101
+ for (let i = 0; i < output.length; ++i) {
102
+ found = true;
103
+ break;
104
+ }
105
+ }
106
+ if (found) {
107
+ if (!(ignored_files_1.default.skipObjects.includes(tabname) ||
108
+ ignored_files_1.default.skipStandardObjects.includes(tabname) ||
109
+ tabname.match(ignored_files_1.default.skipObjectPrefixes) ||
110
+ tabname.match(ignored_files_1.default.integrationPrefixes))) {
111
+ fieldUnderScoreViolations.push(tabname + '.' + fieldname);
112
+ }
113
+ }
114
+ if (tabname.startsWith('tffa__') && !fieldname.startsWith('CZ') && !fieldname.startsWith('cz')) {
115
+ if (!(ignored_files_1.default.skipObjects.includes(tabname) ||
116
+ ignored_files_1.default.skipStandardObjects.includes(tabname) ||
117
+ tabname.match(ignored_files_1.default.skipObjectPrefixes) ||
118
+ tabname.match(ignored_files_1.default.integrationPrefixes))) {
119
+ fieldCZNameViolations.push(tabname + '.' + fieldname);
120
+ }
121
+ }
100
122
  const xml = (0, fs_1.readFileSync)(fieldFile);
101
123
  try {
102
124
  xml2js.parseString(xml, { async: false, explicitArray: false }, (_err, result) => {
@@ -118,36 +140,46 @@ class MetadataScan {
118
140
  }
119
141
  }
120
142
  if (tabViolations.length > 0) {
121
- const o = {
122
- label: 'Custom Objects should have a description',
123
- message: `It is a best practice that Custom Objects have a description.`,
124
- exceptions: tabViolations,
125
- category: 'INTERNAL',
126
- level: 'FATAL'
127
- };
143
+ const o = { ...rules_1.Rules.customrules['CUSTOM_TAB_DESCRIPTION'], exceptions: tabViolations };
128
144
  this.violations.push(o);
129
145
  }
130
146
  if (fieldViolations.length > 0) {
131
- const o = {
132
- label: 'Custom Fields should have a description',
133
- message: `It is a best practice that Custom Fields have a description.`,
134
- exceptions: fieldViolations,
135
- category: 'INTERNAL',
136
- level: 'FATAL'
137
- };
147
+ const o = { ...rules_1.Rules.customrules['CUSTOM_FIELD_DESCRIPTION'], exceptions: fieldViolations };
148
+ this.violations.push(o);
149
+ }
150
+ if (fieldUnderScoreViolations.length > 0) {
151
+ const o = { ...rules_1.Rules.customrules['CUSTOM_FIELD_UNDERSCORE'], exceptions: fieldUnderScoreViolations };
152
+ this.violations.push(o);
153
+ }
154
+ if (fieldCZNameViolations.length > 0) {
155
+ const o = { ...rules_1.Rules.customrules['CUSTOM_FIELD_CZ'], exceptions: fieldCZNameViolations };
156
+ this.violations.push(o);
157
+ }
158
+ if (tableCZNameViolations.length > 0) {
159
+ const o = { ...rules_1.Rules.customrules['CUSTOM_TAB_CZ'], exceptions: tableCZNameViolations };
138
160
  this.violations.push(o);
139
161
  }
140
162
  }
141
- // label: 'Using old Metadata API Version',
142
- // message: `You appear to be using a version of Metadata API less than the minimum specified. Use the --minapi flag to adjust the minimum API version.`,
163
+ /**
164
+ * scan api
165
+ * @param sourceFolder
166
+ * @param minapi
167
+ */
143
168
  async scanAPIVersion(sourceFolder, minapi) {
144
169
  await this.scanAPIVersionByType('ApexClass', sourceFolder, 'app/main/default/classes', minapi);
145
170
  await this.scanAPIVersionByType('ApexClass', sourceFolder, 'app/test/default/classes', minapi);
146
171
  await this.scanAPIVersionByType('ApexTrigger', sourceFolder, 'app/main/default/triggers', minapi);
147
172
  await this.scanAPIVersionByType('ApexPage', sourceFolder, 'app/main/default/pages', minapi);
173
+ if (this.apiViolations.length > 0) {
174
+ const o = {
175
+ ...rules_1.Rules.customrules['MINAPI_VERSION'],
176
+ exceptions: this.apiViolations,
177
+ message: `You appear to be using a version of Metadata API less than the minimum specified. Use the ` + minapi
178
+ };
179
+ this.violations.push(o);
180
+ }
148
181
  }
149
182
  scanAPIVersionByType(type, sourceFolder, basePath, minapi) {
150
- const apiViolations = [];
151
183
  const srcPath = path.join(sourceFolder, basePath);
152
184
  if (!(0, fs_1.existsSync)(srcPath)) {
153
185
  return;
@@ -168,23 +200,28 @@ class MetadataScan {
168
200
  else if (result) {
169
201
  const json = result;
170
202
  if (minapi > parseInt(json[type].apiVersion)) {
171
- apiViolations.push(f);
203
+ this.apiViolations.push(f);
172
204
  }
173
205
  }
174
206
  });
175
207
  }
176
208
  }
177
- if (apiViolations.length > 0) {
209
+ }
210
+ /**
211
+ * scan json files
212
+ */
213
+ async scanJSONFiles(path, minapi) {
214
+ const fileContent = (0, fs_1.readFileSync)(path + '/sfdx-project.json');
215
+ const obj = JSON.parse(fileContent.toString());
216
+ if (minapi > parseInt(obj['sourceApiVersion'])) {
178
217
  const o = {
179
- label: 'Using old Metadata API Version',
180
- message: `You appear to be using a version of Metadata API less than the minimum specified. Use the ` + minapi,
181
- exceptions: apiViolations,
182
- category: 'API',
183
- level: 'FATAL'
218
+ ...rules_1.Rules.customrules['PROJECT_API_VERSION'],
219
+ exceptions: ['sfdx-project.json'],
220
+ message: 'Please update sourceApiVersion to ' + minapi + ' sfdx-project.json'
184
221
  };
185
222
  this.violations.push(o);
186
223
  }
187
224
  }
188
225
  }
189
226
  exports.default = MetadataScan;
190
- //# sourceMappingURL=metadata-lint.js.map
227
+ //# sourceMappingURL=metadata-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-scan.js","sourceRoot":"","sources":["../../../src/services/lint/metadata-scan.ts"],"names":[],"mappings":";;;AAAA;;IAEI;AACJ,2CAA0C;AAC1C,2BAA2D;AAC3D,6BAA8B;AAC9B,iCAAkC;AAClC,sFAAqD;AACrD,mCAAgC;AAEhC,MAAqB,YAAY;IAE/B,YAAmB,SAAkB;QADrC,cAAS,GAAG,SAAS,CAAC;QAItB,gBAAW,GAAG,EAAE,CAAC;QACjB,eAAU,GAAc,EAAE,CAAC;QAE3B,kBAAa,GAAG,EAAE,CAAC;QALjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAMM,KAAK,CAAC,IAAI,CAAC,YAAoB,EAAE,MAAc;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,aAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,uBAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,YAAY;QAC9B,MAAM,QAAQ,GAAG,0BAA0B,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,MAAM,yBAAyB,GAAG,EAAE,CAAC;QACrC,MAAM,qBAAqB,GAAG,EAAE,CAAC;QACjC,MAAM,qBAAqB,GAAG,EAAE,CAAC;QACjC,IAAI;YACF,MAAM,GAAG,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC;SAC/B;QAAC,OAAO,CAAC,EAAE;YACV,OAAO;SACR;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACtB,MAAM,OAAO,GAAG,CAAC,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI;gBACF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBACjC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC3B,SAAS;qBACV;oBAED,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE;wBACxB,SAAS;qBACV;oBACD,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC;oBACT,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;wBAC/E,IAAI,GAAG,MAAM,CAAC;wBACd,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;4BAClC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC7B;oBACH,CAAC,CAAC,CAAC;oBAEH,IACE,CAAC,CACC,uBAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC1C,uBAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAClD,OAAO,CAAC,KAAK,CAAC,uBAAY,CAAC,kBAAkB,CAAC;wBAC9C,OAAO,CAAC,KAAK,CAAC,uBAAY,CAAC,mBAAmB,CAAC,CAChD,EACD;wBACA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;4BAC9G,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACrC;qBACF;iBACF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACxB;YACD,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE;gBAC1B,SAAS;aACV;YAED,MAAM,MAAM,GAAG,IAAA,gBAAW,EAAC,SAAS,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC1C,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC1B,SAAS;iBACV;gBACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC7B,SAAS;iBACV;gBACD,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBACzB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;wBACtC,KAAK,GAAG,IAAI,CAAC;wBACb,MAAM;qBACP;iBACF;gBACD,IAAI,KAAK,EAAE;oBACT,IACE,CAAC,CACC,uBAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC1C,uBAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAClD,OAAO,CAAC,KAAK,CAAC,uBAAY,CAAC,kBAAkB,CAAC;wBAC9C,OAAO,CAAC,KAAK,CAAC,uBAAY,CAAC,mBAAmB,CAAC,CAChD,EACD;wBACA,yBAAyB,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;qBAC3D;iBACF;gBAED,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBAC9F,IACE,CAAC,CACC,uBAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC1C,uBAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAClD,OAAO,CAAC,KAAK,CAAC,uBAAY,CAAC,kBAAkB,CAAC;wBAC9C,OAAO,CAAC,KAAK,CAAC,uBAAY,CAAC,mBAAmB,CAAC,CAChD,EACD;wBACA,qBAAqB,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;qBACvD;iBACF;gBAED,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,SAAS,CAAC,CAAC;gBACpC,IAAI;oBACF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;wBAC/E,IAAI,IAAI,EAAE;4BACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;yBACrD;6BAAM,IAAI,MAAM,EAAE;4BACjB,MAAM,IAAI,GAAG,MAAM,CAAC;4BACpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;gCACjC,eAAe,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;6BACjD;yBACF;oBACH,CAAC,CAAC,CAAC;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;oBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACxB;aACF;SACF;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,CAAC,GAAG,EAAE,GAAG,aAAK,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;YACxF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,MAAM,CAAC,GAAG,EAAE,GAAG,aAAK,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;YAC5F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,MAAM,CAAC,GAAG,EAAE,GAAG,aAAK,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,UAAU,EAAE,yBAAyB,EAAE,CAAC;YACrG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,CAAC,GAAG,EAAE,GAAG,aAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;YACzF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,CAAC,GAAG,EAAE,GAAG,aAAK,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;YACvF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;IACH,CAAC;IACD;;;;OAIG;IACK,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM;QAC/C,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAC/F,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAC/F,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,CAAC,CAAC;QAClG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,CAAC,GAAG;gBACR,GAAG,aAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC;gBACtC,UAAU,EAAE,IAAI,CAAC,aAAa;gBAC9B,OAAO,EAAE,4FAA4F,GAAG,MAAM;aAC/G,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;IACH,CAAC;IAEO,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE;YACxB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC3B,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC5B,SAAS;iBACV;gBAED,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;oBAC/E,IAAI,IAAI,EAAE;wBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;qBACnC;yBAAM,IAAI,MAAM,EAAE;wBACjB,MAAM,IAAI,GAAG,MAAM,CAAC;wBAEpB,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE;4BAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC5B;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IACD;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,MAAc;QAC9C,MAAM,WAAW,GAAG,IAAA,iBAAY,EAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/C,IAAI,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE;YAC9C,MAAM,CAAC,GAAG;gBACR,GAAG,aAAK,CAAC,WAAW,CAAC,qBAAqB,CAAC;gBAC3C,UAAU,EAAE,CAAC,mBAAmB,CAAC;gBACjC,OAAO,EAAE,oCAAoC,GAAG,MAAM,GAAG,oBAAoB;aAC9E,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB;IACH,CAAC;CACF;AAzOD,+BAyOC"}