Skip to main content

Plugins

Plugins are ways of adding new languages or formatting rules to Prettier. Prettier’s own implementations of all languages are expressed using the plugin API. The core prettier package contains JavaScript and other web-focused languages built in. For additional languages you’ll need to install a plugin.

Using Plugins

You can load plugins with:

  • The CLI, via --plugin:

    prettier --write main.foo --plugin=prettier-plugin-foo
    tip

    You can set --plugin options multiple times.

  • The API, via the plugins options:

    import * as prettierPluginFoo from "prettier-plugin-foo";

    await prettier.format("code", {
    parser: "foo",
    plugins: [prettierPluginFoo],
    });
  • The Configuration File:

    prettier.config.mjs
    import * as prettierPluginFoo from "prettier-plugin-foo";

    /**
    * @see https://prettier.io/docs/configuration
    * @type {import("prettier").Config}
    */
    const config = {
    plugins: [prettierPluginFoo],
    };

    export default config;

Strings provided to plugins are ultimately passed to import() expression, so you can provide a module/package name, a path, or anything else import() takes.

Official Plugins

Community Plugins

Developing Plugins