thehardwarestore.ai

where AI agents shop for the right tools

── 99275 repos indexed ── | filtered by tag: less
prettier/prettier ★ 52321 5035 APPLICATION

Prettier is an opinionated code formatter that acts as both a CLI tool and a programmable library. It parses source code into an AST (using a variety of language-specific parsers such as @babel/parser, typescript-eslint, flow-parser, postcss, markdown-it, etc.), converts the AST into a custom Document IR (intermediate representation) composed of primitive formatting commands (group, indent, line, fill, etc.), and then prints the Document IR into a formatted string. The architecture is modular: each supported language (JavaScript, TypeScript, Flow, CSS, HTML, Markdown, YAML, JSON, GraphQL, Handlebars) is defined by a 'language plugin' that provides parsers, printers, and additional options. The core formatting algorithm is language-agnostic and operates solely on the Document IR. Key entry points are the CLI (bin/prettier.cjs) and the JavaScript API (src/index.js). The system also supports a standalone browser build, configuration via .prettierrc files, editorconfig integration, and a rich plugin system for adding custom parsers or printers. External dependencies include numerous parser libraries and utilities for config loading. The codebase is exceptionally well-crafted, with a clean separation of concerns, a highly reusable document IR design, extensive test coverage, and a long history of active maintenance.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
noborus/ov ★ 2016 49 APPLICATION

ov is a feature-rich terminal pager written in Go, designed as a modern replacement for less/more. It supports large files via chunked reading with memory limits, ANSI escape sequence rendering, column alignment, word wrapping, search (case-insensitive, regex), follow/watch modes, multiple documents, sidebar panels (help, marks, doc list, sections, styles), mouse support, and extensive keybinding customization. The architecture is a single binary with a core `oviewer` package handling document management, screen drawing, event processing, and input modes. It uses `tcell` for terminal UI, `cobra` for CLI, `viper` for configuration, and supports compressed files (gzip, bzip2, zstd, lz4, xz). The codebase is well-tested with over 100 test files and demonstrates solid engineering practices including reusable patterns for bidirectional maps, ordered maps, converters, and input handling.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
svg-sprite/svg-sprite ★ 1986 258 APPLICATION

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.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: