nginxfmt

Format nginx configuration files


Keywords
nginx, formatter
License
MIT
Install
npm install nginxfmt@0.2.1

Documentation

Nginx Configuration Formatter

Installation:

npm install nginxfmt -g
Usage:
        nginxfmt <target> [-o output] : format <target> into [output]
             if [-o output] is not specified, <target> will be overridden
        nginxfmt -h                   : show help information

Example:

nginxfmt old.conf -o new.conf

The formatter also supports nginx configuration templates commonly seen in ansible:

server  { # php/fastcgi
    listen  {{ PORT }};
    server_name  domain1.com  {{ www_domain1_com }};
    access_log  logs/domain1.access.log  main;
    root  html;
    location  ~  \.php$  {
        fastcgi_pass  127.0.0.1:1025;
    }
    location  /  {
        fastcgi_pass  127.0.0.1:1025;
    }
}

It can be used as a library:

npm install nginxfmt --save

Then

const { nginxfmt: format } = require("nginxfmt");
// pass the configuration file as string to the function `format`
const output = format(input);
// or format with options:
const output = format(input, { textWidth: 1, indent: "\t" });

The options are:

nginxfmt.defaults = {
    // the string filling the space between the head of a line and its margin.
    // by default it is 4 whitespaces
    indent?: string,
    // the number of characters for each line
    // by default it is 80
    textWidth?: number,
}