close

@rspress/plugin-twoslash новинка

Интеграция плагина Twoslash для Rspress — автоматическое создание продвинутых блоков кода с информацией о типах.

Установка

npm
yarn
pnpm
bun
deno
npm add @rspress/plugin-twoslash -D

Использование

1. Регистрация плагина

rspress.config.ts
import { defineConfig } from '@rspress/core';
import { pluginTwoslash } from '@rspress/plugin-twoslash';

export default defineConfig({
  plugins: [pluginTwoslash()],
});

2. Написание блоков кода с twoslash

Используйте специальные комментарии внутри блоков кода TypeScript, чтобы включить возможности Twoslash.

Подробное описание использования — в официальной документации Twoslash.

Извлечение типа

Отрендеренный результат
Синтаксис
const hi = 'Hello';
const msg = `${hi}, world`;
//    ^?

Автодополнения

Отрендеренный результат
Синтаксис
// @noErrors
console.e;
//       ^|

Подсветка

Отрендеренный результат
Синтаксис
function add(a: number, b: number) {
  //     ^^^
  return a + b;
}

Ошибки

Отрендеренный результат
Синтаксис
// @noErrorValidation
const str: string = 1;

Конфигурация

Плагин принимает объект следующего типа:

import { TwoslashOptions } from 'twoslash';
// ---cut-before---
export interface PluginTwoslashOptions {
  explicitTrigger?: boolean;
  cache?: boolean;
  twoslashOptions?: TwoslashOptions;
}

explicitTrigger

Параметр explicitTrigger определяет, нужно ли явно активировать возможности Twoslash. По умолчанию: true.

  • Если установить false — все блоки кода TypeScript будут обрабатываться Twoslash автоматически.
  • Если установить true — обрабатываться будут только те блоки кода, в которых указан тег twoslash.

cache

Параметр cache включает кэширование языковых серверов TypeScript в зависимости от опций компилятора при вызове createTwoslasher. По умолчанию: true.

twoslashOptions

Параметр twoslashOptions позволяет передавать любые опции непосредственно в Twoslash. С его помощью можно настраивать поведение Twoslash, включая опции компилятора TypeScript и другие параметры.