nginx-linter icon indicating copy to clipboard operation
nginx-linter copied to clipboard

Linter shouldn't crash hard when encoutering parenthesis or missing characters.

Open snigel opened this issue 2 years ago • 0 comments

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)

snigel avatar Jun 29 '22 12:06 snigel