svg-sprite is a mature Node.js library and CLI tool for generating SVG sprites from individual SVG files. It supports five output modes (css, view, defs, symbol, stack) and produces accompanying stylesheets (CSS, SCSS, LESS, Stylus) via Mustache templates. The system processes SVGs through a queue-based pipeline that includes SVGO optimization, dimension calculation, namespace handling, and layout algorithms (including a bin-packing algorithm for compact sprites). It is configuration-driven with YAML/JSON support for meta data, alignment, and shape transformations. The codebase is modular with clear separation of concerns: shape processing, sprite layout, mode-specific rendering, and utility functions. It includes a comprehensive test suite with snapshot tests and visual regression testing using Playwright. While the library is actively maintained and well-structured, it carries some technical debt from older JavaScript patterns and a large dependency footprint. The packer algorithm and queue-based processing are standout reusable components.
This is the swagger-codegen-generators repository, a Java library that provides code generation for client and server stubs from OpenAPI (formerly Swagger) specifications. It is not a standalone application but a library consumed by the swagger-codegen v3 tool (or used programmatically). The codebase implements a template-driven architecture where language-specific generators extend abstract base classes (e.g., AbstractJavaCodegen, AbstractTypeScriptClientCodegen) and use Handlebars/Mustache templates to produce output. It supports a wide range of languages including Java, C#, Go, Python, Ruby, Swift, TypeScript, Kotlin, Dart, PHP, Scala, R, and Node.js, with frameworks like Spring, JAX-RS, Micronaut, Vert.x, ASP.NET Core, and more. Key file patterns include feature interfaces for composable generator capabilities (e.g., BeanValidationFeatures, GzipFeatures), Handlebars helper lambdas for template logic, and schema handlers for composed schemas (allOf/oneOf/anyOf). The project has extensive test coverage with unit and integration tests for model and API generation. While the core architecture is solid, the base class DefaultCodegenConfig is monolithic and the hundreds of template files pose maintenance drift risks. The project is actively maintained with CI workflows, issue templates, and recent commits.
GitHub Hovercard is a browser extension that enhances GitHub with rich hovercards for user profiles, repositories, issues, pull requests, comments, and commits. When hovering over a link on GitHub, it fetches data from the GitHub REST API and displays a tooltip with relevant details such as follower counts, star counts, README previews, issue status, and commit information. The extension also supports authenticated actions like following/unfollowing users and starring/unstarring repositories via a user-supplied access token. The extension is implemented as a monolithic content script that runs on all GitHub pages. It uses MutationObserver and requestIdleCallback to scan the DOM for relevant links, applies CSS selectorβbased extraction strategies to identify entity types and values, and then initializes Tooltipster tooltips on those elements. Data is fetched via jQuery AJAX and cached per entity type. The UI is rendered using Mustache templates with inline emoji and Octicons. The project includes separate extension packages for Chrome, Firefox, Edge, and Safari, each duplicating core files like jQuery, Mustache, Tooltipster, and the main hovercard script. A userscript variant is also provided. While the extension is functionally complete and has a loyal user base, the codebase exhibits significant technical drift and maintenance risks. Dependencies are outdated (jQuery 3.1.0, Tooltipster 4.0.0rc23), GitHub DOM selectors are fragile and likely to break with UI updates, API preview headers may be deprecated, and the same source files are duplicated across multiple extension directories without a shared build system. No tests are present, and the project appears to have received no recent commits, making it a candidate for forking or modernization.