GitHub - knowis/mdx-editor: MdxEditor that project has an optional dependency which introduces a licensing issue

Customization Notes

This codebase is a clone of https://github.com/VivaaHealth/mdx-editor thats forks https://github.com/mdx-editor

That project has an optional dependency which introduces a licensing issue.

mdx-editor/editor#789 documents a licensing problem in the upstream project.

Specifically, an optional package from CodeSandbox:

MDX editor integrates sandpack within the main package and sandpack dependes on nodebox: https://github.com/Sandpack/nodebox-runtime?tab=License-1-ov-file

Nodebox has a proprietary custom license which forbids commercial use.

The problem is nodebox allways gets installed when installing mdx editor. Tree shaking will probably kick it out when not used, but thats not 100% sure.

This can theoretically lead to possible legal issues for everyone using it commercially.

Due to this, we need to fork to strip that dependency.

Deployment Notes

# Update version or manually edit package.json version field npm version prerelease --preid=notable

# Build the package
npm install --legacy-peer-deps
npm run build

# Publish
npm publish

## Package Notes

![npm](https://img.shields.io/npm/v/@mdxeditor/editor)
![npm bundle size (scoped)](https://img.shields.io/bundlephobia/minzip/@mdxeditor/editor)

> Because markdown editing can be even more delightful.

MDXEditor is an open-source React component that allows users to author markdown documents naturally. Just like in Google docs or Notion. [See the live demo](https://mdxeditor.dev/editor/demo) that has all features turned on.
The component supports the core markdown syntax and certain extensions, including tables, images, code blocks, etc. It also allows users to edit JSX components with a built-in JSX editor or a custom one.

```jsx
import { MDXEditor, headingsPlugin } from '@mdxeditor/editor'
import '@mdxeditor/editor/style.css'

export default function App() {
  return <MDXEditor markdown={'# Hello World'} plugins={[headingsPlugin()]} />
}

Get Started

The best place to get started using the component is the documentation.

Help and support

If you find a bug, check if something similar is not reported already in the issues. If not, create a new issue.

If you're integrating the component in your commercial project and need dedicated assistance with your issues in exchange of sponsorship, contact me over email.

If you want to discuss ideas start a discussion in the Discussions section.

License

MIT © knowis AG.