Files
superset2/docs/developer_docs_versioned_docs/version-6.1.0/guidelines/frontend-style-guidelines.md
Claude Code 4ee42fe5b8 docs: cut 6.1.0 versions for user_docs, admin_docs, developer_docs, components
Snapshots all four versioned Docusaurus sections at v6.1.0, cut from
master after the version-cutting tooling (#39837), broken-internal-
links fix (#40102), and user_docs rename (#40171) all landed. With
the rename in place, all four sections now produce parallel-named
files at the docs/ root (no more bare `versioned_docs/` outlier).

Versioning behavior: lastVersion stays at current for every section,
so the canonical URLs (/user-docs/..., /admin-docs/...,
/developer-docs/..., /components/...) continue to render content
from master. The current version is consistently labeled "Next"
with an unreleased banner, and 6.1.0 is a historical pin accessible
only via its explicit version segment.

Component playground: previously disabled: true in versions-config.json,
now enabled and versioned.

Snapshot includes:
- All MDX content for the four sections.
- Auto-gen captured fresh: 74 database pages (engine spec metadata),
  ~1,800 API reference files (openapi.json), 59 component pages
  (Storybook stories).
- Data imports frozen at cut time into snapshot-local _versioned_data/
  dirs:
    user_docs_versioned_docs/version-6.1.0/_versioned_data/src/data/databases.json
      (canonical 80-database diagnostics from master, preserved by the
      generator's input-hash cache)
    admin_docs_versioned_docs/version-6.1.0/_versioned_data/data/countries.json
    admin_docs_versioned_docs/version-6.1.0/_versioned_data/static/feature-flags.json
    developer_docs_versioned_docs/version-6.1.0/_versioned_data/static/data/components.json
- Import paths in deeply-nested files rewritten so they still resolve
  from one directory deeper inside the snapshot.
- developer_docs/extensions/overview.md snapshot has the FIXED
  ./mcp.md form (from #40102), so the SPA-nav 404 isn't baked into
  the 6.1.0 version.

Verified via full yarn build: exit 0, no broken links surfaced by
onBrokenLinks: throw.
2026-05-15 22:36:30 -07:00

3.0 KiB

title, sidebar_position
title sidebar_position
Overview 1

Frontend Style Guidelines

This is a list of statements that describe how we do frontend development in Superset. While they might not be 100% true for all files in the repo, they represent the gold standard we strive towards for frontend quality and style.

  • We develop using TypeScript.
  • We use React for building components, and Redux to manage app/global state.
  • We prefer functional components to class components and use hooks for local component state.
  • We use Ant Design components from our component library whenever possible, only building our own custom components when it's required.
  • We use @emotion to provide styling for our components, co-locating styling within component files.
  • We use Jest for unit tests, React Testing Library for component tests, and Cypress for end-to-end tests.
  • We add tests for every new component or file added to the frontend.
  • We organize our repo so similar files live near each other, and tests are co-located with the files they test.
  • We prefer small, easily testable files and components.
  • We use OXC (oxlint) and Prettier to automatically fix lint errors and format the code.
    • We do not debate code formatting style in PRs, instead relying on automated tooling to enforce it.
    • If there's not a linting rule, we don't have a rule!
    • See: Linting How-Tos
  • We use React Storybook to help preview/test and stabilize our components
    • A public Storybook with components from the master branch is available here