28 dépôts
Mechanisms for specifying and managing directories from which external modules are dynamically loaded.
Distinct from Module Loading Systems: Candidates focus on persistence, temporary directories, or shell modules; this is about the core architecture of loading pluggable framework modules.
Explore 28 awesome GitHub repositories matching software engineering & architecture · Pluggable Module Loading. Refine with filters or upvote what's useful.
This project is a Linux kernel designed for Windows Linux integration, providing the underlying operating system kernel required to execute binary files and applications within the Windows Subsystem for Linux. It utilizes hypervisor-based virtualization to run a full kernel within a lightweight utility virtual machine managed by a Windows host. The repository enables the customization and compilation of the kernel from source. This allows for the modification of system behavior, the addition of specific drivers, and the tailoring of hardware compatibility for virtualized environments. The sy
Implements mechanisms to dynamically load compiled driver binaries into the running kernel at runtime.
Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI on the server and sends incremental DOM updates over a persistent SignalR connection. A central capability of Blazor is it
Loads JavaScript from standard ES modules to keep component dependencies self-contained and avoid global namespace pollution.
Wren is an embeddable, class-based scripting language and bytecode interpreter. It provides a dependency-free virtual machine designed for integrating dynamic script execution into host applications via a C API. The language is centered on a modern object-oriented model featuring inheritance, method overloading, and first-class functions. It utilizes a concurrent fiber runtime to manage lightweight, cooperatively scheduled execution paths without relying on operating system threads. The project includes a comprehensive suite of object-oriented primitives, closure-based state capture, and a m
Resolves module names into source code via a host-side function using the file system or bundled resources.
Metalsmith is a Node.js static site generator and static content processor that transforms source files into websites, eBooks, or technical documentation. It functions as a file-to-object transformer, converting directory trees into plain JavaScript objects that can be programmatically manipulated in memory. The project is built around a pluggable build pipeline where files are passed through a sequence of custom functions to transform content and metadata incrementally. This architecture allows users to extend functionality by writing their own plugins or using third-party modules to define
Supports dynamic import of JavaScript, JSON, or ESM modules relative to the project directory.
Shadow is an Android plugin framework designed to dynamically load and execute Android components and native libraries from external modules into a host application. It functions as a dynamic component loader that integrates activities, services, and broadcast receivers without requiring modifications to the host application code. The system includes a native library loader to execute C/C++ binary files from plugin modules directly within the host process. It also features a module dependency manager that supports segmented loading and explicit dependency chains across multiple plugin package
Splits plugin functionality into multiple packages to allow incremental loading and explicit dependency management.
Logisim Evolution is a digital logic simulator and schematic editor used for designing and verifying digital circuits. It functions as a tool for digital circuit design and real-time logic simulation, allowing users to create schematic representations of electronic hardware using gates and registers. The software distinguishes itself by providing hardware description language tools that allow for the definition of custom component behavior and the translation of visual schematics into synthesis-ready code for FPGA hardware deployment. It also serves as a bridge for physical hardware integrati
Supports loading external circuit definitions from directories to extend the available hardware module library.
This is a video course that teaches JavaScript from scratch, covering fundamentals like variables, functions, scope, closures, and data types through 88+ lessons organized into 15 modules. The course uses a live-coding pedagogy where students code alongside pre-recorded video lessons, with each lesson providing starter and solution files for self-paced practice. The curriculum focuses on browser-native APIs, teaching DOM manipulation, event handling, and data fetching without external frameworks. Students build real-world projects like image galleries, drawing tools, and audio visualizers thr
Organizes JavaScript into reusable ES modules and bundles them with build tools for larger applications.
GIMP est un éditeur de graphiques matriciels open source et une suite graphique multiplateforme. Il sert d'application de peinture numérique et d'éditeur d'images utilisé pour créer des bitmaps, retoucher des photographies numériques et concevoir des compositions visuelles professionnelles. Le logiciel fournit une boîte à outils pour la peinture numérique et le design graphique matriciel, présentant une variété de brosses, calques et modes de fusion de couleurs. Il inclut des flux de travail spécifiques pour la retouche photo et la manipulation d'images numériques via des outils de croquis et de retouche. Les utilisateurs peuvent personnaliser l'interface graphique en modifiant l'apparence visuelle des éléments et en remappant les raccourcis clavier pour s'adapter à des flux de travail artistiques spécifiques.
Employs a pluggable architecture that allows external binaries and scripts to extend core functionality.
Duktape est un moteur JavaScript embarquable et un runtime de script portable conçu pour l'intégration dans des applications C et C++. Il fonctionne comme un runtime ECMAScript léger qui fournit un pont C-JavaScript pour échanger des données et invoquer des fonctions entre le code natif et un environnement d'exécution de script. Le moteur inclut un compilateur de bytecode ECMAScript qui permet la sérialisation et la mise en cache des fonctions compilées sur disque pour réduire le temps de démarrage de l'application. Il organise les dépendances de script en utilisant un chargeur de module conforme à CommonJS. Le runtime couvre une variété de capacités incluant la planification de coroutines coopératives pour l'exécution asynchrone et un système de garbage collection hybride qui combine le comptage de références avec la collection mark-and-sweep. Il fournit également un protocole de débogage via un proxy JSON et prend en charge des transports de débogage personnalisés pour le matériel restreint. Les configurations de build sont gérées via des paramètres pilotés par YAML pour générer des en-têtes C spécifiques à la plateforme.
Organizes and loads script modules by following the CommonJS specification.
PyOxidizer est un empaqueteur d'applications Python et un embedder d'interpréteur conçu pour compiler le code Python et ses dépendances en un seul binaire exécutable autonome. Il fonctionne comme un outil de distribution qui permet aux applications de s'exécuter sur des machines cibles sans interpréteur pré-installé. Le projet sert de pont entre Rust et Python, fournissant un framework pour intégrer les deux langages afin de créer des bibliothèques liables ou de remplacer progressivement la logique. Il facilite l'intégration d'un runtime Python dans des applications plus grandes pour exécuter des scripts ou fournir une logique basée sur Python. L'ensemble d'outils couvre l'empaquetage d'applications Python, les workflows de distribution et l'intégration de runtimes Python embarqués.
Loads Python modules from memory-mapped data buffers rather than reading files from a traditional disk-based filesystem.
SDRPlusPlus est une suite logicielle de radio définie par logiciel (SDR) multiplateforme utilisée pour capturer, traiter et visualiser des signaux de radiofréquence. Il fonctionne comme un récepteur radio multi-fréquences et un analyseur de spectre, fournissant une interface matérielle unifiée pour connecter divers périphériques radio. Le projet emploie un framework de traitement du signal modulaire qui permet l'intégration de plugins personnalisés et le chargement de modules compilés externes. Cette architecture prend en charge un système de syntonisation virtuelle multi-oscillateur, permettant la surveillance simultanée de différentes bandes de fréquences au sein d'un flux matériel unique. Le système couvre un large éventail de capacités, incluant la visualisation du spectre en temps réel via des tracés en cascade (waterfall), le balayage automatique des fréquences et le décodage de signal numérique pour la voix et les données. Il gère également le routage de la sortie du signal vers l'audio système et les récepteurs réseau, ainsi que des outils pour le suivi de fréquence et l'enregistrement de données de signal.
Dynamically loads external compiled modules at runtime to provide specialized hardware support and processing capabilities.
This is a style guide for structuring AngularJS applications using a component-based architecture. It provides a set of conventions for organizing code into self-contained modules, each encapsulating its own logic, templates, and routing. The guide promotes a modular application structure built from root, component, common, and feature modules to improve maintainability and reusability. The guide establishes a one-way data flow pattern where parent components pass data to children through bindings, and children communicate changes back up through events. It distinguishes between stateful comp
Creates a top-level module that bootstraps the app, imports submodules, and defines the base component with a routing outlet.
Ladon est un scanner de pénétration réseau interne et un outil d'évaluation de vulnérabilité conçu pour identifier les failles de sécurité et les actifs à haut risque à travers les segments réseau. Il fonctionne comme un scanner de sécurité sans fichier (fileless), exécutant son moteur et ses modules directement en mémoire pour éviter de laisser une empreinte disque sur les systèmes cibles. Le projet se distingue par son intégration en tant que plugin pour les balises de commande (beacons), spécifiquement au sein du framework Cobalt Strike. Cela permet une découverte réseau et une détection de vulnérabilité résidant en mémoire. Il prend en outre en charge les opérations furtives via l'obfuscation de charge utile et de script, ainsi que des techniques pour contourner la détection par les systèmes de détection et de réponse aux points de terminaison (EDR). L'outil fournit une suite complète de capacités pour la post-exploitation, incluant l'audit d'identifiants, l'extraction et l'exécution d'attaques Kerberos pour la pénétration de domaine. Il gère la découverte d'actifs via le scan multi-protocole et l'empreinte de service pour identifier les systèmes d'exploitation et les technologies web. De plus, il prend en charge l'automatisation des mouvements latéraux, l'élévation de privilèges et le déploiement de charges utiles d'exécution de code à distance. Le framework est extensible via une architecture de plugin qui permet le chargement dynamique d'assemblages ou de scripts externes pour ajouter des modules de scan personnalisés et des preuves de concept.
Executes scanning engines and payloads directly from memory to avoid leaving a disk footprint.
deployd est un framework d'API en temps réel et un backend MongoDB en tant que service qui permet la création d'interfaces réseau synchronisant les données et les événements entre les clients et les serveurs. Il fonctionne comme un middleware d'API JavaScript qui peut être intégré aux serveurs HTTP pour fournir l'authentification, les intercepteurs de requête et des capacités en temps réel. Le projet dispose d'un tableau de bord de gestion d'API auto-hébergé pour configurer les paramètres des ressources, gérer les collections de données et surveiller l'état du serveur via une interface basée sur le web. Il inclut un moteur de synchronisation de données en temps réel qui pousse les mises à jour de base de données en direct vers les clients connectés en utilisant des sockets. Le système couvre la gestion des données backend avec validation de schéma et interrogation récursive, ainsi que des flux de travail d'authentification utilisateur qui suivent les sessions à travers les requêtes sans état et les connexions persistantes. Il fournit également des capacités pour la diffusion d'événements en temps réel, l'extension de middleware d'API personnalisée via des modules et le contrôle d'accès administratif. Le projet inclut une CLI pour amorcer de nouveaux projets et exécuter des serveurs de développement.
Allows specifying which packages to load from dependencies to prevent development tools from entering the production runtime.
Athens est un serveur proxy de modules Go et un cache de dépendances qui fournit un système de stockage persistant pour les dépendances Go. Il agit comme un miroir et un magasin de données pour assurer des environnements de build reproductibles en stockant des copies immuables de paquets externes, protégeant contre les suppressions ou pannes en amont. Le projet se distingue en servant de passerelle sécurisée pour l'hébergement de modules Go privés, utilisant des jetons d'authentification, des clés SSH et des GitHub Apps pour récupérer les dépendances depuis des systèmes de contrôle de version privés. Il permet en outre la conformité des dépendances logicielles via le filtrage de requêtes et le proxying de checksum, ce qui empêche les métadonnées de modules privés de fuiter vers des serveurs publics. Le serveur prend en charge un large éventail de backends de stockage, incluant le disque local, les bases de données NoSQL et les magasins d'objets cloud compatibles S3. Il inclut des fonctionnalités de mise en cache distribuée des dépendances avec verrouillage partagé pour éviter les téléchargements redondants à travers plusieurs instances et fournit des outils pour pré-remplir le stockage dans des environnements isolés (air-gapped). Le serveur peut être déployé via des conteneurs Docker, des charts Helm Kubernetes ou diverses plateformes cloud gérées.
Restricts which modules are retrieved using filter files and validation hooks.
Azure PowerShell est une collection de commandes scriptables et un outil de gestion utilisé pour l'administration, la configuration et l'automatisation des ressources et de l'infrastructure cloud Microsoft Azure. Il sert d'interface en ligne de commande pour déployer et surveiller les services cloud. Le projet fournit des capacités pour l'orchestration des ressources cloud et l'automatisation de l'infrastructure, permettant l'exécution de scripts programmables pour gérer les tâches administratives répétitives. Il inclut des outils pour gérer l'identité et l'accès à travers plusieurs locataires et abonnements Azure. Le système couvre l'authentification et la gestion de session, permettant aux utilisateurs de se connecter aux environnements cloud et de basculer entre différents contextes d'abonnement. Il fournit également les moyens de créer et d'administrer l'infrastructure cloud pour maintenir la stabilité du système.
Organizes commands into loadable modules to reduce memory overhead by importing only required service libraries.
Vulture est un outil d'analyse statique et un linter conçu pour trouver les variables, fonctions et classes inutilisées dans le code source Python. Il opère comme un détecteur de code mort et un chercheur de code inutilisé qui scanne les fichiers sources pour identifier les expressions et importations inaccessibles sans exécuter le code. L'outil emploie un système de score heuristique basé sur la confiance pour attribuer des valeurs de probabilité aux détections, aidant à distinguer les symboles réellement inutilisés des faux positifs potentiels. Il aide en outre à élaguer la logique morte en triant les classes et fonctions inutilisées détectées par nombre de lignes pour prioriser la suppression des plus gros blocs de code. La surface d'analyse inclut l'analyse de l'accessibilité du flux de contrôle, le suivi des références de symboles et la capacité de supprimer les faux positifs via des modèles de noms, des décorateurs ou des commentaires d'ignorance. Vulture prend également en charge la génération et la gestion de listes blanches via des modules mock pour exclure des éléments spécifiques des scans ultérieurs. Les règles d'analyse à l'échelle du projet et les chemins cibles peuvent être gérés via des fichiers de configuration, incluant la prise en charge du format TOML.
Supports generating whitelists via mock modules to simulate usage of flagged code elements.
Le browserify-handbook est un guide de documentation complet pour Browserify, un bundler de modules CommonJS et un outil de build JavaScript. Il explique comment compiler des modules de style Node.js en fichiers JavaScript uniques pour une exécution dans les navigateurs web. Le guide couvre la génération de bundles UMD (Universal Module Definition) qui fonctionnent dans des environnements Node, AMD et navigateur. Il détaille également l'utilisation de polyfills compatibles avec les navigateurs pour les modules intégrés de Node.js afin d'assurer la compatibilité multiplateforme. Le manuel décrit les capacités de transformation de code source, d'automatisation de build frontend et de débogage d'applications web. Il couvre également l'optimisation de la taille des bundles, le découpage des bundles par points d'entrée et la génération de source maps.
Implements a CommonJS loading system within the browser by wrapping modules in functions.
This project is a frontend visualization library and gallery of interactive web examples. It provides a collection of implementations that demonstrate advanced visual effects through the use of stylesheets, canvas drawing surfaces, and three-dimensional graphics libraries. The collection specifically features implementations for visualizing artificial intelligence outputs and complex data patterns. It includes specialized galleries for three-dimensional scenes and spatial objects, as well as a showreel of stylistic motion effects and interface designs. The library covers a broad range of ren
Uses module isolation to prevent style leakage and logic interference between different visual demonstrations.
Devilbox est un environnement de développement conteneurisé qui fournit une suite reproductible de serveurs web, de bases de données et de runtimes de langage gérés via une configuration unifiée. Il fonctionne comme une stack de développement local basée sur Docker pour les stacks logicielles LAMP et MEAN et comme un gestionnaire pour basculer entre différentes versions de ces services afin de correspondre aux exigences spécifiques du projet. Le système se distingue par l'automatisation de l'orchestration réseau locale. Il inclut un gestionnaire d'hôtes virtuels basé sur Docker qui mappe automatiquement les répertoires locaux à des domaines personnalisés et un orchestrateur DNS et SSL local qui gère la résolution de domaine interne et génère des certificats de confiance pour le développement HTTPS. Le projet couvre un large éventail de capacités, notamment l'administration des bases de données et des services via des interfaces web, le versionnage des runtimes de langage et l'hébergement de sites multi-projets. Il fournit également des outils pour intercepter les emails sortants, surveiller l'état des services via un tableau de bord et exécuter des chaînes d'outils de développement directement au sein des conteneurs.
Toggles specific language extensions and runtime modules on the fly using configuration variables during container startup.