Coder Social home page Coder Social logo

dependency-checker's Introduction

Dependency checker

Phase Maintainability Known Vulnerabilities

(la version française suit)

Purpose

The purpose of this tool is to check if any of the JavaScript dependencies in your project warrant a second look.

How do I use it?

All you need to do is install the GitHub application.

Work flow

The dependency checker is a continuous integration tool that extracts all the javascript packages listed in your package.json files and runs them against the tool available at https://npms.io/. If the package score less than a 0.4 then the tool will create an issue in your repo, alerting you that you might want to review the package before using it. To learn more about the scoring criteria, you can review the documentation here.

Implementation

The tool is built as a Google Cloud function that hooks into push events sent by GitHub. Any merges to master are automatically deployed after testing passes using Google's Cloud build service (check cloudbuild.yaml for more information).

When a push event is sent it checks to see if any package.json files have been added or modified. If they have, it extracts all the packages and runs them against the https://npms.io/ API. Any packages returning a score less than 0.4 are flagged and compared to a list of previously flagged packages. If the package has not been flagged previously, the tool creates an issue in the repo for consideration and saves the package for the future inside a Google Firestore database. This ensures that the same package is not flagged twice.

Questions?

Please contact us through any of the multiple ways listed on our website.

Vérificateur des dépendances

Objet

Cet outil a pour but de vérifier si les dépendances JavaScript dans votre projet nécessitent un second examen. Comment l’utiliser? Vous n’avez qu’à installer l’application GitHub.

Déroulement du travail

L’outil de vérification des dépendances est un outil d’intégration continue qui extrait tous les progiciels javascript énumérés dans vos fichiers package.json et les exécute à l’aide de l’outil disponible à l’adresse https://npms.io/. Si le score du progiciel est inférieur à 0,4, alors l’outil créera un problème dans votre dépôt (repository), pour vous aviser d’examiner le progiciel avant de l’utiliser. Pour en savoir plus sur les critères de notation, vous pouvez consulter la documentation ici.

Mise en œuvre

L’outil est conçu comme une fonction Google Cloud qui s’insère dans les événements de poussée (push events) envoyés par GitHub. À la réussite des tests, toutes les fusions sont automatiquement déployées à l’aide du service Cloud Build de Google (voir cloudbuild.yaml pour plus d’information).

Lorsqu’un événement de poussée est envoyé, il vérifie si des fichiers package.json ont été ajoutés ou modifiés. S’ils l’ont été, il extrait tous les progiciels et les exécute à l’aide de l’interface de programmation d’applications (API) https://npms.io/. Tous les progiciels dont le score est inférieur à 0,4 sont marqués et comparés à une liste de progiciels déjà marqués. Si le progiciel n’a pas été marqué précédemment, l’outil crée un problème dans le dépôt en vue d’un examen et sauvegarde le progiciel pour l’avenir dans une base de données Google Firestore. Cette procédure permet d’éviter que le même progiciel ne soit marqué deux fois.

Avez-vous des questions?

Veuillez communiquer avec nous par l’un des multiples moyens indiqués sur notre site Web.

dependency-checker's People

Contributors

maxneuvians avatar timarney avatar willeybryan avatar

Stargazers

cyal1 avatar Stephen McMurtry avatar Calvin Rodo avatar

Watchers

 avatar Calvin Rodo avatar Lucas Cherkewski avatar James Cloos avatar  avatar Ross Ferguson avatar Paul Craig avatar khalid elaggan avatar Kate Drwęcka avatar  avatar

dependency-checker's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.