@pnp/cli-microsoft365 5.1.0-beta.7b2911b → 5.1.0-beta.94e050c

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 (185) hide show
  1. package/.eslintrc.js +1 -0
  2. package/Dockerfile +7 -4
  3. package/dist/m365/app/commands/app-get.js +30 -0
  4. package/dist/m365/app/commands.js +1 -0
  5. package/dist/m365/spfx/commands/project/{project-upgrade/rules/JsonRule.js → JsonRule.js} +0 -0
  6. package/dist/m365/spfx/commands/project/{project-upgrade/rules/Rule.js → Rule.js} +0 -0
  7. package/dist/m365/spfx/commands/project/base-project-command.js +3 -3
  8. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.0.js +9 -0
  9. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.1.js +9 -0
  10. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.2.js +9 -0
  11. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.0.js +17 -0
  12. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.1.js +17 -0
  13. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.3.js +17 -0
  14. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.10.0.js +23 -0
  15. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.11.0.js +23 -0
  16. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.12.0.js +23 -0
  17. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.12.1.js +23 -0
  18. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.13.0.js +23 -0
  19. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.13.1.js +23 -0
  20. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.14.0.js +23 -0
  21. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.2.0.js +17 -0
  22. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.0.js +17 -0
  23. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.1.js +17 -0
  24. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.2.js +17 -0
  25. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.4.js +19 -0
  26. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.4.0.js +19 -0
  27. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.4.1.js +19 -0
  28. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.5.0.js +19 -0
  29. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.5.1.js +19 -0
  30. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.6.0.js +19 -0
  31. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.7.0.js +19 -0
  32. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.7.1.js +19 -0
  33. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.0.js +21 -0
  34. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.1.js +21 -0
  35. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.2.js +23 -0
  36. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.9.1.js +23 -0
  37. package/dist/m365/spfx/commands/project/project-doctor/generic-rules.js +30 -0
  38. package/dist/m365/spfx/commands/project/project-doctor/rules/DependencyRule.js +76 -0
  39. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +18 -0
  40. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +18 -0
  41. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +18 -0
  42. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002004_DEVDEP_gulp.js +17 -0
  43. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002007_DEVDEP_ajv.js +17 -0
  44. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002013_DEVDEP_types_webpack_env.js +14 -0
  45. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +18 -0
  46. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +18 -0
  47. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002019_DEVDEP_microsoft_rush_stack_compiler.js +68 -0
  48. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021001_PKG_spfx_deps_versions_match_project_version.js +74 -0
  49. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021002_PKG_spfx_deps_use_exact_version.js +71 -0
  50. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021003_PKG_spfx_deps_installed_as_deps.js +46 -0
  51. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021004_PKG_spfx_devdeps_installed_as_devdeps.js +46 -0
  52. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021005_PKG_types_installed_as_devdep.js +45 -0
  53. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021006_PKG_rush_stack_compiler_installed_as_devdep.js +45 -0
  54. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021007_PKG_only_one_rush_stack_compiler_installed.js +69 -0
  55. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021008_PKG_no_duplicate_deps.js +59 -0
  56. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021009_PKG_no_duplicate_oui_deps.js +57 -0
  57. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021010_PKG_gulp_installed_as_devdep.js +45 -0
  58. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021011_PKG_ajv_installed_as_devdep.js +45 -0
  59. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021012_PKG_no_duplicate_pnpjs_deps.js +57 -0
  60. package/dist/m365/spfx/commands/project/project-doctor/spfx-deps.js +29 -0
  61. package/dist/m365/spfx/commands/project/project-doctor.js +341 -0
  62. package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +3 -2
  63. package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -1
  64. package/dist/m365/spfx/commands/project/{model → project-model}/ConfigJson.js +0 -0
  65. package/dist/m365/spfx/commands/project/{model → project-model}/CopyAssetsJson.js +0 -0
  66. package/dist/m365/spfx/commands/project/{model → project-model}/DeployAzureStorageJson.js +0 -0
  67. package/dist/m365/spfx/commands/project/{model → project-model}/Gitignore.js +0 -0
  68. package/dist/m365/spfx/commands/project/{model → project-model}/GulpfileJs.js +0 -0
  69. package/dist/m365/spfx/commands/project/{model → project-model}/JsonFile.js +0 -0
  70. package/dist/m365/spfx/commands/project/{model → project-model}/Manifest.js +0 -0
  71. package/dist/m365/spfx/commands/project/{model → project-model}/Npmignore.js +0 -0
  72. package/dist/m365/spfx/commands/project/{model → project-model}/PackageJson.js +0 -0
  73. package/dist/m365/spfx/commands/project/{model → project-model}/PackageSolutionJson.js +0 -0
  74. package/dist/m365/spfx/commands/project/{model → project-model}/Project.js +0 -0
  75. package/dist/m365/spfx/commands/project/{model → project-model}/ScssFile.js +0 -0
  76. package/dist/m365/spfx/commands/project/{model → project-model}/ServeJson.js +0 -0
  77. package/dist/m365/spfx/commands/project/{model → project-model}/TsConfigJson.js +0 -0
  78. package/dist/m365/spfx/commands/project/{model → project-model}/TsFile.js +0 -0
  79. package/dist/m365/spfx/commands/project/{model → project-model}/TsLintJson.js +0 -0
  80. package/dist/m365/spfx/commands/project/{model → project-model}/VsCode.js +0 -0
  81. package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeExtensionsJson.js +0 -0
  82. package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeLaunchJson.js +0 -0
  83. package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeSettingsJson.js +0 -0
  84. package/dist/m365/spfx/commands/project/{model → project-model}/WriteManifestsJson.js +0 -0
  85. package/dist/m365/spfx/commands/project/{model → project-model}/YoRcJson.js +0 -0
  86. package/dist/m365/spfx/commands/project/{model → project-model}/index.js +2 -1
  87. package/dist/m365/spfx/commands/project/project-upgrade/rules/DependencyRule.js +1 -1
  88. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001021_DEP_microsoft_sp_property_pane.js +1 -0
  89. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003001_CFG_schema.js +1 -1
  90. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003002_CFG_version.js +1 -1
  91. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003003_CFG_bundles.js +1 -1
  92. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003004_CFG_entries.js +1 -1
  93. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003005_CFG_localizedResource_pathLib.js +1 -1
  94. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN004001_CFG_CA_schema.js +1 -1
  95. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN004002_CFG_CA_deployCdnPath.js +1 -1
  96. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN005001_CFG_DAS_schema.js +1 -1
  97. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN005002_CFG_DAS_workingDir.js +1 -1
  98. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006001_CFG_PS_schema.js +1 -1
  99. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006002_CFG_PS_includeClientSideAssets.js +1 -1
  100. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006003_CFG_PS_isDomainIsolated.js +1 -1
  101. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006004_CFG_PS_developer.js +1 -1
  102. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006005_CFG_PS_metadata.js +1 -1
  103. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +1 -1
  104. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007001_CFG_S_schema.js +1 -1
  105. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007002_CFG_S_initialPage.js +1 -1
  106. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007003_CFG_S_api.js +1 -1
  107. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008001_CFG_TSL_schema.js +1 -1
  108. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008002_CFG_TSL_removeRule.js +1 -1
  109. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008003_CFG_TSL_preferConst.js +1 -1
  110. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN009001_CFG_WM_schema.js +1 -1
  111. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +1 -1
  112. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +1 -1
  113. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +1 -1
  114. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +1 -1
  115. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +1 -1
  116. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +1 -1
  117. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +1 -1
  118. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012001_TSC_module.js +1 -1
  119. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012002_TSC_moduleResolution.js +1 -1
  120. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012003_TSC_skipLibCheck.js +1 -1
  121. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012004_TSC_typeRoots_types.js +1 -1
  122. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012005_TSC_typeRoots_microsoft.js +1 -1
  123. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012006_TSC_types_es6_collections.js +1 -1
  124. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012007_TSC_lib_es5.js +1 -1
  125. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012008_TSC_lib_dom.js +1 -1
  126. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012009_TSC_lib_es2015_collection.js +1 -1
  127. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012010_TSC_experimentalDecorators.js +1 -1
  128. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012011_TSC_outDir.js +1 -1
  129. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012012_TSC_include.js +1 -1
  130. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012013_TSC_exclude.js +1 -1
  131. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012014_TSC_inlineSources.js +1 -1
  132. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012015_TSC_strictNullChecks.js +1 -1
  133. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012016_TSC_noUnusedLocals.js +1 -1
  134. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012017_TSC_extends.js +1 -1
  135. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012018_TSC_lib_es2015_promise.js +1 -1
  136. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012019_TSC_types_es6_promise.js +1 -1
  137. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN013001_GULP_msGridSassSuppression.js +1 -1
  138. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN013002_GULP_serveTask.js +1 -1
  139. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014001_CODE_settings_jsonSchemas.js +1 -1
  140. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014002_CODE_extensions.js +1 -1
  141. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014003_CODE_launch.js +1 -1
  142. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014004_CODE_settings_jsonSchemas_configJson_url.js +1 -1
  143. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014005_CODE_settingsfile.js +1 -1
  144. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014006_CODE_launch_sourceMapPathOverrides.js +1 -1
  145. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014007_CODE_launch_localWorkbench.js +1 -1
  146. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014008_CODE_launch_hostedWorkbench_type.js +1 -1
  147. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN017001_MISC_npm_dedupe.js +1 -1
  148. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018001_TEAMS_folder.js +1 -1
  149. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018002_TEAMS_manifest.js +1 -1
  150. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018003_TEAMS_tab20x20_png.js +1 -1
  151. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018004_TEAMS_tab96x96_png.js +1 -1
  152. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018005_TEAMS_deprecated_manifest.js +1 -1
  153. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN019001_TSL_rulesDirectory.js +1 -1
  154. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN019002_TSL_extends.js +1 -1
  155. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023001_GITIGNORE_release.js +1 -1
  156. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023002_GITIGNORE_heft.js +1 -1
  157. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN024001_NPMIGNORE_file.js +1 -1
  158. package/dist/m365/spfx/commands/project/project-upgrade/rules/FileAddRemoveRule.js +1 -1
  159. package/dist/m365/spfx/commands/project/project-upgrade/rules/ManifestRule.js +1 -1
  160. package/dist/m365/spfx/commands/project/project-upgrade/rules/PackageRule.js +1 -1
  161. package/dist/m365/spfx/commands/project/project-upgrade/rules/ResolutionRule.js +1 -1
  162. package/dist/m365/spfx/commands/project/project-upgrade/rules/ScssRule.js +1 -1
  163. package/dist/m365/spfx/commands/project/project-upgrade/rules/TsRule.js +1 -1
  164. package/dist/m365/spfx/commands/project/project-upgrade.js +37 -153
  165. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/Finding.js +0 -0
  166. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingToReport.js +0 -0
  167. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingTour.js +0 -0
  168. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingTourStep.js +0 -0
  169. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/Occurrence.js +0 -0
  170. package/dist/m365/spfx/commands/project/{ReportData.js → report-model/ReportData.js} +0 -0
  171. package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/index.js +2 -3
  172. package/dist/m365/spfx/commands.js +1 -0
  173. package/dist/m365/spo/commands/app/app-teamspackage-download.js +180 -0
  174. package/dist/m365/spo/commands.js +1 -0
  175. package/dist/utils/fsUtil.js +70 -0
  176. package/dist/utils/index.js +2 -0
  177. package/dist/utils/packageManager.js +66 -0
  178. package/dist/utils/spfx.js +6 -5
  179. package/dist/{m365/spfx/commands/project/project-upgrade/Hash.js → utils/types.js} +1 -1
  180. package/docs/docs/cmd/app/app-get.md +36 -0
  181. package/docs/docs/cmd/spfx/project/project-doctor.md +64 -0
  182. package/docs/docs/cmd/spo/app/app-teamspackage-download.md +56 -0
  183. package/package.json +1 -1
  184. package/dist/m365/spfx/commands/project/project-upgrade/DependencyInformation.js +0 -3
  185. package/dist/m365/spfx/commands/project/project-upgrade/Dictionary.js +0 -3
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN021005_PKG_types_installed_as_devdep = void 0;
4
+ const JsonRule_1 = require("../../JsonRule");
5
+ class FN021005_PKG_types_installed_as_devdep extends JsonRule_1.JsonRule {
6
+ get id() {
7
+ return 'FN021005';
8
+ }
9
+ get title() {
10
+ return '';
11
+ }
12
+ get description() {
13
+ return '';
14
+ }
15
+ get severity() {
16
+ return 'Required';
17
+ }
18
+ get file() {
19
+ return './package.json';
20
+ }
21
+ get resolutionType() {
22
+ return 'cmd';
23
+ }
24
+ visit(project, findings) {
25
+ if (!project.version ||
26
+ !project.packageJson ||
27
+ !project.packageJson.dependencies) {
28
+ return;
29
+ }
30
+ const projectDeps = Object.keys(project.packageJson.dependencies);
31
+ projectDeps.forEach(dep => {
32
+ if (dep.indexOf('@types/') < 0) {
33
+ return;
34
+ }
35
+ const node = this.getAstNodeFromFile(project.packageJson, `dependencies.${dep}`);
36
+ this.addFindingWithCustomInfo(`${dep} installed as a dependency`, `Package ${dep} is installed as a dependency. Install it as a devDependency instead`, [{
37
+ file: this.file,
38
+ resolution: `installDev ${dep}@${project.packageJson.dependencies[dep]}`,
39
+ position: this.getPositionFromNode(node)
40
+ }], findings);
41
+ });
42
+ }
43
+ }
44
+ exports.FN021005_PKG_types_installed_as_devdep = FN021005_PKG_types_installed_as_devdep;
45
+ //# sourceMappingURL=FN021005_PKG_types_installed_as_devdep.js.map
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN021006_PKG_rush_stack_compiler_installed_as_devdep = void 0;
4
+ const JsonRule_1 = require("../../JsonRule");
5
+ class FN021006_PKG_rush_stack_compiler_installed_as_devdep extends JsonRule_1.JsonRule {
6
+ get id() {
7
+ return 'FN021006';
8
+ }
9
+ get title() {
10
+ return '';
11
+ }
12
+ get description() {
13
+ return '';
14
+ }
15
+ get severity() {
16
+ return 'Required';
17
+ }
18
+ get file() {
19
+ return './package.json';
20
+ }
21
+ get resolutionType() {
22
+ return 'cmd';
23
+ }
24
+ visit(project, findings) {
25
+ if (!project.version ||
26
+ !project.packageJson ||
27
+ !project.packageJson.dependencies) {
28
+ return;
29
+ }
30
+ const projectDeps = Object.keys(project.packageJson.dependencies);
31
+ projectDeps.forEach(dep => {
32
+ if (dep.indexOf('@microsoft/rush-stack-compiler') < 0) {
33
+ return;
34
+ }
35
+ const node = this.getAstNodeFromFile(project.packageJson, `dependencies.${dep}`);
36
+ this.addFindingWithCustomInfo(`${dep} installed as a dependency`, `Package ${dep} is installed as a dependency. Install it as a devDependency instead`, [{
37
+ file: this.file,
38
+ resolution: `installDev ${dep}@${project.packageJson.dependencies[dep]}`,
39
+ position: this.getPositionFromNode(node)
40
+ }], findings);
41
+ });
42
+ }
43
+ }
44
+ exports.FN021006_PKG_rush_stack_compiler_installed_as_devdep = FN021006_PKG_rush_stack_compiler_installed_as_devdep;
45
+ //# sourceMappingURL=FN021006_PKG_rush_stack_compiler_installed_as_devdep.js.map
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN021007_PKG_only_one_rush_stack_compiler_installed = void 0;
4
+ const JsonRule_1 = require("../../JsonRule");
5
+ class FN021007_PKG_only_one_rush_stack_compiler_installed extends JsonRule_1.JsonRule {
6
+ get id() {
7
+ return 'FN021007';
8
+ }
9
+ get title() {
10
+ return '';
11
+ }
12
+ get description() {
13
+ return '';
14
+ }
15
+ get severity() {
16
+ return 'Required';
17
+ }
18
+ get file() {
19
+ return './package.json';
20
+ }
21
+ get resolutionType() {
22
+ return 'cmd';
23
+ }
24
+ visit(project, findings) {
25
+ var _a, _b;
26
+ if (!project.packageJson ||
27
+ !project.packageJson.dependencies) {
28
+ return;
29
+ }
30
+ const projectDeps = Object.keys(project.packageJson.dependencies);
31
+ const projectDevDeps = [];
32
+ if (project.packageJson.devDependencies) {
33
+ // we need to keep them separate so that in case of an error we can
34
+ // determine if the particular dep is a dev dep or not to return correct
35
+ // node
36
+ projectDevDeps.push(...Object.keys(project.packageJson.devDependencies));
37
+ projectDeps.push(...projectDevDeps);
38
+ }
39
+ const rushStacks = projectDeps.filter(dep => dep.indexOf('@microsoft/rush-stack-compiler') === 0);
40
+ if (rushStacks.length <= 1) {
41
+ return;
42
+ }
43
+ const rushStackInTsConfig = (_b = this.getRushStackVersionFromTsConfig((_a = project.tsConfigJson) === null || _a === void 0 ? void 0 : _a.extends)) !== null && _b !== void 0 ? _b : rushStacks[0];
44
+ rushStacks.forEach(rushStack => {
45
+ if (rushStack === rushStackInTsConfig) {
46
+ return;
47
+ }
48
+ const isDevDep = projectDevDeps.includes(rushStack);
49
+ const node = this.getAstNodeFromFile(project.packageJson, `${isDevDep ? 'devDependencies' : 'dependencies'}.${rushStack}`);
50
+ this.addFindingWithCustomInfo(`Obsolete ${rushStack} found in ${isDevDep ? 'devDependencies' : 'dependencies'}`, `Multiple rush-stack-compiler packages found. Uninstall obsolete ${rushStack}`, [{
51
+ file: this.file,
52
+ resolution: `${isDevDep ? 'uninstallDev' : 'uninstall'} ${rushStack}`,
53
+ position: this.getPositionFromNode(node)
54
+ }], findings);
55
+ });
56
+ }
57
+ getRushStackVersionFromTsConfig(tsConfigExtends) {
58
+ if (!tsConfigExtends) {
59
+ return;
60
+ }
61
+ const match = /@microsoft\/rush-stack-compiler[^\/]+/.exec(tsConfigExtends);
62
+ if (!match) {
63
+ return;
64
+ }
65
+ return match[0];
66
+ }
67
+ }
68
+ exports.FN021007_PKG_only_one_rush_stack_compiler_installed = FN021007_PKG_only_one_rush_stack_compiler_installed;
69
+ //# sourceMappingURL=FN021007_PKG_only_one_rush_stack_compiler_installed.js.map
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN021008_PKG_no_duplicate_deps = void 0;
4
+ const JsonRule_1 = require("../../JsonRule");
5
+ const spfxDeps = require("../spfx-deps");
6
+ class FN021008_PKG_no_duplicate_deps extends JsonRule_1.JsonRule {
7
+ get id() {
8
+ return 'FN021008';
9
+ }
10
+ get title() {
11
+ return '';
12
+ }
13
+ get description() {
14
+ return '';
15
+ }
16
+ get severity() {
17
+ return 'Required';
18
+ }
19
+ get file() {
20
+ return './package.json';
21
+ }
22
+ get resolutionType() {
23
+ return 'cmd';
24
+ }
25
+ visit(project, findings) {
26
+ if (!project.version ||
27
+ !project.packageJson ||
28
+ !project.packageJson.dependencies ||
29
+ !project.packageJson.devDependencies) {
30
+ return;
31
+ }
32
+ const projectDeps = Object.keys(project.packageJson.dependencies);
33
+ const projectDevDeps = Object.keys(project.packageJson.devDependencies);
34
+ const duplicateDeps = projectDeps.filter(dep => projectDevDeps.includes(dep));
35
+ if (duplicateDeps.length === 0) {
36
+ return;
37
+ }
38
+ duplicateDeps.forEach(dep => {
39
+ const isDevDep = this.isDevDep(dep);
40
+ const nodeToUninstall = this.getAstNodeFromFile(project.packageJson, `${isDevDep ? 'dependencies' : 'devDependencies'}.${dep}`);
41
+ this.addFindingWithCustomInfo(`Duplicate ${dep} installed in the project`, `Duplicate ${dep} installed in the project. Install it only as a ${isDevDep ? 'devDependency' : 'dependency'}`, [{
42
+ file: this.file,
43
+ resolution: `${isDevDep ? 'installDev' : 'install'} ${dep}@${isDevDep ? project.packageJson.devDependencies[dep] : project.packageJson.dependencies[dep]}`,
44
+ position: this.getPositionFromNode(nodeToUninstall)
45
+ }], findings);
46
+ });
47
+ }
48
+ isDevDep(dep) {
49
+ if (dep.indexOf('@types/') === 0) {
50
+ return true;
51
+ }
52
+ if (spfxDeps.devDeps.includes(dep)) {
53
+ return true;
54
+ }
55
+ return false;
56
+ }
57
+ }
58
+ exports.FN021008_PKG_no_duplicate_deps = FN021008_PKG_no_duplicate_deps;
59
+ //# sourceMappingURL=FN021008_PKG_no_duplicate_deps.js.map
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN021009_PKG_no_duplicate_oui_deps = void 0;
4
+ const JsonRule_1 = require("../../JsonRule");
5
+ class FN021009_PKG_no_duplicate_oui_deps extends JsonRule_1.JsonRule {
6
+ get id() {
7
+ return 'FN021009';
8
+ }
9
+ get title() {
10
+ return '@fluentui/react and office-ui-fabric-react installed in the project';
11
+ }
12
+ get description() {
13
+ return '@fluentui/react and office-ui-fabric-react installed in the project. Consider uninstalling @fluentui/react';
14
+ }
15
+ get severity() {
16
+ return 'Optional';
17
+ }
18
+ get file() {
19
+ return './package.json';
20
+ }
21
+ get resolution() {
22
+ return '';
23
+ }
24
+ get resolutionType() {
25
+ return 'cmd';
26
+ }
27
+ visit(project, findings) {
28
+ if (!project.packageJson) {
29
+ return;
30
+ }
31
+ const projectDeps = [];
32
+ const projectDevDeps = [];
33
+ if (project.packageJson.dependencies) {
34
+ projectDeps.push(...Object.keys(project.packageJson.dependencies));
35
+ }
36
+ if (project.packageJson.devDependencies) {
37
+ projectDevDeps.push(...Object.keys(project.packageJson.devDependencies));
38
+ }
39
+ const allDeps = projectDeps.concat(projectDevDeps);
40
+ if (allDeps.length === 0) {
41
+ return;
42
+ }
43
+ if (!allDeps.includes('office-ui-fabric-react') ||
44
+ !allDeps.includes('@fluentui/react')) {
45
+ return;
46
+ }
47
+ const dependencyType = projectDeps.includes('@fluentui/react') ? 'dependencies' : 'devDependencies';
48
+ const node = this.getAstNodeFromFile(project.packageJson, `${dependencyType}.@fluentui/react`);
49
+ this.addFindingWithCustomInfo(this.title, this.description, [{
50
+ file: this.file,
51
+ resolution: `${dependencyType === 'dependencies' ? 'uninstall' : 'uninstallDev'} @fluentui/react`,
52
+ position: this.getPositionFromNode(node)
53
+ }], findings);
54
+ }
55
+ }
56
+ exports.FN021009_PKG_no_duplicate_oui_deps = FN021009_PKG_no_duplicate_oui_deps;
57
+ //# sourceMappingURL=FN021009_PKG_no_duplicate_oui_deps.js.map
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN021010_PKG_gulp_installed_as_devdep = void 0;
4
+ const JsonRule_1 = require("../../JsonRule");
5
+ class FN021010_PKG_gulp_installed_as_devdep extends JsonRule_1.JsonRule {
6
+ get id() {
7
+ return 'FN021010';
8
+ }
9
+ get title() {
10
+ return 'gulp installed as a devDependency';
11
+ }
12
+ get description() {
13
+ return 'gulp is installed as a dependency. Install it as a devDependency instead';
14
+ }
15
+ get severity() {
16
+ return 'Required';
17
+ }
18
+ get file() {
19
+ return './package.json';
20
+ }
21
+ get resolution() {
22
+ return '';
23
+ }
24
+ get resolutionType() {
25
+ return 'cmd';
26
+ }
27
+ visit(project, findings) {
28
+ if (!project.packageJson ||
29
+ !project.packageJson.dependencies) {
30
+ return;
31
+ }
32
+ const projectDeps = Object.keys(project.packageJson.dependencies);
33
+ if (!projectDeps.includes('gulp')) {
34
+ return;
35
+ }
36
+ const node = this.getAstNodeFromFile(project.packageJson, `dependencies.gulp`);
37
+ this.addFindingWithCustomInfo(this.title, this.description, [{
38
+ file: this.file,
39
+ resolution: `installDev gulp@${project.packageJson.dependencies['gulp']}`,
40
+ position: this.getPositionFromNode(node)
41
+ }], findings);
42
+ }
43
+ }
44
+ exports.FN021010_PKG_gulp_installed_as_devdep = FN021010_PKG_gulp_installed_as_devdep;
45
+ //# sourceMappingURL=FN021010_PKG_gulp_installed_as_devdep.js.map
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN021011_PKG_ajv_installed_as_devdep = void 0;
4
+ const JsonRule_1 = require("../../JsonRule");
5
+ class FN021011_PKG_ajv_installed_as_devdep extends JsonRule_1.JsonRule {
6
+ get id() {
7
+ return 'FN021011';
8
+ }
9
+ get title() {
10
+ return 'ajv installed as a devDependency';
11
+ }
12
+ get description() {
13
+ return 'ajv is installed as a dependency. Install it as a devDependency instead';
14
+ }
15
+ get severity() {
16
+ return 'Required';
17
+ }
18
+ get file() {
19
+ return './package.json';
20
+ }
21
+ get resolution() {
22
+ return '';
23
+ }
24
+ get resolutionType() {
25
+ return 'cmd';
26
+ }
27
+ visit(project, findings) {
28
+ if (!project.packageJson ||
29
+ !project.packageJson.dependencies) {
30
+ return;
31
+ }
32
+ const projectDeps = Object.keys(project.packageJson.dependencies);
33
+ if (!projectDeps.includes('ajv')) {
34
+ return;
35
+ }
36
+ const node = this.getAstNodeFromFile(project.packageJson, `dependencies.ajv`);
37
+ this.addFindingWithCustomInfo(this.title, this.description, [{
38
+ file: this.file,
39
+ resolution: `installDev ajv@${project.packageJson.dependencies['ajv']}`,
40
+ position: this.getPositionFromNode(node)
41
+ }], findings);
42
+ }
43
+ }
44
+ exports.FN021011_PKG_ajv_installed_as_devdep = FN021011_PKG_ajv_installed_as_devdep;
45
+ //# sourceMappingURL=FN021011_PKG_ajv_installed_as_devdep.js.map
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN021012_PKG_no_duplicate_pnpjs_deps = void 0;
4
+ const JsonRule_1 = require("../../JsonRule");
5
+ class FN021012_PKG_no_duplicate_pnpjs_deps extends JsonRule_1.JsonRule {
6
+ get id() {
7
+ return 'FN021012';
8
+ }
9
+ get title() {
10
+ return 'sp-pnp-js and @pnp/js installed in the project';
11
+ }
12
+ get description() {
13
+ return 'sp-pnp-js and @pnp/js installed in the project. Consider uninstalling the deprecated sp-pnp-js package';
14
+ }
15
+ get severity() {
16
+ return 'Optional';
17
+ }
18
+ get file() {
19
+ return './package.json';
20
+ }
21
+ get resolution() {
22
+ return '';
23
+ }
24
+ get resolutionType() {
25
+ return 'cmd';
26
+ }
27
+ visit(project, findings) {
28
+ if (!project.packageJson) {
29
+ return;
30
+ }
31
+ const projectDeps = [];
32
+ const projectDevDeps = [];
33
+ if (project.packageJson.dependencies) {
34
+ projectDeps.push(...Object.keys(project.packageJson.dependencies));
35
+ }
36
+ if (project.packageJson.devDependencies) {
37
+ projectDevDeps.push(...Object.keys(project.packageJson.devDependencies));
38
+ }
39
+ const allDeps = projectDeps.concat(projectDevDeps);
40
+ if (allDeps.length === 0) {
41
+ return;
42
+ }
43
+ if (!allDeps.includes('sp-pnp-js') ||
44
+ !allDeps.includes('@pnp/sp')) {
45
+ return;
46
+ }
47
+ const dependencyType = projectDeps.includes('sp-pnp-js') ? 'dependencies' : 'devDependencies';
48
+ const node = this.getAstNodeFromFile(project.packageJson, `${dependencyType}.sp-pnp-js`);
49
+ this.addFindingWithCustomInfo(this.title, this.description, [{
50
+ file: this.file,
51
+ resolution: `${dependencyType === 'dependencies' ? 'uninstall' : 'uninstallDev'} sp-pnp-js`,
52
+ position: this.getPositionFromNode(node)
53
+ }], findings);
54
+ }
55
+ }
56
+ exports.FN021012_PKG_no_duplicate_pnpjs_deps = FN021012_PKG_no_duplicate_pnpjs_deps;
57
+ //# sourceMappingURL=FN021012_PKG_no_duplicate_pnpjs_deps.js.map
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.devDeps = exports.deps = void 0;
4
+ exports.deps = [
5
+ '@microsoft/sp-core-library',
6
+ '@microsoft/sp-lodash-subset',
7
+ '@microsoft/sp-office-ui-fabric-core',
8
+ '@microsoft/sp-webpart-base',
9
+ '@microsoft/sp-dialog',
10
+ '@microsoft/sp-application-base',
11
+ '@microsoft/decorators',
12
+ '@microsoft/sp-listview-extensibility',
13
+ '@microsoft/sp-property-pane',
14
+ '@microsoft/sp-component-base',
15
+ '@microsoft/sp-diagnostics',
16
+ '@microsoft/sp-dynamic-data',
17
+ '@microsoft/sp-extension-base',
18
+ '@microsoft/sp-http',
19
+ '@microsoft/sp-list-subscription',
20
+ '@microsoft/sp-loader',
21
+ '@microsoft/sp-odata-types',
22
+ '@microsoft/sp-page-context'
23
+ ];
24
+ exports.devDeps = [
25
+ '@microsoft/sp-build-web',
26
+ '@microsoft/sp-module-interfaces',
27
+ '@microsoft/sp-tslint-rules'
28
+ ];
29
+ //# sourceMappingURL=spfx-deps.js.map