private IEnumerable<string> ResolvePath(string appPath, string path)
{
var absoluteParts = System.IO.Path.Combine(appPath, path.Replace('/', '\\').Trim('\\')).Split('\\');
// Handle wildcards: content/scripts/*.js
if (absoluteParts.Last().Contains('*'))
{
string searchPath = "";
string searchPattern = absoluteParts.Last();
var searchOption = System.IO.SearchOption.TopDirectoryOnly;
for (int i = 0; i < absoluteParts.Length - 1; i++)
{
// Handle recursive searching: content/scripts/**/*.js
if (i == absoluteParts.Length - 2 && absoluteParts[i] == "**")
{
searchOption = System.IO.SearchOption.AllDirectories;
}
else
{
searchPath += absoluteParts[i] + '\\';
}
}
return this.fileSystem.EnumerateFiles(searchPath.TrimEnd('\\'), searchPattern, searchOption);
}
else
{
return new[] { String.Join("\\", absoluteParts) };
}
}