From 073421215f5fb03f1dbe5d37d323c4ecce08d9af Mon Sep 17 00:00:00 2001 From: Leo Singer Date: Tue, 12 Sep 2023 14:58:19 -0400 Subject: [PATCH] feat(remix-dev): provide types for rehypePluggins and remarkPlugins --- .changeset/light-dogs-boil.md | 5 +++++ packages/remix-dev/compiler/plugins/mdx.ts | 5 +++-- packages/remix-dev/config.ts | 5 +++-- 3 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 .changeset/light-dogs-boil.md diff --git a/.changeset/light-dogs-boil.md b/.changeset/light-dogs-boil.md new file mode 100644 index 00000000000..599e37cb6a1 --- /dev/null +++ b/.changeset/light-dogs-boil.md @@ -0,0 +1,5 @@ +--- +"@remix-run/dev": minor +--- + +Provide types for rehypePlugins and remarkPlugins diff --git a/packages/remix-dev/compiler/plugins/mdx.ts b/packages/remix-dev/compiler/plugins/mdx.ts index 4548dfc4946..b9e21a65d0e 100644 --- a/packages/remix-dev/compiler/plugins/mdx.ts +++ b/packages/remix-dev/compiler/plugins/mdx.ts @@ -2,6 +2,7 @@ import { promises as fsp } from "node:fs"; import * as path from "node:path"; import type * as esbuild from "esbuild"; import { remarkMdxFrontmatter } from "remark-mdx-frontmatter"; +import type { PluggableList } from "unified"; import { getLoaderForFile } from "../utils/loaders"; import { createMatchPath } from "../utils/tsconfig"; @@ -71,8 +72,8 @@ export async function processMDX( try { let fileContents = await fsp.readFile(absolutePath, "utf-8"); - let rehypePlugins = []; - let remarkPlugins: any[] = [ + let rehypePlugins: PluggableList = []; + let remarkPlugins: PluggableList = [ remarkFrontmatter, [remarkMdxFrontmatter, { name: "attributes" }], ]; diff --git a/packages/remix-dev/config.ts b/packages/remix-dev/config.ts index 45a3920caad..f8e15ba9bf0 100644 --- a/packages/remix-dev/config.ts +++ b/packages/remix-dev/config.ts @@ -4,6 +4,7 @@ import { pathToFileURL } from "node:url"; import fse from "fs-extra"; import PackageJson from "@npmcli/package-json"; import type { NodePolyfillsOptions as EsbuildPluginsNodeModulesPolyfillOptions } from "esbuild-plugins-node-modules-polyfill"; +import type { PluggableList } from "unified"; import type { RouteManifest, DefineRoutesFunction } from "./config/routes"; import { defineRoutes } from "./config/routes"; @@ -14,8 +15,8 @@ import { detectPackageManager } from "./cli/detectPackageManager"; import { logger } from "./tux"; export interface RemixMdxConfig { - rehypePlugins?: any[]; - remarkPlugins?: any[]; + rehypePlugins?: PluggableList; + remarkPlugins?: PluggableList; } export type RemixMdxConfigFunction = (