Select-JavaScriptVariable
August 3, 2026 ยท View on GitHub
SYNOPSIS
Finds variable declarations and assignment expressions in an Acornima JavaScript AST or JavaScript source.
SYNTAX
Source (Default)
Select-JavaScriptVariable [-Source] <string> [-Name <string[]>] [-Contains] [-StartsWith] [-DeclarationOnly] [-PropertyPath <string[]>] [-Tolerant] [<CommonParameters>]
Ast
Select-JavaScriptVariable [-Ast] <Node> [-Name <string[]>] [-Contains] [-StartsWith] [-DeclarationOnly] [-PropertyPath <string[]>] [<CommonParameters>]
DESCRIPTION
Finds variable declarations and assignment expressions in an Acornima JavaScript AST or JavaScript source.
EXAMPLES
EXAMPLE 1
ConvertFrom-JavaScriptAst -Content 'const token = "abc";' | Select-JavaScriptVariable -Name token
EXAMPLE 2
$script = @'
$Config = {
"fShowPersistentCookiesWarning": false,
"urlMsaLogout": "https://example.com/logout",
"sCtx": "expected-context"
}
'@
Select-JavaScriptVariable -Source $script -Name '$Config' -PropertyPath sCtx
EXAMPLE 3
$script = @'
$Config = { sCtx: "first" };
$Config = { sCtx: "second" };
'@
Select-JavaScriptVariable -Source $script -Name '$Config' -PropertyPath sCtx |
Select-Object -Last 1
EXAMPLE 4
$script = @'
window.$Config = {
auth: {
urls: {
logout: "https://example.com/logout"
}
}
}
'@
Select-JavaScriptVariable -Source $script -Name '$Config' -PropertyPath auth.urls.logout
EXAMPLE 5
$script = @'
$Config += suffix;
$Config = { sCtx: "final" };
'@
Select-JavaScriptVariable -Source $script -Name '$Config' -PropertyPath sCtx
EXAMPLE 6
$script = @'
const cfg = {
[key]: "dynamic",
token: "old",
...override,
items: ["first", ...extra, "last"],
safe: "after"
};
const enabled = !window.disabled;
'@
Select-JavaScriptVariable -Source $script -Name cfg -PropertyPath key,token,items.0,items.2,safe
Select-JavaScriptVariable -Source $script -Name enabled
PARAMETERS
-Ast
Acornima AST node to inspect.
Type: Node
Parameter Sets: Ast
Aliases: InputObject, Node
Possible values:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-Contains
Matches variable names that contain the provided Name values.
Type: SwitchParameter
Parameter Sets: Source, Ast
Aliases: None
Possible values:
Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-DeclarationOnly
Returns only variable declarations and skips loose assignment expressions.
Type: SwitchParameter
Parameter Sets: Source, Ast
Aliases: None
Possible values:
Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Name
Variable names to return.
Type: String[]
Parameter Sets: Source, Ast
Aliases: None
Possible values:
Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-PropertyPath
Returns a value from a dotted property path inside the matched JavaScript object or array literal.
Type: String[]
Parameter Sets: Source, Ast
Aliases: None
Possible values:
Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Source
JavaScript content to parse and inspect.
Type: String
Parameter Sets: Source
Aliases: Content
Possible values:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-StartsWith
Matches variable names that start with the provided Name values.
Type: SwitchParameter
Parameter Sets: Source, Ast
Aliases: None
Possible values:
Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Tolerant
Enables Acornima tolerant parsing for JavaScript source input.
Type: SwitchParameter
Parameter Sets: Source
Aliases: None
Possible values:
Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
INPUTS
System.StringAcornima.Ast.Node
OUTPUTS
System.Management.Automation.PSObject
RELATED LINKS
- None