Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display plugin health score details on individual pages #1431

Merged
merged 30 commits into from
Oct 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
003b536
Creates plugin health score page
alecharp Jun 20, 2023
0ed229e
Trying to get health score from data
alecharp Jun 21, 2023
06cdf31
Merge branch 'master' into feature/plugin-health-score
alecharp Jun 21, 2023
f9437f3
Fixes template display name
alecharp Jun 22, 2023
f1280da
Keeps healthscore in one work
alecharp Jun 22, 2023
9263be3
Creates node for plugin health statistics
alecharp Jun 27, 2023
14bd773
Do not commit the dev url to PHS
alecharp Jun 28, 2023
6c42dbb
Updates the GraphQL query to match the new API
alecharp Jun 28, 2023
956d81a
Fixes the score components format
alecharp Jun 28, 2023
93aee4e
Adds description to probe entries
alecharp Jun 29, 2023
bf6635f
Displays raw data from plugin health
alecharp Jun 29, 2023
791ddd1
Tries to show health score details
alecharp Jun 29, 2023
b85566c
Highlights the plugin score
alecharp Jun 30, 2023
7829315
Merge branch 'master' into feature/plugin-health-score
alecharp Oct 4, 2023
3fea8d0
Merge branch 'master' into feature/plugin-health-score
alecharp Oct 13, 2023
9107af8
Updates graphql schemas to 3.1.0 version of PHS
alecharp Oct 16, 2023
db22d58
ESLint fix
zbynek Oct 17, 2023
524dacf
Fixing score section sort function
alecharp Oct 17, 2023
577b554
Improves score visualisation layout
alecharp Oct 18, 2023
7bf6467
Fixes PHS API response for test
alecharp Oct 18, 2023
c9d3214
Forgot about the test snapshot
alecharp Oct 18, 2023
240262e
Removes unnecessary decimal point
alecharp Oct 18, 2023
f68aaec
ECMAScript for Jest requires experimental node option
alecharp Oct 19, 2023
57bde89
Update test snapshot with jest
alecharp Oct 19, 2023
06b06d4
Groups score components into same root
alecharp Oct 19, 2023
12148ca
Display values as percentage
alecharp Oct 20, 2023
4c90a5e
Improves visualization of score category name
alecharp Oct 20, 2023
618d0ac
Cross-platform way of setting experimental modules
zbynek Oct 21, 2023
251319a
Updates plugin score link to new tab
alecharp Oct 23, 2023
efec8a8
Shows score as percentage in search result
alecharp Oct 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion plugins/gatsby-jenkinsci-fieldextensions/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"scripts": {
"lint": "eslint --ext .js,.jsx,.mjs .",
"build": "exit 0",
"test": "jest"
"test": "node --experimental-vm-modules ../../node_modules/jest/bin/jest.js"
},
"keywords": [],
"author": "Gavin Mogan <[email protected]> (https://www.gavinmogan.com/)",
Expand Down
213 changes: 99 additions & 114 deletions plugins/gatsby-source-jenkinsplugins/__mocks__/plugin-health-score.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,151 +4,136 @@
"value": 98,
"details": {
"security": {
"value": 1.0,
"value": 100.0,
"weight": 1.0,
"components": {
"security": {
"value": 1.0,
"max": 1.0
"components": [
{
"value": 100,
"weight": 1.0,
"reasons": [
"Plugin does not seem to have on-going security advisory."
]
}
}
]
},
"adoption": {
"value": 1.0,
"value": 100.0,
"weight": 0.8,
"components": {
"up-for-adoption": {
"value": 1.0,
"max": 1.0
}
}
},
"update-center-plugin-publication": {
"value": 1.0,
"weight": 1.0,
"components": {
"update-center-plugin-publication-probe": {
"value": 1.0,
"max": 1.0
}
}
},
"repository-configuration": {
"value": 0.85,
"weight": 0.5,
"components": {
"dependabot-pull-requests": {
"value": 0.0,
"max": -0.15
"components": [
{
"value": 100,
"weight": 1.0,
"reasons": [
"There is less than 6 months between the last release and the last commit."
]
},
{
"value": 100,
"weight": 1.0,
"reasons": [
"There is less than 4 years between the last commit and the last release."
]
},
"jenkinsfile": {
"value": 0.65,
"max": 0.65
{
"value": 0,
"weight": 0.0,
"reasons": [
"No commit in the last 4 years."
]
},
"jep-229": {
"value": 0.05,
"max": 0.05
{
"value": 100,
"weight": 1.0,
"reasons": [
"There is less than a year between the last commit and the last release."
]
},
"dependabot": {
"value": 0.15,
"max": 0.15
{
"value": 100,
"weight": 1.0,
"reasons": [
"The plugin is not marked as up for adoption"
]
},
"documentation-migration": {
"value": 0.15,
"max": 0.15
{
"value": 100,
"weight": 1.0,
"reasons": [
"There is less than 2 years between the last commit and the last release."
]
}
}
]
},
"deprecation": {
"value": 1.0,
"weight": 0.8,
"components": {
"deprecation": {
"value": 1.0,
"max": 1.0
}
}
}
}
},
"mq-notifier": {
"value": 93,
"details": {
"security": {
"value": 1.0,
"update-center-plugin-publication": {
"value": 100.0,
"weight": 1.0,
"components": {
"security": {
"value": 1.0,
"max": 1.0
"components": [
{
"value": 100,
"weight": 1.0,
"reasons": [
"The plugin appears in the update-center."
]
}
}
},
"adoption": {
"value": 0.75,
"weight": 0.8,
"components": {
"up-for-adoption": {
"value": 1.0,
"max": 1.0
}
}
]
},
"repository-configuration": {
"value": 0.8,
"value": 85.0,
"weight": 0.5,
"components": {
"dependabot-pull-requests": {
"value": 0.0,
"max": -0.15
},
"jenkinsfile": {
"value": 0.65,
"max": 0.65
"components": [
{
"value": 100,
"weight": 15.0,
"reasons": [
"Documentation is in plugin repository."
]
},
"jep-229": {
"value": 0.0,
"max": 0.05
{
"value": 100,
"weight": 5.0,
"reasons": [
"JEP-229 is configured on the plugin."
]
},
"dependabot": {
"value": 0.0,
"max": 0.15
{
"value": 100,
"weight": 65.0,
"reasons": [
"Jenkinsfile detected in plugin repository."
]
},
"documentation-migration": {
"value": 0.15,
"max": 0.15
}
}
},
"update-center-plugin-publication": {
"value": 1.0,
"weight": 1.0,
"components": {
"update-center-plugin-publication-probe": {
"value": 1.0,
"max": 1.0
{
"value": 0,
"weight": 15.0,
"reasons": [
"dependabot is configured.",
"3 open dependency pull requests"
]
}
}
]
},
"deprecation": {
"value": 1.0,
"value": 100.0,
"weight": 0.8,
"components": {
"deprecation": {
"value": 1.0,
"max": 1.0
"components": [
{
"value": 100,
"weight": 1.0,
"reasons": [
"Plugin is not marked as deprecated."
]
}
}
]
}
}
}
},
"statistics": {
"average": 86,
"average": 85.0,
"minimum": 0,
"maximum": 100,
"firstQuartile": 78,
"median": 88,
"firstQuartile": 77,
"median": 90,
"thirdQuartile": 98
}
}
Loading