PitchHut
Log in / Sign up
mdx-editor-plugin-esm
41 views
Seamlessly manage ECMAScript modules in your MDX files.
Pitch

The MDXEditor ECMAScript Modules Handler Plugin enhances the MDX Editor by managing ESModule imports and exports. With this plugin, you can seamlessly work with ES Modules in MDX files, avoiding clutter in your lexical editor while preserving functionality. It's perfect for developers looking to integrate MDX and ES Modules effortlessly.

Description

The MDXEditor ECMAScript Modules Handler Plugin is a powerful tool designed to streamline the handling of ECMAScript modules within MDX files while using the popular MDX Editor. This plugin enables seamless import and export of ESModules in MDX, particularly beneficial when utilizing MDX in frameworks like Astro.

Key Features

  • Enhanced Editing Experience: Out of the box, MDX Editor displays ES module import and export statements directly in the lexical editor, potentially cluttering the workspace. This plugin, however, hides these statements in an empty div, providing a cleaner interface while maintaining core functionalities.

  • Preservation of Module Functionality: Despite the hidden imports, all imported ES modules remain accessible in the markdown code emitted by MDXEditor, ensuring you can store them as needed within your preferred persistence solution.

Usage Example

Integrating the MDXEditor ESM plugin into your project is straightforward. Here's a quick example of how to use it within your code:

import { esmMdxEditorPlugin } from 'mdx-editor-plugin-esm'

return <MDXEditor markdown={markdown} onChange={(md) => console.log('change', { md })} plugins={[...ALL_PLUGINS, esmMdxEditorPlugin()]} />

Note on Versioning

This plugin is evolving with the use of semantic versioning and release techniques to ensure better package management. Keep an eye out for future updates that will refine semantic release practices and improve overall functionality.

Explore this repository to enhance your projects with ESM handling in MDX and elevate your development experience!