@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.
- package/.eslintrc.js +1 -0
- package/Dockerfile +7 -4
- package/dist/m365/app/commands/app-get.js +30 -0
- package/dist/m365/app/commands.js +1 -0
- package/dist/m365/spfx/commands/project/{project-upgrade/rules/JsonRule.js → JsonRule.js} +0 -0
- package/dist/m365/spfx/commands/project/{project-upgrade/rules/Rule.js → Rule.js} +0 -0
- package/dist/m365/spfx/commands/project/base-project-command.js +3 -3
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.0.js +9 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.1.js +9 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.0.2.js +9 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.0.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.1.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.1.3.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.10.0.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.11.0.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.12.0.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.12.1.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.13.0.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.13.1.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.14.0.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.2.0.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.0.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.1.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.2.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.3.4.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.4.0.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.4.1.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.5.0.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.5.1.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.6.0.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.7.0.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.7.1.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.0.js +21 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.1.js +21 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.8.2.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.9.1.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/generic-rules.js +30 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/DependencyRule.js +76 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +18 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +18 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +18 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002004_DEVDEP_gulp.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002007_DEVDEP_ajv.js +17 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002013_DEVDEP_types_webpack_env.js +14 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +18 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +18 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002019_DEVDEP_microsoft_rush_stack_compiler.js +68 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021001_PKG_spfx_deps_versions_match_project_version.js +74 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021002_PKG_spfx_deps_use_exact_version.js +71 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021003_PKG_spfx_deps_installed_as_deps.js +46 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021004_PKG_spfx_devdeps_installed_as_devdeps.js +46 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021005_PKG_types_installed_as_devdep.js +45 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021006_PKG_rush_stack_compiler_installed_as_devdep.js +45 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021007_PKG_only_one_rush_stack_compiler_installed.js +69 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021008_PKG_no_duplicate_deps.js +59 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021009_PKG_no_duplicate_oui_deps.js +57 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021010_PKG_gulp_installed_as_devdep.js +45 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021011_PKG_ajv_installed_as_devdep.js +45 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN021012_PKG_no_duplicate_pnpjs_deps.js +57 -0
- package/dist/m365/spfx/commands/project/project-doctor/spfx-deps.js +29 -0
- package/dist/m365/spfx/commands/project/project-doctor.js +341 -0
- package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +3 -2
- package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -1
- package/dist/m365/spfx/commands/project/{model → project-model}/ConfigJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/CopyAssetsJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/DeployAzureStorageJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/Gitignore.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/GulpfileJs.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/JsonFile.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/Manifest.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/Npmignore.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/PackageJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/PackageSolutionJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/Project.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/ScssFile.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/ServeJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/TsConfigJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/TsFile.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/TsLintJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/VsCode.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeExtensionsJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeLaunchJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/VsCodeSettingsJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/WriteManifestsJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/YoRcJson.js +0 -0
- package/dist/m365/spfx/commands/project/{model → project-model}/index.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/DependencyRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001021_DEP_microsoft_sp_property_pane.js +1 -0
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003001_CFG_schema.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003002_CFG_version.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003003_CFG_bundles.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003004_CFG_entries.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN003005_CFG_localizedResource_pathLib.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN004001_CFG_CA_schema.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN004002_CFG_CA_deployCdnPath.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN005001_CFG_DAS_schema.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN005002_CFG_DAS_workingDir.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006001_CFG_PS_schema.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006002_CFG_PS_includeClientSideAssets.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006003_CFG_PS_isDomainIsolated.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006004_CFG_PS_developer.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006005_CFG_PS_metadata.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007001_CFG_S_schema.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007002_CFG_S_initialPage.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN007003_CFG_S_api.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008001_CFG_TSL_schema.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008002_CFG_TSL_removeRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN008003_CFG_TSL_preferConst.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN009001_CFG_WM_schema.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012001_TSC_module.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012002_TSC_moduleResolution.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012003_TSC_skipLibCheck.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012004_TSC_typeRoots_types.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012005_TSC_typeRoots_microsoft.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012006_TSC_types_es6_collections.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012007_TSC_lib_es5.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012008_TSC_lib_dom.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012009_TSC_lib_es2015_collection.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012010_TSC_experimentalDecorators.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012011_TSC_outDir.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012012_TSC_include.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012013_TSC_exclude.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012014_TSC_inlineSources.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012015_TSC_strictNullChecks.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012016_TSC_noUnusedLocals.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012017_TSC_extends.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012018_TSC_lib_es2015_promise.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012019_TSC_types_es6_promise.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN013001_GULP_msGridSassSuppression.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN013002_GULP_serveTask.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014001_CODE_settings_jsonSchemas.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014002_CODE_extensions.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014003_CODE_launch.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014004_CODE_settings_jsonSchemas_configJson_url.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014005_CODE_settingsfile.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014006_CODE_launch_sourceMapPathOverrides.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014007_CODE_launch_localWorkbench.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014008_CODE_launch_hostedWorkbench_type.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN017001_MISC_npm_dedupe.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018001_TEAMS_folder.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018002_TEAMS_manifest.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018003_TEAMS_tab20x20_png.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018004_TEAMS_tab96x96_png.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN018005_TEAMS_deprecated_manifest.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN019001_TSL_rulesDirectory.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN019002_TSL_extends.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023001_GITIGNORE_release.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023002_GITIGNORE_heft.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN024001_NPMIGNORE_file.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FileAddRemoveRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/ManifestRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/PackageRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/ResolutionRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/ScssRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/TsRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade.js +37 -153
- package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/Finding.js +0 -0
- package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingToReport.js +0 -0
- package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingTour.js +0 -0
- package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/FindingTourStep.js +0 -0
- package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/Occurrence.js +0 -0
- package/dist/m365/spfx/commands/project/{ReportData.js → report-model/ReportData.js} +0 -0
- package/dist/m365/spfx/commands/project/{project-upgrade → report-model}/index.js +2 -3
- package/dist/m365/spfx/commands.js +1 -0
- package/dist/m365/spo/commands/app/app-teamspackage-download.js +180 -0
- package/dist/m365/spo/commands.js +1 -0
- package/dist/utils/fsUtil.js +70 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/packageManager.js +66 -0
- package/dist/utils/spfx.js +6 -5
- package/dist/{m365/spfx/commands/project/project-upgrade/Hash.js → utils/types.js} +1 -1
- package/docs/docs/cmd/app/app-get.md +36 -0
- package/docs/docs/cmd/spfx/project/project-doctor.md +64 -0
- package/docs/docs/cmd/spo/app/app-teamspackage-download.md +56 -0
- package/package.json +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/DependencyInformation.js +0 -3
- 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
|
package/dist/m365/spfx/commands/project/project-doctor/rules/FN021008_PKG_no_duplicate_deps.js
ADDED
|
@@ -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
|
package/dist/m365/spfx/commands/project/project-doctor/rules/FN021009_PKG_no_duplicate_oui_deps.js
ADDED
|
@@ -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
|
package/dist/m365/spfx/commands/project/project-doctor/rules/FN021011_PKG_ajv_installed_as_devdep.js
ADDED
|
@@ -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
|
package/dist/m365/spfx/commands/project/project-doctor/rules/FN021012_PKG_no_duplicate_pnpjs_deps.js
ADDED
|
@@ -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
|