Exemple #1
0
        public void FillOutputByAdditionalResourcesDirectory(Dictionary <string, TSProject> buildResultModules,
                                                             MainBuildResult buildResult)
        {
            if (Owner.UsedDependencies == null)
            {
                Owner.UsedDependencies = new HashSet <string>();
            }
            else
            {
                Owner.UsedDependencies.Clear();
            }
            var nodeModulesDir = Owner.Owner.FullPath;

            while (nodeModulesDir.Length > 0)
            {
                if (Owner.DiskCache.TryGetItem(nodeModulesDir + "/node_modules") is IDirectoryCache dc && !dc.IsInvalid)
                {
                    break;
                }
                nodeModulesDir = PathUtils.Parent(nodeModulesDir).ToString();
            }
            Owner.FillOutputByAssets(buildResult, nodeModulesDir, this);
            FillOutputByAssetsFromModules(buildResult, buildResultModules, nodeModulesDir);
            if (AdditionalResourcesDirectory == null)
            {
                return;
            }
            var resourcesPath = PathUtils.Join(Owner.Owner.FullPath, AdditionalResourcesDirectory);
            var item          = Owner.DiskCache.TryGetItem(resourcesPath);

            if (item is IDirectoryCache)
            {
                RecursiveFillOutputByAdditionalResourcesDirectory(buildResult, item as IDirectoryCache, resourcesPath);
            }
        }
Exemple #2
0
        public void FillOutputByAdditionalResourcesDirectory(RefDictionary <string, object> filesContent,
                                                             Dictionary <string, TSProject> buildResultModules, BuildResult buildResult)
        {
            var nodeModulesDir = Owner.Owner.FullPath;

            Owner.FillOutputByAssets(filesContent, buildResult, nodeModulesDir, this);
            FillOutputByAssetsFromModules(filesContent, buildResultModules, nodeModulesDir, buildResult);
            if (AdditionalResourcesDirectory == null)
            {
                return;
            }
            var resourcesPath = PathUtils.Join(Owner.Owner.FullPath, AdditionalResourcesDirectory);
            var item          = Owner.DiskCache.TryGetItem(resourcesPath);

            if (item is IDirectoryCache)
            {
                RecursiveFillOutputByAdditionalResourcesDirectory(item as IDirectoryCache, resourcesPath, filesContent, buildResult);
            }
        }