kopia lustrzana https://github.com/badgen/badgen.net
Merge branch 'master' into next-13
commit
716bdab58b
|
@ -169,7 +169,7 @@ async function metadataHandler ({ type, scope, name, tag, architecture, variant
|
|||
|
||||
const image_config = await getImageConfig(scope, name, image_manifest.config.digest, token)
|
||||
|
||||
const metadata = image_config.container_config.Labels[`org.label-schema.${type}`]
|
||||
const metadata = image_config.container_config.Labels[`org.label-schema.${type}`] || image_config.container_config.Labels[`org.opencontainers.image.${type}`]
|
||||
if (! metadata) {
|
||||
return {
|
||||
subject: 'docker metadata',
|
||||
|
|
|
@ -89,14 +89,16 @@ const statesColor = {
|
|||
unknown: 'grey'
|
||||
}
|
||||
|
||||
// https://docs.github.com/en/rest/checks/runs#list-check-runs-for-a-git-reference
|
||||
function combined (states: Array<any>, stateKey: string = 'state') {
|
||||
if (states.length === 0) return 'unknown'
|
||||
|
||||
if (states.find(x => x[stateKey] === 'error')) return 'error'
|
||||
if (states.find(x => x[stateKey] === 'failure')) return 'failure'
|
||||
if (states.find(x => x[stateKey] === 'pending')) return 'pending'
|
||||
if (states.find(x => x[stateKey] === 'timed_out')) return 'timed_out'
|
||||
if (states.find(x => x[stateKey] === 'action_required')) return 'action_required'
|
||||
|
||||
const succeeded = states
|
||||
.filter(x => x[stateKey] !== 'neutral')
|
||||
.filter(x => x[stateKey] !== 'cancelled')
|
||||
.filter(x => x[stateKey] !== 'skipped')
|
||||
.every(x => x[stateKey] === 'success')
|
||||
|
|
|
@ -231,18 +231,18 @@ const makeQueryCall = async ({ topic, owner, repo, ...restArgs }) => {
|
|||
|
||||
const makeRestCall = async ({ topic, owner, repo, ...restArgs }) => {
|
||||
const restPaths = {
|
||||
'mrs': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/merge_requests`,
|
||||
'open-mrs': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/merge_requests?state=opened`,
|
||||
'closed-mrs': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/merge_requests?state=closed`,
|
||||
'merged-mrs': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/merge_requests?state=merged`,
|
||||
'commits': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/commits?${restArgs.ref ? "ref_name=" + restArgs.ref : ''}`,
|
||||
'last-commit': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/commits?${restArgs.ref ? "ref_name=" + restArgs.ref : ''}`,
|
||||
'branches': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/branches`,
|
||||
'tags': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/tags`,
|
||||
'contributors': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/contributors`,
|
||||
'releases': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/releases`,
|
||||
'release': `/projects/${encodeURIComponent(`${owner}/${repo}`)}/releases`,
|
||||
'license': `/projects/${encodeURIComponent(`${owner}/${repo}`)}?license=true`,
|
||||
'mrs': `projects/${encodeURIComponent(`${owner}/${repo}`)}/merge_requests`,
|
||||
'open-mrs': `projects/${encodeURIComponent(`${owner}/${repo}`)}/merge_requests?state=opened`,
|
||||
'closed-mrs': `projects/${encodeURIComponent(`${owner}/${repo}`)}/merge_requests?state=closed`,
|
||||
'merged-mrs': `projects/${encodeURIComponent(`${owner}/${repo}`)}/merge_requests?state=merged`,
|
||||
'commits': `projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/commits?${restArgs.ref ? "ref_name=" + restArgs.ref : ''}`,
|
||||
'last-commit': `projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/commits?${restArgs.ref ? "ref_name=" + restArgs.ref : ''}`,
|
||||
'branches': `projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/branches`,
|
||||
'tags': `projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/tags`,
|
||||
'contributors': `projects/${encodeURIComponent(`${owner}/${repo}`)}/repository/contributors`,
|
||||
'releases': `projects/${encodeURIComponent(`${owner}/${repo}`)}/releases`,
|
||||
'release': `projects/${encodeURIComponent(`${owner}/${repo}`)}/releases`,
|
||||
'license': `projects/${encodeURIComponent(`${owner}/${repo}`)}?license=true`,
|
||||
}
|
||||
|
||||
let restPath = restPaths[topic]
|
||||
|
|
30
api/npm.ts
30
api/npm.ts
|
@ -183,17 +183,37 @@ async function dependents (name: string) {
|
|||
async function typesDefinition(pkg: string, tag = 'latest') {
|
||||
let meta = await pkgJson(pkg, tag)
|
||||
|
||||
if (typeof meta.types === 'string' || typeof meta.typings === "string") {
|
||||
const hasTypes = (meta: any) => {
|
||||
if (typeof meta.types === 'string' || typeof meta.typings === 'string') {
|
||||
return true
|
||||
}
|
||||
|
||||
const hasNestedTypes = (exports: any) => {
|
||||
if (typeof exports !== 'object') return false
|
||||
if (typeof exports.types === 'string') return true
|
||||
if (Object.values(exports).some(hasNestedTypes)) return true
|
||||
return false
|
||||
}
|
||||
|
||||
if (hasNestedTypes(meta.exports)) {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
if (hasTypes(meta)) {
|
||||
return {
|
||||
subject: 'types',
|
||||
status: 'included',
|
||||
color: '0074c1'
|
||||
color: '0074c1',
|
||||
}
|
||||
}
|
||||
|
||||
const hasIndexDTSFile = await got.head(`https://unpkg.com/${pkg}/index.d.ts`)
|
||||
.then(res => res.statusCode === 200)
|
||||
.catch(e => false)
|
||||
const hasIndexDTSFile = await got
|
||||
.head(`https://unpkg.com/${pkg}/index.d.ts`)
|
||||
.then((res) => res.statusCode === 200)
|
||||
.catch((e) => false)
|
||||
|
||||
if (hasIndexDTSFile) {
|
||||
return {
|
||||
|
|
|
@ -78,16 +78,16 @@ async function apiHandler ({ topic, pkg }: PathArgs) {
|
|||
}
|
||||
case 'dart-platform': {
|
||||
const { scorecard: pubScores } = await client.get(`packages/${pkg}/metrics`).json<any>()
|
||||
const runtimes = parseTags(pubScores.derivedTags, 'runtime').join(' | ')
|
||||
const sdk = parseTags(pubScores.panaReport.derivedTags, 'sdk').join(' | ')
|
||||
return {
|
||||
subject: 'dart',
|
||||
status: runtimes || 'not supported',
|
||||
color: runtimes ? 'blue' : 'grey'
|
||||
status: sdk || 'not supported',
|
||||
color: sdk ? 'blue' : 'grey'
|
||||
}
|
||||
}
|
||||
case 'flutter-platform': {
|
||||
const { scorecard: pubScores } = await client.get(`packages/${pkg}/metrics`).json<any>()
|
||||
const platforms = parseTags(pubScores.derivedTags, 'platform').join(' | ')
|
||||
const platforms = parseTags(pubScores.panaReport.derivedTags, 'platform').join(' | ')
|
||||
return {
|
||||
subject: 'flutter',
|
||||
status: platforms || 'not supported',
|
||||
|
|
Plik diff jest za duży
Load Diff
Ładowanie…
Reference in New Issue