9 dépôts
Essential utilities and libraries for Node.js development.
Explore 9 awesome GitHub repositories matching part of an awesome list · Node Packages. Refine with filters or upvote what's useful.
Socket.io is a real-time communication engine that enables bidirectional, event-based data exchange between clients and servers. It provides a robust transport-agnostic protocol layer that automatically manages connection lifecycles, including heartbeat signals, automatic reconnection, and seamless fallback between WebSockets and HTTP long-polling. By maintaining persistent links, it ensures reliable messaging across diverse network environments. The project distinguishes itself through a scalable, distributed architecture that supports multi-node synchronization and room-based message routin
Framework for real-time, bidirectional communication.
Commander.js is a framework for building command-line interfaces and terminal applications. It functions as an argument parsing library and command lifecycle manager, transforming raw terminal input strings into structured, validated objects for use in executable scripts. The system utilizes a recursive command tree pattern, allowing developers to organize complex execution flows through nested subcommands. It features a declarative interface for defining command-line flags and arguments, which maps user input directly to internal state properties. To assist with usability, the framework auto
Framework for building command-line interfaces.
Mongoose is an object data modeling library and framework for Node.js that maps application objects to MongoDB documents. It functions as a document mapper and schema validator, ensuring consistent data types and validation rules for records stored in MongoDB. The project provides a system for defining structured schemas to model application data, including the ability to create hierarchical data structures through nested schema composition. It implements a middleware-based hook system that allows for the interception and modification of data states during the lifecycle of database operations
Object modeling tool for MongoDB and Node.js.
Nodemon is a command-line utility designed to automate development workflows by monitoring file system changes and managing the lifecycle of long-running processes. It functions as a process monitor that tracks directory trees for modifications, automatically terminating and restarting applications to ensure a continuous feedback loop during the coding process. The tool distinguishes itself through its language-agnostic design, which decouples monitoring logic from the target application's runtime. While it provides default support for Node.js, it can execute arbitrary command-line instructio
Utility for automatically restarting Node.js servers on file changes.
Mocha is a JavaScript test runner and framework designed to execute automated test suites across multiple runtimes, including Node.js and web browser environments. It functions as a pluggable testing tool for organizing and validating unit, integration, and functional tests. The project distinguishes itself through a plugin-based extension interface that allows for custom functionality and reporting. It supports a multi-runtime approach, enabling the same test suite to run in different JavaScript environments, and includes a watch mode that monitors the filesystem to trigger automatic test re
Feature-rich testing framework for Node.js applications.
Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured set of tools for building interactive terminal interfaces, including menus, checklists, and text inputs, to gather user data and manage complex interactions. The framework allows for the creation of dynamic user experiences through branching prompt logic and the resolution of asynchronous configurations. Users can define custom prompts using a provided API and localize interface text into different languages. The library covers a wide range of input capabilities, including sing
Library for creating interactive command-line prompts.
Commitizen is a command-line utility designed to enforce consistent commit message formatting within version control systems. By guiding developers through interactive prompts, the tool ensures that every commit adheres to predefined standards, resulting in a predictable and searchable project history. The system utilizes a plugin-based adapter pattern that allows for the dynamic loading of custom commit formats and validation logic. This configuration-driven approach enables teams to define specific templates for message construction, which are then populated via user input to maintain stric
Tool for enforcing standardized commit messages.
Shipit est un outil de déploiement Node.js et un orchestrateur de tâches distantes utilisé pour automatiser les déploiements logiciels et exécuter des commandes shell via SSH. Il fonctionne comme un gestionnaire de workflow de déploiement et un framework d'automatisation SSH, permettant aux utilisateurs de définir des pipelines d'automatisation qui coordonnent des scripts locaux et distants. Le projet se distingue par un système d'orchestration de tâches basé sur un graphe de dépendances et un système de hooks basé sur les événements, qui permettent la création de workflows d'automatisation personnalisés avec une coordination de tâches séquencées. Il gère les versions d'applications en utilisant une gestion des releases basée sur des liens symboliques, offrant la possibilité d'effectuer des rollbacks vers des versions précédentes et de nettoyer les déploiements obsolètes. L'outil couvre un large éventail de capacités, incluant l'automatisation de serveurs distants, la synchronisation de fichiers entre hôtes et la distribution de code distant. Il inclut également des utilitaires pour exécuter des builds et auditer les commits en attente afin de suivre les différences entre le contrôle de source et les révisions déployées.
Automation tool for deployment and task management.
Generic resource pooling for node.js
Generic resource pooling for Node.js.