nginx-linter
nginx-linter copied to clipboard
Linter shouldn't crash hard when encoutering parenthesis or missing characters.
I've encountered crashes for the linter. It would be helpful to get what line it parsed before it crashed.
First I got this issue, perhaps due to paranthesis in regex expressions.
$ nginx-linter --include site.conf Unexpected error: Error: Failed to parse: site.conf Caused by: SyntaxError: Expected " ", "#", ";", "\n", "\r", "\t", or "{" but ")" found. at parseFile (/opt/homebrew/lib/node_modules/nginx-linter/lib/parser/index.js:22:15) at Array.map (
) at Object.parseFiles (/opt/homebrew/lib/node_modules/nginx-linter/lib/parser/index.js:31:23) at validate (/opt/homebrew/lib/node_modules/nginx-linter/bin/_cli/commands.js:75:28) at execute (/opt/homebrew/lib/node_modules/nginx-linter/bin/_cli/commands.js:51:20) at Object.main (/opt/homebrew/lib/node_modules/nginx-linter/bin/_cli/commands.js:168:16) at Object. (/opt/homebrew/lib/node_modules/nginx-linter/bin/nginx-linter.js:6:24) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32)
Then I got this issue, not sure what's up here, since I get no hint on what line that fails.
$ nginx-linter --include anothersite.conf Unexpected error: Error: Failed to parse: anothersite.conf Caused by: SyntaxError: Expected " ", "#", "\n", "\r", "\t", "access_by_lua_block", "balancer_by_lua_block", "body_filter_by_lua_block", "content_by_lua_block", "header_filter_by_lua_block", "init_by_lua_block", "init_worker_by_lua_block", "log_by_lua_block", "rewrite_by_lua_block", "set_by_lua_block", "ssl_certificate_by_lua_block", "ssl_session_fetch_by_lua_block", "ssl_session_store_by_lua_block", "}", or any character but end of input found. at parseFile (/opt/homebrew/lib/node_modules/nginx-linter/lib/parser/index.js:22:15) at Array.map (
) at Object.parseFiles (/opt/homebrew/lib/node_modules/nginx-linter/lib/parser/index.js:31:23) at validate (/opt/homebrew/lib/node_modules/nginx-linter/bin/_cli/commands.js:75:28) at execute (/opt/homebrew/lib/node_modules/nginx-linter/bin/_cli/commands.js:51:20) at Object.main (/opt/homebrew/lib/node_modules/nginx-linter/bin/_cli/commands.js:168:16) at Object. (/opt/homebrew/lib/node_modules/nginx-linter/bin/nginx-linter.js:6:24) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32)