CodeMirror

A batteries-included setup bundle for the CodeMirror 6 code editor.

Library
npm
v6.0.2
113 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
36 /100 Needs Attention
Development Activity 4
Maintenance 0
Community 60
Maturity 60
Momentum 20

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
76 /100 Good
Architecture 70
Code Quality 68
Innovation 88
Learning Curve 90

The codemirror package is the convenient entry point to the CodeMirror 6 code editor. Rather than installing and wiring up the many small @codemirror/* modules by hand, it re-exports EditorView alongside two ready-made extension bundles, basicSetup and minimalSetup, that pull together the features most editors need.

Use it to spin up a fully functional in-browser code editor in a handful of lines, then graduate to composing the underlying modular packages directly once you need finer control over the configuration.

What You Get

  • A basicSetup extension bundling line numbers, undo history, code folding, bracket matching, autocompletion, search, and linting keymaps
  • A minimalSetup extension for a lean editor with just history, selection drawing, and default highlighting
  • A re-exported EditorView so you can construct an editor from a single import
  • First-class TypeScript types and dual ESM/CJS builds
  • A documented, copy-pasteable source you can fork when you outgrow the defaults

Common Use Cases

  • Embedding a code editor in a web app, playground, or documentation site
  • Prototyping a CodeMirror configuration before hand-tuning the underlying modules
  • Teaching or demoing CodeMirror 6 with a minimal boilerplate footprint

Under The Hood

Architecture

The entire package is a single module, src/codemirror.ts (~97 lines), that acts as a composition layer over the modular @codemirror/* v6 ecosystem. It imports feature extensions from @codemirror/view, @codemirror/state, @codemirror/language, @codemirror/commands, @codemirror/search, @codemirror/autocomplete, and @codemirror/lint, then flattens them into two exported Extension array literals: basicSetup (the full-featured default, including a merged keymap of closeBrackets, default, search, history, fold, completion, and lint bindings) and minimalSetup (a lean subset). It also re-exports EditorView so consumers can construct an editor from one import. Extensions are wrapped in immediately-invoked functions to work around tree-shaking limitations.

Tech Stack

Written in TypeScript and built with @codemirror/buildhelper (cm-buildhelper) into dual ESM (dist/index.js) and CommonJS (dist/index.cjs) outputs with bundled type declarations. It declares seven @codemirror/* ^6.0.0 runtime dependencies and is marked sideEffects:false for optimal bundling. There is no framework binding; it is view-layer agnostic and works anywhere the DOM is available.

Code Quality

The source is deliberately minimal, readable, and heavily annotated with /// doc comments that enumerate exactly which extensions each bundle includes. The repository ships no local test files (the test script defers to the shared cm-runtests harness), which is reasonable given the package is a thin, declarative aggregation with no branching logic. Types come directly from the underlying packages, so the public surface is fully typed.

API Design Developer experience is the package’s whole reason for existing, and it excels: a working editor is new EditorView({parent, doc, extensions: [basicSetup]}). Naming is clear (basicSetup vs minimalSetup), the two exports cover the common cases, and the documentation explicitly guides users to copy the source into their own project once they need custom configuration, an honest and well-considered escape hatch.

Used by 44 apps in this directory

Ruby
37%
AGPL 3.0

DocuSeal

Digital Signiture

18,780

Open source document signing platform with WYSIWYG PDF builder, multi-party workflows, REST API, and full self-hosting via Docker.

View details
87
Repo Health
80
Technical
69
Dependency
Built with
Ruby 37%
Vue 29%
HTML 20%
Updated 1 weeks ago
Java
34%
Apache 2.0

Enso

Analytics · Data Engineering · Low Code Platforms

7,443

A visual and textual programming platform for data prep and analysis where the node graph and the underlying Enso code are always perfectly in sync, built by an Alteryx co-founder on a GraalVM engine.

View details
57
Repo Health
90
Technical
61
Dependency
Built with
Java 34%
TypeScript 27%
Scala 26%
Updated 2 months ago
TypeScript
82%
MIT

evidence

Analytics · Data Engineering

7,052

Turn SQL queries and markdown files into polished, interactive data apps and business intelligence reports — no drag-and-drop, no GUI, just code.

View details
91
Repo Health
79
Technical
64
Dependency
Built with
TypeScript 82%
Svelte 17%
Updated 6 days ago
Python
66%
MIT

Flowfile

Data Engineering

398

Visual ETL that compiles to Polars — build pipelines on a canvas, export as standalone Python, and run anywhere without platform lock-in.

View details
83
Repo Health
81
Technical
66
Dependency
Built with
Python 66%
TypeScript 17%
Vue 16%
Updated 6 days ago
TypeScript
58%
AGPL 3.0

Frappe Books

Invoicing Finance

5,003

Offline desktop accounting with double-entry, POS, and custom invoice templates

View details
88
Repo Health
77
Technical
72
Dependency
Built with
TypeScript 58%
Vue 39%
Updated 3 weeks ago
TypeScript
63%
MIT

Ghost

Blogging · CMS

55,598

Open source headless Node.js CMS for professional publishing, paid memberships, and newsletters with a fully owned audience.

View details
96
Repo Health
85
Technical
64
Dependency
Built with
TypeScript 63%
JavaScript 35%
Updated 6 days ago
Rust
37%
Other

Hook0

Devops

1,504

Open-source Webhooks-as-a-Service: deliver events to your users with auto-retry, signed payloads, and a real-time subscriber dashboard — all without building the infrastructure yourself.

View details
84
Repo Health
82
Technical
69
Dependency
Built with
Rust 37%
TypeScript 12%
Updated 6 days ago
TypeScript
77%
Other

Joplin

Note Taking

56,853

The privacy-first, open-source note-taking app with end-to-end encrypted sync, AI assistance, and a powerful plugin ecosystem across every platform.

View details
93
Repo Health
87
Technical
60
Dependency
Built with
TypeScript 77%
JavaScript 14%
Updated 6 days ago
Elixir
71%
AGPL 3.0

Keila

Marketing

2,246

Self-hosted newsletter platform with a visual block editor, Liquid personalization, and flexible email delivery — a privacy-respecting Mailchimp alternative you run on your own infrastructure.

View details
87
Repo Health
76
Technical
66
Dependency
Built with
Elixir 71%
HTML 18%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers