Package Exports
- @duskmoon-dev/code-engine
- @duskmoon-dev/code-engine/autocomplete
- @duskmoon-dev/code-engine/collab
- @duskmoon-dev/code-engine/commands
- @duskmoon-dev/code-engine/keymaps/emacs
- @duskmoon-dev/code-engine/keymaps/vim
- @duskmoon-dev/code-engine/lang/angular
- @duskmoon-dev/code-engine/lang/cpp
- @duskmoon-dev/code-engine/lang/css
- @duskmoon-dev/code-engine/lang/go
- @duskmoon-dev/code-engine/lang/html
- @duskmoon-dev/code-engine/lang/java
- @duskmoon-dev/code-engine/lang/javascript
- @duskmoon-dev/code-engine/lang/jinja
- @duskmoon-dev/code-engine/lang/json
- @duskmoon-dev/code-engine/lang/legacy/index
- @duskmoon-dev/code-engine/lang/less
- @duskmoon-dev/code-engine/lang/lezer
- @duskmoon-dev/code-engine/lang/liquid
- @duskmoon-dev/code-engine/lang/markdown
- @duskmoon-dev/code-engine/lang/php
- @duskmoon-dev/code-engine/lang/python
- @duskmoon-dev/code-engine/lang/rust
- @duskmoon-dev/code-engine/lang/sass
- @duskmoon-dev/code-engine/lang/sql
- @duskmoon-dev/code-engine/lang/vue
- @duskmoon-dev/code-engine/lang/wast
- @duskmoon-dev/code-engine/lang/xml
- @duskmoon-dev/code-engine/lang/yaml
- @duskmoon-dev/code-engine/language
- @duskmoon-dev/code-engine/language-data
- @duskmoon-dev/code-engine/lint
- @duskmoon-dev/code-engine/lsp
- @duskmoon-dev/code-engine/merge
- @duskmoon-dev/code-engine/parser/common
- @duskmoon-dev/code-engine/parser/highlight
- @duskmoon-dev/code-engine/parser/lr
- @duskmoon-dev/code-engine/search
- @duskmoon-dev/code-engine/setup
- @duskmoon-dev/code-engine/state
- @duskmoon-dev/code-engine/theme/duskmoon
- @duskmoon-dev/code-engine/theme/one-dark
- @duskmoon-dev/code-engine/view
Readme
@duskmoon-dev/code-engine
Deep fork of CodeMirror 6 + Lezer ecosystem — single package, zero dependencies.
Collapses 44 upstream repositories into one npm package with 43 tree-shakeable subpath exports.
Live Playground · API Reference
Install
bun add @duskmoon-dev/code-engineQuick Start
import { EditorState } from "@duskmoon-dev/code-engine/state";
import { EditorView } from "@duskmoon-dev/code-engine/view";
import { basicSetup } from "@duskmoon-dev/code-engine/setup";
import { javascript } from "@duskmoon-dev/code-engine/lang/javascript";
new EditorView({
state: EditorState.create({
doc: 'console.log("Hello!");',
extensions: [basicSetup, javascript()],
}),
parent: document.getElementById("editor")!,
});Exports
| Path | Description |
|---|---|
/state |
EditorState, Transaction, Text, StateField, StateEffect |
/view |
EditorView, ViewPlugin, Decoration, keymap, tooltips, panels, gutters |
/language |
Language, HighlightStyle, fold, indent, bracket matching |
/commands |
Default keymaps, history, undo/redo |
/search |
Search & replace |
/autocomplete |
Autocomplete, snippets, close brackets |
/lint |
Linting framework |
/collab |
Collaborative editing |
/merge |
Merge view |
/lsp |
LSP client integration |
/language-data |
Language metadata |
/parser/common |
Tree, SyntaxNode, Parser interface |
/parser/lr |
LR parser implementation |
/parser/highlight |
Syntax highlighting tags |
/lang/* |
22 language packs: JavaScript, Python, HTML, CSS, JSON, Markdown, XML, SQL, Rust, Go, Java, C++, PHP, Sass, Less, YAML, Angular, Vue, Liquid, Wast, Jinja, Lezer |
/lang/legacy/* |
Stream modes: Elixir, Ruby, Erlang, Dart, Swift, Kotlin, Lua, Shell, Dockerfile, TOML, Nginx, Nix, Haskell, and more |
/theme/one-dark |
One Dark theme |
/theme/duskmoon |
DuskMoonUI theme (CSS custom properties) |
/keymaps/vim |
Vim keybindings |
/keymaps/emacs |
Emacs keybindings |
/setup |
basicSetup and minimalSetup extension arrays |
Development
bun install # install dependencies
bun test # run tests (2900+ tests across 51 files)
bun test test/core/state.test.ts # run a single test file
bun run typecheck # type check
bun run build # full build pipeline
bun run verify # verify all export pathsLicense
MIT