Skip to content

Compatibility matrix

This page is the canonical “does helixui work with X?” answer. Anything marked tested has an end-to-end fixture in CI; expected means the API surface is compatible but we don’t have a fixture; unsupported means it doesn’t work today.

Last updated: 2026-05-26 against helixui 0.1.0.

Node.js

VersionStatusNotes
20.x (active LTS)✅ testedCI matrix runs every PR.
22.x (active LTS)✅ testedCI matrix runs every PR.
23.x⚙️ expectedShould work; not in CI matrix yet.
18.x (maintenance LTS)⚙️ expectedWe don’t use any 20-only API; should work.
16.x❌ unsupportedBelow engines: '>=20'.
Bun ≥ 1.1⚙️ expectedRuns the harness in dev; not in CI matrix.
Deno❌ unsupportedNative ESM works but Vite + react-aria-components combos haven’t been verified.

React

VersionStatusNotes
18.2✅ testedPeer floor.
18.3✅ testedCurrent dev target.
19.0✅ testedConcurrent features work. forwardRef not yet migrated to ref-as-prop — tracked for v0.2.
17.x❌ unsupportedreact-aria-components requires React 18+.

Frontend frameworks

FrameworkVersionStatusNotes
Vite + React≥ 5.0✅ testedThe development happy path.
Next.js (Pages Router)14.x, 15.x⚙️ expectedhelixui is plain React; no special config needed.
Next.js (App Router)14.x, 15.x✅ testedEvery helixui component is 'use client' — see RSC compat.
Remix v22.x⚙️ expectedBrowser runtime; helixui imports work.
React Router v77.x⚙️ expectedSame as Remix.
Astro Islands5.x✅ testedUse client:load on helixui imports.
TanStack Startpreview⚙️ expectedNot personally verified; should work.
Gatsby5.x⚙️ expectedLast verified February 2026.
Webpack 5 (vanilla)⚙️ expectedhelixui ships ESM + CJS-friendly exports.
Parcel2.x⚙️ expectedUntested.
Bun bundler1.1+⚙️ expectedRuntime works; bundler less tested.

Bundlers

helixui ships ESM. Tree-shaking is enabled across every package; the sideEffects: ['**/*.css'] directive on components-that-have-CSS tells bundlers which files to preserve.

BundlerTree-shakes?Notes
Vite (rollup)Recommended.
Webpack 5Use mode: 'production'.
esbuild
Rollup
Parcel 2
Turbopack⚙️ expectedUntested in CI.

TypeScript

VersionStatusNotes
5.0+✅ testedBuild target.
4.9⚙️ expectedhelixui’s published .d.ts uses satisfies (5.0+) in places; older versions may emit warnings.
< 4.9❌ unsupported

Browsers

helixui targets evergreen browsers (last 2 versions of Chrome, Firefox, Safari, Edge). CSS features it relies on:

FeatureMin ChromeMin FirefoxMin Safari
OKLCH colors11111315.4
color-mix()11111316.2
:focus-visible868515.4
:has()10512115.4
Container queries10511016.0

In practice that puts the floor at Chrome/Edge 121, Firefox 121, Safari 16.4. Older browsers degrade gracefully — colors fall back to the next defined value in var(--…, fallback) chains — but the visual fidelity isn’t guaranteed.

Editors

EditorStatusNotes
VS Code✅ tested.vscode/settings.json ships in-repo — wires spec.md schema + CSS-var autocomplete.
Cursor✅ tested.cursorrules template.
WebStorm / JetBrains⚙️ expectedYAML schema + CSS modules pickup auto.
Neovim + LSP⚙️ expectedAnyone running tsserver + yaml-language-server is in good shape.
Zed⚙️ expected
Sublime Text⚙️ expected

AI tools

ToolStatusNotes
Claude Code✅ testedIntegration guide.
Cursor✅ tested.cursorrules + MCP.
GitHub Copilot✅ tested.github/copilot-instructions.md ships.
Windsurf✅ testedIntegration.
Aider⚙️ expectedReads AGENTS.md automatically.
Sweep⚙️ expectedReads AGENTS.md.
Devin⚙️ expectedReads AGENTS.md.

Why we don’t list more

Compatibility matrices age fast. Anything in this table needs to be demonstrably running today — we’d rather under-promise. If you’ve verified helixui on a setup not listed, open a PR with a one-line note and we’ll mark it tested.

Reporting a regression

If a previously-tested combo stops working, file an issue tagged compatibility with:

  • Tool / framework / browser version.
  • The exact error.
  • A minimal repro (CodeSandbox or fork branch).

Compatibility regressions are P0. We treat them like security issues.