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

TypeScript
39%
Apache 2.0

Label Studio

AI Development · Data Engineering

28,540

Label Studio is an open-source, multi-type data labeling platform that lets teams annotate images, text, audio, video, and time series data with a configurable XML-based UI and export annotations in formats ready for any ML framework.

View details
93
Repo Health
87
Technical
64
Dependency
Built with
TypeScript 39%
JavaScript 27%
Python 25%
Updated 6 days ago
Go
51%
AGPL 3.0

listmonk

Blogging · Marketing

23,944

High-performance, self-hosted newsletter and mailing list manager packaged as a single binary with built-in analytics, transactional messaging, and multi-channel delivery.

View details
90
Repo Health
74
Technical
64
Dependency
Built with
Go 51%
JavaScript 22%
HTML 20%
Updated 5 days ago
Clojure
71%
AGPL 3.0

Logseq

Knowledge Management · Note Taking

45,349

A privacy-first, open-source knowledge graph platform combining Markdown, Org-mode, bidirectional linking, and local-first storage for building your second brain.

View details
92
Repo Health
82
Technical
65
Dependency
Built with
Clojure 71%
OCaml 12%
Updated 6 days ago
TypeScript
81%
AGPL 3.0

massCode

Code Editors · Developer Tools · Productivity

7,085

A free, local-first developer workspace unifying snippets, notes, HTTP requests, calculations, drawings, and dev tools in one desktop app.

View details
85
Repo Health
87
Technical
62
Dependency
Built with
TypeScript 81%
Vue 17%
Updated 2 weeks ago
Go
67%
MIT

nginx ignition

Developer Tools · Devops

2,141

A modern web UI for nginx that eliminates config file editing with visual virtual hosts, SSL automation, Docker integrations, and real-time traffic analytics.

View details
74
Repo Health
80
Technical
67
Dependency
Built with
Go 67%
TypeScript 28%
Updated 2 weeks ago
TypeScript
99%
Other

NocoBase

Low Code Platforms · No Code Platforms

24,686

Open-source AI + no-code platform that lets coding agents and people collaborate to build business systems fast on proven infrastructure.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
TypeScript 99%
Updated 5 days ago
Ruby
63%
MIT

OnetimeSecret

Security

2,970

Generate self-destructing single-use links to share passwords and sensitive data without leaving traces in inboxes or chat logs.

View details
92
Repo Health
81
Technical
72
Dependency
Built with
Ruby 63%
TypeScript 24%
Updated 5 days ago
TypeScript
97%
GPL 3.0

OpenKnowledge

Code Editors · Knowledge Management · Note Taking

4,674

A beautiful, local-first markdown IDE that turns any git repo into a live collaborative workspace for humans and AI coding agents like Claude, Codex, and OpenCode.

View details
80
Repo Health
89
Technical
64
Dependency
Built with
TypeScript 97%
Updated 5 days ago
Python
38%
Other

Open WebUI

AI Agents · AI Assistants

156,607

The extensible, privacy-first AI platform that runs Ollama, OpenAI, and any LLM backend behind a polished, feature-packed web interface.

View details
92
Repo Health
75
Technical
66
Dependency
Built with
Python 38%
Svelte 35%
JavaScript 19%
Updated 5 days 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