Skip to content

Commit d2724e2

Browse files
committed
fixed bug in requireVisitor for patterns like require(['dep']); added compressor proj examples
1 parent 34e22d1 commit d2724e2

File tree

5 files changed

+35
-11
lines changed

5 files changed

+35
-11
lines changed

RequireJsNet.Compressor/AutoDependency/Parsing/RequireVisitor.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -321,13 +321,21 @@ private void ProcessRequireCall(ref RequireCall parentCall, CallExpression callE
321321
if (argCount == 1)
322322
{
323323
var singleDep = firstArg.As<Literal>();
324-
if (singleDep == null)
324+
if (singleDep != null)
325+
{
326+
requireCall.SingleDependencyNode = singleDep;
327+
requireCall.Dependencies.Add(singleDep.Value.ToString());
328+
}
329+
else if (firstArg is ArrayExpression)
330+
{
331+
var deps = this.ProcessDependencyArray(firstArg, requireCall);
332+
requireCall.Dependencies.AddRange(deps);
333+
}
334+
else
325335
{
326336
throw new Exception("Could not read argument for require() call " + relativeFileName);
327337
}
328-
329-
requireCall.SingleDependencyNode = singleDep;
330-
requireCall.Dependencies.Add(singleDep.Value.ToString());
338+
331339
}
332340
else if (argCount == 2)
333341
{
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<UsingTask TaskName="RequireCompressorTask" AssemblyFile="..\bin\RequireJsNet.Compressor.dll" />
3+
<ItemGroup>
4+
<Configs Include="$(MSBuildProjectDirectory)\RequireJS.complex.json" />
5+
</ItemGroup>
6+
<Target Name="Minify" AfterTargets="AfterBuild">
7+
<RequireCompressorTask LoggingType="Debug" RequireConfigs="@(Configs)" AutoCompressor="true" EncodingType="UTF8" ProjectPath="$(MSBuildProjectDirectory)" />
8+
</Target>
9+
</Project>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<UsingTask TaskName="RequireCompressorTask" AssemblyFile="..\bin\RequireJsNet.Compressor.dll" />
3+
<ItemGroup>
4+
<Configs Include="$(MSBuildProjectDirectory)\RequireJS.complex.json" />
5+
</ItemGroup>
6+
<Target Name="MinifyClassic" AfterTargets="AfterBuild">
7+
<RequireCompressorTask LoggingType="Debug" AutoCompressor="false" RequireConfigs="@(Configs)" EncodingType="UTF8" ProjectPath="$(MSBuildProjectDirectory)" />
8+
</Target>
9+
</Project>

RequireJsNet.Examples/RequireJS.complex.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"directory": "\\controllers\\Root\\"
5454
},
5555
{
56-
"file": "jquery"
56+
"file": "jquery-1.10.2"
5757
}
5858
]
5959
}

RequireJsNet.Examples/RequireJsNet.Examples.csproj

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@
131131
<Content Include="fonts\glyphicons-halflings-regular.svg" />
132132
<Content Include="Global.asax" />
133133
<Content Include="Content\Site.css" />
134+
<None Include=".build\autoCompressor.proj" />
135+
<None Include=".build\compressor.proj" />
134136
<None Include="Scripts\amplify-vsdoc.js" />
135137
<Content Include="Scripts\amplify.js" />
136138
<Content Include="Scripts\amplify.min.js" />
@@ -241,10 +243,6 @@
241243
</PropertyGroup>
242244
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
243245
</Target>
244-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
245-
Other similar extension points exist, see Microsoft.Common.targets.
246-
<Target Name="BeforeBuild">
247-
</Target>
248-
<Target Name="AfterBuild">
249-
</Target> -->
246+
<Import Project=".build\autoCompressor.proj" />
247+
<Import Project=".build\compressor.proj" />
250248
</Project>

0 commit comments

Comments
 (0)