Skip to content

Commit 2314096

Browse files
TaritsynDustin Masters
authored andcommitted
Reduce the time of using the enumerator of JsEngineFactoryCollection class (reactjs#796)
1 parent 7fb04cf commit 2314096

File tree

15 files changed

+58
-66
lines changed

15 files changed

+58
-66
lines changed

src/Cassette.React/Cassette.React.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<ItemGroup>
3232
<PackageReference Include="Cassette" Version="2.4.2" />
3333
<PackageReference Include="Microsoft.Sourcelink.Github" Version="1.0.0-beta2-18618-05" PrivateAssets="All" />
34-
<PackageReference Include="JavaScriptEngineSwitcher.Msie" Version="3.0.0" />
34+
<PackageReference Include="JavaScriptEngineSwitcher.Msie" Version="3.1.0" />
3535
</ItemGroup>
3636

3737
<ItemGroup Condition=" '$(TargetFramework)' == 'net40' ">

src/React.Core/JavaScriptEngineFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,13 +289,13 @@ private static Func<IJsEngine> GetFactory(IJsEngineSwitcher jsEngineSwitcher)
289289
}
290290
}
291291

292-
if (jsEngineSwitcher.EngineFactories.Count() == 0)
292+
if (jsEngineSwitcher.EngineFactories.Count == 0)
293293
{
294294
throw new ReactException("No JS engines were registered. Visit https://reactjs.net/docs for more information.");
295295
}
296296

297297
var exceptionMessages = new List<string>();
298-
foreach (var engineFactory in jsEngineSwitcher.EngineFactories)
298+
foreach (var engineFactory in jsEngineSwitcher.EngineFactories.GetRegisteredFactories())
299299
{
300300
IJsEngine engine = null;
301301
try

src/React.Core/React.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
</ItemGroup>
4444

4545
<ItemGroup>
46-
<PackageReference Include="JavaScriptEngineSwitcher.Core" Version="3.0.0" />
46+
<PackageReference Include="JavaScriptEngineSwitcher.Core" Version="3.1.0" />
4747
<PackageReference Include="JSPool" Version="4.0.0" />
4848
<PackageReference Include="Microsoft.Sourcelink.Github" Version="1.0.0-beta2-18618-05" PrivateAssets="All" />
4949
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />

src/React.MSBuild/React.MSBuild.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
</ItemGroup>
3737

3838
<ItemGroup>
39-
<PackageReference Include="JavaScriptEngineSwitcher.Msie" Version="3.0.0" />
39+
<PackageReference Include="JavaScriptEngineSwitcher.Msie" Version="3.1.0" />
4040
<PackageReference Include="Microsoft.Sourcelink.Github" Version="1.0.0-beta2-18618-05" PrivateAssets="All" />
4141
</ItemGroup>
4242

src/React.Sample.Cassette/React.Sample.Cassette.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,15 @@
7171
<HintPath>..\packages\Cassette.Views.2.4.2\lib\net40\Cassette.Views.dll</HintPath>
7272
<Private>True</Private>
7373
</Reference>
74-
<Reference Include="JavaScriptEngineSwitcher.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
75-
<HintPath>..\packages\JavaScriptEngineSwitcher.Core.3.0.0\lib\net40-client\JavaScriptEngineSwitcher.Core.dll</HintPath>
74+
<Reference Include="JavaScriptEngineSwitcher.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
75+
<HintPath>..\packages\JavaScriptEngineSwitcher.Core.3.1.0\lib\net40-client\JavaScriptEngineSwitcher.Core.dll</HintPath>
7676
</Reference>
77-
<Reference Include="JavaScriptEngineSwitcher.Msie, Version=3.0.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
78-
<HintPath>..\packages\JavaScriptEngineSwitcher.Msie.3.0.0\lib\net40-client\JavaScriptEngineSwitcher.Msie.dll</HintPath>
77+
<Reference Include="JavaScriptEngineSwitcher.Msie, Version=3.1.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
78+
<HintPath>..\packages\JavaScriptEngineSwitcher.Msie.3.1.0\lib\net40-client\JavaScriptEngineSwitcher.Msie.dll</HintPath>
7979
</Reference>
8080
<Reference Include="Microsoft.CSharp" />
81-
<Reference Include="MsieJavaScriptEngine, Version=3.0.0.0, Culture=neutral, PublicKeyToken=a3a2846a37ac0d3e, processorArchitecture=MSIL">
82-
<HintPath>..\packages\MsieJavaScriptEngine.3.0.0\lib\net40-client\MsieJavaScriptEngine.dll</HintPath>
81+
<Reference Include="MsieJavaScriptEngine, Version=3.0.3.0, Culture=neutral, PublicKeyToken=a3a2846a37ac0d3e, processorArchitecture=MSIL">
82+
<HintPath>..\packages\MsieJavaScriptEngine.3.0.3\lib\net40-client\MsieJavaScriptEngine.dll</HintPath>
8383
</Reference>
8484
<Reference Include="PolyfillsForOldDotNet.System.Threading, Version=0.1.1.0, Culture=neutral, PublicKeyToken=7c096c79220f0d91, processorArchitecture=MSIL">
8585
<HintPath>..\packages\PolyfillsForOldDotNet.System.Threading.0.1.1\lib\net40-client\PolyfillsForOldDotNet.System.Threading.dll</HintPath>
@@ -243,4 +243,4 @@
243243
</Target>
244244
<Target Name="AfterBuild">
245245
</Target> -->
246-
</Project>
246+
</Project>

src/React.Sample.Cassette/Web.config

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8"?>
22
<!--
33
For more information on how to configure your ASP.NET application, please visit
44
http://go.microsoft.com/fwlink/?LinkId=169433
@@ -63,11 +63,11 @@
6363
</dependentAssembly>
6464
<dependentAssembly>
6565
<assemblyIdentity name="MsieJavaScriptEngine" publicKeyToken="a3a2846a37ac0d3e" culture="neutral" />
66-
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
66+
<bindingRedirect oldVersion="0.0.0.0-3.0.3.0" newVersion="3.0.3.0" />
6767
</dependentAssembly>
6868
<dependentAssembly>
6969
<assemblyIdentity name="JavaScriptEngineSwitcher.Core" publicKeyToken="c608b2a8cc9e4472" culture="neutral" />
70-
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
70+
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
7171
</dependentAssembly>
7272
</assemblyBinding>
7373
</runtime>

src/React.Sample.Cassette/packages.config

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
<package id="Cassette.Aspnet" version="2.4.2" targetFramework="net40" />
77
<package id="Cassette.MSBuild" version="2.4.2" targetFramework="net40" />
88
<package id="Cassette.Views" version="2.4.2" targetFramework="net40" />
9-
<package id="JavaScriptEngineSwitcher.Core" version="3.0.0" targetFramework="net40" />
10-
<package id="JavaScriptEngineSwitcher.Msie" version="3.0.0" targetFramework="net40" />
9+
<package id="JavaScriptEngineSwitcher.Core" version="3.1.0" targetFramework="net40" />
10+
<package id="JavaScriptEngineSwitcher.Msie" version="3.1.0" targetFramework="net40" />
1111
<package id="Microsoft.AspNet.Mvc" version="4.0.30506.0" targetFramework="net40" />
1212
<package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="1.0.0" targetFramework="net40" />
1313
<package id="Microsoft.AspNet.Razor" version="2.0.30506.0" targetFramework="net40" />
1414
<package id="Microsoft.AspNet.WebPages" version="2.0.30506.0" targetFramework="net40" />
1515
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" />
16-
<package id="MsieJavaScriptEngine" version="3.0.0" targetFramework="net40" />
16+
<package id="MsieJavaScriptEngine" version="3.0.3" targetFramework="net40" />
1717
<package id="PolyfillsForOldDotNet.System.Threading" version="0.1.1" targetFramework="net40" />
1818
<package id="WebActivatorEx" version="2.2.0" targetFramework="net40" />
1919
</packages>

src/React.Sample.ConsoleApp/React.Sample.ConsoleApp.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
</ItemGroup>
2121

2222
<ItemGroup>
23-
<PackageReference Include="JavaScriptEngineSwitcher.ChakraCore" Version="3.0.1" />
24-
<PackageReference Include="JavaScriptEngineSwitcher.ChakraCore.Native.linux-x64" Version="3.0.1" />
25-
<PackageReference Include="JavaScriptEngineSwitcher.ChakraCore.Native.osx-x64" Version="3.0.1" />
26-
<PackageReference Include="JavaScriptEngineSwitcher.ChakraCore.Native.win-x64" Version="3.0.1" />
23+
<PackageReference Include="JavaScriptEngineSwitcher.ChakraCore" Version="3.1.0" />
24+
<PackageReference Include="JavaScriptEngineSwitcher.ChakraCore.Native.linux-x64" Version="3.1.0" />
25+
<PackageReference Include="JavaScriptEngineSwitcher.ChakraCore.Native.osx-x64" Version="3.1.0" />
26+
<PackageReference Include="JavaScriptEngineSwitcher.ChakraCore.Native.win-x64" Version="3.1.0" />
2727
</ItemGroup>
2828

2929
<ItemGroup>

src/React.Sample.Mvc4/React.Sample.Mvc4.csproj

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<Import Project="..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.0.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props" Condition="Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.0.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props')" />
4-
<Import Project="..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.0.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props" Condition="Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.0.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props')" />
3+
<Import Project="..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props" Condition="Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props')" />
4+
<Import Project="..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props" Condition="Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props')" />
55
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
66
<PropertyGroup>
77
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -63,14 +63,14 @@
6363
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
6464
<Private>True</Private>
6565
</Reference>
66-
<Reference Include="ClearScript, Version=5.5.4.0, Culture=neutral, PublicKeyToken=935d0c957da47c73, processorArchitecture=MSIL">
67-
<HintPath>..\packages\JavaScriptEngineSwitcher.V8.3.0.0\lib\net45\ClearScript.dll</HintPath>
66+
<Reference Include="ClearScript, Version=5.5.6.0, Culture=neutral, PublicKeyToken=935d0c957da47c73, processorArchitecture=MSIL">
67+
<HintPath>..\packages\JavaScriptEngineSwitcher.V8.3.1.0\lib\net45\ClearScript.dll</HintPath>
6868
</Reference>
69-
<Reference Include="JavaScriptEngineSwitcher.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
70-
<HintPath>..\packages\JavaScriptEngineSwitcher.Core.3.0.0\lib\net45\JavaScriptEngineSwitcher.Core.dll</HintPath>
69+
<Reference Include="JavaScriptEngineSwitcher.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
70+
<HintPath>..\packages\JavaScriptEngineSwitcher.Core.3.1.0\lib\net45\JavaScriptEngineSwitcher.Core.dll</HintPath>
7171
</Reference>
72-
<Reference Include="JavaScriptEngineSwitcher.V8, Version=3.0.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
73-
<HintPath>..\packages\JavaScriptEngineSwitcher.V8.3.0.0\lib\net45\JavaScriptEngineSwitcher.V8.dll</HintPath>
72+
<Reference Include="JavaScriptEngineSwitcher.V8, Version=3.1.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
73+
<HintPath>..\packages\JavaScriptEngineSwitcher.V8.3.1.0\lib\net45\JavaScriptEngineSwitcher.V8.dll</HintPath>
7474
</Reference>
7575
<Reference Include="Microsoft.CSharp" />
7676
<Reference Include="System" />
@@ -227,8 +227,8 @@
227227
<PropertyGroup>
228228
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
229229
</PropertyGroup>
230-
<Error Condition="!Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.0.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.0.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props'))" />
231-
<Error Condition="!Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.0.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.0.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props'))" />
230+
<Error Condition="!Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props'))" />
231+
<Error Condition="!Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props'))" />
232232
</Target>
233233
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
234234
Other similar extension points exist, see Microsoft.Common.targets.

src/React.Sample.Mvc4/Web.config

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,23 +59,15 @@
5959
</dependentAssembly>
6060
<dependentAssembly>
6161
<assemblyIdentity name="ClearScript" publicKeyToken="935D0C957DA47C73" culture="neutral" />
62-
<bindingRedirect oldVersion="0.0.0.0-5.5.2.0" newVersion="5.5.2.0" />
63-
</dependentAssembly>
64-
<dependentAssembly>
65-
<assemblyIdentity name="MsieJavaScriptEngine" publicKeyToken="a3a2846a37ac0d3e" culture="neutral" />
66-
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
62+
<bindingRedirect oldVersion="0.0.0.0-5.5.6.0" newVersion="5.5.6.0" />
6763
</dependentAssembly>
6864
<dependentAssembly>
6965
<assemblyIdentity name="JavaScriptEngineSwitcher.Core" publicKeyToken="c608b2a8cc9e4472" culture="neutral" />
70-
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
71-
</dependentAssembly>
72-
<dependentAssembly>
73-
<assemblyIdentity name="JavaScriptEngineSwitcher.Msie" publicKeyToken="c608b2a8cc9e4472" culture="neutral" />
74-
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
66+
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
7567
</dependentAssembly>
7668
<dependentAssembly>
7769
<assemblyIdentity name="JavaScriptEngineSwitcher.V8" publicKeyToken="c608b2a8cc9e4472" culture="neutral" />
78-
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
70+
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
7971
</dependentAssembly>
8072
<dependentAssembly>
8173
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />

0 commit comments

Comments
 (0)