javascript - Beste måte å revidere avhengigheter i Yarn 2 (berry)?


Jeg leter etter en måte å revidere avhengigheter for sårbarheter i Yarn 2. I Yarn 1.x var det mulig på samme måte som i npm, ved å kjøre yarn audit i stedet for npm audit. Men med Yarn 2 finnes det ingen slik kommando. Og ifølge dette problemet på Berry GitHub, vil det ikke bli implementert (prosjektvedlikeholdere foretrekker at det gjøres via plugin).

Jeg har prøvd å kjøre npm install --package-lock-only && npm audit, men installasjonen stopper på noen av mine lokale pakker (som jeg lister i package.json ved å bruke link: URL-typen).

Det ville ikke være en kompleks plugin å lage, og jeg er klar for litt moro med det, men det ville ikke være like morsomt som bare å installere noe og så fortsette dagen min. Jeg har sett rundt, men ender alltid opp hos de samme par vapourware-/abandonware-repositoriene.

Men jeg antar fortsatt at jeg bare ikke finner dem. Eller så finnes det et udokumentert triks for å gjøre det enkelt. Derfor spørsmålet mitt :)

PS, ja, jeg kan slette de lokale pakkene ved å bruke link: midlertidig mens jeg kjører npm install og npm audit-kommandoene ovenfor, men det er ikke akkurat typen ting jeg ønsker å prøve å automatisere for CI.

Svar #1

Oppdatering (28. oktober 2020):
Yarn 2 har nettopp slått sammen den lenge etterlengtede yarn npm audit-forbedringen.

PR - https://github.com/yarnpkg/berry/pull/1892
Dokumentasjon - https://yarnpkg.com/cli/npm/audit


Jeg eksperimenterte med Yarn 2 nylig, og jeg så at du kan gjøre dette med @efrem/auditdeps-verktøyet:

yarn dlx @efrem/auditdeps [--level=(low|moderate|high|critical)] [--production]

Resultatet er ikke like pent som fra npm audit, men du får flere detaljer i JSON-format, og du kan sende det videre til andre verktøy eller til et hvilket som helst tilpasset omformateringsskript for å få akkurat det du vil.

Svar #2

Jeg ville prøvd https://snyk.io/ ikke gratis for stort team kommersiell bruk, men det kan få deg i gang med daglige kjøringer osv.

(Jeg er ikke tilknyttet Snyk.io på noen måte)

Relaterte artikler