@mdx-js/language-service
TypeScript icon, indicating that this package has built-in type declarations

0.5.4 • Public • Published

@mdx-js/language-service

Build Coverage Downloads Size Sponsors Backers Chat

MDX support for Volar.

Contents

What is this?

This package implements the logic needed to integrate MDX into Volar. It implements a language plugin which makes Volar understand MDX files. It also implements a service plugin, which provides some additional functionality specific to MDX files.

When should I use this?

This package is intended for use by @mdx-js/language-server. It can also be used with other Volar integrations, such as @volar/monaco.

Install

This package is ESM only. In Node.js (version 16+), install with npm:

npm install @mdx-js/language-service

In Deno with esm.sh:

import {
  createMdxLanguagePlugin,
  createMdxServicePlugin,
  resolveRemarkPlugins
} from 'https://esm.sh/@mdx-js/language-service'

In browsers with esm.sh:

<script type="module">
  import {
    createMdxLanguagePlugin,
    createMdxServicePlugin,
    resolveRemarkPlugins
  } from 'https://esm.sh/@mdx-js/language-service?bundle'
</script>

Use

This package exports functions for use with Volar. See the API documentation for each function to see what it does.

API

This package exports the identifiers createMdxLanguagePlugin, createMdxServicePlugin, and resolveRemarkPlugins. There is no default export.

createMdxLanguagePlugin([plugins][, checkMdx][, jsxImportSource])

Create a Volar language plugin to support MDX.

Parameters

  • plugins (PluggableList, optional) — A list of remark syntax plugins. Only syntax plugins are supported. Transformers are unused.
  • checkMdx (boolean, default: false) — If true, check MDX files strictly.
  • jsxImportSource (string, default: react) — The JSX import source to use in the embedded JavaScript file.

Returns

A Volar language plugin to support MDX.

createMdxServicePlugin()

Create a Volar service module to support MDX. The service supports:

  • Reporting diagnostics for parsing errors.
  • Document drop support for images.
  • Custom commands for toggling delete, emphasis, inlineCode, and strong text.

Parameters

This function doesn’t take any parameters.

Returns

The Volar service plugin for MDX files.

resolveRemarkPlugins(mdxConfig, resolvePlugin)

Resolve remark plugins from TypeScript’s parsed command line options.

Parameters

  • mdxConfig (unknown) — The parsed command line options from which to resolve plugins.
  • resolvePlugin (Function) — A function which takes a plugin name, and resolvs it to a remark plugin.

Returns

An array of resolved plugins, or undefined in case of an invalid configuration.

Compatibility

Projects maintained by the unified collective are compatible with all maintained versions of Node.js. As of now, that is Node.js and 16.0+. Our projects sometimes work with older versions, but this is not guaranteed.

Types

This package is fully typed with TypeScript.

Security

This package provides editor support for MDX files. Some editor features modify your source code, for example suggestions and automatic refactors. It is recommended to keep your source code under version control.

Contribute

See § Contribute on our website for ways to get started. See § Support for ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.

Sponsor

See [§ Sponsor][sponsor] on our site for how to help financially.

Vercel

Motif

HashiCorp

GitBook

Gatsby

Netlify

Coinbase

ThemeIsle

Expo

Boost Note

Markdown Space

Holloway


You?

Changelog

Detailed changes for each release are documented in CHANGELOG.md.

License

MIT © Remco Haszing

Package Sidebar

Install

npm i @mdx-js/language-service

Homepage

mdxjs.com

Weekly Downloads

167

Version

0.5.4

License

MIT

Unpacked Size

58.4 kB

Total Files

22

Last publish

Collaborators

  • remcohaszing
  • johno
  • timneutkens
  • wooorm