An opinionated Prettier plugin for formatting Laravel Blade templates, currently at version 3.1.5 (stable). It requires Node.js >=18 and Prettier ^3.0, and optionally integrates with @prettier/plugin-php for embedded PHP formatting and prettier-plugin-tailwindcss for Tailwind CSS class sorting. Key differentiators include a ground-up rewrite in v3 with changed output, Blade syntax plugins for frameworks like Statamic, and extensive configuration options for directive spacing, echo spacing, component prefixes, and inline element behavior. Released frequently with bug fixes and improvements. Active development.
npm install prettier-plugin-bladeVerified import paths — ran on the pinned version, not inferred.
Basic .prettierrc configuration to format Blade templates with Prettier.
Pin to previous version (e.g., prettier-plugin-blade@^2) if you need stable output, or update your codebase to accommodate v3 formatting.
Upgrade Prettier to v3: npm install prettier@^3 --save-dev
Ensure Node.js version is 18 or higher: node --version
Install @prettier/plugin-php and add to plugins array in .prettierrc.
Use repeated flags for array values in CLI. Use JSON array in .prettierrc for ease.
Set bladeDirectiveCaseMap in .prettierrc instead of CLI to avoid shell quoting issues.
Run npm install --save-dev prettier-plugin-blade
Ensure plugin is in 'plugins' array and parser is 'blade'. Example: { plugins: ['prettier-plugin-blade'], parser: 'blade' }Install @prettier/plugin-php: npm install --save-dev @prettier/plugin-php, or disable PHP formatting by setting bladePhpFormatting: 'off'
Upgrade Prettier to v3: npm install prettier@^3 --save-dev