diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index 84f036d1c4..6105ee577d 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -798,6 +798,9 @@ cm::string_view cmGlobalVisualStudioGenerator::ExternalProjectTypeId(
if (extension == ".dbproj"_s) {
return Solution::Project::TypeIdDatabase;
}
+ if (extension == ".njsproj"_s) {
+ return Solution::Project::TypeIdNodeJS;
+ }
if (extension == ".wapproj"_s) {
return Solution::Project::TypeIdWinAppPkg;
}
diff --git a/Source/cmVSSolution.cxx b/Source/cmVSSolution.cxx
index cc75b8a7c9..dc6630f8de 100644
--- a/Source/cmVSSolution.cxx
+++ b/Source/cmVSSolution.cxx
@@ -27,6 +27,8 @@ cm::string_view const Solution::Project::TypeIdFSharp =
"F2A71F9B-5D33-465A-A702-920D77279786"_s;
cm::string_view const Solution::Project::TypeIdFortran =
"6989167D-11E4-40FE-8C1A-2192A86A7E90"_s;
+cm::string_view const Solution::Project::TypeIdNodeJS =
+ "9092AA53-FB77-4645-B42D-1CCCA6BD08BD"_s;
cm::string_view const Solution::Project::TypeIdPython =
"888888A0-9F3D-457C-B088-3A5042F75D52"_s;
cm::string_view const Solution::Project::TypeIdVDProj =
diff --git a/Source/cmVSSolution.h b/Source/cmVSSolution.h
index 5d6b306b88..4117ecc9d4 100644
--- a/Source/cmVSSolution.h
+++ b/Source/cmVSSolution.h
@@ -75,6 +75,7 @@ struct Solution final
static cm::string_view const TypeIdDefault;
static cm::string_view const TypeIdFSharp;
static cm::string_view const TypeIdFortran;
+ static cm::string_view const TypeIdNodeJS;
static cm::string_view const TypeIdPython;
static cm::string_view const TypeIdVDProj;
static cm::string_view const TypeIdVisualBasic;
diff --git a/Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake b/Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake
index 070f62b88a..22b2c4ee0c 100644
--- a/Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake
+++ b/Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake
@@ -1,6 +1,7 @@
check_project(AutoType externalCS "" "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC" "" "")
check_project(AutoType externalDB "" "C8D11400-126E-41CD-887F-60BD40844F9E" "" "")
check_project(AutoType externalFS "" "F2A71F9B-5D33-465A-A702-920D77279786" "" "")
+check_project(AutoType externalNJS "" "9092AA53-FB77-4645-B42D-1CCCA6BD08BD" "" "")
check_project(AutoType externalPy "" "888888A0-9F3D-457C-B088-3A5042F75D52" "" "")
check_project(AutoType externalVB "" "F184B08F-C81C-45F6-A57F-5ABD9991F28F" "" "")
check_project(AutoType externalVD "" "54435603-DBB4-11D2-8724-00A0C9A8B90C" "" "")
diff --git a/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake b/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake
index de43352421..a065ee860d 100644
--- a/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake
+++ b/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake
@@ -13,6 +13,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/AutoType.slnx" [[
+
@@ -35,6 +36,9 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/AutoType.slnx" [[
+
+
+
diff --git a/Tests/RunCMake/include_external_msproject/AutoType.cmake b/Tests/RunCMake/include_external_msproject/AutoType.cmake
index 0ab0be7090..c994a5ea42 100644
--- a/Tests/RunCMake/include_external_msproject/AutoType.cmake
+++ b/Tests/RunCMake/include_external_msproject/AutoType.cmake
@@ -2,6 +2,7 @@ include_external_msproject(externalCS external.csproj)
include_external_msproject(externalDB external.dbproj)
include_external_msproject(externalFS external.fsproj)
include_external_msproject(externalPy external.pyproj)
+include_external_msproject(externalNJS external.njsproj)
include_external_msproject(externalVB external.vbproj)
include_external_msproject(externalVD external.vdproj)
include_external_msproject(externalVF external.vfproj)