private TransformationCollection GetTransformations(VisitorResult result, List <RequireCall> flattened) { var trans = new TransformationCollection(); var moduleName = this.CheckForConfigPath(RelativeFileName.ToModuleName()); if (!result.RequireCalls.Any()) { var shim = GetShim(RelativeFileName); var deps = new List <string>(); if (shim != null) { deps = shim.Dependencies.Select(r => r.Dependency).ToList(); } trans.Add(ShimFileTransformation.Create(moduleName, deps)); } else { foreach (var reqCall in result.RequireCalls.Where(r => r.DependencyArrayNode != null)) { trans.Add(NormalizeDepsTransformation.Create(reqCall)); } // if there are no define calls but there is at least one require module call, transform that into a define call if (!result.RequireCalls.Where(r => r.Type == RequireCallType.Define).Any()) { if (result.RequireCalls.Where(r => r.IsModule).Any()) { var call = result.RequireCalls.Where(r => r.IsModule).FirstOrDefault(); trans.Add(ToDefineTransformation.Create(call)); trans.Add(AddIdentifierTransformation.Create(call, moduleName)); } //TODO: Append shimmed dependencies here too } else { var defineCall = result.RequireCalls.Where(r => r.Type == RequireCallType.Define).FirstOrDefault(); if (string.IsNullOrEmpty(defineCall.Id)) { trans.Add(AddIdentifierTransformation.Create(defineCall, moduleName)); } if (defineCall.DependencyArrayNode == null) { trans.Add(AddEmptyDepsArrayTransformation.Create(defineCall)); } var shim = GetShim(RelativeFileName); if (shim != null) { var deps = shim.Dependencies.Select(r => r.Dependency).ToList(); trans.Add(AddDepsTransformation.Create(defineCall, deps)); } } } return(trans); }
public ProjectNodeViewModel GetNodeByRelativeFileName(string relativeFilePathName) { if (RelativeFileName.ToLower() == relativeFilePathName.ToLower()) { return(this); } foreach (ProjectNodeViewModel childNode in Children) { var foundNode = childNode.GetNodeByRelativeFileName(relativeFilePathName); if (foundNode != null) { return(foundNode); } } return(null); }