Skip to content

Repository files navigation

LitSX

Test Release Validate Release Docs License

LitSX is a Lit-first compiler and tooling workspace for authoring web components with modern JSX, static hoists, and an optional React-compat migration layer.

This repository contains the runtime, Babel presets, authoring support, editor tooling, and scaffolding packages that make up the LitSX toolchain.

The documentation site lives at litsx.dev and is maintained from the separate litsxdev/litsx.dev repository. The VS Code extension lives in the separate litsxdev/vscode-litsx repository.

Authored model

LitSX source is not just generic TSX with helper imports. The authored model includes:

  • Lit-flavoured JSX bindings such as @event, .prop, and ?attr
  • static hoists such as static styles = ..., static properties = ..., static shadowRootOptions = ..., and other direct static name = ... declarations
  • static expose = ... for static class methods

Generic static name = ... hoists lower to memoized static getters on the generated class. static expose = ... is the exception: it lowers to real static methods.

Because plain tsc does not parse this authored syntax directly, editor support comes from @litsx/typescript and CLI type-checking comes from litsx-tsc.

Workspace layout

Core public packages

Babel toolchain

Additional public tooling

Development

Install dependencies:

yarn install

Run the test suite:

yarn test

Build the workspace:

yarn build

Focus

The workspace focuses on:

  • native LitSX JSX ergonomics
  • React compatibility as a separate transform layer
  • authored syntax support for Lit-flavoured JSX and static hoists
  • editor support through @litsx/typescript
  • CLI type-checking through litsx-tsc
  • scaffolding and editor tooling

Each package directory contains its own README.md with package-specific details.

About

LitSX is a Lit-first compiler and tooling stack for authoring web components with modern JSX, native static hoists, and React-compatible migration paths. It lowers authored code to efficient Lit output and includes presets, runtime infrastructure, TypeScript support, playground tooling, and docs.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages