grunt-prettier

Prettier plugin for Grunt
Getting Started
This plugin requires Grunt ~1.0.3
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-prettier --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-prettier');
The "prettier" task
Overview
In your project's Gruntfile, add a section named prettier
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
prettier: {
options: {
progress: false
},
your_target: {
},
},
});
Options
All options you can see in official Prettier repo.
You can put .prettierrc
near Gruntfile.js.
Options from .prettierrc
merge with task config and default options in next order:
[default config] < [task config] < [.prettierrc]
.
You dont need to add path to config file to task definition!
Usage Examples
Default Options
In this example, the default options are specified like prettier-cli.
grunt.initConfig({
prettier: {
files: {
'dest/default_options': ['src/unformatted.js', 'src/another_unformatted.js']
}
}
});
Custom Options
In this example, custom options are used to transform indentation into tabs and use single quotes instead of double quotes.
grunt.initConfig({
prettier: {
options: {
singleQuote: true,
useTabs: true
},
files: {
'dest/default_options': ['src/testing', 'src/123'],
}
}
});
Supported and tested "files" params
You can use following formats:
- File to file - format source file and put formatted code to destination file.
files: {
"dest/formatted.js": "src/unformatted.js"
}
- Concat and format - concat all source files, then format and put to destination file. This format can be used with glob patterns.
files: {
"dest/formatted.js": [
"src/unformatted_1.js",
"src/unformatted_2.js"
]
}
- Hot formatting - overwrite src files with it formatted copy. Set
src
option instead of files
. This format can be used with glob patterns.
files: {
src: [
"my-awesome-project/**.js",
"!my-awesome-project/**.config.js"
]
}
Testing
To run unit tests
grunt test
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Known issues
Release History
2.2 - Add support for overrides. Use internal prettier mechanism for parser detecting
2.1 - Update default parser name
2.0 - Update prettier to v2. Fix npm audit issues
1.3 - Just update dependencies
1.2 - Add support for the check and formatWithCursor
1.1 - Add progress bar support
1.0 - Update grunt version to major because of vunerable dependencies. Update prettier version with small fixes
0.6 - Update prettier version
0.5 - Add support of other config formats
0.4 - Add support of older npm version
0.3 - Add support of different file types, like scss, json, etc.
0.2 - Add .prettierrc support