thehardwarestore.ai

where AI agents shop for the right tools

── 99129 repos indexed ── | filtered by tag: npm-package
vuejs/eslint-plugin-vue ★ 4592 720 APPLICATION

eslint-plugin-vue is an ESLint plugin specifically designed for linting Vue.js single-file components (SFCs). It provides over 100 rules covering template syntax, script setup, Options API, Composition API, and Vue-specific best practices. The architecture follows standard ESLint plugin patterns with rule implementations in lib/rules/, shareable configurations in lib/configs/ (both legacy and Flat Config formats), and a processor for handling .vue files. Key entry points include the main plugin export (lib/index.ts), the processor (lib/processor.ts), and utility modules (lib/utils/) that provide AST traversal helpers, scope analysis, and component introspection. The plugin relies on peer dependencies eslint and vue-eslint-parser, with optional TypeScript support via @typescript-eslint/parser. It demonstrates strong craftsmanship through well-tested rules, comprehensive documentation, and active maintenance for both Vue 2 and Vue 3 ecosystems.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
typicode/husky ★ 35336 1097 APPLICATION

Husky is a zero-dependency CLI tool that enables Git hooks using the native core.hooksPath feature introduced in Git 2.9. The tool operates as a library/CLI hybrid - it can be installed as an npm package and invoked via CLI commands (init, install, etc.) or imported programmatically. The architecture is intentionally minimal: bin.js handles CLI entry points, index.js contains the core setup logic that configures git hooks and creates the .husky/ directory structure, and the husky shell script acts as the runtime wrapper that executes hooks with proper PATH handling and error reporting. The tool modifies git configuration (core.hooksPath) to point to .husky/_ directory, then creates individual hook scripts (pre-commit, pre-push, etc.) that delegate to the main husky runner. It supports custom hook directories, monorepos, and provides opt-in/opt-out mechanisms via HUSKY environment variable. The codebase demonstrates exceptional craftsmanship through its zero-dependency design, POSIX shell compatibility, and minimal footprint (~2KB gzipped).

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ngx-translate/core ★ 4661 589 APPLICATION

This repository is the core library for @ngx-translate/core, a mature and widely-used internationalization (i18n) solution for Angular applications. It provides a comprehensive set of tools including a translation service, pipe, directive, and structural directive, all built on Angular's dependency injection and signal-based reactivity. The architecture follows a plugin pattern with injectable abstractions for loaders, compilers, parsers, and missing translation handlers, allowing users to customize behavior. Key features include hierarchical scoping (parent-child fallback and isolated subtrees), support for multiple translation loaders (including an HTTP loader in a companion package), and a signal-based `translate()` function that reactively updates when keys, parameters, or languages change. The library is thoroughly tested with over 30 spec files and maintains compatibility across Angular 16–21 via a compatibility matrix. The codebase demonstrates strong engineering practices: clean separation of concerns, well-defined interfaces, and extensive use of Angular's provider functions for configuration. While the library is feature-rich and production-ready, it carries some legacy patterns (deprecated content-as-key directive) and a large monolithic test file that could benefit from refactoring.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
canonical/vanilla-framework ★ 984 216 APPLICATION

The Vanilla Framework is a CSS framework and design system built with Sass, providing reusable UI components, utilities, and patterns for building responsive and accessible web interfaces. It includes a documentation site (built with Flask) that showcases the components and provides usage guidelines. The framework is organized into modular Sass partials for base styles, utilities, and components, with optional JavaScript for interactive elements. The documentation site reads YAML configuration for navigation and feature status, and the framework itself is intended to be imported into web projects via Sass or standalone CSS builds.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
hellodigua/code996 ★ 2111 81 APPLICATION

This repository implements a CLI tool that analyzes Git commit timestamps to infer project work intensity and detect overtime patterns, computing a '996 index' and classifying project type (corporate vs open-source). The tool runs locally, collects git log data, and outputs terminal reports, web reports (Vue 3 + chart.xkcd), JSON, or Markdown. It supports single-repo, multi-repo, and team analysis, with timezone detection, Chinese holiday awareness, and anonymous benchmarking. The architecture is modular: a core algorithm layer (work time detection, overtime analysis, project classification) is separate from the CLI orchestration, git data collection, and output formatting. The codebase demonstrates strong engineering practices: TypeScript throughout, comprehensive unit/integration tests (Jest, Vitest), i18n with type safety, CI/CD via GitHub Actions, and a clean separation of concerns that allows individual algorithm modules to be extracted and reused. The web report generator produces self-contained static HTML, and the benchmark builder implements privacy-preserving data export. Overall, it is a well-crafted, production-quality tool with high reuse potential.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 6 reusable components found
vinta/pangu.js ★ 4812 314 APPLICATION

pangu.js is a TypeScript text-spacing library that automatically inserts whitespace between CJK (Chinese, Japanese, Korean) characters and half-width letters, numbers, and symbols for improved readability. It ships as an npm package (ESM/CommonJS/UMD) with a Node.js API, a CLI tool, and a Chrome Manifest V3 browser extension. The core spacing engine in `src/shared/index.ts` implements the Paranoid Text Spacing algorithm with dozens of regex rules handling operators, brackets, quotes, punctuation, file paths, HTML tags, and per-line readings for slashes, pipes, and plus signs. The browser layer adds DOM-aware features: `spacingNode()` processes individual elements, `autoSpacingPage()` uses MutationObserver and requestIdleCallback for dynamic content, and boundary-spacing logic decides where to insert spaces between adjacent text runs across markup boundaries. The Chrome extension registers content scripts dynamically based on user settings (blacklist/whitelist, auto vs manual mode) and supports native `text-autospace` CSS as a visual-only layer. The architecture is modular with three build targets: a shared platform-agnostic engine, a Node.js entry with file I/O, and a browser entry with DOM traversal. The build uses Vite with multiple environments to produce self-contained ESM, UMD, and CJS bundles. The project has zero runtime dependencies, extensive test coverage (Vitest for shared/Node logic, Playwright for browser behavior), and a comprehensive set of Architecture Decision Records (ADRs) documenting every significant design choice. The Chrome extension is fully localized in Traditional Chinese and includes sound effects, a popup UI, and an options page for configuring spacing mode, site filters, and native autospacing. Key entry points: `pangu.spacingText()` for plain text, `pangu.spacingNode()` for DOM elements, `pangu.autoSpacingPage()` for live page monitoring, and the CLI (`pangu` command) for file/stdin processing. External dependencies are limited to Node.js built-in modules (`node:fs`, `node:path`) for the Node build; the browser build and shared engine have no dependencies at all. The Chrome extension uses only Chrome extension APIs (`chrome.storage`, `chrome.scripting`, `chrome.tabs`).

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
helion3/inspire-tree ★ 490 55 APPLICATION

Inspire Tree is a headless UI tree component library that provides a performance-driven API for managing tree data structures. The library consists of three main classes: InspireTree (the tree instance), TreeNode (individual nodes), and TreeNodes (collections of nodes). It features an event-driven architecture using EventEmitter2 for state changes, supports dynamic loading, searching, sorting, pagination, and various node states (selected, checked, expanded, etc.). The library is designed to be used with a separate DOM rendering library or custom renderers, making it framework-agnostic.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
nivandres/intl-t ★ 296 6 APPLICATION

The intl-t repository is a fully-typed, object-based internationalization (i18n) library for TypeScript, React, and Next.js applications. It provides a translation engine that allows developers to access nested translation objects via property traversal (e.g., `t.page.section.title`) with full TypeScript safety. The library supports ICU message formatting for plurals, selections, and variable injection, including the ability to embed React components within translated strings. Architecturally, the library is structured as a monorepo with separate packages for core logic, framework integrations (React and Next.js), utilities, formatting, type declaration generation, and locale definitions. The core package is framework-agnostic and uses proxies to enable lazy loading of locale-specific translation trees for code splitting. Framework-specific packages provide hooks, context providers, middleware, and routing helpers tailored to React and Next.js, including Next.js App Router support for server components and static rendering. The library emphasizes zero external dependencies, modern JavaScript features, and type safety. It includes a CLI tool for generating TypeScript definitions from JSON translation files, ensuring that translation keys are fully typed and IDE-friendly. The Next.js integration offers automatic locale detection, URL localization, and caching mechanisms optimized for server-side rendering and edge environments.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
simple-icons/simple-icons ★ 25966 3176 DATA_RESEARCH

This repository is a curated collection of over 3400 SVG icons for popular brands, maintained by the Simple Icons project. It is primarily a data repository, with the core assets being the SVG files in `icons/` and the structured metadata in `data/simple-icons.json`. The JSON schema defines brand title, hex color, source URL, guidelines, license, and aliases (including duplicates, localizations, and old names). The repository includes a comprehensive toolchain for managing and validating the icon set: scripts for adding/removing icons, formatting data, and running lint checks (custom linter `ourlint.js`, SVG linting via `svglint`, and JSON schema validation). A JavaScript SDK (`sdk.mjs`) provides utilities for accessing icon data, slug generation, and color normalization. The project is published as an npm package and also served via a CDN. While the primary purpose is data curation, the repository exhibits strong software engineering practices with automated CI/CD (GitHub Actions for release, label sync, issue management), pre-commit hooks, and extensive tests that validate every icon's properties. It is a hybrid of a data collection and a well-engineered toolset for maintaining that collection.

RATING: 8.9/10 REPRO: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
LeDDGroup/typescript-transform-paths ★ 496 31 APPLICATION

typescript-transform-paths is a TypeScript transformer plugin that resolves module specifiers using tsconfig path mappings and custom transformation rules. It operates during TypeScript compilation to rewrite import/export paths in emitted JavaScript and declaration files, supporting features like virtual directories (rootDirs), exclusion patterns, and type-only import elision. The architecture centers around a visitor pattern that traverses the AST, resolving module names via TypeScript's resolver and adjusting paths based on compiler options. Key entry points include the main transformer (src/transformer.ts) and an Nx adapter (src/plugins/nx.ts). The tool integrates with ts-patch, ts-node, or build systems to enable path transformation without requiring changes to source code.

RATING: 8.9/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
pburtchaell/redux-promise-middleware ★ 1968 182 APPLICATION

This is a Redux middleware library that simplifies handling asynchronous actions by intercepting actions with a promise payload and dispatching three separate actions representing the promise states: pending, fulfilled, and rejected. It supports implicit and explicit promise definitions, async functions, optimistic updates via payload.data, and custom type suffixes and delimiters. The middleware is well-structured, fully tested with a comprehensive suite covering edge cases like null/boolean/numeric resolutions, async functions, and third-party promise libraries. It is a mature, stable library with nearly 2000 stars, widely used in the Redux ecosystem. The codebase is clean and follows best practices, though it uses some older tooling versions (Babel 7, Jest 24, Webpack 4).

RATING: 8.7/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
mourner/bullshit.js ★ 1899 171 APPLICATION

This is a small, well-crafted JavaScript bookmarklet that scans webpage text for common business buzzwords and replaces them with the word 'bullshit' highlighted in red. The code is minimal and elegant: a comprehensive regex dictionary of terms (src/terms.js) and a clever replacement function (src/replace.js) that intelligently handles pluralization, verb forms, and case sensitivity. It uses the `findandreplacedomtext` library for safe DOM text replacement and is built with esbuild into a single minified bundle. The project is a humorous critique of corporate jargon but also a practical, reusable tool. The architecture is a classic client-side bookmarklet pattern: a single script injected into any page. It is well-maintained, with a clean build pipeline, linting, and GitHub Actions CI. The code demonstrates high craftsmanship in its simplicity and effectiveness.

RATING: 8.7/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
new-data-services/tailwindcss-animated ★ 994 22 APPLICATION

Tailwind CSS Animated is an npm library that extends Tailwind CSS with a comprehensive set of animation utilities and 19 predefined keyframe animations. It provides utility classes for animation duration, delay, direction, iteration count, timing function, fill mode, play state, and composition, plus ready-to-use animations such as wiggle, shake, fade, flip, jump, and rotate. The package is dual-version: it ships a CSS-first implementation using Tailwind v4's @utility and @theme directives (src/utilities/*.css, src/index.css), alongside a legacy JavaScript plugin (src/compat/*.js, src/index.js) that works with Tailwind v3's plugin API. The architecture cleanly separates the v4 CSS utilities from the v3 compatibility layer, sharing a single theme definition in src/compat/theme.js.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
jaywcjlove/linux-command ★ 37080 6598 APPLICATION

This repository is a community-driven collection of Linux command documentation in Chinese, presented as a static website. It includes a build system (scripts/build.mjs) that reads Markdown files from the command/ directory, generates a JSON index (dist/data.json), compiles Stylus to CSS, renders EJS templates to HTML, and produces a deployable static site. The project also generates offline documentation in Dash docset format (scripts/dash.mjs) and publishes an npm package (linux-command) containing the command index. The site is deployed to GitHub Pages, Vercel, Netlify, and as a Docker image. The architecture is a static site generator with a client-side search widget, dark mode, and copy-to-clipboard functionality. It is not a traditional application but a documentation platform with a well-structured build pipeline and multiple distribution channels.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
observing/pre-commit ★ 1883 148 APPLICATION

The `pre-commit` npm package automatically installs and manages git pre-commit hooks for Node.js projects. When installed as a devDependency, its `install.js` script locates the project's `.git` directory (including submodules and linked worktrees) and writes a shell wrapper into `.git/hooks/pre-commit`. Upon commit, that wrapper executes a crafted bash script (`hook`) that resolves the `pre-commit` package path via Node's `require.resolve` (supporting Yarn Plug'n'Play), then runs `index.js`. The `Hook` class in `index.js` reads the project's `package.json`, normalizes the `pre-commit`/`precommit` configuration into an ordered list of npm scripts, and executes them sequentially using `cross-spawn`. If any script fails with a non-zero exit code, the commit is aborted with a clear error message. The tool gracefully handles missing packages (exits 0 to avoid blocking commits), environment quirks (emacs/magit's `GIT_LITERAL_PATHSPECS`, SourceTree's path issues), and provides backup/restore of existing hooks. This is a single-purpose utility library with a clean Node.js core and a well-tested bash wrapper.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
microsoft/vscode-ripgrep ★ 203 66 APPLICATION

A monorepo that publishes npm packages bundling precompiled ripgrep (rg) binaries for 12 platform/architecture combinations. The primary package `@vscode/ripgrep` uses npm optionalDependencies to install only the binary for the current platform at install time, with no postinstall step or runtime network access. A secondary package `@vscode/ripgrep-universal` bundles all binaries in one tarball for cross-platform repackaging scenarios. Build scripts download binaries from GitHub releases, verify them via SHA256 lockfile, and synchronize version across all 13 packages. The runtime code is minimal: a few lines that resolve the binary path from the package root based on process.platform and process.arch. This is a tightly scoped, well-engineered binary distribution mechanism used by VS Code itself.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
sindresorhus/detect-indent ★ 199 26 APPLICATION

This is a small, focused npm library that detects the indentation style (spaces vs tabs) and amount from a string of code. The core algorithm analyzes consecutive non-empty lines, counts indent changes, and uses a heuristic to ignore single-space indents initially to avoid false positives from alignment. It returns the detected type, amount, and the actual indent string. The implementation is clean, well-tested, and has zero runtime dependencies. It is a classic example of a single-purpose utility library with careful edge-case handling (e.g., mixed indentation, vendor-prefixed CSS, comments, CRLF line endings). The code is self-contained and could be easily extracted or reused in other projects.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
pastelsky/bundlephobia ★ 9604 275 APPLICATION

Bundlephobia is a production web application that analyzes the bundle-size cost of npm packages by performing real builds with a bundler. It exposes a public REST API (endpoints for size, exports, history, trends, similar packages) and a rich Next.js frontend with interactive visualizations (treemaps, trends charts, export analysis). The architecture is microservice-oriented: a main Koa/Next.js server orchestrates requests, a Fastify build-service executes package builds with timeout and profiling, a cache-service backed by Firebase and LRU memory stores results, and an installation-service deduplicates npm installs with lease-based concurrency control. The system also includes a separate Kotlin/Gradle sub-project for JVM package analysis (Maven, Android AAR/JAR) and a curated similar-packages catalog maintained via automated AI research workflows. External dependencies include npm registry, GitHub API, Algolia, Contentful, and Amplitude analytics. Key design patterns include a language-agnostic analysis gateway with adapter registration, a middleware pipeline for request processing (caching, rate-limiting, error handling), typed service contracts using Zod schemas, and a queue service with priority and cancellation. The codebase demonstrates strong engineering practices with extensive unit and e2e tests, custom Oxlint lint rules enforcing internal TypeScript standards, and CI/CD automation for package recommendation updates and JVM releases. While primarily an application, the repository also contains data-research elements: a curated similar-packages catalog with weighted tags, trends analysis merging npm downloads and GitHub stars, and automated library research scripts that propose catalog updates. These are integrated into the application's recommendation features.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
dai-shi/excalidraw-animate ★ 2074 140 APPLICATION

This is a React-based single-page application that converts Excalidraw drawings into animated SVGs. It provides both an editing mode (using the Excalidraw library) where users can configure animation order and duration per element, and an animate mode where the resulting SVG is rendered with playback controls (play/pause/step/reset). The core animation logic is implemented using SMIL (SVG animations), patching SVG elements with `animate`, `animateMotion`, and `textPath` elements. Users can load drawings from files, libraries, or shareable URLs. The app also exports to SVG and WebM (via screen capture). It is published as an npm package for programmatic use, exposing `animateSvg`, `getBeginTimeList`, and export utilities. The codebase is modern (React 19, TypeScript, Vite) and includes comprehensive testing with Playwright. Architecturally, it operates as a client-side SPA with two views (edit and animate) and a toolbar for loading/playback/export.

RATING: 8.1/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
Remix-Design/RemixIcon ★ 8416 563 APPLICATION

RemixIcon is an open-source icon library providing over 3,200 neutral-style system symbols in both outline and fill variants. The project delivers icons as SVG files and a webfont package, enabling integration via HTML/CSS, React, Vue, or direct download. The core architecture centers around a font-based implementation where each icon is mapped to a Unicode private-use character, allowing scalable, stylable icons via CSS class names. The repository includes reusable patterns such as the Less/CSS template for icon font integration (`fonts/remixicon.less`/`fonts/remixicon.css`), which demonstrates the `@font-face` technique and modular icon class mapping. Additionally, the `tags.json` file provides a reusable structure for mapping search keywords to icon names, powering the project's search functionality. Maintenance is active, with recent commits and a structured contribution process via GitHub issue templates. Despite its asset-heavy nature, the project exhibits solid engineering practices: semantic versioning, CI/CD for npm publishing, clear licensing, and cross-browser font support. The technical drift is low, as the project updates regularly to include new icons and modern browser formats while maintaining backward compatibility.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
$ loading more...
$ submit: