@pnp/cli-microsoft365 5.1.0-beta.ffd9bc8 → 5.2.0-beta.90d2227

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 (211) hide show
  1. package/.eslintrc.js +1 -0
  2. package/Dockerfile +7 -4
  3. package/dist/Auth.js +10 -0
  4. package/dist/Command.js +3 -0
  5. package/dist/cli/Cli.js +14 -17
  6. package/dist/m365/app/commands/app-get.js +30 -0
  7. package/dist/m365/app/commands.js +1 -0
  8. package/dist/m365/cli/commands/config/config-set.js +3 -2
  9. package/dist/m365/spfx/commands/project/{project-upgrade/rules/JsonRule.js → JsonRule.js} +0 -0
  10. package/dist/m365/spfx/commands/project/{project-upgrade/rules/Rule.js → Rule.js} +0 -0
  11. package/dist/m365/spfx/commands/project/base-project-command.js +3 -3
  12. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.0.js +9 -0
  13. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.1.js +9 -0
  14. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.2.js +9 -0
  15. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.0.js +17 -0
  16. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.1.js +17 -0
  17. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.3.js +17 -0
  18. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.10.0.js +23 -0
  19. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.11.0.js +23 -0
  20. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.12.0.js +23 -0
  21. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.12.1.js +23 -0
  22. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.13.0.js +23 -0
  23. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.13.1.js +23 -0
  24. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.14.0.js +23 -0
  25. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.2.0.js +17 -0
  26. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.0.js +17 -0
  27. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.1.js +17 -0
  28. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.2.js +17 -0
  29. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.4.js +19 -0
  30. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.4.0.js +19 -0
  31. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.4.1.js +19 -0
  32. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.5.0.js +19 -0
  33. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.5.1.js +19 -0
  34. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.6.0.js +19 -0
  35. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.7.0.js +19 -0
  36. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.7.1.js +19 -0
  37. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.0.js +21 -0
  38. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.1.js +21 -0
  39. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.2.js +23 -0
  40. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.9.1.js +23 -0
  41. package/dist/m365/spfx/commands/project/project-doctor/generic-rules.js +30 -0
  42. package/dist/m365/spfx/commands/project/project-doctor/rules/DependencyRule.js +76 -0
  43. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +18 -0
  44. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +18 -0
  45. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +18 -0
  46. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002004_DEVDEP_gulp.js +17 -0
  47. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002007_DEVDEP_ajv.js +17 -0
  48. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002013_DEVDEP_types_webpack_env.js +14 -0
  49. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +18 -0
  50. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +18 -0
  51. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002019_DEVDEP_microsoft_rush_stack_compiler.js +68 -0
  52. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021001_PKG_spfx_deps_versions_match_project_version.js +74 -0
  53. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021002_PKG_spfx_deps_use_exact_version.js +71 -0
  54. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021003_PKG_spfx_deps_installed_as_deps.js +46 -0
  55. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021004_PKG_spfx_devdeps_installed_as_devdeps.js +46 -0
  56. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021005_PKG_types_installed_as_devdep.js +45 -0
  57. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021006_PKG_rush_stack_compiler_installed_as_devdep.js +45 -0
  58. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021007_PKG_only_one_rush_stack_compiler_installed.js +69 -0
  59. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021008_PKG_no_duplicate_deps.js +59 -0
  60. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021009_PKG_no_duplicate_oui_deps.js +57 -0
  61. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021010_PKG_gulp_installed_as_devdep.js +45 -0
  62. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021011_PKG_ajv_installed_as_devdep.js +45 -0
  63. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021012_PKG_no_duplicate_pnpjs_deps.js +57 -0
  64. package/dist/m365/spfx/commands/project/project-doctor/spfx-deps.js +29 -0
  65. package/dist/m365/spfx/commands/project/project-doctor.js +341 -0
  66. package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +3 -2
  67. package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -1
  68. package/dist/m365/spfx/commands/project/{model → project-model}/ConfigJson.js +0 -0
  69. package/dist/m365/spfx/commands/project/{model → project-model}/CopyAssetsJson.js +0 -0
  70. package/dist/m365/spfx/commands/project/{model → project-model}/DeployAzureStorageJson.js +0 -0
  71. package/dist/m365/spfx/commands/project/{model → project-model}/Gitignore.js +0 -0
  72. package/dist/m365/spfx/commands/project/{model → project-model}/GulpfileJs.js +0 -0
  73. package/dist/m365/spfx/commands/project/{model → project-model}/JsonFile.js +0 -0
  74. package/dist/m365/spfx/commands/project/{model → project-model}/Manifest.js +0 -0
  75. package/dist/m365/spfx/commands/project/{model → project-model}/Npmignore.js +0 -0
  76. package/dist/m365/spfx/commands/project/{model → project-model}/PackageJson.js +0 -0
  77. package/dist/m365/spfx/commands/project/{model → project-model}/PackageSolutionJson.js +0 -0
  78. package/dist/m365/spfx/commands/project/{model → project-model}/Project.js +0 -0
  79. package/dist/m365/spfx/commands/project/{model → project-model}/ScssFile.js +0 -0
  80. package/dist/m365/spfx/commands/project/{model → project-model}/ServeJson.js +0 -0
  81. package/dist/m365/spfx/commands/project/{model → project-model}/TsConfigJson.js +0 -0
  82. package/dist/m365/spfx/commands/project/{model → project-model}/TsFile.js +0 -0
  83. package/dist/m365/spfx/commands/project/{model → project-model}/TsLintJson.js +0 -0
  84. package/dist/m365/spfx/commands/project/{model → project-model}/VsCode.js +0 -0
  85. package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeExtensionsJson.js +0 -0
  86. package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeLaunchJson.js +0 -0
  87. package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeSettingsJson.js +0 -0
  88. package/dist/m365/spfx/commands/project/{model → project-model}/WriteManifestsJson.js +0 -0
  89. package/dist/m365/spfx/commands/project/{model → project-model}/YoRcJson.js +0 -0
  90. package/dist/m365/spfx/commands/project/{model → project-model}/index.js +2 -1
  91. package/dist/m365/spfx/commands/project/project-upgrade/rules/DependencyRule.js +1 -1
  92. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001021_DEP_microsoft_sp_property_pane.js +1 -0
  93. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003001_CFG_schema.js +1 -1
  94. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003002_CFG_version.js +1 -1
  95. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003003_CFG_bundles.js +1 -1
  96. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003004_CFG_entries.js +1 -1
  97. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003005_CFG_localizedResource_pathLib.js +1 -1
  98. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN004001_CFG_CA_schema.js +1 -1
  99. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN004002_CFG_CA_deployCdnPath.js +1 -1
  100. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN005001_CFG_DAS_schema.js +1 -1
  101. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN005002_CFG_DAS_workingDir.js +1 -1
  102. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006001_CFG_PS_schema.js +1 -1
  103. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006002_CFG_PS_includeClientSideAssets.js +1 -1
  104. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006003_CFG_PS_isDomainIsolated.js +1 -1
  105. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006004_CFG_PS_developer.js +1 -1
  106. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006005_CFG_PS_metadata.js +1 -1
  107. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +1 -1
  108. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007001_CFG_S_schema.js +1 -1
  109. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007002_CFG_S_initialPage.js +1 -1
  110. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007003_CFG_S_api.js +1 -1
  111. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008001_CFG_TSL_schema.js +1 -1
  112. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008002_CFG_TSL_removeRule.js +1 -1
  113. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008003_CFG_TSL_preferConst.js +1 -1
  114. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN009001_CFG_WM_schema.js +1 -1
  115. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +1 -1
  116. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +1 -1
  117. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +1 -1
  118. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +1 -1
  119. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +1 -1
  120. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +1 -1
  121. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +1 -1
  122. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012001_TSC_module.js +1 -1
  123. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012002_TSC_moduleResolution.js +1 -1
  124. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012003_TSC_skipLibCheck.js +1 -1
  125. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012004_TSC_typeRoots_types.js +1 -1
  126. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012005_TSC_typeRoots_microsoft.js +1 -1
  127. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012006_TSC_types_es6_collections.js +1 -1
  128. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012007_TSC_lib_es5.js +1 -1
  129. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012008_TSC_lib_dom.js +1 -1
  130. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012009_TSC_lib_es2015_collection.js +1 -1
  131. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012010_TSC_experimentalDecorators.js +1 -1
  132. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012011_TSC_outDir.js +1 -1
  133. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012012_TSC_include.js +1 -1
  134. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012013_TSC_exclude.js +1 -1
  135. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012014_TSC_inlineSources.js +1 -1
  136. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012015_TSC_strictNullChecks.js +1 -1
  137. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012016_TSC_noUnusedLocals.js +1 -1
  138. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012017_TSC_extends.js +1 -1
  139. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012018_TSC_lib_es2015_promise.js +1 -1
  140. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012019_TSC_types_es6_promise.js +1 -1
  141. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN013001_GULP_msGridSassSuppression.js +1 -1
  142. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN013002_GULP_serveTask.js +1 -1
  143. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014001_CODE_settings_jsonSchemas.js +1 -1
  144. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014002_CODE_extensions.js +1 -1
  145. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014003_CODE_launch.js +1 -1
  146. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014004_CODE_settings_jsonSchemas_configJson_url.js +1 -1
  147. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014005_CODE_settingsfile.js +1 -1
  148. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014006_CODE_launch_sourceMapPathOverrides.js +1 -1
  149. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014007_CODE_launch_localWorkbench.js +1 -1
  150. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014008_CODE_launch_hostedWorkbench_type.js +1 -1
  151. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN017001_MISC_npm_dedupe.js +1 -1
  152. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018001_TEAMS_folder.js +1 -1
  153. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018002_TEAMS_manifest.js +1 -1
  154. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018003_TEAMS_tab20x20_png.js +1 -1
  155. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018004_TEAMS_tab96x96_png.js +1 -1
  156. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018005_TEAMS_deprecated_manifest.js +1 -1
  157. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN019001_TSL_rulesDirectory.js +1 -1
  158. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN019002_TSL_extends.js +1 -1
  159. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023001_GITIGNORE_release.js +1 -1
  160. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023002_GITIGNORE_heft.js +1 -1
  161. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN024001_NPMIGNORE_file.js +1 -1
  162. package/dist/m365/spfx/commands/project/project-upgrade/rules/FileAddRemoveRule.js +1 -1
  163. package/dist/m365/spfx/commands/project/project-upgrade/rules/ManifestRule.js +1 -1
  164. package/dist/m365/spfx/commands/project/project-upgrade/rules/PackageRule.js +1 -1
  165. package/dist/m365/spfx/commands/project/project-upgrade/rules/ResolutionRule.js +1 -1
  166. package/dist/m365/spfx/commands/project/project-upgrade/rules/ScssRule.js +1 -1
  167. package/dist/m365/spfx/commands/project/project-upgrade/rules/TsRule.js +1 -1
  168. package/dist/m365/spfx/commands/project/project-upgrade.js +37 -153
  169. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/Finding.js +0 -0
  170. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingToReport.js +0 -0
  171. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingTour.js +0 -0
  172. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingTourStep.js +0 -0
  173. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/Occurrence.js +0 -0
  174. package/dist/m365/spfx/commands/project/{ReportData.js → report-model/ReportData.js} +0 -0
  175. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/index.js +2 -3
  176. package/dist/m365/spfx/commands/spfx-doctor.js +6 -0
  177. package/dist/m365/spfx/commands.js +1 -0
  178. package/dist/m365/spo/commands/app/app-teamspackage-download.js +180 -0
  179. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +10 -44
  180. package/dist/m365/spo/commands.js +1 -0
  181. package/dist/m365/teams/commands/chat/chat-get.js +143 -0
  182. package/dist/m365/teams/commands/chat/chat-message-send.js +5 -30
  183. package/dist/m365/teams/commands/chat/chatUtil.js +62 -0
  184. package/dist/m365/teams/commands.js +1 -0
  185. package/dist/m365/tenant/commands.js +1 -6
  186. package/dist/settingsNames.js +1 -0
  187. package/dist/utils/fsUtil.js +70 -0
  188. package/dist/utils/index.js +3 -0
  189. package/dist/utils/md.js +81 -0
  190. package/dist/utils/packageManager.js +66 -0
  191. package/dist/utils/spfx.js +6 -5
  192. package/dist/{m365/spfx/commands/project/project-upgrade/Hash.js → utils/types.js} +1 -1
  193. package/docs/docs/cmd/app/app-get.md +36 -0
  194. package/docs/docs/cmd/spfx/project/project-doctor.md +64 -0
  195. package/docs/docs/cmd/spfx/spfx-doctor.md +4 -1
  196. package/docs/docs/cmd/spo/app/app-teamspackage-download.md +56 -0
  197. package/docs/docs/cmd/teams/chat/chat-get.md +53 -0
  198. package/npm-shrinkwrap.json +292 -740
  199. package/package.json +2 -2
  200. package/dist/m365/spfx/commands/project/project-upgrade/DependencyInformation.js +0 -3
  201. package/dist/m365/spfx/commands/project/project-upgrade/Dictionary.js +0 -3
  202. package/dist/m365/tenant/commands/auditlog/auditlog-report.js +0 -231
  203. package/dist/m365/tenant/commands/service/service-list.js +0 -41
  204. package/dist/m365/tenant/commands/service/service-message-list.js +0 -55
  205. package/dist/m365/tenant/commands/service/service-report-historicalservicestatus.js +0 -54
  206. package/dist/m365/tenant/commands/status/status-list.js +0 -55
  207. package/docs/docs/cmd/tenant/auditlog/auditlog-report.md +0 -61
  208. package/docs/docs/cmd/tenant/service/service-list.md +0 -25
  209. package/docs/docs/cmd/tenant/service/service-message-list.md +0 -34
  210. package/docs/docs/cmd/tenant/service/service-report-historicalservicestatus.md +0 -38
  211. package/docs/docs/cmd/tenant/status/status-list.md +0 -34
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("fs");
4
+ const os = require("os");
5
+ const path = require("path");
6
+ const Command_1 = require("../../../../Command");
7
+ const utils_1 = require("../../../../utils");
8
+ const commands_1 = require("../../commands");
9
+ const base_project_command_1 = require("./base-project-command");
10
+ const generic_rules_1 = require("./project-doctor/generic-rules");
11
+ const FN017001_MISC_npm_dedupe_1 = require("./project-upgrade/rules/FN017001_MISC_npm_dedupe");
12
+ class SpfxProjectDoctorCommand extends base_project_command_1.BaseProjectCommand {
13
+ constructor() {
14
+ super();
15
+ this.allFindings = [];
16
+ this.packageManager = 'npm';
17
+ this.supportedVersions = [
18
+ '1.0.0',
19
+ '1.0.1',
20
+ '1.0.2',
21
+ '1.1.0',
22
+ '1.1.1',
23
+ '1.1.3',
24
+ '1.2.0',
25
+ '1.3.0',
26
+ '1.3.1',
27
+ '1.3.2',
28
+ '1.3.4',
29
+ '1.4.0',
30
+ '1.4.1',
31
+ '1.5.0',
32
+ '1.5.1',
33
+ '1.6.0',
34
+ '1.7.0',
35
+ '1.7.1',
36
+ '1.8.0',
37
+ '1.8.1',
38
+ '1.8.2',
39
+ '1.9.1',
40
+ '1.10.0',
41
+ '1.11.0',
42
+ '1.12.0',
43
+ '1.12.1',
44
+ '1.13.0',
45
+ '1.13.1',
46
+ '1.14.0'
47
+ ];
48
+ }
49
+ get name() {
50
+ return commands_1.default.PROJECT_DOCTOR;
51
+ }
52
+ get description() {
53
+ return 'Validates correctness of a SharePoint Framework project';
54
+ }
55
+ getTelemetryProperties(args) {
56
+ const telemetryProps = super.getTelemetryProperties(args);
57
+ telemetryProps.packageManager = args.options.packageManager || 'npm';
58
+ return telemetryProps;
59
+ }
60
+ commandAction(logger, args, cb) {
61
+ this.projectRootPath = this.getProjectRoot(process.cwd());
62
+ if (this.projectRootPath === null) {
63
+ cb(new Command_1.CommandError(`Couldn't find project root folder`, SpfxProjectDoctorCommand.ERROR_NO_PROJECT_ROOT_FOLDER));
64
+ return;
65
+ }
66
+ this.packageManager = args.options.packageManager || 'npm';
67
+ if (this.verbose) {
68
+ logger.logToStderr('Collecting project...');
69
+ }
70
+ const project = this.getProject(this.projectRootPath);
71
+ if (this.debug) {
72
+ logger.logToStderr('Collected project');
73
+ logger.logToStderr(project);
74
+ }
75
+ project.version = this.getProjectVersion();
76
+ if (!project.version) {
77
+ cb(new Command_1.CommandError(`Unable to determine the version of the current SharePoint Framework project`, SpfxProjectDoctorCommand.ERROR_NO_VERSION));
78
+ return;
79
+ }
80
+ if (!this.supportedVersions.includes(project.version)) {
81
+ cb(new Command_1.CommandError(`CLI for Microsoft 365 doesn't support validating projects built using SharePoint Framework v${project.version}`, SpfxProjectDoctorCommand.ERROR_UNSUPPORTED_VERSION));
82
+ return;
83
+ }
84
+ if (this.verbose) {
85
+ logger.logToStderr(`Project built using SPFx v${project.version}`);
86
+ }
87
+ const rules = [...generic_rules_1.rules];
88
+ try {
89
+ const versionRules = require(`./project-doctor/doctor-${project.version}`);
90
+ rules.push(...versionRules);
91
+ }
92
+ catch (e) {
93
+ cb(new Command_1.CommandError(e.message));
94
+ return;
95
+ }
96
+ rules.forEach(r => {
97
+ r.visit(project, this.allFindings);
98
+ });
99
+ if (this.packageManager === 'npm') {
100
+ const npmDedupeRule = new FN017001_MISC_npm_dedupe_1.FN017001_MISC_npm_dedupe();
101
+ npmDedupeRule.visit(project, this.allFindings);
102
+ }
103
+ // remove superseded findings
104
+ this.allFindings
105
+ // get findings that supersede other findings
106
+ .filter(f => f.supersedes.length > 0)
107
+ .forEach(f => {
108
+ f.supersedes.forEach(s => {
109
+ // find the superseded finding
110
+ const i = this.allFindings.findIndex(f1 => f1.id === s);
111
+ if (i > -1) {
112
+ // ...and remove it from findings
113
+ this.allFindings.splice(i, 1);
114
+ }
115
+ });
116
+ });
117
+ // flatten
118
+ const findingsToReport = [].concat.apply([], this.allFindings.map(f => {
119
+ return f.occurrences.map(o => {
120
+ return {
121
+ description: f.description,
122
+ id: f.id,
123
+ file: o.file,
124
+ position: o.position,
125
+ resolution: o.resolution,
126
+ resolutionType: f.resolutionType,
127
+ severity: f.severity,
128
+ title: f.title
129
+ };
130
+ });
131
+ }));
132
+ // replace package operation tokens with command for the specific package manager
133
+ findingsToReport.forEach(f => {
134
+ // matches must be in this particular order to avoid false matches, eg.
135
+ // uninstallDev contains install
136
+ if (f.resolution.startsWith('uninstallDev')) {
137
+ f.resolution = f.resolution.replace('uninstallDev', utils_1.packageManager.getPackageManagerCommand('uninstallDev', this.packageManager));
138
+ return;
139
+ }
140
+ if (f.resolution.startsWith('installDev')) {
141
+ f.resolution = f.resolution.replace('installDev', utils_1.packageManager.getPackageManagerCommand('installDev', this.packageManager));
142
+ return;
143
+ }
144
+ if (f.resolution.startsWith('uninstall')) {
145
+ f.resolution = f.resolution.replace('uninstall', utils_1.packageManager.getPackageManagerCommand('uninstall', this.packageManager));
146
+ return;
147
+ }
148
+ if (f.resolution.startsWith('install')) {
149
+ f.resolution = f.resolution.replace('install', utils_1.packageManager.getPackageManagerCommand('install', this.packageManager));
150
+ return;
151
+ }
152
+ });
153
+ switch (args.options.output) {
154
+ case 'text':
155
+ logger.log(this.getTextReport(findingsToReport));
156
+ break;
157
+ case 'tour':
158
+ this.writeReportTourFolder(this.getTourReport(findingsToReport));
159
+ break;
160
+ case 'md':
161
+ logger.log(this.getMdReport(findingsToReport));
162
+ break;
163
+ default:
164
+ logger.log(findingsToReport);
165
+ }
166
+ cb();
167
+ }
168
+ writeReportTourFolder(findingsToReport) {
169
+ const toursFolder = path.join(this.projectRootPath, '.tours');
170
+ if (!fs.existsSync(toursFolder)) {
171
+ fs.mkdirSync(toursFolder, { recursive: false });
172
+ }
173
+ const tourFilePath = path.join(this.projectRootPath, '.tours', 'validation.tour');
174
+ fs.writeFileSync(path.resolve(tourFilePath), findingsToReport, 'utf-8');
175
+ }
176
+ getTextReport(findings) {
177
+ if (findings.length === 0) {
178
+ return '✅ CLI for Microsoft 365 has found no issues in your project';
179
+ }
180
+ const reportData = this.getReportData(findings);
181
+ const s = [
182
+ 'Execute in command line', os.EOL,
183
+ '-----------------------', os.EOL,
184
+ reportData.packageManagerCommands.join(os.EOL), os.EOL,
185
+ os.EOL
186
+ ];
187
+ return s.join('').trim();
188
+ }
189
+ getMdReport(findings) {
190
+ const findingsToReport = [];
191
+ const reportData = this.getReportData(findings);
192
+ findings.forEach(f => {
193
+ let resolution = '';
194
+ switch (f.resolutionType) {
195
+ case 'cmd':
196
+ resolution = `Execute the following command:
197
+
198
+ \`\`\`sh
199
+ ${f.resolution}
200
+ \`\`\`
201
+ `;
202
+ break;
203
+ }
204
+ findingsToReport.push(`### ${f.id} ${f.title} | ${f.severity}`, os.EOL, os.EOL, f.description, os.EOL, os.EOL, resolution, os.EOL, `File: [${f.file}${(f.position ? `:${f.position.line}:${f.position.character}` : '')}](${f.file})`, os.EOL, os.EOL);
205
+ });
206
+ const s = [
207
+ `# Validate project ${path.basename(this.projectRootPath)}`, os.EOL,
208
+ os.EOL,
209
+ `Date: ${(new Date().toLocaleDateString())}`, os.EOL,
210
+ os.EOL,
211
+ '## Findings', os.EOL,
212
+ os.EOL
213
+ ];
214
+ if (findingsToReport.length === 0) {
215
+ s.push(`✅ CLI for Microsoft 365 has found no issues in your project`, os.EOL);
216
+ }
217
+ else {
218
+ s.push(...[
219
+ `Following is the list of issues found in your project. [Summary](#Summary) of the recommended fixes is included at the end of the report.`, os.EOL,
220
+ os.EOL,
221
+ findingsToReport.join(''),
222
+ '## Summary', os.EOL,
223
+ os.EOL,
224
+ '### Execute script', os.EOL,
225
+ os.EOL,
226
+ '```sh', os.EOL,
227
+ reportData.packageManagerCommands.join(os.EOL), os.EOL,
228
+ '```', os.EOL,
229
+ os.EOL
230
+ ]);
231
+ }
232
+ return s.join('').trim();
233
+ }
234
+ getTourReport(findings) {
235
+ const tourFindings = {
236
+ title: `Validate project ${path.basename(this.projectRootPath)}`,
237
+ steps: []
238
+ };
239
+ findings.forEach(f => {
240
+ const lineNumber = f.position && f.position.line ? f.position.line : 1;
241
+ let resolution = '';
242
+ switch (f.resolutionType) {
243
+ case 'cmd':
244
+ resolution = `Execute the following command:\r\n\r\n[\`${f.resolution}\`](command:codetour.sendTextToTerminal?["${f.resolution}"])`;
245
+ break;
246
+ }
247
+ // Make severity uppercase for the markdown
248
+ const sev = f.severity.toUpperCase();
249
+ // Clean up the file name
250
+ let file = f.file;
251
+ if (file !== undefined) {
252
+ // CodeTour expects the files to be relative from root (i.e.: no './')
253
+ file = file.replace(/\.\//g, '');
254
+ // CodeTour also expects forward slashes as directory separators
255
+ file = file.replace(/\\/g, '/');
256
+ }
257
+ // Create a tour step entry
258
+ const step = {
259
+ file,
260
+ title: `${sev}: ${f.title} (${f.id})`,
261
+ description: `### ${sev}\r\n\r\n${f.description}\r\n\r\n${resolution}`,
262
+ line: lineNumber
263
+ };
264
+ tourFindings.steps.push(step);
265
+ });
266
+ // Add the finale
267
+ tourFindings.steps.push({
268
+ file: ".tours/validation.tour",
269
+ title: "RECOMMENDED: Delete tour",
270
+ description: "### THAT'S IT!!!\r\nOnce you have tested that your project has no more issues, you can delete the `.tour` folder and its contents. Otherwise, you'll be prompted to launch this CodeTour every time you open this project."
271
+ });
272
+ return JSON.stringify(tourFindings, null, 2);
273
+ }
274
+ getReportData(findings) {
275
+ const commandsToExecute = [];
276
+ const modificationPerFile = {};
277
+ const modificationTypePerFile = {};
278
+ const packagesDevExact = [];
279
+ const packagesDepExact = [];
280
+ const packagesDepUn = [];
281
+ const packagesDevUn = [];
282
+ findings.forEach(f => {
283
+ utils_1.packageManager.mapPackageManagerCommand({
284
+ command: f.resolution,
285
+ packagesDevExact,
286
+ packagesDepExact,
287
+ packagesDepUn,
288
+ packagesDevUn,
289
+ packageMgr: this.packageManager
290
+ });
291
+ });
292
+ const packageManagerCommands = utils_1.packageManager.reducePackageManagerCommand({
293
+ packagesDepExact,
294
+ packagesDevExact,
295
+ packagesDepUn,
296
+ packagesDevUn,
297
+ packageMgr: this.packageManager
298
+ });
299
+ if (this.packageManager === 'npm') {
300
+ const dedupeFinding = findings.filter(f => f.id === 'FN017001');
301
+ if (dedupeFinding.length > 0) {
302
+ packageManagerCommands.push(dedupeFinding[0].resolution);
303
+ }
304
+ }
305
+ return {
306
+ commandsToExecute: commandsToExecute,
307
+ packageManagerCommands: packageManagerCommands,
308
+ modificationPerFile: modificationPerFile,
309
+ modificationTypePerFile: modificationTypePerFile
310
+ };
311
+ }
312
+ options() {
313
+ const options = [
314
+ {
315
+ option: '--packageManager [packageManager]',
316
+ autocomplete: SpfxProjectDoctorCommand.packageManagers
317
+ }
318
+ ];
319
+ const parentOptions = super.options();
320
+ parentOptions.forEach(o => {
321
+ if (o.option.indexOf('--output') > -1) {
322
+ o.autocomplete = ['json', 'text', 'md', 'tour'];
323
+ }
324
+ });
325
+ return options.concat(parentOptions);
326
+ }
327
+ validate(args) {
328
+ if (args.options.packageManager) {
329
+ if (SpfxProjectDoctorCommand.packageManagers.indexOf(args.options.packageManager) < 0) {
330
+ return `${args.options.packageManager} is not a supported package manager. Supported package managers are ${SpfxProjectDoctorCommand.packageManagers.join(', ')}`;
331
+ }
332
+ }
333
+ return true;
334
+ }
335
+ }
336
+ SpfxProjectDoctorCommand.packageManagers = ['npm', 'pnpm', 'yarn'];
337
+ SpfxProjectDoctorCommand.ERROR_NO_PROJECT_ROOT_FOLDER = 1;
338
+ SpfxProjectDoctorCommand.ERROR_NO_VERSION = 3;
339
+ SpfxProjectDoctorCommand.ERROR_UNSUPPORTED_VERSION = 4;
340
+ module.exports = new SpfxProjectDoctorCommand();
341
+ //# sourceMappingURL=project-doctor.js.map
@@ -12,7 +12,8 @@ class DynamicRule extends BasicDependencyRule_1.BasicDependencyRule {
12
12
  this.fileVariationSuffixes = ['.min', '.bundle', '-min', '.bundle.min'];
13
13
  }
14
14
  visit(project) {
15
- if (!project.packageJson) {
15
+ if (!project.packageJson ||
16
+ !project.packageJson.dependencies) {
16
17
  return Promise.resolve({ entries: [], suggestions: [] });
17
18
  }
18
19
  const validPackageNames = Object.getOwnPropertyNames(project.packageJson.dependencies)
@@ -30,7 +31,7 @@ class DynamicRule extends BasicDependencyRule_1.BasicDependencyRule {
30
31
  });
31
32
  }
32
33
  getExternalEntryForPackage(packageName, project) {
33
- const version = project.packageJson && project.packageJson.dependencies[packageName];
34
+ const version = project.packageJson.dependencies[packageName];
34
35
  const filesPaths = this.getFilePath(packageName).map(x => this.cleanFilePath(x));
35
36
  if (!version || filesPaths.length === 0) {
36
37
  return Promise.resolve(undefined);
@@ -76,10 +76,11 @@ class PnPJsRule extends BasicDependencyRule_1.BasicDependencyRule {
76
76
  return project && project.manifests ? project.manifests.map(x => x.path.replace('.manifest.json', '.ts')) : [];
77
77
  }
78
78
  getModuleAndParents(project, moduleName) {
79
+ var _a;
79
80
  const result = [];
80
81
  const moduleConfiguration = this.pnpModules.find(x => x.key === moduleName);
81
82
  if (project.packageJson && moduleConfiguration) {
82
- const version = project.packageJson.dependencies[moduleName];
83
+ const version = (_a = project.packageJson.dependencies) === null || _a === void 0 ? void 0 : _a[moduleName];
83
84
  if (version) {
84
85
  result.push(Object.assign(Object.assign({}, moduleConfiguration), { path: `https://unpkg.com/${moduleConfiguration.key}@${version}/dist/${moduleName.replace('@pnp/', '')}.es5.umd${moduleName === '@pnp/common' || moduleName === ' @pnp/pnpjs' ? '.bundle' : ''}.min.js` }));
85
86
  moduleConfiguration.globalDependencies && moduleConfiguration.globalDependencies.forEach(dependency => {
@@ -19,8 +19,9 @@ __exportStar(require("./CopyAssetsJson"), exports);
19
19
  __exportStar(require("./DeployAzureStorageJson"), exports);
20
20
  __exportStar(require("./Gitignore"), exports);
21
21
  __exportStar(require("./GulpfileJs"), exports);
22
- __exportStar(require("./Manifest"), exports);
23
22
  __exportStar(require("./JsonFile"), exports);
23
+ __exportStar(require("./Manifest"), exports);
24
+ __exportStar(require("./Npmignore"), exports);
24
25
  __exportStar(require("./PackageJson"), exports);
25
26
  __exportStar(require("./PackageSolutionJson"), exports);
26
27
  __exportStar(require("./Project"), exports);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DependencyRule = void 0;
4
4
  const semver_1 = require("semver");
5
- const JsonRule_1 = require("./JsonRule");
5
+ const JsonRule_1 = require("../../JsonRule");
6
6
  class DependencyRule extends JsonRule_1.JsonRule {
7
7
  constructor(packageName, packageVersion, isDevDep = false, isOptional = false, add = true) {
8
8
  super();
@@ -11,6 +11,7 @@ class FN001021_DEP_microsoft_sp_property_pane extends DependencyRule_1.Dependenc
11
11
  }
12
12
  customCondition(project) {
13
13
  return !!project.packageJson &&
14
+ !!project.packageJson.dependencies &&
14
15
  !!project.packageJson.dependencies['@microsoft/sp-webpart-base'];
15
16
  }
16
17
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN003001_CFG_schema = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN003001_CFG_schema extends JsonRule_1.JsonRule {
6
6
  constructor(schema) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN003002_CFG_version = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN003002_CFG_version extends JsonRule_1.JsonRule {
6
6
  constructor(version) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN003003_CFG_bundles = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN003003_CFG_bundles extends JsonRule_1.JsonRule {
6
6
  get id() {
7
7
  return 'FN003003';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN003004_CFG_entries = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN003004_CFG_entries extends JsonRule_1.JsonRule {
6
6
  get id() {
7
7
  return 'FN003004';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN003005_CFG_localizedResource_pathLib = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN003005_CFG_localizedResource_pathLib extends JsonRule_1.JsonRule {
6
6
  get id() {
7
7
  return 'FN003005';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN004001_CFG_CA_schema = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN004001_CFG_CA_schema extends JsonRule_1.JsonRule {
6
6
  constructor(schema) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN004002_CFG_CA_deployCdnPath = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN004002_CFG_CA_deployCdnPath extends JsonRule_1.JsonRule {
6
6
  constructor(deployCdnPath) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN005001_CFG_DAS_schema = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN005001_CFG_DAS_schema extends JsonRule_1.JsonRule {
6
6
  constructor(schema) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN005002_CFG_DAS_workingDir = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN005002_CFG_DAS_workingDir extends JsonRule_1.JsonRule {
6
6
  constructor(workingDir) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN006001_CFG_PS_schema = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN006001_CFG_PS_schema extends JsonRule_1.JsonRule {
6
6
  constructor(schema) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN006002_CFG_PS_includeClientSideAssets = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN006002_CFG_PS_includeClientSideAssets extends JsonRule_1.JsonRule {
6
6
  constructor(includeClientSideAssets) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN006003_CFG_PS_isDomainIsolated = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN006003_CFG_PS_isDomainIsolated extends JsonRule_1.JsonRule {
6
6
  constructor(isDomainIsolated) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN006004_CFG_PS_developer = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN006004_CFG_PS_developer extends JsonRule_1.JsonRule {
6
6
  constructor(version) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN006005_CFG_PS_metadata = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN006005_CFG_PS_metadata extends JsonRule_1.JsonRule {
6
6
  constructor() {
7
7
  super();
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN006006_CFG_PS_features = void 0;
4
- const JsonRule_1 = require("./JsonRule");
5
4
  const uuid_1 = require("uuid");
5
+ const JsonRule_1 = require("../../JsonRule");
6
6
  class FN006006_CFG_PS_features extends JsonRule_1.JsonRule {
7
7
  constructor() {
8
8
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN007001_CFG_S_schema = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN007001_CFG_S_schema extends JsonRule_1.JsonRule {
6
6
  constructor(schema) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN007002_CFG_S_initialPage = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN007002_CFG_S_initialPage extends JsonRule_1.JsonRule {
6
6
  constructor(initialPage) {
7
7
  super();
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FN007003_CFG_S_api = void 0;
4
- const JsonRule_1 = require("./JsonRule");
4
+ const JsonRule_1 = require("../../JsonRule");
5
5
  class FN007003_CFG_S_api extends JsonRule_1.JsonRule {
6
6
  constructor() {
7
7
  super();