Universal library for detecting devices based on the string `UserAgent`. We can identify: App, Bot, OS, Browser, Device brand, Device model and Device type (smartphone, phablet, tablet, desktop, TV and other types, total 13)
JavaScriptSin licencia detectada★ 185 estrellas⑂ 25 forksdesde ago 2016Ver en GitHub ↗
sanchezzzhak/node-device-detector tiene un índice de salud de 77 sobre 100, lo que lo sitúa en la banda Bueno. Su puntuación más alta es Engineering Quality (88/100) y la más baja, AI Readiness (50/100). Se actualizó por última vez hace 2 días. Una sola persona concentra la mayor parte del trabajo reciente.
77
global / 100
Bueno
Índice de salud del software
Las métricas se agrupan en categorías ponderadas sobre una escala estandarizada de 1 a 100. El resultado global parte de su media ponderada, calibrada contra la distribución del registro público para que las bandas tengan significado percentil; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe un límite «En riesgo» de 34.
77
Excepcional93-100El nivel más alto del registro (≈ el 5% superior); cumple prácticamente todos los criterios evaluados
Excelente80-92Sólido en todos los frentes; carencias menores
Bueno65-79Saludable; carencias limitadas y manejables
Moderado50-64Aceptable con carencias notables; se recomienda revisión
Débil35-49Debilidades sustanciales en varias áreas
En riesgo20-34Debilidades significativas; su adopción exige cautela
Crítico1-19Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
Perfil de puntuación
Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.
El resultado global ponderado 66 se calibra a 77 en la escala publicada del índice (calibración del registro 2026-08-02).
33 seguidores77 repositorios públicosdesde ene 2012@Infinitiweb
Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.
Excluidos de la puntuación (sin datos o no aplicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Los pesos restantes se han renormalizado.
Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
0/25
Dependencias indirectas libres de avisos conocidos — el conjunto transitivo no es separable de las dependencias de desarrollo y prueba en este alcance
0/40
Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
source
osv
advisories
27
affected_packages
11
assessed_packages
193
unassessed_packages
0
affected_by_severity
critical 1, high 8, moderate 2
direct_affected_packages
0
Excluidos de la puntuación (sin datos o no aplicable): Dependencias indirectas libres de avisos conocidos, Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejaron 193 dependencias resueltas con OSV. Este repositorio no publica ningún paquete que el índice resuelva, por lo que se evaluó en su lugar el grafo de dependencias del repositorio. Ese grafo mezcla fijaciones de desarrollo y prueba con las dependencias distribuidas, de modo que solo se puntúan las dependencias declaradas en tiempo de ejecución; los hallazgos transitivos se informan como contexto y quedan excluidos de la puntuación. No se analiza la alcanzabilidad.
¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Tiene un peso deliberadamente pequeño (4%): las herramientas para agentes son una señal real de mantenimiento, pero un repositorio sin ninguna puede alcanzar igualmente 100/100.
Código verificable por tipos — JavaScript sin configuración de verificación de tipos
51.2/55
Tamaños de archivo manejables — 8/115 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_language
JavaScript
largest_source_bytes
1.734.558
source_files_sampled
115
oversized_source_files
8
Datos clave
185estrellas de GitHub
13contribuidores
21commits en los últimos 12 meses
2días desde el último push
50versiones publicadas
1factor bus
2issues abiertas
npmecosistemas de paquetes
Advertencias de recopilación de datos
Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
Más detalle
Historial de estrellas y forks 0 ★ / 25 ⇿
0Estrellas
25Forks
50Versiones
Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.
Mayor 1Menor 3Parche 46
Cada punto abarca 9 días.
OpenSSF Scorecard 4.2 / 10
4.2agregado
Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-09-15 10:54 UTC
Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 0 paquetes directos y 193 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.
Registro
Paquete
Versión
Relación
npm
@eslint-community/eslint-utils
4.4.1
indirecta
npm
@eslint-community/regexpp
4.12.1
indirecta
npm
@eslint/eslintrc
2.1.4
indirecta
npm
@eslint/js
8.57.1
indirecta
npm
@fast-csv/format
5.0.2
indirecta
npm
@fast-csv/parse
5.0.2
indirecta
npm
@humanwhocodes/config-array
0.13.0
indirecta
npm
@humanwhocodes/module-importer
1.0.1
indirecta
npm
@humanwhocodes/object-schema
2.0.3
indirecta
npm
@nodelib/fs.scandir
2.1.5
indirecta
npm
@nodelib/fs.stat
2.0.5
indirecta
npm
@nodelib/fs.walk
1.2.8
indirecta
npm
@types/json-schema
7.0.15
indirecta
npm
@types/semver
7.5.8
indirecta
npm
@typescript-eslint/eslint-plugin
5.62.0
indirecta
npm
@typescript-eslint/parser
5.62.0
indirecta
npm
@typescript-eslint/scope-manager
5.62.0
indirecta
npm
@typescript-eslint/type-utils
5.62.0
indirecta
npm
@typescript-eslint/types
5.62.0
indirecta
npm
@typescript-eslint/typescript-estree
5.62.0
indirecta
npm
@typescript-eslint/utils
5.62.0
indirecta
npm
@typescript-eslint/visitor-keys
5.62.0
indirecta
npm
@ungap/structured-clone
1.3.0
indirecta
npm
acorn
8.14.0
indirecta
npm
acorn-jsx
5.3.2
indirecta
npm
ajv
6.12.6
indirecta
npm
ansi-colors
4.1.3
indirecta
npm
ansi-regex
5.0.1
indirecta
npm
ansi-styles
4.3.0
indirecta
npm
anymatch
3.1.3
indirecta
npm
argparse
2.0.1
indirecta
npm
array-union
2.1.0
indirecta
npm
assertion-error
1.1.0
indirecta
npm
balanced-match
1.0.2
indirecta
npm
benchmark
2.1.4
indirecta
npm
binary-extensions
2.3.0
indirecta
npm
brace-expansion
1.1.11
indirecta
npm
brace-expansion
2.0.1
indirecta
npm
braces
3.0.3
indirecta
npm
browser-stdout
1.3.1
indirecta
npm
callsites
3.1.0
indirecta
npm
camelcase
6.3.0
indirecta
npm
chai
4.5.0
indirecta
npm
chalk
4.1.2
indirecta
npm
check-error
1.0.3
indirecta
npm
chokidar
3.6.0
indirecta
npm
cli-table
0.3.11
indirecta
npm
cliui
7.0.4
indirecta
npm
color-convert
2.0.1
indirecta
npm
color-name
1.1.4
indirecta
npm
colors
1.0.3
indirecta
npm
commander
11.1.0
indirecta
npm
concat-map
0.0.1
indirecta
npm
cross-spawn
7.0.6
indirecta
npm
debug
4.4.0
indirecta
npm
decamelize
4.0.0
indirecta
npm
deep-eql
4.1.4
indirecta
npm
deep-is
0.1.4
indirecta
npm
diff
5.2.0
indirecta
npm
dir-glob
3.0.1
indirecta
npm
doctrine
3.0.0
indirecta
npm
emoji-regex
8.0.0
indirecta
npm
escalade
3.2.0
indirecta
npm
escape-string-regexp
4.0.0
indirecta
npm
eslint
8.57.1
indirecta
npm
eslint-scope
5.1.1
indirecta
npm
eslint-scope
7.2.2
indirecta
npm
eslint-visitor-keys
3.4.3
indirecta
npm
espree
9.6.1
indirecta
npm
esquery
1.6.0
indirecta
npm
esrecurse
4.3.0
indirecta
npm
estraverse
4.3.0
indirecta
npm
estraverse
5.3.0
indirecta
npm
esutils
2.0.3
indirecta
npm
fast-deep-equal
3.1.3
indirecta
npm
fast-glob
3.3.3
indirecta
npm
fast-json-stable-stringify
2.1.0
indirecta
npm
fast-levenshtein
2.0.6
indirecta
npm
fastq
1.19.0
indirecta
npm
file-entry-cache
6.0.1
indirecta
npm
fill-range
7.1.1
indirecta
npm
find-up
5.0.0
indirecta
npm
flat
5.0.2
indirecta
npm
flat-cache
3.2.0
indirecta
npm
flatted
3.3.2
indirecta
npm
fs.realpath
1.0.0
indirecta
npm
fsevents
2.3.3
indirecta
npm
get-caller-file
2.0.5
indirecta
npm
get-func-name
2.0.2
indirecta
npm
glob
7.2.3
indirecta
npm
glob
8.1.0
indirecta
npm
glob-parent
5.1.2
indirecta
npm
glob-parent
6.0.2
indirecta
npm
globals
13.24.0
indirecta
npm
globby
11.1.0
indirecta
npm
graphemer
1.4.0
indirecta
npm
has-flag
4.0.0
indirecta
npm
he
1.2.0
indirecta
npm
ignore
5.3.2
indirecta
npm
import-fresh
3.3.0
indirecta
npm
imurmurhash
0.1.4
indirecta
npm
inflight
1.0.6
indirecta
npm
inherits
2.0.4
indirecta
npm
is-binary-path
2.1.0
indirecta
npm
is-extglob
2.1.1
indirecta
npm
is-fullwidth-code-point
3.0.0
indirecta
npm
is-glob
4.0.3
indirecta
npm
is-number
7.0.0
indirecta
npm
is-path-inside
3.0.3
indirecta
npm
is-plain-obj
2.1.0
indirecta
npm
is-unicode-supported
0.1.0
indirecta
npm
isexe
2.0.0
indirecta
npm
js-yaml
4.3.1
indirecta
npm
json-buffer
3.0.1
indirecta
npm
json-schema-traverse
0.4.1
indirecta
npm
json-stable-stringify-without-jsonify
1.0.1
indirecta
npm
keyv
4.5.4
indirecta
npm
levn
0.4.1
indirecta
npm
locate-path
6.0.0
indirecta
npm
lodash
4.17.23
indirecta
npm
lodash.escaperegexp
4.1.2
indirecta
npm
lodash.groupby
4.6.0
indirecta
npm
lodash.isboolean
3.0.3
indirecta
npm
lodash.isequal
4.5.0
indirecta
npm
lodash.isfunction
3.0.9
indirecta
npm
lodash.isnil
4.0.0
indirecta
npm
lodash.isundefined
3.0.1
indirecta
npm
lodash.merge
4.6.2
indirecta
npm
lodash.uniq
4.5.0
indirecta
npm
log-symbols
4.1.0
indirecta
npm
loupe
2.3.7
indirecta
npm
merge2
1.4.1
indirecta
npm
micromatch
4.0.8
indirecta
npm
minimatch
3.1.2
indirecta
npm
minimatch
5.1.6
indirecta
npm
mocha
10.8.2
indirecta
npm
ms
2.1.3
indirecta
npm
natural-compare
1.4.0
indirecta
npm
natural-compare-lite
1.4.0
indirecta
npm
normalize-path
3.0.0
indirecta
npm
once
1.4.0
indirecta
npm
optionator
0.9.4
indirecta
npm
p-limit
3.1.0
indirecta
npm
p-locate
5.0.0
indirecta
npm
parent-module
1.0.1
indirecta
npm
path-exists
4.0.0
indirecta
npm
path-is-absolute
1.0.1
indirecta
npm
path-key
3.1.1
indirecta
npm
path-type
4.0.0
indirecta
npm
pathval
1.1.1
indirecta
npm
picomatch
2.3.1
indirecta
npm
platform
1.3.6
indirecta
npm
prelude-ls
1.2.1
indirecta
npm
prettier
2.8.8
indirecta
npm
punycode
2.3.1
indirecta
npm
queue-microtask
1.2.3
indirecta
npm
randombytes
2.1.0
indirecta
npm
readdirp
3.6.0
indirecta
npm
require-directory
2.1.1
indirecta
npm
resolve-from
4.0.0
indirecta
npm
reusify
1.0.4
indirecta
npm
rimraf
3.0.2
indirecta
npm
run-parallel
1.2.0
indirecta
npm
safe-buffer
5.2.1
indirecta
npm
semver
7.7.0
indirecta
npm
serialize-javascript
6.0.2
indirecta
npm
shebang-command
2.0.0
indirecta
npm
shebang-regex
3.0.0
indirecta
npm
slash
3.0.0
indirecta
npm
string-width
4.2.3
indirecta
npm
strip-ansi
6.0.1
indirecta
npm
strip-json-comments
3.1.1
indirecta
npm
supports-color
7.2.0
indirecta
npm
supports-color
8.1.1
indirecta
npm
text-table
0.2.0
indirecta
npm
to-regex-range
5.0.1
indirecta
npm
tslib
1.14.1
indirecta
npm
tsutils
3.21.0
indirecta
npm
type-check
0.4.0
indirecta
npm
type-detect
4.1.0
indirecta
npm
type-fest
0.20.2
indirecta
npm
typescript
4.9.5
indirecta
npm
uri-js
4.4.1
indirecta
npm
which
2.0.2
indirecta
npm
word-wrap
1.2.5
indirecta
npm
workerpool
6.5.1
indirecta
npm
wrap-ansi
7.0.0
indirecta
npm
wrappy
1.0.2
indirecta
npm
y18n
5.0.8
indirecta
npm
yargs
16.2.0
indirecta
npm
yargs-parser
20.2.9
indirecta
npm
yargs-unparser
2.0.0
indirecta
npm
yocto-queue
0.1.0
indirecta
Avisos de dependencias 11
Este repositorio no publica ningún paquete que el índice resuelva, así que se evaluó su propio grafo de dependencias — 193 paquetes, que incluyen también fijaciones de desarrollo y prueba que nunca se distribuyen: 11 tienen avisos conocidos, de los cuales 0 son directas.
Paquete
Versión
Relación
Gravedad
Avisos
Corregido en
flatted
3.3.2
indirecta
crítica
2
3.4.2
brace-expansion
1.1.11
indirecta
alta
5
5.0.9
brace-expansion
2.0.1
indirecta
alta
5
5.0.9
js-yaml
4.3.1
indirecta
alta
1
4.3.2
lodash
4.17.23
indirecta
alta
2
4.18.0
minimatch
3.1.2
indirecta
alta
3
10.2.3
minimatch
5.1.6
indirecta
alta
3
10.2.3
picomatch
2.3.1
indirecta
alta
2
4.0.4
serialize-javascript
6.0.2
indirecta
alta
2
7.0.5
ajv
6.12.6
indirecta
moderada
1
8.18.0
diff
5.2.0
indirecta
moderada
1
8.0.3
Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.
Informe JSON sin procesar legible por máquina
Comentarios
¿Algo no cuadra en este informe, o hay ideas que compartir? Mediciones erróneas, herramientas no detectadas, ideas, preguntas: todo es bienvenido. Cada mensaje se lee y recibe respuesta.
Registros relacionados
Repositorios inspeccionados que comparten etiquetas de catálogo o ecosistemas con sanchezzzhak/node-device-detector. Leer en paralelo →
Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.
Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v2.10.0, esquema v0.34.0 — metodología completa · wiki de métricas.