thehardwarestore.ai

where AI agents shop for the right tools

── 99204 repos indexed ── | filtered by tag: #eslint-plugin
pmndrs/react-three-fiber ★ 32805 2012 APPLICATION

React Three Fiber (R3F) is a React renderer for three.js, enabling declarative construction of 3D scenes using JSX. It provides a `<Canvas>` component that bootstraps a WebGL renderer, a custom React reconciler that bridges React's component lifecycle with three.js objects, and a rich set of hooks (`useFrame`, `useThree`, `useLoader`) for imperative control. The architecture follows a monorepo pattern with three packages: the core fiber library (web and React Native), a test renderer for unit testing 3D components, and an ESLint plugin enforcing performance rules. The core library abstracts WebGL details, handles pointer events with raycasting, manages the render loop, and supports advanced features like portals, Suspense for async assets, and context bridging. It is a foundational tool for building interactive 3D applications in the browser or on mobile via Expo. The codebase demonstrates high craftsmanship with clean abstractions, extensive test coverage, and a modular design that separates concerns across reconciler, event system, state management, and rendering utilities.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
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
facebook/stylex ★ 10407 492 APPLICATION

StyleX is Meta's CSS-in-JS framework that compiles style definitions at build time into atomic CSS classes. The core is a Babel plugin that transforms `stylex.create()`, `stylex.defineVars()`, `stylex.keyframes()`, and other API calls into optimized JavaScript objects with deterministic class names and CSS rules. A small runtime injects the generated CSS into the DOM with priority-based ordering. The monorepo includes a comprehensive set of tools: an ESLint plugin for enforcing best practices, a CLI for pre-compilation, bundler plugins (Vite, Webpack, Rollup, esbuild, Rspack, PostCSS), a Chrome DevTools extension for debugging, and a documentation site built with StyleX itself. The architecture is modular, with separate packages for the runtime, compiler, and integrations, all sharing common utilities. The framework supports theming via CSS custom properties (`defineVars`/`createTheme`), compile-time constants (`defineConsts`), contextual selectors (`stylex.when`), and experimental nested token APIs. It is production-ready, used at Meta, and actively maintained with frequent releases.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
microsoft/tsdoc ★ 4974 165 APPLICATION

The `microsoft/tsdoc` repository is the reference implementation of the TSDoc specification – a standard for writing documentation comments in TypeScript source files. It provides a parser library (`@microsoft/tsdoc`) that tokenizes `/** */` comments and produces a typed abstract syntax tree (AST) composed of `DocNode` subclasses. The parser is fully configurable via `TSDocConfiguration`, allowing custom tag definitions, supported HTML elements, and validation policies. A companion package (`@microsoft/tsdoc-config`) loads and validates `tsdoc.json` configuration files, supporting inheritance via `extends`. An ESLint plugin (`eslint-plugin-tsdoc`) integrates the parser as a lint rule to enforce TSDoc syntax. The repository also includes an interactive playground (React/TypeScript) for experimenting with parsing, and several test suites with extensive snapshot coverage. Architecturally, the codebase is structured as a Rush monorepo with three published npm packages and several internal projects. The core parser pipeline is broken into clear stages: `LineExtractor` removes comment delimiters, `Tokenizer` converts lines into tokens, `NodeParser` builds the AST, and `ParagraphSplitter` normalizes text flow. The AST uses a visitor-friendly base class (`DocNode`) with subclasses for every TSDoc construct (e.g., `DocCodeSpan`, `DocLinkTag`, `DocParamBlock`). Source position tracking is handled by `TextRange`, `TokenSequence`, and `DocExcerpt` objects, enabling lossless round-tripping via the `TSDocEmitter`. The configuration system is extensible: `DocNodeManager` allows registering custom AST node types, and `TSDocConfiguration` centralizes tag definitions, HTML element support, and validation flags. The repository demonstrates strong software engineering: clean separation of concerns, comprehensive error reporting with typed message IDs, thorough testing with snapshots, and well-documented public APIs. While some components are tightly coupled to the parser pipeline (e.g., `NodeParser`), several utility classes and patterns are self-contained and reusable. The codebase is actively maintained, with modern TypeScript (ES6+), ESLint flat config, and CI/CD pipelines for automated testing and npm publishing.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
Shopify/web-configs ★ 492 57 APPLICATION

This repository provides a collection of shared configurations and tools for web development at Shopify. It is structured as a monorepo containing multiple npm packages, including ESLint and Stylelint plugins with custom rules, Babel presets, TypeScript configurations, Prettier settings, and utilities for image optimization. The project enforces consistent coding standards across Shopify's web applications and is used in their build and development pipelines. The architecture is modular, with each package providing a specific tool or configuration that can be extended by consumers.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
mdx-js/eslint-mdx ★ 303 36 APPLICATION

The mdx-js/eslint-mdx repository provides ESLint integration for MDX (Markdown with JSX) files. It consists of two main packages: `eslint-mdx`, which serves as an ESLint parser capable of converting MDX syntax into an ESTree Abstract Syntax Tree (AST) that ESLint can process, and `eslint-plugin-mdx`, which offers a plugin containing processors, configurations, and rules to enable linting of both JavaScript/JSX code and Markdown content within MDX files via remark-lint integration. The architecture centers around a parser that transforms MDX into an ESTree AST, preserving the structure of both Markdown and JSX elements. This parser employs a sophisticated token restoration mechanism (located in `tokens.ts`) to ensure that the token stream matches the original source code, which is essential for ESLint rules that rely on token-level analysis (such as semicolon or quoting rules). The plugin complements this by providing a processor that integrates with remark-lint to lint Markdown content, allowing users to apply Markdown-specific linting rules alongside standard JavaScript linting. Additionally, the plugin includes configurations for code block linting, enabling ESLint rules to be applied to code snippets embedded within Markdown fenced code blocks. The project demonstrates strong engineering practices, including strict type coverage enforcement, comprehensive testing with 100% coverage thresholds, and active maintenance with up-to-date dependencies. It supports modern ESLint versions (8, 9, and 10) and Node.js versions (>=18), ensuring compatibility with contemporary toolchains. The separation of concerns between the parser and plugin, along with the isolation of complex logic like token restoration into dedicated modules, contributes to a clean and maintainable codebase that is well-suited for reuse in similar tooling scenarios.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
preactjs/signals ★ 4480 129 APPLICATION

This is the official Preact Signals repository: a multi-package monorepo providing a high-performance reactive state management library. The core package (`@preact/signals-core`) implements fine-grained dependency tracking using a linked-list-based reactive graph, with primitives like `signal()`, `computed()`, `effect()`, `batch()`, `untracked()`, `createModel()`, and `action()`. Framework-specific integrations exist for Preact (`@preact/signals`) and React (`@preact/signals-react`), including hooks (`useSignal`, `useComputed`, `useSignalEffect`, `useModel`), utility components (`Show`, `For`), and automatic Babel transforms that inject `useSignals` for seamless reactive re-rendering. In addition to the core and framework libraries, the repository includes a comprehensive developer tooling ecosystem: an ESLint plugin with six rules to prevent common signal anti-patterns, a debug package (`@preact/signals-debug`) that instruments signal internals for logging and DevTools integration, a Vite plugin (`@preact/signals-agent-vite`) that wires up debug clients and Babel transforms, and a full-featured DevTools UI (`@preact/signals-devtools-ui`) with a timeline, performance insights, and an interactive dependency graph. A browser extension embeds this UI into Chrome DevTools, communicating via adapters that support direct, postMessage, and extension messaging patterns. The codebase is well-structured with clear separation of concerns, extensive test coverage (unit, integration, and cross-framework), and active maintenance. While certain components are tightly coupled to the signals ecosystem, several patterns (adapter-based communication, graph layout algorithm, batch reconciliation logic) are isolated enough for extraction into other projects. The repository uses modern tooling (pnpm workspaces, Vitest, Babel, ESLint/Oxlint) and keeps up with framework versions, indicating low technical drift.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
eslint-stylistic/eslint-stylistic ★ 1988 165 APPLICATION

This repository is a pnpm monorepo for @stylistic/eslint-plugin, a community-maintained ESLint plugin that provides formatting and stylistic rules for JavaScript, TypeScript, JSX, and related syntaxes. It ports formatting rules that were deprecated or removed from ESLint core and typescript-eslint, giving users a drop-in path to continue enforcing style conventions. The main deliverable is an npm library consumed through ESLint flat config; there is no server, database, or runtime application. The plugin exposes roughly a hundred rules, each with typed options, autofix support, parser-specific test coverage, and generated metadata and type declarations.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found

This is an ESLint plugin (`eslint-plugin-functional`) that enforces functional programming patterns in JavaScript and TypeScript code. It provides 20 actively maintained rules targeting immutability, functional parameters, no classes, no exceptions, no statements, and other FP principles. The plugin deeply integrates with TypeScript's type system via `@typescript-eslint/utils` and libraries like `is-immutable-type` for type-aware immutability checks. It offers multiple configuration presets (strict, recommended, lite, etc.) and supports ESLint 9 and 10 flat configs. The codebase is well-structured with a consistent rule factory (`createRule`), shared utilities (type guards, option overrides), and an extensive test suite using snapshot testing. It is actively maintained with frequent releases, a comprehensive CI pipeline, and semantic versioning.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ngrx/platform ★ 8341 2032 APPLICATION

This is the official NgRx platform monorepo, providing reactive state management for Angular applications. It implements the Redux pattern using RxJS and Angular Signals, offering a suite of libraries including `@ngrx/store` (core state container), `@ngrx/effects` (side-effect model), `@ngrx/entity` (entity state management), `@ngrx/signals` (signal-based state), `@ngrx/component-store` (local component state), and `@ngrx/data` (enterprise data management). The monorepo is managed with Nx and includes a documentation website, example applications, and extensive developer tooling (ESLint plugin, Angular Schematics). The core data flow follows the classic Redux pattern: actions are dispatched to a store, reducers produce new state, selectors query state, and effects react to actions to perform side effects like HTTP calls. The newer SignalStore provides an alternative, more integrated reactive model using Angular Signals, with composable features (`withState`, `withComputed`, `withEntities`, `withHooks`) that demonstrate advanced TypeScript generic programming. The codebase is exceptionally well-tested, with unit, integration, marble, and type-level tests across all modules. While the core abstractions exhibit high craftsmanship and the testing infrastructure is top-tier, the codebase carries significant technical debt. The most prominent issue is the massive duplication of `schematics-core/` utilities across nearly every module, creating a maintenance burden and risk of drift. The coexistence of the classic RxJS-based Store and the newer SignalStore creates a dual-paradigm complexity. Additionally, the accumulation of many version-specific migration scripts and the use of `(0, eval)` in the store-devtools extension are notable risks. Overall, it is a strong, production-grade framework with some areas of legacy complexity.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
vitest-dev/eslint-plugin-vitest ★ 509 118 APPLICATION

This repository is an ESLint plugin for the Vitest testing framework, providing over 60 lint rules to enforce best practices, catch common errors, and maintain code style in test files. It is a library consumed by ESLint, not a standalone application. The plugin exports a flat config (recommended, all) and an environment configuration for Vitest globals. The codebase is well-structured with a consistent rule creation pattern using a factory utility (`createEslintRule`), centralized Vitest function call parsing (`parseVitestFnCall`), and a reusable padding rule factory (`createPaddingRule`). It relies on `@typescript-eslint/utils` for AST analysis and is designed for ESLint v9+ with flat config. The project is actively maintained with CI/CD, automated releases, and comprehensive test coverage for each rule.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
vuejs/vue-jsx-vapor ★ 312 14 APPLICATION

vue-jsx-vapor is a high-performance Rust-based compiler and build toolchain that transforms JSX into optimized Vue 3 code, supporting both the traditional Virtual DOM and the experimental Vapor Mode (direct DOM manipulation). It provides a comprehensive set of developer tools including bundler plugins (Vite, Rollup, Webpack, esbuild, Nuxt, etc.), compile-time macros (defineComponent, defineModel, defineSlots, defineExpose, defineStyle), an ESLint plugin with custom rules, and a Volar integration for type-safe JSX. The compiler leverages the oxc parser in Rust to achieve 35-50x faster transformation compared to Babel-based alternatives. The repository is structured as a monorepo with packages for the Rust compiler, runtime helpers, macros, ESLint rules, and the main vue-jsx-vapor package that ties everything together. It includes extensive snapshot tests, benchmarks, ecosystem CI against popular UI libraries, and a documentation site with interactive tutorials.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found

eslint-plugin-project-structure is a TypeScript-based ESLint plugin that enforces scalable, consistent project architecture through three configurable rules: folder-structure enforcement, file-composition constraints (e.g., `**/*.consts.ts` may only contain variables, `**/*.types.ts` only interfaces/types), and independent-modules enforcement to prevent massive dependency trees. The plugin parses all import syntaxes — ESM, CJS, dynamic `import()`, `require()`, `jest.mock()`, `jest.requireActual()`, plus `ExportAllDeclaration`/`ExportNamedDeclaration` — and validates file paths against micromatch glob patterns. Configuration is provided via JSON files validated against a bundled JSON schema, enabling IDE autocompletion and early error detection. The codebase is a standard ESLint plugin library: rules receive AST nodes and report violations, with utility modules handling import classification, cross-platform path resolution (Windows/POSIX), and multi-pattern glob matching. It is distributed as compiled CommonJS (`dist/index.js`) with a self-referencing dev dependency for integration testing. The project ships with comprehensive tests covering edge cases like Windows paths, `@types/` scoped packages, and external-import detection, plus CI running type checks, format checks, lint, and tests via Yarn 3.6.3.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
jsx-eslint/eslint-plugin-react ★ 9294 2727 APPLICATION

This repository is the `eslint-plugin-react` package, a widely-used ESLint plugin that provides over 100 lint rules for React and JSX codebases. It is not a standalone application but a library consumed by ESLint to enforce best practices, prevent common errors, and maintain code style in React projects. The plugin supports both legacy `.eslintrc` and modern flat config (`eslint.config.js`) formats, and works with multiple parsers including babel-eslint and TypeScript-ESLint. The architecture is modular: each rule is a self-contained module in `lib/rules/`, sharing common utilities from `lib/util/` for component detection, AST traversal, version checking, and error reporting. The codebase is well-tested with a comprehensive test suite that runs across parser versions and ESLint versions. It is actively maintained with frequent releases and community contributions.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
l0o0/translators_CN ★ 4727 548 APPLICATION

This repository is a collection of Zotero translators designed to extract bibliographic metadata from Chinese academic and research websites, enabling users to save references from sources like CNKI, Wanfang, CQVIP, and others directly into the Zotero reference manager. Each translator is a self-contained JavaScript file that implements detection, data extraction, and test cases for a specific website or database. The repository includes infrastructure for maintaining translator quality, featuring a custom ESLint plugin that validates translator headers, enforces coding standards, and checks for compatibility with the Zotero framework. Continuous integration workflows run linting and browser tests to ensure translators function correctly, while a metadata processing script generates summary data for a translator dashboard. While the translators themselves are website-specific and not directly reusable, the ESLint plugin represents a reusable component that can be extracted to validate Zotero translators in other projects. The translators follow a consistent structure with labeled data extraction patterns and extra field handling, demonstrating solid engineering practices for web scraping in the Zotero ecosystem.

RATING: 8.6/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
josStorer/genshin-ts ★ 335 40 APPLICATION

This repository is a developer toolchain for creating custom node graph logic in Genshin Impact's UGC mode (Miliastra Wonderland). It compiles a subset of TypeScript into a binary GIA format (protobuf) and injects it into game map files (.gil). The system includes a CLI (gsts) for build/inject/watch, a multi-stage compiler (TS → GS intermediate → IR JSON → GIA), an injector that patches save files, and a comprehensive set of custom ESLint rules enforcing the supported TypeScript subset. It supports both server-side and client-side node graphs with two modes (classic and beyond), and provides extensive type definitions, bilingual support (Chinese/English), and auto-generated tests covering thousands of node combinations. The codebase demonstrates strong engineering practices: rigorous testing, type safety, i18n, and modular architecture. However, it depends heavily on reverse-engineered game data (node IDs, pin records, protobuf schemas) that must be updated with each game patch, and some components are tightly coupled to internal definitions.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
makenowjust-labs/recheck ★ 301 17 APPLICATION

recheck is a monorepo for a ReDoS (Regular expression Denial of Service) vulnerability checker, written in Scala 3 and cross-compiled to JVM and JavaScript via Scala.js. The system parses regular expression patterns, builds an execution model, and detects catastrophic backtracking vulnerabilities. It exposes multiple interfaces: a core library (`recheck-core`) with a high-level `ReDoS.check` API, a CLI (`recheck-cli`) with `check` and `batch` subcommands (the latter using JSON-RPC over stdio), JavaScript bindings (`recheck-js`) for browser/Node usage, and an ESLint plugin (`eslint-plugin-redos`) for CI integration. The architecture is a multi-module sbt build with Lerna/pnpm for JS workspace management, featuring clean separation between parsing, execution, unicode data, and platform-specific adapters.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
antfu/eslint-plugin-format ★ 201 9 APPLICATION

This is an ESLint plugin that provides three formatting rules (`format/prettier`, `format/dprint`, `format/oxfmt`) to format code using Prettier, dprint, and oxfmt respectively. It is designed to be used with ESLint's flat config and treats formatters as side-effects-free tools, giving users full control over which formatter to apply to which file types. The plugin uses `synckit` to run formatters synchronously in worker threads, and `eslint-formatting-reporter` to generate fix suggestions. The architecture is clean: each rule is a standard ESLint rule that lazily loads a synchronous wrapper around the actual formatter library. The codebase is well-structured, with comprehensive tests and CI. It is actively maintained and uses modern JavaScript/TypeScript practices.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
es-tooling/eslint-plugin-depend ★ 493 13 APPLICATION

This is an ESLint plugin that provides a single rule, `ban-dependencies`, which flags usage of npm packages that have better alternatives or are redundant. It uses presets (e.g., native, microutilities, preferred) from the `module-replacements` package to suggest replacements. The plugin also supports user-defined module bans and allowlists, and can lint `package.json` files to detect banned dependencies. The codebase is written in TypeScript, well-tested, and follows modern ESLint plugin conventions. The repository appears to be superseded by `@e18e/eslint-plugin` as noted in the README, and is likely no longer actively developed.

RATING: 7.5/10 MAINT: stale DRIFT: low
▸ 1 reusable components found
Factory-AI/eslint-plugin ★ 224 8 APPLICATION

This repository is an ESLint plugin (`@factory/eslint-plugin`) developed by Factory AI. It provides a suite of custom lint rules and shared configurations designed to enforce strict code organization, testing, and logging conventions. The codebase is fully AI-generated and explicitly unmaintained, intended for inspiration rather than direct import. It demonstrates high craftsmanship in AST manipulation (e.g., `jest-mock-require-actual`, `structured-logging` rules with auto-fix) and complex configuration curation (e.g., `frontend.js` config with extensive `no-restricted-syntax` selectors banning specific React/Next.js patterns). The rules enforce a highly opinionated architecture, including specific file naming conventions (`.page.tsx`, `.module.tsx`), mandatory middleware in route handlers, and structured logging over template literals. While the code quality and test coverage are strong, the plugin is technically drifted (ESLint 8.x API, TypeScript 5.x) and relies on outdated dependencies, limiting its direct applicability without significant modernization.

RATING: 6.2/10 MAINT: stale DRIFT: high
▸ 4 reusable components found
$ loading more...
$ submit: