49 مستودعات
Libraries and frameworks for Node.js development.
Explore 49 awesome GitHub repositories matching part of an awesome list · Node.js Frameworks and Tools. Refine with filters or upvote what's useful.
This project is a Node.js process manager, runtime environment, and production deployment orchestrator. It provides the foundational system components required to run, monitor, and restart applications in the background to ensure continuous service availability. The system distinguishes itself through a built-in load balancer that distributes network traffic across multiple process instances to utilize all available CPU cores. It includes a real-time process monitor with a terminal-based dashboard for tracking server health, CPU and memory usage, and aggregated logs. The tool covers a broad
Process manager for Node.js applications.
Hexo is a command-line static site generator designed for content-driven blogging and website creation. It functions as a structured framework that transforms plain text files and markdown into production-ready static websites, utilizing a template-based rendering engine to separate site content from visual presentation. The project is distinguished by its event-driven build pipeline, which manages the entire site lifecycle through a series of hooks for file processing, asset generation, and deployment. Developers can extend the system’s core capabilities through a modular plugin architecture
Static blog framework based on Node.js.
Koa is a lightweight web framework for Node.js designed for building HTTP applications and servers. It functions as an asynchronous middleware engine that processes network requests through a sequence of functions sharing a common context. The framework distinguishes itself by using an onion-model middleware stack and promise-based flow control. This architecture allows requests to flow downstream and responses to flow back upstream through the same chain, enabling non-blocking request cycles and a modular approach to handling network traffic. The system provides high-level capabilities for
Minimalist web framework for Node.js.
Sharp is a high-performance image processing library for Node.js. It serves as a native extension and wrapper for the libvips framework, providing tools for image resizing, format conversion, and programmatic data manipulation. The project enables the transformation of images into web-friendly formats such as WebP and AVIF while preserving color profiles and alpha channels. It also provides capabilities for generating blank image buffers with specified dimensions and background colors. The library covers a broad range of image manipulation utilities, including rotation, extraction, compositi
Image processing library based on libvips.
Cheerio is an HTML and XML parsing library and server-side DOM implementation. It functions as a markup manipulation tool and CSS selector engine, allowing users to parse, query, and modify HTML or XML documents in non-browser environments. The project provides a DOM-like tree representation of markup strings, enabling programmatic addition, removal, and modification of elements and attributes. It features a prototype-based plugin system that allows the extension of core functionality by adding custom methods to the document prototype. The library covers a broad range of capabilities includi
Server-side jQuery implementation.
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
Auto-restarting tool for Node.js development.
This is an HTTP client library used for sending and receiving network requests. It functions as an HTTP traffic replicator, a multipart form uploader, and an OAuth request signer, while also serving as an HTTP client capable of routing traffic through Unix domain sockets for local inter-process communication. The project distinguishes itself with the ability to import and parse HTTP Archive JSON files to reproduce recorded network traffic. It also provides cryptographic OAuth signing to secure API access using hashing algorithms and supports routing requests through Unix domain sockets using
Simplified HTTP request library.
Bluebird is a JavaScript promise library designed for managing asynchronous operations with a custom promise implementation. It provides a framework for controlling promise lifecycles and orchestrating non-blocking programming patterns. The library distinguishes itself with an asynchronous debugging toolkit that captures long stack traces across asynchronous boundaries and a global handler for unhandled promise rejections. It includes a predicate-based error filtering system to target specific exception types and a mechanism for the deterministic cleanup of system resources. It covers a broa
High-performance Promises/A+ library.
Knex is a programmatic SQL query builder for Node.js applications. It provides a unified interface for generating database statements and managing structural versioning through a schema migration tool. The project features a multi-dialect database layer that translates programmatic queries into specific syntax for relational databases including PostgreSQL, MySQL, SQLite3, and MSSQL. This allows for writing database logic that remains compatible across different systems. The system includes infrastructure for managing reusable database connection pools and handling relational transactions to
SQL query builder for Node.js.
This project is a Node.js library for implementing and managing JSON Web Tokens. It functions as a cryptographic token manager and authentication tool used to sign, verify, and decode tokens to securely transmit claims between parties. The library supports both symmetric and asymmetric signing algorithms, including HMAC and RSA. It enables the creation of digitally signed tokens using secrets or private keys, and provides mechanisms to validate token signatures and verify embedded claims such as expiration and issuer. The tool covers a range of identity and access capabilities, including sta
JSON Web Token implementation for Node.js.
Superagent is a cross-platform JavaScript HTTP client and Ajax library used for exchanging data between clients and servers. It provides a consistent API for making network requests that works identically across both Node.js and web browser environments. The library features a request pipeline that allows for the addition of custom behaviors to outgoing network calls. This system supports the implementation of specialized functions such as request throttling, caching, and the automatic signing of outgoing data.
Ajax request library.
Hapi is a configuration-driven web framework for building secure and scalable HTTP servers and APIs on the Node.js runtime. It functions as a REST API development framework and an enterprise server implementation focused on stability, security, and comprehensive input validation. The framework is built around a plugin-based architecture, allowing core functionality and custom logic to be organized into modular, registerable plugins. It serves as an HTTP request lifecycle manager, enabling the interception and modification of requests through pre-handlers and extensions before they reach the f
Configuration-centric web framework.
node-inspector is a web-based debugger for Node.js applications that integrates the Blink developer tools interface. It functions as a runtime profiler and inspection suite, providing a remote debugging interface to connect a local browser to a Node.js process. The project enables live code iteration, allowing source code to be modified while the process is running and persisting those changes back to the physical file system. It also includes a JavaScript runtime profiler to monitor CPU and heap usage for identifying bottlenecks and memory leaks. The tool covers execution flow control throu
Debugging tool for Node.js.
Pomelo is a distributed Node.js game server framework designed for building scalable multiplayer game backends and real-time web applications. It employs a multi-process architecture to distribute application logic horizontally across a cluster of machines, enabling high concurrency and balanced network traffic. The framework utilizes a WebSocket communication layer to manage bidirectional data exchange between diverse web clients and server clusters. It incorporates a remote procedure call system for triggering functions across remote server processes and uses Protocol Buffers for binary ser
Game server framework for Node.js.
This project is a namespace-based logging utility for JavaScript runtimes, including Node.js and web browsers. It provides a system for categorizing output into distinct namespaces to enable filtered visibility and color-coded identification of log sources. The utility allows for dynamic log control, where output streams can be toggled on or off via environment variables or method calls without restarting the application. It includes an execution time profiler that calculates the elapsed time between consecutive log calls to identify performance bottlenecks. Further capabilities include the
Logging utility for console and browser.
Connect is an HTTP middleware framework and routing library designed as a wrapper for the Node.js HTTP server. It serves as a middleware composition engine that allows for the creation of chains of request handlers to process HTTP traffic and manage application errors. The framework enables the orchestration of pluggable functions to execute security, logic, and routing rules in a specific sequence. It provides the ability to match incoming request URLs to specific logic handlers based on path prefixes. The system covers broader capabilities including centralized error handling to ensure con
Middleware support for Node.js.
Chai is an assertion library for Node.js and browser-based JavaScript applications. It functions as both a behavior-driven development and test-driven development framework, providing a system to verify code outputs, application state, and general logic. The project is an extensible validation engine that uses a plugin-based system to allow the registration of custom assertions and specialized data checks. It supports multiple modular assertion styles to accommodate different validation philosophies. The library covers a broad range of data validation capabilities, including the inspection o
TDD/BDD testing framework for Node.js.
node-notifier هو مكتبة Node.js وغلاف عبر الأنظمة الأساسية يوفر واجهة JavaScript موحدة لإرسال إشعارات سطح المكتب الأصلية على macOS و Windows و Linux. يعمل كجسر بين كود JavaScript وملفات إشعارات النظام الثنائية مثل libnotify و Growl و Windows Toasters. يدعم المشروع دمج التنبيهات الأصلية في تطبيقات Node.js، وتطبيقات سطح المكتب Electron، ونصوص shell. ويتضمن أداة سطر أوامر لتشغيل تنبيهات سطح المكتب مباشرة من طرفية باستخدام وسيطات أو مدخلات ممررة. تدير المكتبة تسليم التنبيهات الأصلية، بما في ذلك تشغيل صوت إشعار مخصص. كما تراقب تفاعل المستخدم، مما يسمح للتطبيقات بالاستماع للنقرات أو المهلات لتشغيل استجابات برمجية. تتوفر خيارات التكوين لضبط إعدادات مراسل نظام التشغيل، مثل معرفات التطبيق ومستويات الإلحاح.
Native system notifications for Node.js.
Sinopia هو خادم سجل npm خاص يُستخدم لاستضافة وإدارة وتوزيع الحزم الخاصة والوحدات ذات النطاق (scoped modules) داخل شبكة داخلية. يعمل كمدير حزم خاص يتحكم في الوصول إلى الكود الداخلي من خلال مصادقة المستخدم والرموز المشفرة. يوفر النظام طبقة تخزين مؤقت (caching) تخزن حزم السجل العام محلياً لتقليل استهلاك النطاق الترددي وتحسين سرعات التثبيت. كما يتضمن واجهة ويب لاستكشاف الحزم، وعرض التوثيق، وإدارة حالة السجل. يغطي المشروع مجموعة واسعة من قدرات إدارة الحزم، بما في ذلك وكيل السجل البعيد (proxying)، وتوزيع الحزم ذات النطاق، والقدرة على تجاوز الحزم العامة بنسخ محلية. تتم إدارة الوصول عبر نظام تفويض قابل للتوصيل وإدارة أذونات المستخدم، بينما يتم تأمين الاتصال باستخدام تشفير حركة المرور.
Private NPM registry server.
js-xss هو مطهر HTML XSS وفلتر HTML قائم على القائمة البيضاء مصمم لإزالة الكود الضار من HTML غير الموثوق به. يعمل كأداة لمنع البرمجة عبر المواقع وإدارة المحتوى الذي ينشئه المستخدم من خلال تنظيف سلاسل HTML لضمان عرض آمن للمتصفح. تتضمن المكتبة مدقق نمط CSS لمسح الأنماط المضمنة مقابل قائمة بيضاء ومنقي محتوى HTML قادراً على تجريد جميع العلامات لاستخراج النص الخام. يسمح بتصفية HTML مخصصة من خلال تعريف قواعد محددة ووظائف معالجة للتحكم في العناصر والسمات المسموح بها. تغطي الأداة مجموعة واسعة من قدرات التطهير، بما في ذلك تصفية بادئة السمة والعلامة، وإزالة المحتوى غير المسموح به، وتتبع العناصر المجردة. كما توفر آليات لترميز الهروب على مستوى الأحرف ومعالجة العناصر المخصصة عبر وظائف رد الاتصال. تتوفر أدوات سطر الأوامر لمعالجة ملفات HTML والاختبار التفاعلي لقواعد التصفية.
XSS filter based on a whitelist.