observablehq / observablehq/notebook-kit

JSX

Open
#120 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
371
Forks
27
Avg merge
3h 52m
Merged PRs (30d)
1

Description

Framework has some nice support for JSX. It’s implemented using esbuild, which is a challenge since we currently do transpilation client-side. Perhaps we could use Babel (too big?) or acorn-jsx (which is nice because we already use Acorn for everything else).

There’s also the question of whether we want the same display semantics (where calling display replaces whatever was previously displayed rather than displaying something new). That seems a little quirky in retrospect…

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/javascript/module.ts around lines 280-281 and trace the current client-side transpilation path. Compare the proposed Babel and acorn-jsx directions, then clarify the intended display semantics; completion requires an agreed JSX implementation and defined display behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.