public async Task <UiLibraryPackage> FindPackageAsync(string packageId)
        {
            string key = $"{packageId}";

            UiLibraryPackage item = _cacheManager.Get <UiLibraryPackage>(key);

            if (item != null)
            {
                return(item);
            }

            item = await _repository.FindPackageAsync(packageId);

            _cacheManager.Set(key, item, TimeSpan.FromDays(1));

            return(item);
        }
        public async Task <UiLibraryPackage> FindPackageAsync(string packageId)
        {
            UiLibraryPackage result = new UiLibraryPackage
            {
                WasFound  = false,
                PackageId = packageId
            };

            NpmPackage npmPackage = await GetNpmPackage(packageId);

            if (npmPackage != null)
            {
                result.WasFound    = true;
                result.ProjectPath = npmPackage.Homepage;
                result.LicencePath = npmPackage.License;
                result.SourcePath  = $"https://www.npmjs.com/package/{HttpUtility.UrlEncode(packageId)}";
            }

            return(result);
        }