This is a large TypeScript monorepo for Sourceloop, a LoopBack 4-based microservices platform for building multi-tenant enterprise SaaS applications. It contains 14+ pre-built microservices covering authentication, audit, notification, chat, scheduler, payment, survey, search, video-conferencing, BPMN/workflow, task management, reporting, feature toggles, OIDC, and user-tenant management. Each service is packaged as a pluggable LoopBack component with controllers, models, repositories, providers, and database migrations for both PostgreSQL and MySQL. The repo also includes reusable cross-cutting packages for caching, observability, file uploads, feature flags, and a CLI for scaffolding new microservices and UI projects, plus many sandbox example applications demonstrating real-world integrations.
nodemon is a CLI tool and library that monitors a directory for file changes and automatically restarts a specified command (typically a Node.js application). It parses command-line arguments and configuration files (nodemon.json, package.json) to determine watch paths, ignore patterns, file extensions, and the command to execute. It uses chokidar for file system watching and manages child processes via fork or spawn. When changes are detected, it matches the changed files against configured rules and restarts the child process if appropriate. It supports custom signals, delay, legacy polling, and event hooks. The architecture is monolithic with a library API, key modules include CLI parser, config loader, rule engine, file watcher, and process manager. The codebase relies on non-standard Node.js APIs (e.g., process.stdin.setEncoding, child_process.fork, process.versions.node), indicating significant technical drift from standard Node.js, though the tool remains widely used and actively maintained.
npkill is a TypeScript CLI/TUI application that scans filesystems to find node_modules (and other ecosystem build/dependency directories) consuming disk space, then interactively or programmatically deletes them. The core engine (Npkill class) exposes RxJS observable streams for scanning, size calculation, newest-file detection, deletion, and logging, with a worker_threads-based parallel directory traversal. The CLI layer adds a raw-mode interactive terminal UI with cursor navigation, multi-select deletion, search filtering, JSON/NDJSON output modes, --dry-run, .npkillrc config file support, and user-defined profiles. It ships both as a bin executable and as a programmatic Node library per API.md.
This repository is the official CLI tool for Firecrawl, a web scraping, crawling, and structured data extraction platform. Built with Node.js and TypeScript, it provides a comprehensive command-line interface (CLI) using the Commander framework. In production, it allows users to scrape individual URLs, perform multi-page crawls, search the web (text, images, news), map site structures, interact with cloud browser sessions, create recurring content monitors, and use AI agents for complex extraction tasks. It also includes a research paper search feature covering ~43 million abstracts from PubMed, bioRxiv, medRxiv, and arXiv, as well as a developer index for searching GitHub issues, PRs, and READMEs. The CLI is designed for both direct human use and integration with AI coding agents via MCP (Model Context Protocol) and a skills system. Architecturally, it follows a command-per-file pattern in src/commands/, with shared utilities in src/utils/ for API client management, configuration/credential handling, output formatting, authentication (PKCE OAuth, API key, keyless free tier), and job polling. The core data flow is: user input -> command handler -> Firecrawl REST API (cloud or self-hosted) -> formatted output to stdout or file. External dependencies include the firecrawl SDK, commander, @inquirer/prompts, yaml, and zod-to-json-schema. The tool supports binary builds via Bun compile and is distributed via npm, Homebrew, and GitHub Releases with .deb/.rpm packages. It also includes interactive setup wizards, MCP server installation for coding agents, and a native skill installer. While primarily an application, the research paper search feature gives it a hybrid data-access character, but it does not contain data pipelines, notebooks, or analytical models. The codebase is well-tested (Vitest) and actively maintained, with CI/CD workflows for testing, npm publishing, and binary releases. However, the large command surface and agent-specific integrations introduce some maintenance complexity, and the reliance on the firecrawl SDK and external APIs means changes upstream could require updates.
This repository is a Node.js library for interacting with the Windows registry. It provides functions to read, write, list, and manipulate registry keys and values using Windows Script Host (cscript.exe) and VBScript. The architecture separates concerns: Node.js handles argument parsing, process spawning, and result parsing, while VBScript files perform the actual registry operations via WMI. The library supports both callback and promise-based APIs, handles different registry value types, provides 32/64-bit registry access options, and includes streaming interfaces for large operations. It's a focused, well-tested solution for a specific platform-specific problem.
Nunjucks is a full-featured JavaScript templating engine heavily inspired by Jinja2 (Python). It compiles templates into JavaScript functions for high-performance rendering, supporting template inheritance, macros, filters, tests, async control, and custom extensions. The library runs in both Node.js and browser environments, with a slim build for precompiled templates. It integrates with Express as a view engine and provides a CLI tool for precompiling templates offline. The architecture follows a classic compiler pipeline: lexer → parser → AST → compiler → JavaScript function. The public API exposes Environment, Template, Loader, and various configuration methods. Templates are loaded via loaders (FileSystemLoader, WebLoader, PrecompiledLoader) and rendered synchronously or asynchronously. The library includes a rich set of built-in filters (escape, default, sort, groupby, etc.) and tests (defined, odd, mapping, etc.), all extensible via addFilter/addTest. Key entry points include nunjucks/index.js (main module), bin/precompile (CLI), and browser/nunjucks.js (UMD build). External dependencies are minimal: a-sync-waterfall for async control flow, asap for microtask scheduling, and chokidar for file watching. The codebase is well-tested with Mocha and has CI via GitHub Actions. While the core engine is well-crafted and actively maintained, the repository carries technical debt from vendored documentation dependencies (Bootstrap 3, jQuery 2, Bower) and an outdated build toolchain (Babel beta, PhantomJS). The library itself is production-ready and widely used (8.9k stars).
PeerJS Server is a Node.js application that facilitates WebRTC peer-to-peer connections by handling signaling between clients. It does not proxy media data but exchanges metadata (offers, answers, ICE candidates) via WebSocket connections. The server provides an HTTP API for obtaining client IDs and discovering peers (when enabled), manages client state and message queues for offline clients, and includes services to monitor connection health and expire stale messages. Built with Express.js and the 'ws' library, it features a modular architecture separating API routing, message handling, core logic (realm/model management), and background services (connection checking, message expiration). The CLI entry point allows running as a standalone server, while the programmatic API enables integration into existing Node.js applications.
This repository is a comprehensive skill manager for AI agents, providing a CLI tool (Node.js and Python) to search, install, list, and update a large library of over 300 skill definitions. The skills are structured markdown files with YAML frontmatter, each defining a specific capability or workflow for an AI assistant (e.g., code review, security audit, database optimization, TDD orchestration). The application includes a catalog generation pipeline, validation scripts with baseline support, and CI checks to ensure skill quality and consistency. While the bulk of the repository is composed of skill content (instruction playbooks), the active software layer—the CLI, catalog builder, and validator—represents a well-engineered dual-language application with tests and automation.
This is a Vue 3 Single-Page Application (SPA) that provides an interactive form-based interface for generating Markdown badges using the shields.io service. The application allows users to generate repo metadata badges, generic static badges, package version badges, dynamic data badges, image markdown/HTML, and a catalogue of pre-made badges. The code is written in TypeScript with a clean separation of concerns: core logic modules handle badge generation and URL construction, Vue components manage UI, and a simple store persists user preferences via localStorage. The architecture is monolithic with client-side routing via Vue Router. The project demonstrates solid software engineering practices with comprehensive unit tests, a Makefile for common tasks, and GitHub Actions CI/CD for linting, testing, and deployment. While the codebase is well-structured and maintainable, it relies on the deprecated Vue CLI and some packages are several major versions behind (e.g., TypeScript 4.6, ESLint 8), indicating moderate technical drift. The application is actively maintained with recent commits and a clear release process.
This repository is a curated list of npm resources and tips, organized into sections such as Articles, Tools, Packages, Clients, Tips, FAQ, Community, Documentation, Support, and Related. It serves as a reference for developers seeking npm-related tools, packages, and best practices. The maintenance is driven by community contributions via pull requests, which are reviewed according to the contributing guidelines. While there is no automated data processing, the repository functions as a static dataset of npm resources that is updated manually.
This is a Homebridge plugin (`@switchbot/homebridge-switchbot`) that bridges SwitchBot IoT devices (lights, curtains, locks, sensors, vacuums, etc.) into Apple HomeKit using both HAP and Matter protocols. It communicates via Bluetooth Low Energy (BLE) and the SwitchBot OpenAPI cloud API, with configurable fallback and rate-limiting. The plugin provides a rich configuration UI served through Homebridge Config UI X, including device discovery, credential management, and advanced polling settings. The architecture follows a platform plugin pattern with two platform classes (HAP and Matter), a resilient client layer (debounce, circuit breaker, daily budget tracking), a device factory and abstract base class for device-specific implementations, and extensive Matter cluster mappings. While the codebase is well-structured and actively maintained, it suffers from a large monolithic platform file (~2800 lines), low test coverage (~1.36%), and a dependency conflict requiring `--legacy-peer-deps` during installation. ESLint configuration also fails in CI. Nonetheless, the plugin is feature-rich, handles edge cases like BLE encryption and OpenAPI rate limits, and includes a polished custom UI.
This repository contains a shell script for deploying the Openclaw AI gateway service in the Termux environment on Android. It automates the installation of Node.js dependencies, applies compatibility patches to make Node.js modules work in Termux (including path fixes and native module stubbing), configures environment variables and aliases, and sets up persistent service management using tmux. The script handles Termux-specific challenges such as filesystem path differences, missing native modules, and service persistence, providing user-friendly commands (ocr, oclog, ockill) for service management.
This repository contains a full-stack web application deployed on AWS ECS with a CI/CD pipeline. The frontend is a Vue.js application that retrieves product data from a backend Node.js/Express API. The backend scans a DynamoDB table and returns product information, including image URLs stored in S3. Infrastructure is provisioned via Terraform, including networking, ECS cluster/services, ECR repositories, IAM roles, CodePipeline/CodeBuild/CodeDeploy for Blue/Green deployments, autoscaling, and supporting resources (S3, DynamoDB, SNS). The architecture separates concerns with modular Terraform modules and implements production-grade practices like health checks, Swagger documentation, and stress testing.
Eslint Watch is a command-line tool that wraps ESLint to add file watching capabilities. It provides a CLI interface that forwards most options to ESLint while adding its own options like --watch, --changed, and --clear. The architecture is modular, with separate modules for option parsing, command handling, ESLint interaction, and file watching. The tool uses chokidar for file system events and keypress for keyboard input to trigger manual re-lints. It demonstrates solid engineering practices with a clear separation of concerns and a reusable option merging pattern.
SquadJS is a Node.js scripting framework for Squad game servers. It acts as a server-side daemon that connects to a Squad server via RCON and live log files (local, FTP, or SFTP) to collect real-time events such as player connections, kills, wounds, chat messages, admin actions, and server tick rates. The framework provides a plugin system with base classes (BasePlugin, DiscordBasePlugin) that allow extensibility for Discord integration, database logging (via Sequelize with MySQL/SQLite), community ban list checks, and custom admin tools. It also includes a Socket.IO API for remote monitoring and a prebuilt Grafana dashboard for visualization. The architecture is a monorepo with Yarn workspaces (core, squad-server, assets), where core handles RCON communication and log parsing, and squad-server manages server lifecycle, log rules, and plugin loading. The system is designed to be deployed alongside a Squad game server and is actively maintained with a focus on community-driven plugins.
Apache Cordova CLI is a command-line tool for creating, building, deploying, and managing Apache Cordova-based mobile applications. It serves as a thin orchestration layer over the `cordova-lib` and `cordova-create` libraries, parsing user commands and delegating to those libraries for project management, platform/plugin operations, building, and running. The architecture is straightforward: a single entry point (`bin/cordova`) invokes `src/cli.js`, which uses `nopt` for argument parsing, then dispatches to appropriate functions (e.g., `create`, `platform`, `plugin`, `build`, `run`, `info`). The codebase is mature, well-tested, and actively maintained with CI, CodeQL, and license auditing. However, the CLI is tightly coupled to the Cordova ecosystem and offers no reusable components outside that context. The implementation is solid but follows standard patterns without exceptional craftsmanship.
This repository is the official Microsoft Azure DevOps Node.js SDK, a client library that provides programmatic access to Azure DevOps Services and Team Foundation Server (TFS) REST APIs. It is not an application itself but a reusable library consumed by Node.js applications (e.g., CI/CD automation, monitoring tools, or custom DevOps integrations). The architecture follows a classic SDK pattern: a central `WebApi` factory class that creates typed API clients for each service area (Build, Git, Test, Work Item Tracking, etc.). All API clients inherit from a common `ClientApiBase` class, use `VsoClient` for version negotiation, and rely on `typed-rest-client` for HTTP transport. The bulk of the codebase is auto-generated from Azure DevOps REST API metadata, resulting in large interface definition files with `TypeInfo` metadata for serialization. Key reusable components include authentication handlers (basic, PAT, bearer, NTLM), rate-limiting utilities, and a chunked upload mechanism for file containers. The library is well-maintained, with ongoing commits, CI pipelines, and sample code demonstrating usage across all major API areas. However, the heavy reliance on generated code and the DO NOT EDIT warnings mean that customizations or fixes must be done upstream.
winston-mongodb is a Node.js transport plugin that lets winston write log entries to MongoDB. When loaded via `require('winston-mongodb')`, it registers `winston.transports.MongoDB`. The transport accepts a MongoDB URI, a promise resolving to a MongoClient, or an existing client/db object; it creates the target collection (optionally capped), reconciles a TTL index on `timestamp` when `expireAfterSeconds` is set, and queues log/query/stream operations until the database is ready. Logging flattens winston's `info` object into a document with timestamp, level, message, optional hostname/label, and sanitized metadata. Internally, the code has a well-tested metadata sanitizer (`lib/helpers.js`) that clones arbitrary JS objects into MongoDB-safe form: it replaces `.` and `$` in keys, preserves Date/Buffer/ObjectId, converts Error into plain objects, and replaces circular references with `[Circular]`. The transport also supports querying and streaming logs: capped collections use a tailable cursor, while non-capped collections fall back to 2-second polling. The test suite uses `mongodb-memory-server`, the `abstract-winston-transport` conformance suite, and includes tests for connection flavors (URI, promise, Mongoose) and capped collections. Maintenance is currently active with CI across Node 20/22/24 and MongoDB 7/8, but code inspection shows some drift: the `silent` option calls the callback without returning and therefore still writes the log entry, a deprecation warning still says pre-connected object support 'will be removed in v5' although the package is at v7, and the query path uses `fields`/`background` options that are legacy in the current MongoDB driver. These are manageable rough edges rather than fundamental flaws.
This is a production-ready, multi-tenant SaaS starter kit built with Next.js (Pages Router), NextAuth.js, Prisma ORM (PostgreSQL), and Tailwind CSS. The system provides comprehensive enterprise features: email/password authentication, magic link, OAuth (Google, GitHub), SAML/SSO via BoxyHQ Jackson, directory sync (SCIM), webhooks via Svix, audit logging via Retraced, Stripe billing, API keys, and team-based role management (RBAC). The architecture follows a monolith with API routes under /pages/api, middleware for session validation, and a component-based frontend. Data flows center around team creation and management: users register (or SSO), create or join teams via invitations, then configure team-level SSO, directory sync, webhooks, billing, and API keys. The codebase demonstrates solid engineering practices with Zod validation, reusable UI components, and a clear separation of concerns, but shows signs of feature creep and some legacy patterns (e.g., Pages Router). It is well-suited for developers building a SaaS platform who need a jump-start on authentication, team management, and enterprise integrations.
ffmpeg-concat is a Node.js CLI tool and library for concatenating video files with OpenGL-based transitions. It extracts frames from input videos using ffmpeg, applies GLSL transitions between consecutive frames using headless-gl, and transcodes the result to MP4. The architecture is modular with separate modules for frame extraction, transition rendering, audio handling, and final encoding. Key entry points are lib/index.js (library API) and lib/cli.js (command-line interface). The system relies on ffmpeg as a system dependency and wraps it with fluent-ffmpeg for Node.js integration. The code demonstrates solid engineering practices with clear separation of concerns, proper error handling, and test coverage. However, the dependency ecosystem shows signs of age - many packages date to 2018-2019, and the Travis CI configuration uses outdated Node.js versions. The OpenGL-based transition system is the core innovation, allowing complex visual transitions that would be difficult to implement with ffmpeg filter graphs alone. This is a practical tool for video editors and developers needing programmatic video concatenation with visual effects. It's not a research project or data pipeline - it's a production-ready library with CLI support.