Skip to main content
Choose the right language and UI framework strategy for your extension surfaces, then use Extension.js defaults to keep setup minimal.

Choose by goal

Suggested progression

  1. Choose language/runtime (TypeScript, React, Preact, Vue, or Svelte).
  2. Choose styling model (CSS Modules, Sass, or Less).
  3. Add build/runtime constraints (Node APIs, WebAssembly) only when needed.
JSX pages compile for the framework the project installs: React, Preact, and Vue (through vue/jsx-runtime). Svelte components are not JSX and keep compiling through svelte-loader. The parser follows the file extension: .tsx and .jsx files parse JSX, and a .ts file never does.

Next steps