class
Analyzer::Javascript::Nextjs
Defined in:
analyzer/analyzers/javascript/nextjs.crConstant Summary
-
EXPORT_VERB_BRACE_RES =
HTTP_METHODS.map do |m| {m, /export\s+\{[^}]*\b#{m}\b[^}]*\}/} end.to_h -
EXPORT_VERB_CONST_ARROW_RES =
HTTP_METHODS.map do |m| {m, /export\s+const\s+#{m}\s*=\s*(?:async\s*)?(?:\([^)]*\)|\w+)(?:\s*:\s*[^=]+?)?\s*=>/} end.to_h -
EXPORT_VERB_CONST_BRACE_RES =
HTTP_METHODS.map do |m| {m, /export\s+const\s+\{[^}]*\b#{m}\b[^}]*\}\s*=/} end.to_h -
export const { POST } = serve<Input>(...)— handler(s) destructured from a factory call (e.g. @upstash/workflow/nextjs). The plain brace regex misses it becauseconstsits betweenexportand{. -
EXPORT_VERB_CONST_RES =
HTTP_METHODS.map do |m| {m, /export\s+const\s+#{m}\s*=/} end.to_h -
EXPORT_VERB_FUNCTION_RES =
HTTP_METHODS.map do |m| {m, /export\s+(?:async\s+)?function\s+#{m}\b/} end.to_h -
Compiled once per verb — interpolated regex literals would otherwise be rebuilt (full PCRE2 compile) for every method on every file.
-
EXPORT_VERB_FUNCTION_SIG_RES =
HTTP_METHODS.map do |m| {m, /export\s+(?:async\s+)?function\s+#{m}\b\s*\([^)]*\)/} end.to_h -
EXTENSIONS =
[".js", ".jsx", ".ts", ".tsx", ".mjs"] -
HTTP_METHODS =
["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"]