{"id":20359,"library":"prettier-plugin-erb","title":"prettier-plugin-erb","description":"A Prettier plugin for formatting .html.erb files, currently at version 0.4.0. It integrates with Prettier (>=2.0.0 <2.3) and depends on @prettier/plugin-ruby for formatting multiline Ruby expressions. Key differentiators: allows ERB formatting within Prettier's ecosystem, supports single-line expressions, and includes basic comment handling. The plugin is relatively new with limited features (no block expression formatting yet) and may have bugs; users are encouraged to ignore problematic files via .prettierignore.","status":"active","version":"0.4.0","language":"javascript","source_language":"en","source_url":"https://github.com/adamzapasnik/prettier-plugin-erb","tags":["javascript","plugin","prettier","erb","ruby","html-erb"],"install":[{"cmd":"npm install prettier-plugin-erb","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-plugin-erb","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-plugin-erb","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for formatting engine","package":"prettier","optional":false},{"reason":"peer dependency for formatting multiline Ruby expressions","package":"@prettier/plugin-ruby","optional":false}],"imports":[{"note":"This is a Prettier plugin, not a programmatic library; it's configured via .prettierrc or CLI.","wrong":"Using `require('prettier-plugin-erb')` in code","symbol":"prettier-plugin-erb","correct":"Add to .prettierrc: { \"plugins\": [\"prettier-plugin-erb\"] }"},{"note":"No JS exports; the plugin is loaded by Prettier via plugins configuration.","wrong":"Importing as `import erb from 'prettier-plugin-erb'`","symbol":"default","correct":"Not applicable; no programmatic export."},{"note":"The plugin requires both `@prettier/plugin-ruby` and `prettier-plugin-erb` in plugins list.","wrong":"Using `@prettier/plugin-ruby` instead of `prettier-plugin-erb` for ERB files","symbol":"N/A","correct":"Not applicable"}],"quickstart":{"code":"// Install dependencies\n// yarn add -D prettier@2.2.0 @prettier/plugin-ruby@1.0.0 prettier-plugin-erb@0.4.0\n\n// .prettierrc\n{\n  \"plugins\": [\n    \"@prettier/plugin-ruby\",\n    \"prettier-plugin-erb\"\n  ],\n  \"tabWidth\": 2\n}\n\n// Run\n// npx prettier --write app/views/**/*.html.erb\n","lang":"javascript","description":"Shows installation, configuration in .prettierrc, and CLI usage for formatting .html.erb files."},"warnings":[{"fix":"Use Prettier version 2.2.x or lower. Check peerDependencies: prettier >=2.0.0 <2.3.","message":"The plugin requires Prettier <2.3 due to compatibility issues with Prettier options.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Upgrade to v0.2.0+ for single-line expressions; block expressions still not supported in any version.","message":"Block expressions (e.g., <% if … %> … <% end %>) are not formatted; only single-line expressions work.","severity":"gotcha","affected_versions":"<0.2.0"},{"fix":"Upgrade to v0.4.0 or later.","message":"The plugin may return `[object Object]` as output in edge cases (fixed in v0.4.0).","severity":"gotcha","affected_versions":"<0.4.0"},{"fix":"Upgrade to v0.2.0+ if you rely on error formatting.","message":"The `print` function replaces `embed` for error logging (v0.2.0+).","severity":"deprecated","affected_versions":"<0.2.0"},{"fix":"Use .prettierignore to exclude files that cause errors or unwanted formatting.","message":"The plugin may format files incorrectly; add problematic files to .prettierignore.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Downgrade Prettier to version 2.2.x or lower.","cause":"Prettier version >=2.3 is incompatible with this plugin.","error":"SyntaxError: Unexpected token '>'"},{"fix":"Install the missing peer: `yarn add -D @prettier/plugin-ruby`","cause":"Missing peer dependency @prettier/plugin-ruby.","error":"Error: Cannot find module '@prettier/plugin-ruby'"},{"fix":"Upgrade to version 0.4.0 or later.","cause":"Bug in older versions (<0.4.0) when formatting certain ERB expressions.","error":"Error: [object Object]"},{"fix":"Remove or rewrite block expressions as single-line ERB, or add file to .prettierignore.","cause":"Block expressions (e.g., <% if %>) not supported; the plugin cannot parse them.","error":"Cannot read property 'type' of undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}