{"id":20392,"library":"prettier-plugin-nginx","title":"Prettier for NGINX","description":"prettier-plugin-nginx is a Prettier plugin that formats NGINX configuration files (.nginx, .nginxconf). Version 1.0.3 ships TypeScript types and targets modern Prettier (v2+). It is written in TypeScript and depends only on Prettier. Differentiators: opinionated formatting with configurable alignment, parameter wrapping, and continuation indentation; supports standard NGINX directives but not extensions like lua-nginx-module. Release cadence is low; last release was 2024.","status":"active","version":"1.0.3","language":"javascript","source_language":"en","source_url":"https://github.com/joedeandev/prettier-plugin-nginx","tags":["javascript","nginx","prettier","prettier-plugin","configuration","format","autoformat","autoformatter","typescript"],"install":[{"cmd":"npm install prettier-plugin-nginx","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-plugin-nginx","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-plugin-nginx","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency – used as the formatting engine","package":"prettier","optional":false}],"imports":[{"note":"Plugin is used via Prettier API, not direct default import. Use Prettier's resolver.","wrong":"const prettier = require('prettier-plugin-nginx')","symbol":"default","correct":"import prettier from 'prettier-plugin-nginx'"},{"note":"Pass the plugin name string to Prettier options; Prettier resolves it.","wrong":"const options = { plugins: [require('prettier-plugin-nginx')] }","symbol":"Pugins","correct":"import * as prettier from 'prettier'; const options = { plugins: ['prettier-plugin-nginx'] }"},{"note":"Named exports for options available since v1. Prettier imports these via plugin options.","wrong":"const alignUniversally = require('prettier-plugin-nginx').alignUniversally","symbol":"alignUniversally","correct":"import { alignUniversally } from 'prettier-plugin-nginx'"}],"quickstart":{"code":"import prettier from 'prettier';\nimport nginxPlugin from 'prettier-plugin-nginx';\n\nconst code = `server {\n    listen 80;\n    server_name example.com;\n    location / { proxy_pass http://proxy; } }`;\n\nprettier.format(code, {\n  parser: 'nginx',\n  plugins: [nginxPlugin],\n  alignDirectives: true,\n  wrapParameters: true\n}).then(result => console.log(result));","lang":"typescript","description":"Formats an NGINX config string using Prettier with the plugin, enabling directive alignment and parameter wrapping."},"warnings":[{"fix":"Avoid using with configs containing Lua blocks, or handle those manually.","message":"Plugin does not support lua-nginx-module or other multi-language extensions; embedded code will break.","severity":"gotcha","affected_versions":"all"},{"fix":"Set parser to 'nginx' in Prettier options or rename files.","message":"Plugin only formats .nginx and .nginxconf files by default; other extensions require explicit parser override.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to v1.0.0+ and use named exports like `alignUniversally` if needed.","message":"v1.0.0 introduced named exports for configuration options; previous versions used plugin-local options only.","severity":"breaking","affected_versions":"<1.0.0"}],"env_vars":null,"search_vec":"'1.0.3':20 '2024':69 'align':44 'autoformat':78 'autoformatt':79 'cadenc':63 'configur':15,43,76 'continu':48 'depend':35 'differenti':39 'direct':53 'extens':56 'file':16 'format':13,41,77 'indent':49 'javascript':70 'last':66 'like':57 'low':65 'lua':59 'lua-nginx-modul':58 'modern':26 'modul':61 'nginx':3,7,14,17,52,60,71 'nginxconf':18 'opinion':40 'paramet':45 'plugin':6,11,75 'prettier':1,5,10,27,38,72,74 'prettier-plugin':73 'prettier-plugin-nginx':4 'releas':62,67 'ship':21 'standard':51 'support':50 'target':25 'type':23 'typescript':22,33,80 'v2':28 'version':19 'wrap':46 'written':31","created_at":"2026-04-25T11:22:52.558234+00:00","updated_at":"2026-04-25T11:22:52.558234+00:00","problems":[{"fix":"Run `npm install --save-dev prettier-plugin-nginx`","cause":"Plugin not installed or not in node_modules.","error":"Error: Cannot find module 'prettier-plugin-nginx'"},{"fix":"Ensure Prettier >=2.0 and pass plugin via `plugins` array.","cause":"Prettier version <2.0 or plugin not loaded properly.","error":"[error] Invalid parser option: 'nginx'"},{"fix":"Use `import prettier from 'prettier'` (ESM) or `const prettier = require('prettier')` (CJS).","cause":"Using wrong import (default vs named) for Prettier.","error":"TypeError: prettier.format is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/joedeandev/prettier-plugin-nginx","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/prettier-plugin-nginx","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}