Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haavamoa/Gjallarhorn
A blazing website to compare versions of packages on different NuGet sources.
https://github.com/haavamoa/Gjallarhorn
blazor blazor-application compare-versions gjallarhorn json mvvm mvvm-architecture nuget-sources shared-components webclient
Last synced: 19 days ago
JSON representation
A blazing website to compare versions of packages on different NuGet sources.
- Host: GitHub
- URL: https://github.com/haavamoa/Gjallarhorn
- Owner: haavamoa
- License: mit
- Created: 2018-12-05T22:11:57.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-08-27T21:08:59.000Z (about 4 years ago)
- Last Synced: 2024-06-29T04:33:30.015Z (5 months ago)
- Topics: blazor, blazor-application, compare-versions, gjallarhorn, json, mvvm, mvvm-architecture, nuget-sources, shared-components, webclient
- Language: JavaScript
- Homepage:
- Size: 8.95 MB
- Stars: 5
- Watchers: 1
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![Build Status](https://dev.azure.com/havardmoas/HaavamoaProjects/_apis/build/status/haavamoa.Gjallarhorn?branchName=master)](https://dev.azure.com/havardmoas/HaavamoaProjects/_build/latest?definitionId=6&branchName=master)
![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/haavamoa/gjallarhorn.svg)
# Gjallarhorn
A blazing website to compare versions of packages on different NuGet sources.
## The idea
Instead of making packages publicly available, you might want to release packages to only a limited audience, such as your organization or workgroup.
This web-client provides a simple way of monitoring the different versions of a package on different sources.## Technologies
- ASP.NET Core 3.0
- Blazor## How to use it
### Source
- Open port `1338`
- `cd src/Gjallarhorn.Server`
- `dotnet run`### Docker
`docker pull haavamoa/gjallarhorn`
# Demonstration
When first starting the web-site you will enter a blank *status*-page. What you need to do is to go to *edit*-page and start writing JSON.Here is a example of a potential JSON where we compare *LightInject* with two sources: ``https://api.nuget.org/v3`` and ``.
We also set `aliases` to the feeds, which is a display message in the *status* page.
![BeforeFetch]## Here is the JSON
```json
{
"SourceComparers": [
{
"SourceA": "https://api.nuget.org/v3/",
"SourceAAlias": "NuGet",
"SourceB": "",
"SourceBAlias": "My fake feed",
"Packages": [
{
"Name": "LightInject",
"ComparePreRelease": true
}
]
}
]
}
```When we press *Save* we jump back to the *status*-page, and we start fetching versions from the two feeds:
![DuringFetch]After the fetching has finished, we get a simplified view of the package status:
![AfterFetch]If we want to add more packages to this two comparing sources, we do the following:
```json
{
"SourceComparers": [
{
"SourceA": "https://api.nuget.org/v3/",
"SourceAAlias": "NuGet",
"SourceB": "",
"SourceBAlias": "My fake feed",
"Packages": [
{
"Name": "LightInject",
"ComparePreRelease": true
},
{
"Name" : "Newtonsoft.Json",
"ComparePreRelease": true
}
]
}
]
}
```If we want to add different comparing sources, we do the following:
```json
{
"SourceComparers": [
{
"SourceA": "https://api.nuget.org/v3/",
"SourceAAlias": "NuGet",
"SourceB": "",
"SourceBAlias": "My fake feed",
"Packages": [
{
"Name": "LightInject",
"ComparePreRelease": true
},
{
"Name" : "Newtonsoft.Json",
"ComparePreRelease": true
}
]
},
{
"SourceA": "https://api.nuget.org/v3/",
"SourceAAlias": "NuGet",
"SourceB": "",
"SourceBAlias": "My other fake feed",
"Packages": [
{
"Name": "LightInject",
"ComparePreRelease": true
},
{
"Name" : "Newtonsoft.Json",
"ComparePreRelease": true
}
]
}]
}
```
## Options when creating JSON in edit-mode*ComparePrerelease* is optional, and is set to false if left empty.
[BeforeFetch]: doc/img/BeforeFetch.png
[DuringFetch]: doc/img/DuringFetch.png
[AfterFetch]: doc/img/AfterFetch.png