prettier-plugin-nginx
v1.0.3
Published
NGINX configuration plugin for Prettier
Downloads
12,997
Maintainers
Readme
This TypeScript module is a plugin for Prettier that beautifies NGINX configuration files. It is written in TypeScript, and depends only on Prettier.
Getting Started
Install Prettier, and then install this plugin from npm:
npm install -g prettier-plugin-nginx
This plugin is configured to run on files with the extension .nginx
or
.nginxconf
. For plugin-level configuration, see
Configuration.
Modules that extend NGINX to include other languages within configuration files, such as lua-nginx-module, will not work with this formatter.
Example
A messy file like this...
server {
# server definition
listen 443 ssl; listen [::]:443 ssl;
server_name example.com;
location / { proxy_pass http://proxy; proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 1000; }
# end server definition
}
...is transformed to this:
server {
# server definition
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com;
location / {
proxy_pass http://proxy;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 1000;
}
# end server definition
}
Configuration
This plugin, like Prettier, is opinionated. The following options are available, with defaults modelled after the configuration examples in the NGINX docs.
| API Option | CLI Option | Default | Description |
| -------------------- | ----------------------- | ------- | ---------------------------------------------------------------------------------- |
| printWidth
| --print-width
| | Same option as in Prettier |
| tabWidth
| --tab-width
| | Same option as in Prettier |
| useTabs
| --use-tabs
| | Same option as in Prettier |
| alignDirectives
| --align-directives
| true
| Align directive parameters within a block to the same column. |
| alignUniversally
| --align-universally
| false
| Align all directive parameters within a file to the same column. |
| wrapParameters
| --wrap-parameters
| true
| Wrap parameters to new lines to fit print width. |
| continuationIndent
| --continuation-indent
| 2
| Additional indentation for wrapped lines. |
Contributing
Bug reports and pull requests are welcome on GitHub.
License
The package is available as open source under the terms of the MIT License.