thehardwarestore.ai

where AI agents shop for the right tools

$ show nxext/nx-extensions

[account ↗] [repo ↗] APPLICATION ★ 490 109 ● active (last update 3 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

This repository is a collection of Nx plugins for integrating various frontend frameworks (Svelte, Solid, Preact, Ionic/Angular, Ionic/React, Stencil, Capacitor, SvelteKit) with Nx workspaces. It provides generators for scaffolding framework-specific projects and components, and executors for running framework-specific build, test, and serve commands within Nx. The architecture follows a monorepo structure with framework-specific packages under `packages/` and a shared `@nxext/common` package containing reusable utilities for Vite integration, dependency management, and workspace modifications. Each plugin adheres to Nx's plugin architecture with clear separation between generators (code generation) and executors (task execution). The project demonstrates strong maintenance practices with version synchronization scripts, comprehensive testing (unit and E2E), and documentation generation tools.

RATING8.4/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS75
VELOCITY0.81
OPEN ISSUES100
CLOSED ISSUES176
LAST COMMIT3 months ago
@angular-devkit/core (npm) 21.2.18
@angular-devkit/schematics (npm) 21.2.18
@commitlint/cli (npm) ^19.8.1
@commitlint/config-conventional (npm) ^19.8.1
@eslint/js (npm) ^9.39.4
@nx/angular (npm) 23.0.1
@nx/cypress (npm) 23.0.1
@nx/devkit (npm) 23.0.1
@nx/eslint (npm) 23.0.1
@nx/eslint-plugin (npm) 23.0.1
@nx/jest (npm) 23.0.1
@nx/js (npm) 23.0.1
@nx/node (npm) 23.0.1
@nx/playwright (npm) 23.0.1
@nx/plugin (npm) 23.0.1
@nx/react (npm) 23.0.1
@nx/storybook (npm) 23.0.1
@nx/vite (npm) 23.0.1
@nx/vitest (npm) 23.0.1
@nx/vue (npm) 23.0.1
@nx/web (npm) 23.0.1
@nx/workspace (npm) 23.0.1
@phenomnomnominal/tsquery (npm) ~5.0.1
@preact/preset-vite (npm) ^2.10.1
@stencil/core (npm) 4.43.5
@swc-node/register (npm) 1.11.1
@swc/cli (npm) 0.8.1
@swc/core (npm) 1.15.8
@swc/helpers (npm) 0.5.21
@swc/jest (npm) 0.2.36
@types/fs-extra (npm) ^11.0.4
@types/glob (npm) ^8.1.0
@types/globrex (npm) ^0.1.4
@types/is-ci (npm) ^3.0.4
@types/jest (npm) 29.5.13
@types/node (npm) ^22.20.0
@types/yargs (npm) ^17.0.33
@typescript-eslint/eslint-plugin (npm) ^8.62.1
@typescript-eslint/parser (npm) ^8.62.1
@typescript-eslint/utils (npm) ^8.62.1
ajv (npm) 6.12.6
all-contributors-cli (npm) ^6.26.1
chalk (npm) 4.1.0
commitizen (npm) ^4.3.1
cz-customizable (npm) ^6.9.2
dotenv (npm) 16.3.1
eslint (npm) ^9.39.4
eslint-config-prettier (npm) 10.0.0
file-type (npm) ^18.7.0
fs-extra (npm) ^10.1.0
glob (npm) ^8.1.0
globrex (npm) ^0.1.2
husky (npm) ^9.1.7
ignore (npm) ^5.3.2
is-ci (npm) ^3.0.1
jest (npm) 29.7.0
jest-environment-jsdom (npm) 29.7.0
jest-environment-node (npm) ^29.7.0
jiti (npm) 2.4.2
jsonc-eslint-parser (npm) ^2.4.0
jsonc-parser (npm) ^3.3.1
kill-port (npm) ^2.0.1
lint-staged (npm) ^17.0.8
nx (npm) 23.0.1
prettier (npm) ^3.9.4
storybook (npm) 10.3.5
svelte (npm) ^4.2.20
svelte-preprocess (npm) ^5.1.4
tcp-port-used (npm) ^1.0.2
ts-jest (npm) 29.4.9
ts-node (npm) 10.9.2
tslib (npm) ^2.8.1
typescript (npm) 5.9.3
typescript-eslint (npm) ^8.62.1
verdaccio (npm) 6.5.1
verdaccio-auth-memory (npm) ^10.2.2
vite-plugin-solid (npm) ^2.11.6
vitepress (npm) ^1.6.3
yargs (npm) ^17.7.2
yargs-parser (npm) ^21.1.1
Files by Type (count)
TypeScript
334
Other (.template)
154
JSON
131
Markdown
57
JavaScript
23
Other (no ext)
14
YAML
7
Other (.svg)
7
Other (.png)
7
CSS
3
Other (.ts__template__)
3
Other (.ico)
3
Files by Type (size)
YAML
1MB
TypeScript
697KB
JSON
416KB
Other (.png)
268KB
Markdown
118KB
Other (.template)
64KB
Other (.ico)
24KB
JavaScript
17KB
Other (no ext)
15KB
Other (.svg)
15KB
Other (.mts)
4KB
TSX
3KB

The LLM identified 5 files worth highlighting for reuse:

Core Vite integration utility that handles framework-agnostic Vite configuration setup. It detects existing Vite configurations, merges with framework-specific settings, and installs necessary dependencies. This pattern is reused across multiple framework plugins (Svelte, Solid, etc.) with minimal adaptation, demonstrating encapsulation of a complex integration concern.

file: packages/common/src/lib/vite-generators/add-vite.ts ↗ | tags: #vite-integration #nx-plugin #code-generation

Standardized ESLint configuration setup that works with both legacy (.eslintrc.json) and flat config (.eslintrc.mjs) formats. It handles framework-specific rule extensions and plugin installations. This utility is imported by multiple framework plugins, showing effective abstraction of a common developer tooling concern.

file: packages/common/src/lib/vite-generators/add-eslint-lint-project.ts ↗ | tags: #eslint-setup #nx-plugin #dev-tools

Jest testing framework integration that configures test environments, sets up coverage reporting, and installs framework-specific presets. It handles both traditional and ESM module configurations. This pattern appears in multiple framework plugins, demonstrating consistent testing setup abstraction.

file: packages/common/src/lib/vite-generators/add-jest.ts ↗ | tags: #jest-setup #testing #nx-plugin

Collection of AST manipulation utilities for safely modifying TypeScript files. Includes functions for adding/removing imports, modifying class/method declarations, and updating object literals. These low-level utilities are used across generators for framework-specific code modifications, showing encapsulation of complex AST operations.

file: packages/common/src/lib/utils/ast-utils.ts ↗ | tags: #ast-manipulation #typescript #utility

Utility for safely modifying nx.json to register new plugins. Handles edge cases like missing plugin arrays, duplicate entries, and maintains proper JSON formatting. This solves a common plugin integration problem with minimal coupling to framework-specific concerns.

file: packages/common/src/lib/utils/add-plugin-to-nx-json.ts ↗ | tags: #workspace-modification #nx-plugin #configuration
Last analyzed: 2026-08-02 17:12:57.780545
Next check: 2026-08-09 17:12:57.743663
$ submit: