Skip to content

Fix JavaScript function name validation#1400

Open
akfaew wants to merge 1 commit into
a-h:mainfrom
akfaew:fix-js-function-name-regexp
Open

Fix JavaScript function name validation#1400
akfaew wants to merge 1 commit into
a-h:mainfrom
akfaew:fix-js-function-name-regexp

Conversation

@akfaew

@akfaew akfaew commented May 25, 2026

Copy link
Copy Markdown
Contributor

Fixes JavaScript function name validation used by JSFuncCall.

The previous regexp rejected valid one-character identifiers like a, $, and _, while allowing invalid dotted names such as console.. This updates the validation to accept dot-separated JavaScript identifiers and reject empty, leading, or trailing member segments.

Tests

go test -run 'TestJS(FunctionNameRegexp|FuncCall)' .

Copilot AI review requested due to automatic review settings May 25, 2026 09:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates JavaScript function-name validation to correctly accept single-character identifiers and dot-separated identifier chains, with expanded tests to cover more valid/invalid cases.

Changes:

  • Refined the jsFunctionName regular expression to better match JavaScript identifier chains (e.g., console.log).
  • Added additional unit test cases for edge conditions (single-character identifiers, malformed dot usage, leading digits).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
scripttemplate.go Tightens and corrects the regex used to validate permitted JS “function names”/paths.
js_test.go Expands test matrix to cover previously missed valid/invalid inputs.

Comment thread scripttemplate.go
@@ -147,4 +147,4 @@ func jsonEncodeParam(param any) string {
}

// isValidJSFunctionName returns true if the given string is a valid JavaScript function name, e.g. console.log, alert, etc.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants