Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-25 12:32 UTC

neos / form-builder

Flow Form Framework integration into Neos CMS

PHP · SCSS · JavaScriptGPL-3.0★ 19 estrellas⑂ 33 forksdesde jul 2017Ver en GitHub ↗

neos/form-builder tiene un índice de salud de 38 sobre 100, lo que lo sitúa en la banda En riesgo. Su puntuación más alta es Sustainability & Governance (68/100) y la más baja, AI Readiness (30/100). Se actualizó por última vez hace 91 días. Una sola persona concentra la mayor parte del trabajo reciente.

38
global / 100
En riesgo

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

38
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

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.

La Política de Jurisdicciones de Alto Riesgo aplica un multiplicador del 75% a la salud global ponderada y le da un límite «En riesgo» de 49.

Titularidad

NeosOrganización
94 seguidores152 repositorios públicosdesde mar 2015

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicación
Packagistneos/form-builder3.0.5584529hace 91 días

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

44En riesgo · 22% del índice global
Cómo se puntúa
9.9/36Recencia de push — último push hace 91 días
1.4/36Cadencia de commits — 2/52 semanas con commits
7.6/18Volumen de commits — 6 commits en el último año
0/10OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Datos de entrada utilizados
commits_last_year6
human_commit_share0,96
days_since_last_push91
active_weeks_last_year2
Cómo se puntúa
27/27Publica versiones — 29 versiones publicadas
27/36Recencia de las versiones — última versión hace 91 días
19.8/27Cadencia de publicación — una versión cada ~90,8 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count29
latest_release_tag3.0.5
releases_from_tagsno
days_since_latest_release91
mean_days_between_releases90,8
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

58Moderado · 18% del índice global
Cómo se puntúa
20.4/60Estrellas — 19 estrellas
12.5/25Forks — 33 forks
1.7/15Observadores — 3 observadores
Datos de entrada utilizados
forks33
stars19
watchers3
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (GPL-3.0)
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conduct
has_pull_request_templateno
Cómo se puntúa
50.2/80Descargas mensuales — 5845 descargas/mes en packagist
8.7/20Dependientes en el registro — 19 paquetes dependen de él
Datos de entrada utilizados
packagesneos/form-builder
dependents19
ecosystemspackagist
total_downloads369.460
monthly_downloads5845

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

68Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
10.5/22.5Distribución de commits — el principal contribuyente firma el 53% de los commits
13.5/13.5Amplitud de contribuyentes — 22 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 8 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled22
top_contributor_share0,533
Cómo se puntúa
36.8/46.8Resolución de issues — 79% de issues cerradas
23.1/38.3Aceptación de PR — 64/106 PR decididos fusionados
10.5/15OpenSSF Scorecard: Code-Review — Found 9/12 approved changesets -- score normalized to 7
Datos de entrada utilizados
merged_prs64
open_issues10
closed_issues37
issue_closed_ratio0,787
closed_unmerged_prs42
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
14.2/25Alcance del propietario — 94 seguidores de neos
25/25Trayectoria — 152 repos públicos, cuenta de ~11 años
Datos de entrada utilizados
followers94
owner_typeOrganization
is_verified
owner_loginneos
public_repos152
account_age_days4144
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en packagist
35/35Recencia de publicación — última publicación hace 91 días
20/20Historial de versiones — 29 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesneos/form-builder
ecosystemspackagist
any_deprecatedno
min_days_since_publish91

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

31En riesgo · 20% del índice global
Cómo se puntúa
0/24Flujos de trabajo de CI
0/24Pruebas presentes
0/16Configuración de linter
0/9.6Hooks de pre-commit
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — 0 out of 9 merged PRs checked by a CI test -- score normalized to 0
Datos de entrada utilizados
has_cino
has_testsno
has_editorconfigno
has_linter_configno
has_precommit_configno
Cómo se puntúa
30/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
10/10Topics — 3 topics
0/10Wiki
Datos de entrada utilizados
topicsform, neoscms, hacktoberfest
has_wikino
homepage
has_readme
has_docs_dir
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

46En riesgo · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 0 out of 9 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
5.2/7.5Code-Review — Found 9/12 approved changesets -- score normalized to 7
2.5/2.5Contributors — project has 8 contributing companies or organizations
0/10Dangerous-Workflow — sin datos
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — sin datos
0/5Pinned-Dependencies — sin datos
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
4.5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — sin datos
0/7.5Vulnerabilities — 48 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate4,2
high_risk_jurisdiction_cap49
high_risk_jurisdiction_multiplier75
security_posture_after_multiplier32
security_posture_before_jurisdiction42
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. La Política de Jurisdicciones de Alto Riesgo aplica un multiplicador del 75% y da a la postura de seguridad un límite «En riesgo» de 49.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
0/25Dependencias indirectas libres de avisos conocidos — el conjunto transitivo no es separable de las dependencias de desarrollo y prueba en este alcance
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories52
affected_packages22
assessed_packages199
unassessed_packages2
affected_by_severitycritical 3, high 12, moderate 7
direct_affected_packages0
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 199 dependencias resueltas con OSV. 2 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido o fuera de la lista de paquetes informada. 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.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

30En riesgo · 0% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
32.2/40Historial de commits legible — 58 de 96 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,604
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
0/18Arranque con un solo comando
0/22Pruebas automatizadas
0/11Configuración de lint / formato
0/11Verificación estática de tipos
10/10Entorno reproducible — lockfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
8/8Mantenimiento automatizado — 4 de los últimos 100 commits son actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — sin datos
Datos de entrada utilizados
has_nixno
has_testsno
lockfilesyarn.lock
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,04
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Pinned-Dependencies. Los pesos restantes se han renormalizado.
Cómo se puntúa
0/45Código verificable por tipos — PHP sin configuración de verificación de tipos
55/55Tamaños de archivo manejables — 0/20 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePHP
largest_source_bytes5923
source_files_sampled20
oversized_source_files0

Datos clave

19estrellas de GitHub
22contribuidores
6commits en los últimos 12 meses
91días desde el último push
29versiones publicadas
1factor bus
10issues abiertas
Packagistecosistemas 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 ★ / 33 ⇿
0Estrellas
33Forks
27Versiones

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.

01325383322017-082021-112026-02
Mayor 3Menor 6Parche 18

Cada punto abarca 8 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-07-25 12:31 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 9 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
7Code-ReviewFound 9/12 approved changesets -- score normalized to 7
10Contributorsproject has 8 contributing companies or organizations
n/dDangerous-Workflowno workflows found
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
n/dPackagingpackaging workflow not detected
n/dPinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
9Security-Policysecurity policy file detected
n/dSigned-Releasesno releases found
n/dToken-PermissionsNo tokens found
0Vulnerabilities48 existing vulnerabilities detected
Dependencias directas 2
RegistroPaqueteRestricción de versiónManifiesto
Packagistneos/neos^9.0composer.json
Packagistneos/form^5.0 || ^6.0composer.json
Todas las dependencias 201

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 2 paquetes directos y 199 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

RegistroPaqueteVersiónRelación
Packagistneos/formdirecta
Packagistneos/neosdirecta
npm@esbuild/android-arm0.17.19indirecta
npm@esbuild/android-arm640.17.19indirecta
npm@esbuild/android-x640.17.19indirecta
npm@esbuild/darwin-arm640.17.19indirecta
npm@esbuild/darwin-x640.17.19indirecta
npm@esbuild/freebsd-arm640.17.19indirecta
npm@esbuild/freebsd-x640.17.19indirecta
npm@esbuild/linux-arm0.17.19indirecta
npm@esbuild/linux-arm640.17.19indirecta
npm@esbuild/linux-ia320.17.19indirecta
npm@esbuild/linux-loong640.17.19indirecta
npm@esbuild/linux-mips64el0.17.19indirecta
npm@esbuild/linux-ppc640.17.19indirecta
npm@esbuild/linux-riscv640.17.19indirecta
npm@esbuild/linux-s390x0.17.19indirecta
npm@esbuild/linux-x640.17.19indirecta
npm@esbuild/netbsd-x640.17.19indirecta
npm@esbuild/openbsd-x640.17.19indirecta
npm@esbuild/sunos-x640.17.19indirecta
npm@esbuild/win32-arm640.17.19indirecta
npm@esbuild/win32-ia320.17.19indirecta
npm@esbuild/win32-x640.17.19indirecta
npm@neos-project/neos-ui-extensibility8.3.10indirecta
npm@neos-project/positional-array-sorter8.3.10indirecta
npmabbrev1.1.0indirecta
npmajv6.12.2indirecta
npmamdefine1.0.1indirecta
npmansi-regex2.1.1indirecta
npmansi-styles2.2.1indirecta
npmaproba1.1.2indirecta
npmare-we-there-yet1.1.4indirecta
npmarray-find-index1.0.2indirecta
npmasn10.2.4indirecta
npmassert-plus1.0.0indirecta
npmasync-foreach0.1.3indirecta
npmasynckit0.4.0indirecta
npmaws-sign20.7.0indirecta
npmaws41.9.1indirecta
npmbalanced-match1.0.0indirecta
npmbcrypt-pbkdf1.0.2indirecta
npmblock-stream0.0.9indirecta
npmbrace-expansion1.1.11indirecta
npmbuiltin-modules1.1.1indirecta
npmcamelcase2.1.1indirecta
npmcamelcase3.0.0indirecta
npmcamelcase-keys2.1.0indirecta
npmcaseless0.12.0indirecta
npmchalk1.1.3indirecta
npmcliui3.2.0indirecta
npmcode-point-at1.1.0indirecta
npmcombined-stream1.0.8indirecta
npmconcat-map0.0.1indirecta
npmconsole-control-strings1.1.0indirecta
npmcore-util-is1.0.2indirecta
npmcross-spawn3.0.1indirecta
npmcurrently-unhandled0.4.1indirecta
npmdashdash1.14.1indirecta
npmdecamelize1.2.0indirecta
npmdelayed-stream1.0.0indirecta
npmdelegates1.0.0indirecta
npmecc-jsbn0.1.2indirecta
npmerror-ex1.3.1indirecta
npmesbuild0.17.19indirecta
npmescape-string-regexp1.0.5indirecta
npmextend3.0.2indirecta
npmextsprintf1.0.2indirecta
npmfast-deep-equal3.1.1indirecta
npmfast-json-stable-stringify2.1.0indirecta
npmfind-up1.1.2indirecta
npmforever-agent0.6.1indirecta
npmform-data2.3.3indirecta
npmfs.realpath1.0.0indirecta
npmfstream1.0.12indirecta
npmgauge2.7.4indirecta
npmgaze1.1.2indirecta
npmget-caller-file1.0.2indirecta
npmget-stdin4.0.1indirecta
npmgetpass0.1.7indirecta
npmglob7.1.2indirecta
npmglob7.1.6indirecta
npmglobule1.2.0indirecta
npmgraceful-fs4.2.3indirecta
npmhar-schema2.0.0indirecta
npmhar-validator5.1.3indirecta
npmhas-ansi2.0.0indirecta
npmhas-unicode2.0.1indirecta
npmhosted-git-info2.5.0indirecta
npmhttp-signature1.2.0indirecta
npmin-publish2.0.0indirecta
npmindent-string2.1.0indirecta
npminflight1.0.6indirecta
npminherits2.0.4indirecta
npminvert-kv1.0.0indirecta
npmis-arrayish0.2.1indirecta
npmis-builtin-module1.0.0indirecta
npmis-finite1.0.2indirecta
npmis-fullwidth-code-point1.0.0indirecta
npmis-typedarray1.0.0indirecta
npmis-utf80.2.1indirecta
npmisarray1.0.0indirecta
npmisexe2.0.0indirecta
npmisstream0.1.2indirecta
npmjs-base642.1.9indirecta
npmjsbn0.1.1indirecta
npmjson-schema0.2.3indirecta
npmjson-schema-traverse0.4.1indirecta
npmjson-stringify-safe5.0.1indirecta
npmjsprim1.4.0indirecta
npmlcid1.0.0indirecta
npmload-json-file1.1.0indirecta
npmlodash4.17.15indirecta
npmloud-rejection1.6.0indirecta
npmlru-cache4.1.1indirecta
npmmap-obj1.0.1indirecta
npmmeow3.7.0indirecta
npmmime-db1.29.0indirecta
npmmime-db1.44.0indirecta
npmmime-types2.1.16indirecta
npmmime-types2.1.27indirecta
npmminimatch3.0.4indirecta
npmminimist0.0.8indirecta
npmminimist1.2.0indirecta
npmmkdirp0.5.1indirecta
npmnan2.14.1indirecta
npmnode-gyp3.8.0indirecta
npmnode-sass4.14.0indirecta
npmnopt3.0.6indirecta
npmnormalize-package-data2.4.0indirecta
npmnpmlog4.1.2indirecta
npmnumber-is-nan1.0.1indirecta
npmoauth-sign0.9.0indirecta
npmobject-assign4.1.1indirecta
npmonce1.4.0indirecta
npmos-homedir1.0.2indirecta
npmos-locale1.4.0indirecta
npmos-tmpdir1.0.2indirecta
npmosenv0.1.4indirecta
npmparse-json2.2.0indirecta
npmpath-exists2.1.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-type1.1.0indirecta
npmperformance-now2.1.0indirecta
npmpify2.3.0indirecta
npmpinkie2.0.4indirecta
npmpinkie-promise2.0.1indirecta
npmprocess-nextick-args1.0.7indirecta
npmpseudomap1.0.2indirecta
npmpsl1.8.0indirecta
npmpunycode2.1.1indirecta
npmqs6.5.2indirecta
npmread-pkg1.1.0indirecta
npmread-pkg-up1.0.1indirecta
npmreadable-stream2.3.3indirecta
npmredent1.0.0indirecta
npmrepeating2.0.1indirecta
npmrequest2.88.2indirecta
npmrequire-directory2.1.1indirecta
npmrequire-main-filename1.0.1indirecta
npmrimraf2.7.1indirecta
npmsafe-buffer5.1.1indirecta
npmsafe-buffer5.2.0indirecta
npmsafer-buffer2.1.2indirecta
npmsass-graph2.2.4indirecta
npmscss-tokenizer0.2.3indirecta
npmsemver5.3.0indirecta
npmset-blocking2.0.0indirecta
npmsignal-exit3.0.2indirecta
npmsource-map0.4.4indirecta
npmspdx-correct1.0.2indirecta
npmspdx-expression-parse1.0.4indirecta
npmspdx-license-ids1.2.2indirecta
npmsshpk1.16.1indirecta
npmstdout-stream1.4.0indirecta
npmstring-width1.0.2indirecta
npmstring_decoder1.0.3indirecta
npmstrip-ansi3.0.1indirecta
npmstrip-bom2.0.0indirecta
npmstrip-indent1.0.1indirecta
npmsupports-color2.0.0indirecta
npmtar2.2.2indirecta
npmtough-cookie2.5.0indirecta
npmtrim-newlines1.0.0indirecta
npmtrue-case-path1.0.3indirecta
npmtunnel-agent0.6.0indirecta
npmtweetnacl0.14.5indirecta
npmuri-js4.2.2indirecta
npmutil-deprecate1.0.2indirecta
npmuuid3.4.0indirecta
npmvalidate-npm-package-license3.0.1indirecta
npmverror1.3.6indirecta
npmwhich1.3.0indirecta
npmwhich-module1.0.0indirecta
npmwide-align1.1.2indirecta
npmwrap-ansi2.1.0indirecta
npmwrappy1.0.2indirecta
npmy18n3.2.1indirecta
npmyallist2.1.2indirecta
npmyargs7.1.0indirecta
npmyargs-parser5.0.0indirecta
Avisos de dependencias 22

Este repositorio no publica ningún paquete que el índice resuelva, así que se evaluó su propio grafo de dependencias — 199 paquetes, que incluyen también fijaciones de desarrollo y prueba que nunca se distribuyen: 22 tienen avisos conocidos, de los cuales 0 son directas. 2 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido, o fuera de la lista de paquetes informada.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
json-schema0.2.3indirectacrítica10.4.0
minimist0.0.8indirectacrítica21.2.6
minimist1.2.0indirectacrítica21.2.6
brace-expansion1.1.11indirectaalta45.0.8
cross-spawn3.0.1indirectaalta17.0.5
form-data2.3.3indirectaalta24.0.6
lodash4.17.15indirectaalta64.18.0
minimatch3.0.4indirectaalta410.2.3
qs6.5.2indirectaalta26.14.1
scss-tokenizer0.2.3indirectaalta10.4.3
semver5.3.0indirectaalta17.5.2
tar2.2.2indirectaalta157.5.21
trim-newlines1.0.0indirectaalta14.0.1
uuid3.4.0indirectaalta113.0.1
y18n3.2.1indirectaalta15.0.5
ajv6.12.2indirectamoderada28.18.0
esbuild0.17.19indirectamoderada10.25.0
hosted-git-info2.5.0indirectamoderada13.0.8
node-sass4.14.0indirectamoderada17.0.0
request2.88.2indirectamoderada13.0.0
tough-cookie2.5.0indirectamoderada14.1.3
yargs-parser5.0.0indirectamoderada118.1.1

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
{
  "data": {
    "repo": {
      "topics": [
        "form",
        "neoscms",
        "hacktoberfest"
      ],
      "is_fork": false,
      "size_kb": 658,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "PHP": 35241,
        "SCSS": 5846,
        "JavaScript": 4636
      },
      "pushed_at": "2026-04-25T11:48:17Z",
      "created_at": "2017-07-21T11:33:56Z",
      "owner_type": "Organization",
      "updated_at": "2026-04-25T11:47:48Z",
      "description": "Flow Form Framework integration into Neos CMS",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "GPL-3.0",
      "default_branch": "main",
      "license_spdx_raw": "GPL-3.0",
      "primary_language": "PHP",
      "significant_languages": [
        "PHP",
        "SCSS",
        "JavaScript"
      ]
    },
    "owner": {
      "blog": "https://www.neos.io/",
      "name": "Neos",
      "type": "Organization",
      "login": "neos",
      "company": null,
      "location": "Earth, Milky Way",
      "followers": 94,
      "avatar_url": "https://avatars.githubusercontent.com/u/11575267?v=4",
      "created_at": "2015-03-20T16:18:18Z",
      "is_verified": null,
      "public_repos": 152,
      "account_age_days": 4144
    },
    "license": {
      "state": "standard",
      "spdx_id": "GPL-3.0",
      "raw_spdx": "GPL-3.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "3.0.5",
          "kind": "patch",
          "published_at": "2026-04-25T11:48:17Z"
        },
        {
          "tag": "3.0.4",
          "kind": "patch",
          "published_at": "2026-02-26T08:56:56Z"
        },
        {
          "tag": "3.0.3",
          "kind": "patch",
          "published_at": "2025-06-25T10:01:22Z"
        },
        {
          "tag": "2.3.7",
          "kind": "patch",
          "published_at": "2025-05-15T12:30:16Z"
        },
        {
          "tag": "3.0.2",
          "kind": "patch",
          "published_at": "2025-04-21T19:56:36Z"
        },
        {
          "tag": "3.0.1",
          "kind": "patch",
          "published_at": "2025-03-12T11:54:01Z"
        },
        {
          "tag": "3.0.0",
          "kind": "major",
          "published_at": "2024-12-06T10:09:18Z"
        },
        {
          "tag": "2.3.6",
          "kind": "patch",
          "published_at": "2024-10-07T10:21:48Z"
        },
        {
          "tag": "2.3.5",
          "kind": "patch",
          "published_at": "2024-07-03T07:29:15Z"
        },
        {
          "tag": "2.3.4",
          "kind": "patch",
          "published_at": "2024-01-29T12:38:07Z"
        },
        {
          "tag": "2.3.3",
          "kind": "patch",
          "published_at": "2022-09-16T13:12:56Z"
        },
        {
          "tag": "2.3.2",
          "kind": "patch",
          "published_at": "2022-09-15T15:46:03Z"
        },
        {
          "tag": "2.3.1",
          "kind": "patch",
          "published_at": "2022-09-01T16:52:59Z"
        },
        {
          "tag": "2.3.0",
          "kind": "minor",
          "published_at": "2022-04-14T08:47:53Z"
        },
        {
          "tag": "2.2.0",
          "kind": "minor",
          "published_at": "2020-12-07T16:06:30Z"
        },
        {
          "tag": "2.1.0",
          "kind": "minor",
          "published_at": "2020-06-30T13:55:01Z"
        },
        {
          "tag": "1.3.0",
          "kind": "minor",
          "published_at": "2020-06-16T13:56:13Z"
        },
        {
          "tag": "1.2.2",
          "kind": "patch",
          "published_at": "2020-06-16T13:54:06Z"
        },
        {
          "tag": "2.0.0",
          "kind": "major",
          "published_at": "2019-11-13T17:00:38Z"
        },
        {
          "tag": "1.2.1",
          "kind": "patch",
          "published_at": "2019-11-13T16:29:32Z"
        },
        {
          "tag": "1.2.0",
          "kind": "minor",
          "published_at": "2019-09-16T13:00:52Z"
        },
        {
          "tag": "1.1.1",
          "kind": "patch",
          "published_at": "2019-04-26T13:47:58Z"
        },
        {
          "tag": "1.0.5",
          "kind": "patch",
          "published_at": "2018-10-19T11:43:03Z"
        },
        {
          "tag": "1.1.0",
          "kind": "minor",
          "published_at": "2018-10-19T11:50:04Z"
        },
        {
          "tag": "1.0.4",
          "kind": "patch",
          "published_at": "2018-04-25T19:48:33Z"
        },
        {
          "tag": "1.0.3",
          "kind": "patch",
          "published_at": "2018-04-17T13:09:25Z"
        },
        {
          "tag": "1.0.2",
          "kind": "patch",
          "published_at": "2018-02-23T17:08:19Z"
        },
        {
          "tag": "1.0.1",
          "kind": "patch",
          "published_at": "2017-11-24T11:26:08Z"
        },
        {
          "tag": "1.0.0",
          "kind": "major",
          "published_at": "2017-08-29T21:35:06Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "d8d8260945b7e89696fd13e7817d05dacbb2c0c8",
          "body": "BUGFIX: Render select option values",
          "is_bot": false,
          "headline": "Merge pull request #159 from neos/bugfix/select-option-values",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2026-04-25T11:47:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "daea7091b6ed49000b6158698636b8b63f6b1ca6",
          "body": null,
          "is_bot": false,
          "headline": "BUGFIX: Render select option values",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2026-04-25T11:32:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4542d3ec8b9b9eada98457e8760b0251bdd90f2",
          "body": "BUGFIX: Consider identifier unique if parent form has not been found",
          "is_bot": false,
          "headline": "Merge pull request #156 from neos/bugfix/unique-identifier",
          "author_name": "Sebastian Helzle",
          "author_login": "Sebobo",
          "committed_at": "2026-02-26T08:55:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b0d45d3ecfc06d67409278660c93e2b0505a231",
          "body": "BUGFIX: Render option items",
          "is_bot": false,
          "headline": "Merge pull request #155 from neos/bugfix/render-options",
          "author_name": "Sebastian Helzle",
          "author_login": "Sebobo",
          "committed_at": "2026-02-26T08:54:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5da756c904b9ac3af6acd9de6f27f9c35208175d",
          "body": null,
          "is_bot": false,
          "headline": "BUGFIX: Consider identifier unique if parent form has not been found",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2026-02-23T20:38:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f5d959116e6e80b00a6886b334af3b7bee1e977",
          "body": null,
          "is_bot": false,
          "headline": "BUGFIX: Render option items",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2026-02-23T20:09:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ec4c7dd427082584a1430b647a8aea9c86becc3",
          "body": "BUGFIX: Bugfix fallback form element identifier",
          "is_bot": false,
          "headline": "Merge pull request #152 from neos/bugfix-identifier",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2025-06-25T10:00:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d026c2317af71add39db1ae3271f3db9a5f6945",
          "body": null,
          "is_bot": false,
          "headline": "BUGFIX: Bugfix fallback form element identifier",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2025-06-25T09:27:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd52f224a3bcbb4a9ec86b63cbf47ac537685b1b",
          "body": "TASK: Allow neos/form in version 6.x",
          "is_bot": false,
          "headline": "Merge pull request #148 from neos/dlubitz-patch-1",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2025-04-21T19:55:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e00bd741a852c2355b95a7cdc5f8e4150b5f6fa",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Allow neos/form in version 6.x",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2025-04-16T19:19:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de0a02c16b1fc3e990b33d42c4eeea82d69b39c4",
          "body": "TASK: Add onAfterHandle to commandHook as the Interface was updated in Neos",
          "is_bot": false,
          "headline": "Merge pull request #146 from neos/mficzel-patch-1",
          "author_name": "Marc Henry Schultz",
          "author_login": "mhsdesign",
          "committed_at": "2025-03-07T21:25:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c781974f75eac1e5e282564cdc334f8827fae92b",
          "body": "The onAfterHandle was introduced in the CommandHandlerInterface with https://github.com/neos/neos-development-collection/pull/5468 and will be released with Neos 9 beta 19",
          "is_bot": false,
          "headline": "TASK: Adjust to API changes from Neos",
          "author_name": "Martin Ficzel",
          "author_login": "mficzel",
          "committed_at": "2025-03-07T20:48:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52ba268ab33f74bf4588f20c0511df69bb0a9863",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Remove empty Package.php",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2025-01-13T16:26:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cab51567efe9069b98f5b12d3e0fca78264b94a",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-12-03T10:47:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73613235d415ac018fea6bed875acf334bfc57ba",
          "body": null,
          "is_bot": false,
          "headline": "BUGFIX: Fix error in variable names due to merge conflict",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-22T14:52:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6db0b8b2668f4d278b99c02498789d7d6f8801e",
          "body": "FEATURE: Use Fusion rendering to collect option values and labels for dynamic options",
          "is_bot": false,
          "headline": "Merge pull request #144 from neos/select-option-collection",
          "author_name": "Anke Häslich",
          "author_login": "ahaeslich",
          "committed_at": "2024-11-20T14:46:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74a39d2329cc0f150a7f4596ccbd30f66939d1d3",
          "body": "… dynamic options.",
          "is_bot": false,
          "headline": "FEATURE: Use Fusion rendering to collect option values and labels for…",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-14T16:40:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "456418d03d0a5387c0c03186d914a905034e4c10",
          "body": "… dynamic options.",
          "is_bot": false,
          "headline": "FEATURE: Use Fusion rendering to collect option values and labels for…",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-14T16:23:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d3656871b5b4de6b5c61096f86660d57e4d3c04",
          "body": "Neos 9 Support",
          "is_bot": false,
          "headline": "Merge pull request #133 from Format-D/master",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-12T12:36:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7960ab46d5360f7e7dbbd6bcf6c70047a9a680cb",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into master",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-12T12:36:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eeb237b8e6dc36ffa2b54e2314683978aefda98a",
          "body": null,
          "is_bot": false,
          "headline": "TASK: remove `IdentifierMixin` from `Neos.Form.Builder:Section`.",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-11-12T12:01:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68d15fecddf1452fcdeab62006dbcbef6924b447",
          "body": "…ASK: Upgrade identifier and editMode to Neos 9.0\n\nhttps://github.com/Format-D/form-builder/pull/1/commits",
          "is_bot": false,
          "headline": "TASK: merge Upgrade FormElementWrappingImplementation to Neos 9 and T…",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-11-12T11:54:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e583168085f71fe3caf16b9d122dfb245b41fd20",
          "body": "Neos 9 Support",
          "is_bot": false,
          "headline": "Merge pull request #1 from dlubitz/Format-D/master",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-11-12T11:49:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c8438d9b4668eb26a634077d4d86eeb67d2cc59",
          "body": "…ier-uniqueness\n\nFEATURE: Ensure unique form element identifier with a CommandHook",
          "is_bot": false,
          "headline": "Merge pull request #142 from dlubitz/feature/command-hook-for-identif…",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2024-11-12T11:23:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0415ef3f51bfcf99fb2068007df383791fd838c5",
          "body": null,
          "is_bot": false,
          "headline": "FEATURE: Ensure unique form element identifier with a CommandHook",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-12T11:16:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "596f5dd0006f0fc848e7a4bee5d7ce1b82c0821b",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Upgrade identifier and editMode to Neos 9.0",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-07T21:00:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba5389ab2b6691cd8f283e5c930755601a9ce54e",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Upgrade FormElementWrappingImplementation to Neos 9",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-07T21:00:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89cec4215ae7b08362ed5ce84d97943820701411",
          "body": null,
          "is_bot": false,
          "headline": "FEATURE: Ensure unique form element identifier with a CommandHook",
          "author_name": "Denny Lubitz",
          "author_login": "dlubitz",
          "committed_at": "2024-11-07T16:30:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d4f270a82fbeb0199414579ff784b63c0865d4e",
          "body": null,
          "is_bot": false,
          "headline": "chore: set compatibility to Neos 9 only.",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-10-31T13:43:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73785dc6c1f36d42f274692f9c6eaf2511c4fd31",
          "body": null,
          "is_bot": false,
          "headline": "chore: remove .gitignore",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-10-31T13:42:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "729135dcaf709ac9cd61e0df554dbb03bcbc3e75",
          "body": "… in FormElement.",
          "is_bot": false,
          "headline": "chore: do not call nodeTypeManager just to render the elements labels…",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-10-31T13:30:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c0557600b95e11fab45a0c8f6be9ef4802ba4b6",
          "body": "…ecations.",
          "is_bot": false,
          "headline": "chore: Neos 9 Beta14 - fixes and adaptions after refactoring and depr…",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-10-28T08:40:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8834cb7e176ea34ed3bb30ed181abe0edd33b02a",
          "body": "TASK: Remove plow-js from PlaceholderInsert plugin",
          "is_bot": false,
          "headline": "Merge pull request #141 from neos/task/remove-plow-js",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2024-10-07T10:04:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71244d4994c9f8c7e517ad88fd86f5eef2d1bc78",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Removes plow-js usage from PlaceholderInsert plugin",
          "author_name": "Markus Günther",
          "author_login": "markusguenther",
          "committed_at": "2024-10-04T10:34:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f57e863f1332729b48da86884a79f5065a10bf69",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Use esbuild instead of webpack",
          "author_name": "Markus Günther",
          "author_login": "markusguenther",
          "committed_at": "2024-10-04T10:33:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03c5c11e0243c204243257baf675c2a33a576967",
          "body": "…-9-beta-11-release/6618",
          "is_bot": false,
          "headline": "chore: changes for neos 9 beta-11. See https://discuss.neos.io/t/neos…",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-08-19T14:00:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4344734a299bacb607bdefbd6eee5345d2b9d140",
          "body": "… creation of select options.",
          "is_bot": false,
          "headline": "chore: fix implementation of `NodeCreationHandlerFactoryInterface` on…",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-07-16T18:10:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c17f6012aa78bcfb9d68b6c5cafbad49c275ee7d",
          "body": "…ationHandlerInterface` in https://github.com/neos/neos-ui/pull/3519",
          "is_bot": false,
          "headline": "chore: rewrite SelectOptionsCreationHandler after changes to `NodeCre…",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-07-16T13:11:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "39582fc81d50545e3da7d78a5ea6a168942dff76",
          "body": "BUGFIX: Allow `furtherPages` child node to be removed",
          "is_bot": false,
          "headline": "Merge pull request #136 from adrian-cerdeira/hotfix/further-pages-error",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2024-07-03T07:20:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0d3caebbd05d874b8231edd7b1e09797429cfb6",
          "body": null,
          "is_bot": false,
          "headline": "hotfix: check if further pages is not null",
          "author_name": "adrian_cerdeira",
          "author_login": "adrian-cerdeira",
          "committed_at": "2024-07-03T06:46:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed89f4ff363cbc8abae82fae4c85fc9ba0c61d27",
          "body": "…collection. fix usage of nodeType.name.",
          "is_bot": false,
          "headline": "chore: fix implementation of Neos.Fusion:Loop - use items instead of …",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-04-16T13:48:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85de8a96352ba1637aae9b5a1b398021ae66b3b5",
          "body": null,
          "is_bot": false,
          "headline": "chore: remove connection to missing / removed node signal slots.",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-04-16T13:46:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6be99e8bdf8bf4ff28fb2909b6336fc253f69792",
          "body": null,
          "is_bot": false,
          "headline": "chore: add .gitignore",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-04-12T12:13:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6f6ef5a32e6a7ddf6257f1ddb36e7857466d8cc",
          "body": null,
          "is_bot": false,
          "headline": "chore: replace deprecated  fusion prototypes.",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-04-12T12:04:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cfeecd0c642774bb424753b996c23bb1bfa8b4e5",
          "body": null,
          "is_bot": false,
          "headline": "chore: use new cr models and interfaces in form processors.",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-04-12T12:04:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cd116226f9fef394842b091e0c383e08deaa940",
          "body": null,
          "is_bot": false,
          "headline": "chore: change compatibility to allow neos 9.",
          "author_name": "Sabrina Sauter",
          "author_login": "samsauter",
          "committed_at": "2024-04-09T14:22:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b4002c5680ed96ae7566e380ef4d67b34d80da2",
          "body": "TASK: Replace RawArray with DataStructure",
          "is_bot": false,
          "headline": "Merge pull request #81 from daniellienert/task/refactor-rawarray",
          "author_name": "Marc Henry Schultz",
          "author_login": "mhsdesign",
          "committed_at": "2023-11-12T17:09:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a337611ef1f73205b0ea747088e2ebeedba107b",
          "body": "TASK: update form screenshots",
          "is_bot": false,
          "headline": "Merge pull request #130 from crydotsnake/task/update-screenshots",
          "author_name": "Marc Henry Schultz",
          "author_login": "mhsdesign",
          "committed_at": "2023-11-12T14:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42bd7af63b001962a02d32344f78fa8ae7d6cb1b",
          "body": "…plugin\n\nBUGFIX: Update placeholder for Neos 8.3",
          "is_bot": false,
          "headline": "Merge pull request #129 from marcrobertscamao/fix-placeholder-insert-…",
          "author_name": "Marc Henry Schultz",
          "author_login": "mhsdesign",
          "committed_at": "2023-11-12T14:49:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d28c7f47a56effb724b9d0e2894898993f1eada1",
          "body": "…ebasedform\n\nTASK: add missing ui.label translation for nodebasedform element",
          "is_bot": false,
          "headline": "Merge pull request #131 from crydotsnake/task/missing-translation-nod…",
          "author_name": "Marc Henry Schultz",
          "author_login": "mhsdesign",
          "committed_at": "2023-11-12T14:47:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a965fd588b3a7c3cc3a0fa77604d698a6b7d6e0f",
          "body": null,
          "is_bot": false,
          "headline": "TASK: add missing ui.label translation for nodebasedform element",
          "author_name": "Simon Krull",
          "author_login": null,
          "committed_at": "2023-11-12T14:38:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ee44abadc7e2f4387b28f89dfc19cd693a21c2a",
          "body": null,
          "is_bot": false,
          "headline": "TASK: update form screenshots",
          "author_name": "Simon Krull",
          "author_login": null,
          "committed_at": "2023-11-12T14:28:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57bee005e79d8ec9a36da66949dec3f53e0c261a",
          "body": "\r\nuse suggested change to make backwards compatible\n\nCo-authored-by: Marc Henry Schultz <85400359+mhsdesign@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update compatibility",
          "author_name": "Marc Roberts",
          "author_login": "marcrobertscamao",
          "committed_at": "2023-11-01T09:50:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd2efcda1e3a511f8b61a7e77fcab770ffdab672",
          "body": "…bove",
          "is_bot": false,
          "headline": "update to add new build and patch for js working with version 3 and a…",
          "author_name": "Marc Roberts",
          "author_login": "marcrobertscamao",
          "committed_at": "2023-07-30T19:28:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "014f0f934e5ecbc82b5f72f894975882d574f484",
          "body": null,
          "is_bot": false,
          "headline": "update dependencies for 8.3",
          "author_name": "Marc Roberts",
          "author_login": "marcrobertscamao",
          "committed_at": "2023-07-30T19:27:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e3e5d52017253d110e9bf0a3af2a8356fe79c9b",
          "body": null,
          "is_bot": false,
          "headline": "update with neos-ui 8.3 compiler",
          "author_name": "Marc Roberts",
          "author_login": "marcrobertscamao",
          "committed_at": "2023-07-26T10:59:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a73bc33d6c033f77fed88e81cc59576b413ed23",
          "body": "fix: typo (another requried)",
          "is_bot": false,
          "headline": "Merge pull request #121 from paavo/patch-5",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2022-09-16T13:12:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f62f0f1dabdc31e138f5d043a3ead979a2b203e",
          "body": "fix: typo (another requried)",
          "is_bot": false,
          "headline": "Merge pull request #120 from paavo/patch-4",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2022-09-16T13:12:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5d1dee86ff5108d59f7db8aebae6fd4a6e6ff46",
          "body": "fix: typo (another requried)",
          "is_bot": false,
          "headline": "Merge pull request #119 from paavo/patch-3",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2022-09-16T13:12:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "711ea6727d6eb7f86a5dcc4c8d1583857cdc6760",
          "body": null,
          "is_bot": false,
          "headline": "fix: typo (another requried)",
          "author_name": "Paavo",
          "author_login": "paavo",
          "committed_at": "2022-09-16T13:06:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14329dbaed8b68ac756f11d9af9513f48fc17b40",
          "body": null,
          "is_bot": false,
          "headline": "fix: typo (another requried)",
          "author_name": "Paavo",
          "author_login": "paavo",
          "committed_at": "2022-09-16T13:06:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc11634ca4fe06dd89a2bafa445514137411e736",
          "body": null,
          "is_bot": false,
          "headline": "fix: typo (another requried)",
          "author_name": "Paavo",
          "author_login": "paavo",
          "committed_at": "2022-09-16T13:05:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e87a077c62d798795fef9400df7bc5d8bdb18f2",
          "body": "fix: typo",
          "is_bot": false,
          "headline": "Merge pull request #117 from paavo/patch-1",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2022-09-15T15:45:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6356c2942495d9c1415b35abc4a730d19f44e54",
          "body": null,
          "is_bot": false,
          "headline": "fix: typo",
          "author_name": "Paavo",
          "author_login": "paavo",
          "committed_at": "2022-09-15T15:15:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3a68419a83c27dbed32861e32ee821186aa75d5",
          "body": "BUGFIX: Properly declare mixin node types as abstract",
          "is_bot": false,
          "headline": "Merge pull request #115 from crydotsnake/task/mixin-abstract",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2022-09-01T16:52:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "713aec2783918afb771572156dd3d9bf2fd972cd",
          "body": null,
          "is_bot": false,
          "headline": "TASK: add abstract true to all NodeType mixins",
          "author_name": "Simon Krull",
          "author_login": null,
          "committed_at": "2022-09-01T16:04:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60d7460c9561cf3609e396685c4911dcdd536992",
          "body": "TASK: Add compatibility to Neos 8.0",
          "is_bot": false,
          "headline": "Merge pull request #110 from gerdemann/patch-1",
          "author_name": "Sebastian Kurfürst",
          "author_login": "skurfuerst",
          "committed_at": "2022-04-14T08:47:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "792ec4029a10850899a7393565fb34a3762d5529",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Add compatibility to Neos 8.0",
          "author_name": "Michael Gerdemann",
          "author_login": "gerdemann",
          "committed_at": "2022-04-12T12:15:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c794f97749b424fd711bbf49cdd8c282b8198090",
          "body": "TASK: Update dynamic @cache example in README",
          "is_bot": false,
          "headline": "Merge pull request #107 from jobee/patch-1",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2022-02-16T10:43:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7fa9987b12d2d1ef65019e9bec1db21566a00d1a",
          "body": "I suggest to add the current node to the entry tags of the cache example. Otherwise, the dynamically cached form will be tagged with `EVERYTHING` which is flushed on every single registered node change (without respecting any context 🤯).",
          "is_bot": false,
          "headline": "TASK: Update dynamic @cache example in README",
          "author_name": "Joachim Beck",
          "author_login": "jobee",
          "committed_at": "2022-02-16T10:18:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9272a8fb63d256758cbf4eeb102fc2e8ab38fb63",
          "body": "…ivate/PlaceholderInsert/dot-prop-4.2.1\n\nBump dot-prop from 4.2.0 to 4.2.1 in /Resources/Private/PlaceholderInsert",
          "is_bot": false,
          "headline": "Merge pull request #79 from neos/dependabot/npm_and_yarn/Resources/Pr…",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2021-03-19T06:15:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ee3a85306e9eaff19a454e91a0d1716cfa6fd8d",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Replace RawArray with DataStructure",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2021-03-19T06:15:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6c240a7290e86e66262f50063fab5b27844eec1",
          "body": "FEATURE: Set page label from label property",
          "is_bot": false,
          "headline": "Merge pull request #80 from neos/feature/set-label",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2021-03-19T06:12:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4427761c880f4df04e93e40469ef4ae72d444bb",
          "body": "This way the page will show with its label instead of `Page` in the content tree.",
          "is_bot": false,
          "headline": "FEATURE: Set page label from label property",
          "author_name": "Sebastian Helzle",
          "author_login": "Sebobo",
          "committed_at": "2021-02-12T13:54:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbee9c3d4cc8c2adec1f539b56f6c4deec878207",
          "body": "Bumps [dot-prop](https://github.com/sindresorhus/dot-prop) from 4.2.0 to 4.2.1.\n- [Release notes](https://github.com/sindresorhus/dot-prop/releases)\n- [Commits](https://github.com/sindresorhus/dot-prop/compare/v4.2.0...v4.2.1)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump dot-prop in /Resources/Private/PlaceholderInsert",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2020-12-07T16:07:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb8f4b8e743b28a51ddc237e8d9799159da68405",
          "body": "TASK: Mark package as compatible with Neos 7.0",
          "is_bot": false,
          "headline": "Merge pull request #78 from neos/task/neos-7-compatibility",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-12-07T16:05:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f83603d8ce6b5fc627185c0b14755c7a656d9a47",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Mark package as compatible with Neos 7.0",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2020-12-04T22:03:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4648b8896727e51fcc935d4afb885caa1822a891",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'origin/1.3'",
          "author_name": "bwaidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-30T13:53:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0d1a9c14708c134779374a9811e24bed07d4d12",
          "body": "See https://github.com/neos/form/issues/114",
          "is_bot": false,
          "headline": "FEATURE: Allow FileUpload \"resourceCollection\" to be configured",
          "author_name": "bwaidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-16T13:49:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e6cf76728550e9745ba643819dd69d741e48afc",
          "body": "See https://github.com/neos/form/issues/116",
          "is_bot": false,
          "headline": "FEATURE: Allow \"multipart\" format to be used in EmailFinisher",
          "author_name": "bwaidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-16T13:48:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7844ddf6a3cbaa83749be8f2d425fdadc9e20946",
          "body": null,
          "is_bot": false,
          "headline": "Require latest 4.x version of neos/form",
          "author_name": "bwaidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-16T13:47:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "194c1b5174a6813d1d53e82a8cd8c324983f1cd9",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'origin/1.2'",
          "author_name": "bwaidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-16T09:42:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3639376c304dbc02b09eac8ba970bbc6f381cc35",
          "body": "…tifier\n\nBUGFIX: set unique form element identifier after node copy",
          "is_bot": false,
          "headline": "Merge pull request #72 from ger4003/44-fix-copy-formelement-with-iden…",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-16T09:35:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76efd660e5d4fe64d604578e0541449eb0268627",
          "body": "…ivate/PlaceholderInsert/websocket-extensions-0.1.4\n\nBump websocket-extensions from 0.1.3 to 0.1.4 in /Resources/Private/PlaceholderInsert",
          "is_bot": false,
          "headline": "Merge pull request #71 from neos/dependabot/npm_and_yarn/Resources/Pr…",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-16T09:34:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73bfc2b817fdd230acb14e7ac5c042e280975165",
          "body": "TASK: Update javascript packages to avoid security complains",
          "is_bot": false,
          "headline": "Merge pull request #69 from neos/task/update-yarn",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-16T09:34:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9bac514d7ddd9499f7afb9498f224f0eb6b56d09",
          "body": "…ivate/PlaceholderInsert/acorn-6.4.1\n\nBump acorn from 6.3.0 to 6.4.1 in /Resources/Private/PlaceholderInsert",
          "is_bot": false,
          "headline": "Merge pull request #67 from neos/dependabot/npm_and_yarn/Resources/Pr…",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2020-06-16T09:33:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbed8725892a3350eb6e42206d9abf1d38f04dbe",
          "body": null,
          "is_bot": false,
          "headline": "TASK: make constant private",
          "author_name": "Kai Möller",
          "author_login": null,
          "committed_at": "2020-06-15T07:38:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81a2ad941cc47a718283ea9a000381d083afe4f8",
          "body": null,
          "is_bot": false,
          "headline": "TASK: changes after review",
          "author_name": "Kai Möller",
          "author_login": null,
          "committed_at": "2020-06-15T07:35:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db4bcc4eadc275b976c1831396fee28cc82fdd8a",
          "body": "If you copy and insert a whole section which includes a form element with identifier the exception is still thrown.\nTherefore I use nodeAdded signal.",
          "is_bot": false,
          "headline": "TASK: use nodeAdded signal instead of afterNodeCopy",
          "author_name": "Kai Möller",
          "author_login": null,
          "committed_at": "2020-06-12T18:54:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69267ba0b6dac7c8c099b3ef07afde7d9a526dcf",
          "body": "When a form element with identifier propery is copied an exception is thrown.\n@see https://github.com/neos/form/blob/3a6122db36ad2c9e6f06316653a35c80ff47dee1/Classes/Core/Model/FormDefinition.php#L553\n\nThis changes adds a signal slot for \\Neos\\ContentRepository\\Domain\\Model\\Node \"afterNodeCopy\" to make the form element identifier unique.",
          "is_bot": false,
          "headline": "FEATURE: set unique form element identifier after node copy",
          "author_name": "Kai Möller",
          "author_login": null,
          "committed_at": "2020-06-12T18:04:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5060ade957ef9c9c7bc560a588bd653567ed6b23",
          "body": "Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.\n- [Release notes](https://github.com/faye/websocket-extensions-node/releases)\n- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump websocket-extensions in /Resources/Private/PlaceholderInsert",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2020-06-07T12:13:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "429a88195fa3fd0812cf9332473316f4751b3605",
          "body": "TASK: Refactor NodeType configuration files to fit best practices",
          "is_bot": false,
          "headline": "Merge pull request #68 from neos/task/refactor-nodetypes",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2020-04-28T10:11:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb364ecde0417d2edf12761797bc6fbba639c66a",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Update yarn to avoid security complains",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2020-04-28T10:07:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "834c0126870194ca02d816e5b26b75daea51d0a2",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Refactor NodeType configuration files to fit best practices",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2020-04-28T10:02:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "840af6b72cdb5683ace1d54874e4d115feecf545",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Add a label for validator collection",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2020-04-28T09:39:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71c1cb23509dc41c92103cdb49b0bdc3097cc349",
          "body": "Bumps [acorn](https://github.com/acornjs/acorn) from 6.3.0 to 6.4.1.\n- [Release notes](https://github.com/acornjs/acorn/releases)\n- [Commits](https://github.com/acornjs/acorn/compare/6.3.0...6.4.1)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump acorn from 6.3.0 to 6.4.1 in /Resources/Private/PlaceholderInsert",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2020-03-15T20:25:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a68287e36a3428e2ff8e3dd1620c363d83ab2a6",
          "body": "…ementation\n\nFEATURE: Neos 5.0 compatibility",
          "is_bot": false,
          "headline": "Merge pull request #55 from daniellienert/task/exchange-response-impl…",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2019-11-13T16:49:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "259c411df1034e85eb8abfc36962a0e1d03723bb",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'master' into task/exchange-response-implementation",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2019-11-13T16:48:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a835eebfd466a5b4287f40ac96f3d8403dca225",
          "body": "…ivate/PlaceholderInsert/js-yaml-3.13.1\n\nBump js-yaml from 3.7.0 to 3.13.1 in /Resources/Private/PlaceholderInsert",
          "is_bot": false,
          "headline": "Merge pull request #63 from neos/dependabot/npm_and_yarn/Resources/Pr…",
          "author_name": "Bastian Waidelich",
          "author_login": "bwaidelich",
          "committed_at": "2019-11-13T16:47:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2f575c928b9f084b589298c67c4ebc052469d9d",
          "body": "Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.7.0 to 3.13.1.\n- [Release notes](https://github.com/nodeca/js-yaml/releases)\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/compare/3.7.0...3.13.1)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump js-yaml in /Resources/Private/PlaceholderInsert",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2019-11-13T16:43:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 29,
      "commits_last_year": 6,
      "latest_release_at": "2026-04-25T11:48:17Z",
      "latest_release_tag": "3.0.5",
      "releases_from_tags": false,
      "days_since_last_push": 91,
      "active_weeks_last_year": 2,
      "days_since_latest_release": 91,
      "mean_days_between_releases": 90.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "neos/form-builder",
          "exists": true,
          "license": "GPL-3.0+",
          "keywords": [],
          "ecosystem": "packagist",
          "matches_repo": true,
          "registry_url": "https://packagist.org/packages/neos/form-builder",
          "is_deprecated": false,
          "latest_version": "3.0.5",
          "repository_url": "https://github.com/neos/form-builder",
          "versions_count": 29,
          "total_downloads": 369460,
          "dependents_count": 19,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 5845,
          "first_published_at": null,
          "latest_published_at": "2026-04-25T11:47:44Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 91
        }
      ]
    },
    "popularity": {
      "forks": 33,
      "stars": 19,
      "watchers": 3,
      "fork_history": {
        "days": [
          {
            "date": "2017-08-29",
            "count": 1
          },
          {
            "date": "2017-12-14",
            "count": 1
          },
          {
            "date": "2018-03-20",
            "count": 1
          },
          {
            "date": "2018-04-25",
            "count": 2
          },
          {
            "date": "2018-08-20",
            "count": 1
          },
          {
            "date": "2018-09-12",
            "count": 1
          },
          {
            "date": "2018-10-21",
            "count": 1
          },
          {
            "date": "2018-11-08",
            "count": 1
          },
          {
            "date": "2019-05-20",
            "count": 1
          },
          {
            "date": "2019-09-04",
            "count": 1
          },
          {
            "date": "2020-06-12",
            "count": 1
          },
          {
            "date": "2020-09-08",
            "count": 1
          },
          {
            "date": "2020-10-15",
            "count": 1
          },
          {
            "date": "2021-06-30",
            "count": 1
          },
          {
            "date": "2021-09-06",
            "count": 1
          },
          {
            "date": "2021-10-28",
            "count": 1
          },
          {
            "date": "2022-02-16",
            "count": 1
          },
          {
            "date": "2022-09-15",
            "count": 1
          },
          {
            "date": "2022-11-17",
            "count": 1
          },
          {
            "date": "2023-05-18",
            "count": 1
          },
          {
            "date": "2023-07-26",
            "count": 1
          },
          {
            "date": "2024-01-08",
            "count": 1
          },
          {
            "date": "2024-04-09",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 1
          },
          {
            "date": "2024-07-19",
            "count": 1
          },
          {
            "date": "2024-07-22",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-10-04",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 1
          },
          {
            "date": "2025-08-27",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-02-24",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 33,
        "total_forks": 33
      },
      "star_history": null,
      "open_issues_and_prs": 16
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 5923,
      "source_files_sampled": 20,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "composer.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "json-schema",
            "direct": false,
            "version": "0.2.3",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-896r-f27r-55mw"
            ],
            "fixed_version": "0.4.0",
            "advisory_count": 1,
            "oldest_advisory_days": 1708
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "0.0.8",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-vh95-rmgr-6w4m",
              "GHSA-xvch-5gv4-984h"
            ],
            "fixed_version": "1.2.6",
            "advisory_count": 2,
            "oldest_advisory_days": 2303
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.0",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-vh95-rmgr-6w4m",
              "GHSA-xvch-5gv4-984h"
            ],
            "fixed_version": "1.2.6",
            "advisory_count": 2,
            "oldest_advisory_days": 2303
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-f886-m6hf-6m8v",
              "GHSA-mh99-v99m-4gvg",
              "GHSA-v6h2-p8h4-qcjw"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 4,
            "oldest_advisory_days": 410
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "3.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3xgq-45jj-v275"
            ],
            "fixed_version": "7.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 624
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "2.3.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-fjxv-7rqg-78g4",
              "GHSA-hmw2-7cc7-3qxx"
            ],
            "fixed_version": "4.0.6",
            "advisory_count": 2,
            "oldest_advisory_days": 368
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.15",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-29mw-wpgm-hmr9",
              "GHSA-35jh-r3h4-6jhm",
              "GHSA-f23m-r3pf-42rh",
              "GHSA-p6mc-m468-83gw",
              "GHSA-r5fr-rjxr-66jc",
              "GHSA-xxjr-mmjv-4gpg"
            ],
            "fixed_version": "4.18.0",
            "advisory_count": 6,
            "oldest_advisory_days": 2200
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.0.4",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj",
              "GHSA-f8q6-p94x-37v3"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 4,
            "oldest_advisory_days": 1376
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.5.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-6rw7-vpxm-498p",
              "GHSA-hrpp-h998-j3pp"
            ],
            "fixed_version": "6.14.1",
            "advisory_count": 2,
            "oldest_advisory_days": 1336
          },
          {
            "name": "scss-tokenizer",
            "direct": false,
            "version": "0.2.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-7mwh-4pqv-wmr8"
            ],
            "fixed_version": "0.4.3",
            "advisory_count": 1,
            "oldest_advisory_days": 1484
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.3.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-c2qf-rxjj-qqgw"
            ],
            "fixed_version": "7.5.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1130
          },
          {
            "name": "tar",
            "direct": false,
            "version": "2.2.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.8,
            "advisory_ids": [
              "GHSA-23hp-3jrh-7fpw",
              "GHSA-34x7-hfp2-rc4v",
              "GHSA-3jfq-g458-7qm9",
              "GHSA-5955-9wpr-37jh",
              "GHSA-83g3-92jg-28cx",
              "GHSA-8qq5-rm4j-mr97",
              "GHSA-8x88-c5mf-7j5w",
              "GHSA-9ppj-qmqm-q256",
              "GHSA-f5x3-32g6-xq36",
              "GHSA-gvwx-54wh-qm9j"
            ],
            "fixed_version": "7.5.21",
            "advisory_count": 15,
            "oldest_advisory_days": 1816
          },
          {
            "name": "trim-newlines",
            "direct": false,
            "version": "1.0.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-7p7h-4mm5-852v"
            ],
            "fixed_version": "4.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 1873
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "3.4.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-w5hq-g745-h8pq"
            ],
            "fixed_version": "13.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 93
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "3.2.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.3,
            "advisory_ids": [
              "GHSA-c4w7-xm78-47vh"
            ],
            "fixed_version": "5.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 1943
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.6,
            "advisory_ids": [
              "GHSA-2g4f-4pwh-qvx6",
              "GHSA-v88g-cgmw-v5xw"
            ],
            "fixed_version": "8.18.0",
            "advisory_count": 2,
            "oldest_advisory_days": 1625
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.17.19",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-67mh-4wv8-2f99"
            ],
            "fixed_version": "0.25.0",
            "advisory_count": 1,
            "oldest_advisory_days": 529
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "2.5.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-43f8-2h32-f4cj"
            ],
            "fixed_version": "3.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 1905
          },
          {
            "name": "node-sass",
            "direct": false,
            "version": "4.14.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-r8f7-9pfq-mjmv"
            ],
            "fixed_version": "7.0.0",
            "advisory_count": 1,
            "oldest_advisory_days": 1626
          },
          {
            "name": "request",
            "direct": false,
            "version": "2.88.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.1,
            "advisory_ids": [
              "GHSA-p8p7-x288-28g6"
            ],
            "fixed_version": "3.0.0",
            "advisory_count": 1,
            "oldest_advisory_days": 1226
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "2.5.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-72xf-g2v4-qvf3"
            ],
            "fixed_version": "4.1.3",
            "advisory_count": 1,
            "oldest_advisory_days": 1120
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "5.0.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-p9pc-299p-vxgp"
            ],
            "fixed_version": "18.1.1",
            "advisory_count": 1,
            "oldest_advisory_days": 2149
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 12,
          "critical": 3,
          "moderate": 7
        },
        "advisory_count": 52,
        "affected_count": 22,
        "assessed_count": 199,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 2,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "packagist"
      ],
      "dependencies": [
        {
          "name": "neos/neos",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^9.0"
        },
        {
          "name": "neos/form",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^5.0 || ^6.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "neos/form",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "neos/neos",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "@neos-project/neos-ui-extensibility",
            "direct": false,
            "version": "8.3.10",
            "ecosystem": "npm"
          },
          {
            "name": "@neos-project/positional-array-sorter",
            "direct": false,
            "version": "8.3.10",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "amdefine",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "aproba",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "are-we-there-yet",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "array-find-index",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "asn1",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "assert-plus",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "async-foreach",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "aws-sign2",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "aws4",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bcrypt-pbkdf",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "block-stream",
            "direct": false,
            "version": "0.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "builtin-modules",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase-keys",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "caseless",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "code-point-at",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "console-control-strings",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "currently-unhandled",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "dashdash",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "delegates",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ecc-jsbn",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.17.19",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "extend",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "extsprintf",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "forever-agent",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fstream",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "gauge",
            "direct": false,
            "version": "2.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "gaze",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-stdin",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "getpass",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "globule",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "har-schema",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "har-validator",
            "direct": false,
            "version": "5.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-ansi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-unicode",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-signature",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "in-publish",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "invert-kv",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-builtin-module",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-finite",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-typedarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-utf8",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isstream",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "js-base64",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "jsbn",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsprim",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lcid",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "load-json-file",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.15",
            "ecosystem": "npm"
          },
          {
            "name": "loud-rejection",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "map-obj",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.44.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.27",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "0.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "nan",
            "direct": false,
            "version": "2.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp",
            "direct": false,
            "version": "3.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-sass",
            "direct": false,
            "version": "4.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "npmlog",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "number-is-nan",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "oauth-sign",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "os-homedir",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "os-locale",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "os-tmpdir",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "osenv",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "performance-now",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "pinkie",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pinkie-promise",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "pseudomap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "psl",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg-up",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "redent",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "repeating",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "request",
            "direct": false,
            "version": "2.88.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-main-filename",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sass-graph",
            "direct": false,
            "version": "2.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "scss-tokenizer",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "set-blocking",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "sshpk",
            "direct": false,
            "version": "1.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "stdout-stream",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-indent",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "trim-newlines",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "true-case-path",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel-agent",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tweetnacl",
            "direct": false,
            "version": "0.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "verror",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "which-module",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wide-align",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 201,
        "direct_count": 2,
        "indirect_count": 199
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 6,
        "merged_prs": 64,
        "open_issues": 10,
        "closed_ratio": 0.787,
        "closed_issues": 37,
        "closed_unmerged_prs": 42
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "bwaidelich",
          "commits": 97,
          "avatar_url": "https://avatars.githubusercontent.com/u/307571?v=4"
        },
        {
          "type": "User",
          "login": "dlubitz",
          "commits": 18,
          "avatar_url": "https://avatars.githubusercontent.com/u/13046100?v=4"
        },
        {
          "type": "User",
          "login": "daniellienert",
          "commits": 17,
          "avatar_url": "https://avatars.githubusercontent.com/u/642226?v=4"
        },
        {
          "type": "User",
          "login": "samsauter",
          "commits": 16,
          "avatar_url": "https://avatars.githubusercontent.com/u/8954166?v=4"
        },
        {
          "type": "User",
          "login": "mhsdesign",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/85400359?v=4"
        },
        {
          "type": "User",
          "login": "marcrobertscamao",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/249061?v=4"
        },
        {
          "type": "User",
          "login": "paavo",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/1118783?v=4"
        },
        {
          "type": "User",
          "login": "Sebobo",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/596967?v=4"
        },
        {
          "type": "User",
          "login": "dimaip",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/837032?v=4"
        },
        {
          "type": "User",
          "login": "dfeyer",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/221173?v=4"
        }
      ],
      "contributors_sampled": 22,
      "top_contributor_share": 0.533
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": false,
      "ci_workflows": [],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "yarn.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 0,
            "reason": "0 out of 9 merged PRs checked by a CI test -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 7,
            "reason": "Found 9/12 approved changesets -- score normalized to 7",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 8 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 9,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "48 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "d8d8260945b7e89696fd13e7817d05dacbb2c0c8",
        "ran_at": "2026-07-25T12:31:34Z",
        "aggregate_score": 4.2,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": null,
      "oldest_open_prs": [
        {
          "number": 95,
          "created_at": "2021-06-30T22:51:07Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 116,
          "created_at": "2022-09-07T14:11:35Z",
          "last_comment_at": "2023-10-31T13:35:55Z",
          "last_comment_author": "crydotsnake"
        },
        {
          "number": 128,
          "created_at": "2023-03-02T11:00:31Z",
          "last_comment_at": "2024-12-03T13:02:12Z",
          "last_comment_author": "dlubitz"
        },
        {
          "number": 138,
          "created_at": "2024-09-05T08:12:14Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 145,
          "created_at": "2025-02-11T04:34:45Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 149,
          "created_at": "2025-04-21T19:56:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-04-25T11:47:44Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 29,
          "created_at": "2018-05-05T09:57:36Z",
          "last_comment_at": "2018-05-05T10:13:47Z",
          "last_comment_author": "Sebobo"
        },
        {
          "number": 30,
          "created_at": "2018-06-05T09:27:26Z",
          "last_comment_at": "2018-09-07T12:40:46Z",
          "last_comment_author": "bwaidelich"
        },
        {
          "number": 31,
          "created_at": "2018-08-16T05:24:21Z",
          "last_comment_at": "2022-03-01T15:21:05Z",
          "last_comment_author": "lorenzulrich"
        },
        {
          "number": 52,
          "created_at": "2019-10-09T12:12:50Z",
          "last_comment_at": "2019-10-09T12:17:14Z",
          "last_comment_author": "erickloss"
        },
        {
          "number": 66,
          "created_at": "2020-03-09T10:02:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 87,
          "created_at": "2021-04-21T19:38:36Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 99,
          "created_at": "2021-09-06T13:05:15Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 124,
          "created_at": "2022-11-23T08:34:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 134,
          "created_at": "2024-05-16T12:10:27Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 157,
          "created_at": "2026-02-25T16:48:09Z",
          "last_comment_at": "2026-02-25T16:57:53Z",
          "last_comment_author": "grizooo"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/neos/form-builder",
    "host": "github.com",
    "name": "form-builder",
    "owner": "neos"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": "High-Risk Jurisdiction Policy applies a 75% multiplier to weighted overall health and gives it an At risk ceiling of 49.",
      "notes": [
        {
          "code": "jurisdiction_overall_adjustment",
          "params": {
            "cap": 49,
            "pct": 75
          }
        }
      ],
      "value": 38,
      "inputs": {
        "security": 46,
        "vitality": 44,
        "community": 58,
        "governance": 68,
        "engineering": 31,
        "high_risk_jurisdiction_cap": 49,
        "high_risk_jurisdiction_multiplier": 75,
        "weighted_overall_before_jurisdiction": 50,
        "overall_after_jurisdiction_multiplier": 38
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 44,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 19,
            "inputs": {
              "commits_last_year": 6,
              "human_commit_share": 0.96,
              "days_since_last_push": 91,
              "active_weeks_last_year": 2
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 91 days ago",
                "points": 9.9,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 91
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "2/52 weeks with commits",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 2
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "6 commits in the last year",
                "points": 7.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 82,
            "inputs": {
              "releases_count": 29,
              "latest_release_tag": "3.0.5",
              "releases_from_tags": false,
              "days_since_latest_release": 91,
              "mean_days_between_releases": 90.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "29 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 29
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 91 days ago",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 91
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~90.8 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 90.8
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 91,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 91 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 91
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 58,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 35,
            "inputs": {
              "forks": 33,
              "stars": 19,
              "watchers": 3,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "19 stars",
                "points": 20.4,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "33 forks",
                "points": 12.5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 33
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "3 watchers",
                "points": 1.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (GPL-3.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "GPL-3.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": null,
            "notes": [],
            "value": 59,
            "inputs": {
              "packages": [
                "neos/form-builder"
              ],
              "dependents": 19,
              "ecosystems": "packagist",
              "total_downloads": 369460,
              "monthly_downloads": 5845
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "5,845 downloads/month across packagist",
                "points": 50.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 5845,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "19 packages depend on it",
                "points": 8.7,
                "status": "partial",
                "details": [
                  {
                    "code": "registry_dependents",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 68,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 43,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 22,
              "top_contributor_share": 0.533
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 53% of commits",
                "points": 10.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 53
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "22 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 22
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 8 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "merged_prs": 64,
              "open_issues": 10,
              "closed_issues": 37,
              "issue_closed_ratio": 0.787,
              "closed_unmerged_prs": 42
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "79% of issues closed",
                "points": 36.8,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 79
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "64/106 decided PRs merged",
                "points": 23.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 64,
                      "decided": 106
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 9/12 approved changesets -- score normalized to 7",
                "points": 10.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "followers": 94,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "neos",
              "public_repos": 152,
              "account_age_days": 4144
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "94 followers of neos",
                "points": 14.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 94,
                      "login": "neos"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "152 public repos, account ~11 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 152
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 11
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "neos/form-builder"
              ],
              "ecosystems": "packagist",
              "any_deprecated": false,
              "min_days_since_publish": 91
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on packagist",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 91 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 91
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "29 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 29
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "at_risk",
        "name": "Engineering Quality",
        "value": 31,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "critical",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "has_ci": false,
              "has_tests": false,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 9 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [
                "form",
                "neoscms",
                "hacktoberfest"
              ],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "3 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 46,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 75% multiplier to Security posture and gives it an At risk ceiling of 49.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "jurisdiction_posture_adjustment",
                "params": {
                  "cap": 49,
                  "pct": 75
                }
              }
            ],
            "value": 32,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 4.2,
              "high_risk_jurisdiction_cap": 49,
              "high_risk_jurisdiction_multiplier": 75,
              "security_posture_after_multiplier": 32,
              "security_posture_before_jurisdiction": 42
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "0 out of 9 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 9/12 approved changesets -- score normalized to 7",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 8 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "48 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 199 resolved dependencies against OSV; 2 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 199
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 2
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 52,
              "affected_packages": 22,
              "assessed_packages": 199,
              "unassessed_packages": 2,
              "affected_by_severity": "critical 3, high 12, moderate 7",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 199,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "good",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 75,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": true,
              "exposures": [
                {
                  "role": "contributor_organization",
                  "count": 1,
                  "country": "Russia"
                }
              ],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 21
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "Russia: contributor_organization (1)",
                "points": 75,
                "status": "partial",
                "details": [
                  {
                    "code": "jurisdiction_exposure",
                    "params": {
                      "role": "contributor_organization",
                      "count": 1,
                      "country": "Russia"
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 30,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 32,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.604,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "58 of 96 human commits state their intent (structured subject or explanatory body)",
                "points": 32.2,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 58,
                      "sampled": 96
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "critical",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 20,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [
                "yarn.lock"
              ],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.04
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "4 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 4,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "PHP",
              "largest_source_bytes": 5923,
              "source_files_sampled": 20,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "PHP without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "PHP"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/20 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 20,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T12:32:02.197768Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/n/neos/form-builder.svg",
  "full_name": "neos/form-builder",
  "license_state": "standard",
  "license_spdx": "GPL-3.0"
}

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 v1.13.0, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasPackagist.