BlockNote
BlockNote — a block-based rich-text editor by TypeCellOS. A Community Component that Aardvark does NOT bundle, because its source is MPL-2.0 copyleft. This page records the license verdict and links to the project.
BlockNote is a block-based rich-text editor by
TypeCellOS — a Notion-style WYSIWYG editor built on ProseMirror, with a first-class
Mantine theme (@blocknote/mantine). It’s a natural fit for a “Community Component” wrapper
on paper.
Aardvark, however, does not ship BlockNote as a built-in {% tag %}.
This page exists to record why, and to point you at the project so you can integrate it
yourself if its license works for your project.
BlockNote’s source code is licensed under the Mozilla Public License 2.0 (MPL-2.0), a
copyleft license. Aardvark’s policy for Community Components is to bundle only
permissively-licensed projects (MIT / Apache-2.0 / BSD / ISC) into its island bundle. Because
MPL-2.0 carries file-level copyleft obligations, BlockNote is documented but not bundled.
There is no {% blocknote %} tag.
License
The verdict rests on two independent sources. It is a standing finding rather than a snapshot of one release: Aardvark re-checks it against every newly published version, so this page names no version — the exact version evaluated and the date it was last checked live in Aardvark’s community-extension manifest.
| Source | Finding |
|---|---|
registry.npmjs.org/@blocknote/core |
"license": "MPL-2.0" for every published version (and likewise for @blocknote/mantine, @blocknote/react) |
LICENSE.txt in the current source tree |
“Source code in this repository is covered by the Mozilla Public License Version 2.0 (MPL-2.0), except for the XL packages.” |
The framework gate, which is judged separately, passes: the release that would be bundled today declares peer ranges covering Mantine 9 and React 19, and neither it nor its BlockNote and Tiptap dependencies pull in a framework runtime of their own. That gate is judged against the release under evaluation — older releases don’t all clear it. The license is the only reason BlockNote isn’t bundled.
A few details that matter for the verdict:
- The main packages are MPL-2.0.
@blocknote/core,@blocknote/mantine, and@blocknote/react— the packages a wrapper would use — are all MPL-2.0. - The
@blocknote/xl-*packages are GPL-3.0 (with a separate commercial license offered). These are an even stronger copyleft and are likewise excluded. - MPL-2.0 is not anti-commercial. It is OSI-approved and permits commercial use and redistribution. Its copyleft is file-level: only changes to the MPL-licensed source files themselves must be shared back. That makes it materially different from AGPL or “source-available” licenses.
Aardvark’s Community Component bundling bar is intentionally narrow — permissive only — so that the island bundle (and anything built on top of it) stays free of file-level copyleft obligations. MPL-2.0, while friendly, sits on the copyleft side of that line, so BlockNote is not bundled. This is a packaging decision, not a statement that BlockNote is unsuitable — it’s an excellent editor.
Using BlockNote in your own project
Nothing stops you from adopting BlockNote directly — MPL-2.0 is perfectly usable in a commercial product. Install it into your own front-end build and follow the upstream Getting Started guide:
npm install @blocknote/core @blocknote/mantine @blocknote/react
The Mantine theme ships its own stylesheet, imported via the package’s style.css export:
import "@blocknote/core/fonts/inter.css";
import "@blocknote/mantine/style.css";
A minimal Mantine-themed editor looks like this upstream:
import { useCreateBlockNote } from "@blocknote/react";
import { BlockNoteView } from "@blocknote/mantine";
function Editor() {
const editor = useCreateBlockNote();
return <BlockNoteView editor={editor} />;
}
For a read-only view (the shape that would suit a static docs page), upstream exposes an
editable={false} prop on BlockNoteView. See the
BlockNote docs for the full API.
Links
- Project site: https://www.blocknotejs.org/
- Documentation: https://www.blocknotejs.org/docs
- Source: https://github.com/TypeCellOS/BlockNote
- npm:
@blocknote/core·@blocknote/mantine·@blocknote/react - License: MPL-2.0
A Community Component entry — BlockNote by TypeCellOS, MPL-2.0 licensed, npm
@blocknote/*. Documented but not bundled by Aardvark because MPL-2.0 is a copyleft
license; Aardvark bundles only permissively-licensed (MIT / Apache-2.0 / BSD / ISC)
components.